We are currently performing maintenance on Appian Community. As a result, discussions posts and replies are temporarily unavailable. We appreciate your patience.

Display a page with a disclaimer message which should load before site load

Hi,

I have to display a disclaimer message on a Appian page with "ACCEPT" and "NOT ACCEPT" buttons

Once the user clicks on "ACCEPT" button, then only I should load the Appian.

If the user clicks on "NOT ACCEPT" button and I should not load the Appian.

Can someone advice how to achieve this. Thanks in advance.

  Discussion posts and replies are publicly visible

  • 0
    Certified Lead Developer

    You'd need to manually implement this across all your site landing pages (including alternate tabs) - and it would show up anytime a user changes tabs (assuming you use the OOB site tabs), unless you implement something fairly complex.  Otherwise it's not all that difficult - just make the site landing page show only a message and only switch to the main interface when the click of the "Accept" button saves a value into a certain local variable.

    Have you tried anything in particular yet?  If so, what difficulties have you encountered?

  • Wdym by load the site? There is no way you can prevent site from loading if you have hit the web address.

    You can create a parent interface for all the tabs/pages of your Site which will have the disclaimer message when user clicks on accepts show him the main content and if he doesn't then display some message and a link to show the disclaimer message interface again.

    Another approach is, you can create a table which will store the details for a loggedInUser (id, loggedInUser, accepted boolean and metadata fields).

    When user logs in for the first time you will hide all the pages/tabs and only show Home page (with disclaimer message) by checking if there is no entry for that user in table.

    If user accepts then make an entry in the table with accepted - true or suppose if he logs in again after not accepting the message and accepts it this time then update his entry with true and show all the pages of Site by querying if there is an entry for that user with accepted - true.

    If user rejects then update the entry for that user or if it is first time then create an entry with accepted - false and on the basis of this hide all the pages except the Home page and show an interface with the information that you have not accepted the message bla bla and provide a link/button which will show the disclaimer page again and if he accepts then update the entry in the table with accepted - true and show all tabs.

    Just play with showWhen of Home page interface and create a visibility rule to plug on all the other pages of the site with the condition which will evaluate to true only when there is an entry for the loggedInUser in the table with accepted - "true" else false.

  • 0
    Certified Lead Developer

    I am interested in the purpose of this. A user can only access Appian with a proper user account. Appian is not about building web sites.

  • Yes Stefan,

    Appian is not about building web sites. I have reframed my query. Thank you.

    -----------------------------

    I have to display a disclaimer message on a Appian page with "ACCEPT" and "NOT ACCEPT" buttons

    Once the user clicks on "ACCEPT" button, then only I should load the Appian.

    If the user clicks on "NOT ACCEPT" button and I should not load the Appian.

    Can someone advice how to achieve this. Thanks in advance.

  • 0
    Certified Lead Developer
    in reply to swapnar6405

    Once the user clicks on "ACCEPT" button, then only I should load the Appian.

    If the user clicks on "NOT ACCEPT" button and I should not load the Appian.

    Appian actually does this Out-Of-Box if you enable the "Terms of Service" configuration within the Admin Console.

  • I have enabled this flag and provided some test content, but still no luck. Not sure, if I have to enable any other flags. 

  • 0
    Certified Lead Developer
    in reply to swapnar6405

    Nope, that should be about it - you will need to Save your admin console configuration (and that will probably require you to complete their simulated login to make sure you don't lock yourself out). 

    After you've successfully saved, the easiest way to test (instead of logging yourself out) is to open a new Incognito Window and navigate to your environment URL - you should see the TOS agreement then.

  • I am using SSO authentication, do you think it is stopping me to get TOS agreement.

  • 0
    Certified Lead Developer
    in reply to swapnar6405

    i believe the TOS is only presented to users who indicate that they need to sign in using username/password sign-in.  The rationality behind this, I assume, is that when users use SSO to sign-in, the SSO provider should be presenting its own TOS if necessary.