Skip to main content
Announcements
Defect acknowledgement with Nprinting Engine May 2022 SR2, please READ HERE
cancel
Showing results for 
Search instead for 
Did you mean: 
JuanManuelLopezFelizzola
Contributor III
Contributor III

How to manage Users, Filter, Roles with user controlled recipients Files

Hello Everyone,

The situation is this:

We have many Filters, Tasks, Roles, Users some added through web interface, some added through a previously loaded Import Task (we have several too, but not all users have been created this way).

Our users would like the possibility to add and remove people from each of the Report publications (recipients) if they change the Value on an Excel sheet, something like:

Anotación 2020-05-07 141255.pngSo if a user is supposed to be included, they just add a new line. If they are to be removed, they just remove the lines with their name (email). If they are supposed to be added to more dimension values (FilterToUse) they just add the additional Value and put in the email also. I HAVE ALREADY THIS SORTED OUT, by making a contact with some concatenation based on the emails.

 

However, I am facing some issues when the user removes one of the persons from the file, since not all of my users have been added through the import method, and some of the users have Associations to other Entities (Filters, Roles, Groups), I am facing some issues when an update is needed for the users.

Namely:

  1. If I set the "Replace existing user associations" in the import task to true, the other associations from the users will be deleted (screwing up other publish tasks)
  2. If I set it to False, the old Association remain (so for example, if my business user wants to change the Dimension values that a user receives from 'Region1' to 'Region2') intact, they are not refreshed, meaning that my users will have 2 Filters on the [Region] dimension, resulting in an empty set, and creating an error.

For reference, these are the options available under the Import Task that we have in NP Nov2019 (Version: 19.40.3.0)

Anotación 2020-05-07 141850.png

 

I don't know if I am missing something here, because it seems like there is no way to activate the option for "Replace existing user associations" ONLY for the import task that I am executing. I don't know if this is a bug or something to be expected, but haven't been able to find a workaround for this (other than the one I explain below, but I can't really believe this is the only way of doing this)

Things to note: A lot of filters in my deployment are defined at user level since users are expected to receive only the information that concerns them, which is controlled by the business users' XLSX that I showed earlier

The idea is to be able to have the business users control who gets which report with which filters without having us (IT) involved. and for the sake of the argument assume that only the email is needed to create new Recipients in NP (I have already sorted that too)

Juan Manuel Lopez Felizzola
Labels (2)
6 Replies
JuanManuelLopezFelizzola
Contributor III
Contributor III
Author

OK, so the only workaround that I have found for this is to create a single import File (the XLSX one) for each and every Publish task that I have, then gather all of these different Recipients files and create a single Import task that handles them all, via "email" duplicate detection, "update missing" user fields and "Merging" Associations.

The "only" (extremely) bad thing about this approach, is that you DO need to have an import file for each of the Publish Tasks, or else the individual filters that are used for each user on that task, get deleted when this whole thing runs. (this is bad if you have a lot of Publish tasks with complex filter settings for each user... that were created from the web interface)

 

Please let me know if you can think of something that I am missing or something that I can try

Juan Manuel Lopez Felizzola
Ruggero_Piccoli
Support
Support

Hi,

Starting from April 2020 you can use dynamic email addresses:

Dynamic email TO, CC and BCC
You can send emails generated from publish tasks to dynamic lists of recipients in TO, CC, and BCC field. Recipient lists can be created in Qlik NPrinting as new fields or can come from Qlik variables.

More details are in https://help.qlik.com/en-US/nprinting/April2020/Content/NPrinting/DistributionSchedulesAutomation/Di...

Maybe this new feature could help you.

Best Regards,

Ruggero



Best Regards,
Ruggero
---------------------------------------------
When applicable please mark the appropriate replies as CORRECT. This will help community members and Qlik Employees know which discussions have already been addressed and have a possible known solution. Please mark threads with a LIKE if the provided solution is helpful to the problem, but does not necessarily solve the indicated problem. You can mark multiple threads with LIKEs if you feel additional info is useful to others.
JuanManuelLopezFelizzola
Contributor III
Contributor III
Author

Thanks for taking the time to reply @Ruggero_Piccoli 

 

This does seem like a good addition for handling the dynamic sending of emails to people, however, from what I can see in the release notes this would not help in the scenario that the Filters are especially complex, Plus is making the creation of users inside NPrinting kind of pointless, since we could in theory just have 1 user for IT, and then send all of the emails from a QS variable (messing up the governance in the process).

The filters we have in our deployment need to be sometimes changed between executions, and this is taken care of by a business user, on an excel table in order to not take up time from IT.

Juan Manuel Lopez Felizzola
Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi @JuanManuelLopezFelizzola 

In some scenarios I change approach and I move logic to Qlik data model. 

Messing up with NPrinting filters can be difficult and as you experienced not easy to manage. If there are filters which need to be maintained externally I tend to (if possible) replace them with flags in load script. I move logic from NPrinting to Qlik Script where flags are set based on user inputs and filters in NPrinting remain the same. They are just pointing to flags. This obviously has some limitations, but in some scenarios may be the easiest way to maintain NPrinting filters.

 

Just a hint, but maybe it helps!

cheers

cheers Lech, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful to the problem.
Ruggero_Piccoli
Support
Support

Hi,

You have to manage everything in a single import task with many sources. I mean many Excel files as sources. In the Merge Policy I think you need to use Merge as "association merge policy". All associations will be removed and added as specified in the imported Excel files.

In an import task you can update users not created by the same import task if you keep the same user name in the imported excel file. You need to flag the "Update users if modified" option.

Yes, the users can change the filters in the correct Excel file.

About the delivery, you create and add a Group as destination in the publish task. Then on every import run you can associate the users you want to sen the report in the selected group.

Best Regards,

Ruggero

 



Best Regards,
Ruggero
---------------------------------------------
When applicable please mark the appropriate replies as CORRECT. This will help community members and Qlik Employees know which discussions have already been addressed and have a possible known solution. Please mark threads with a LIKE if the provided solution is helpful to the problem, but does not necessarily solve the indicated problem. You can mark multiple threads with LIKEs if you feel additional info is useful to others.
JuanManuelLopezFelizzola
Contributor III
Contributor III
Author

So update on this,

Thanks everyone for your input! I finally ended up playing with the API in order to have more granular control over the filters, users, and groups. The whole solution included a Master Data Services in order to control de user data and filters from the customer and a way to update those individually from any QVF script

One site that was very helpful in this was the (appropriately named) Nprinting Adventures  https://nprintingadventures.com/ , so anyone looking into this can find good clues over there.

Ps. just realized that in fact, that is your webpage @Lech_Miszkiewicz   !! Thank you very much for the scripts and examples.

 

JMLF

Juan Manuel Lopez Felizzola