Sample - Dialog for Terms and Conditions - IBM Connections
There are two parts to this, the OSGi package that contains the dialog code, and a customized header.jsp file that checks for the cookies, both attached to this mail.
Installing1) Install OSGi - Copy the com.tandc.example_1.0.0.jar file to your <provisionDir>/webresources directory. The <provisionDir> is shown in the WebSphere environment variable CONNECTIONS_PROVISION_PATH . The name of the jar must be kept as is.
2) Install JSP - Copy the header.jsp file to the <customizationDir>/common/nav/templates directory. Remember to also set the other customization settings such as the CONNECTIONS_CUSTOMIZATION_DEBUG variable. The only bit that matters is the <script> section at the bottom, so if you're already using a customized file just copy the <script> section over.
3) Restart the Common application (or the entire server).
4) Clear cookies and log into Connections
After you log in the Terms and Conditions dialog will be displayed. You must tick the acceptance box which will then enable the "I agree" button. Click the "I Agree" button to access the system. This process can be improved later.
How it worksThe OSGi file contains most of the code. If you open that file you'll see a resources directory, and in that the TermsConditionsDialog.js file. This contains the class "com.tandc.example.TermsConditionsDialog". The _dialog property is the template to create the actual dialog. The _terms property holds the HTML for the terms shown within the dialog so we can easily customize this later.
The header.jsp file contains a script section at the end that adds in a dojo.addOnLoad function, which is fired when the header is loaded. This detects the "termsconditions" cookie, and if it isn't there an instance of the TermsConditionsDialog is created and shown.
The cookie is given a domain of the server the machine is on and no path so it stays in place if you go between different pages. I've set an expire time of 5 minutes to it so it's not too hard to demonstrate it expiring etc.
Improvements to makeThere are a large number of improvements to be made.
1) *** Security of the cookie, and the T&C dialog - it wouldn't be hard to break in.
2) Localize the dialog so we can provide localized versions of the T&C
3) At the moment the "escape" key can be pressed to dismiss the dialog, we need to work around that.
Sample for header.jsp