Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik GA: Multivariate Time Series in Qlik Predict: Get Details
cancel
Showing results for 
Search instead for 
Did you mean: 
trdandamudi
Master II
Master II

How to accept user click and save to a file and reload on Access Point

Here is the scenario on Access Point:

1) User will open a dashboard on Access Point

2) When the dashboard opens, a pop up disclaimer window should open with two buttons "Yes" and "No"

3) If the user clicks "Yes" button, the user Id and selection "Yes" has to be saves into a text file on the server and allow the user to use the dashboard.

4) If the user clicks "No" then the dashboard has to close.

If Step 3 is possible, then I can take the text file and reload the dashboard so that the pop up window will not show for the users who accepted "Yes" next time when he/her logs in.

We use, IE and Ajax plugins and users also use browsers like IE, Chrome and Firefox. I want a solution that can be used on Access Point. Can this be done ? is there any extensions that are available that I can use ?  Any suggestions are appreciated and thanks for your time.

1 Solution

Accepted Solutions
rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

Thirumala,

I don't have a clean solution for storing the information in a central file.  But you could modify the example I provided to store the date disclaimer was accepted and then show when it's 90 days or more old.

=(Today(2) - TermsAccepted > 90)

See the updated attached example.

-Rob

http://masterssummit.com

http://qlikviewcookbook.com

View solution in original post

10 Replies
Anil_Babu_Samineni

1) Yes

2) Yes

3) What you mean save those into text file? Are you thinking about Batch using?

4) Yes

If Step 3 is possible, then I can take the text file and reload the dashboard so that the pop up window will not show for the users who accepted "Yes" next time when he/her logs in.

Make sense, to use of that

We use, IE and Ajax plugins and users also use browsers like IE, Chrome and Firefox. I want a solution that can be used on Access Point. Can this be done ? is there any extensions that are available that I can use ?  Any suggestions are appreciated and thanks for your time.

Only doubt i felt with me is 3rd point, But i even think about this part without extension. Because, In Login.htm file we can change as per needed like Pop up using Yes and No contents to call the suitable URL's

Best Anil, 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
trdandamudi
Master II
Master II
Author

Regarding the 3rd point:

When the user clicked "Yes". We need to save that user id and 'Yes" into a text file. In the night batch job I can pick that text file and use it as part of the load process, so that I don't pop that disclaimer window for that particular user. Hope I am clear on this point.

When you mentioned login.htm, I just want to let you know that we will not have access to that file. We cannot modify anything on server side and it is restricted.

Can you please share a sample and I want this to work on Access point.

Thanks

rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

if I understand you, you want to suppress showing the application sheets until the user clicks "Yes" on the Disclaimer.  Once they press Yes, you don't want to show them the Disclaimer again in future sessions, correct?

Instead of a text file, you can leverage an InputField. InputField values are stored separately for each user.  Using a macro, you can change the inputfield value for that user when they click the Yes button. The macro works on both IE Plugin and Ajax clients.

The basic idea is this:

1. Create an InputField in the script "TermsAccepted" and set the default value to "N".

2. Create your disclaimer sheet with a Show Condition of =TermsAccepted='N'.

3. All other sheets in your application should have the Show Condition =TermsAccepted='Y'.

4. The Yes button on your disclaimer sheet will run a macro that sets TermsAccepted to "Y'.  See the attached working example for the macro contents.

I don't have a solution for automatically closing the document if they press "No".  I would try leaving the No option off the sheet.

-Rob

http://masterssummit.com

http://qlikviewcookbook.com !

trdandamudi
Master II
Master II
Author

Rob,

Thank you very much for your time and appreciate it.

I will try it out and let you know. But one important thing here is, I need to save the user Id and the date and time when the user accepted ("Yes'). Because after 90 days I need to pop that disclaimer again and it goes on after every 90 days. Is it possible ?

Thanks

rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

Thirumala,

I don't have a clean solution for storing the information in a central file.  But you could modify the example I provided to store the date disclaimer was accepted and then show when it's 90 days or more old.

=(Today(2) - TermsAccepted > 90)

See the updated attached example.

-Rob

http://masterssummit.com

http://qlikviewcookbook.com

trdandamudi
Master II
Master II
Author

Rob,

I will give a try and let you know. Just need a clarification regarding Inputfield. When you said "InputField values are stored separately", Are they stored in some kind of shared file on the access point server ? Because if I am popping this disclaimer every 90 days depending on InputField, I just want to make sure the file is not reset for any reason on the server.

So, in the below line of code, "TermsAccepted" value is the value which is coming from the values which are stored separately (assuming some kind of shared file) and not from the "Acceptance" table. Is my assumption correct ?

SET vShowTerms = =(Today(2) - TermsAccepted > 90);

Thanks

rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

You got it right. InputField values are stored in the .shared file in the Access Point folder.  There is one shared file for each qvw.  For "Sales.qvw", the shared file is "Sales.qvw.shared". InputField values persist in this file for each user.  This is the same file used to store other per-user data such as user created bookmarks.  It will not be reset and there is no concern with updating the qvw. The only consideration is that if you rename a qvw, you must rename the corresponding shared file if you want to retain user data. For example, if you decide that "Sales.qvw" will become "Sales Dashboard.qvw" you must rename the shared file to match if you want to retain the existing data.

The TermsAccepted field value loaded to the Acceptance table by the script is an initial (default) value used until it is subsequently set for a user by the macro.  The new value becomes the value in the datamodel for this user. The saved user value will always override the scripted value, even if you change the scripted value.

-Rob

http://masterssummit.com

http://qlikviewcookbook.com

trdandamudi
Master II
Master II
Author

Rob,

Thank you for the response and appreciate for sharing your knowledge and spending your valuable time to help others like me.

I did tested it out and it is working as expected except for one road block: I am not able to find a way to identify who Accepted and who did not. If I can figure that out then I can follow up with the users who did not accepted with an email. Do you have any suggestions regarding how I can get this info?

I will just wait for your response if not I will mark this as answered.

Thank you once again.

rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

I don't know of any way to collect the InputField values.  I tried to test a hack with storing the data in a bookmark and reading those, but it doesn't seem to work when I tested on the server.  Sorry.

-Rob