CookiePusher
Overview of CookiePusher
- The implementation of a technique to make the resource differentiate between a user with access to a service component that can deliver context-sensitive services and a user without access to a service component that can deliver context-sensitive services.
- An OpenURL for each metadata-object for users with access to a service component. For information on the OpenURL syntax, see Transporting Metadata: OpenURL Syntax Description.
Recognizing a User Who Wants SFX Services
Introducing the CookiePusher
- to include the OpenURL if the user has access to an SFX server, and to point the OpenURL to the appropriate URL-the BASE-URL- of the SFX server
- to not include an OpenURL if the user does not have access to an SFX server or another OpenURL-compliant service component
- BASE-URL- the BASE-URL of the SFX server (for more information, see Transporting Metadata: OpenURL Syntax Description)
- Redirect the desired address (URL) of the information resource
SFX Sources Using the CookiePusher Script
- The location of the user's SFX server, read from the BASE-URL parameter of the URL by which the user connects
- The URL within the information system to which the user wants to connect, read from the Redirect parameter of the URL by which the user connects
|
#!/sfx/app/perl/bin/perl # # Version: $Id: pushcookie.cgi,v 1.1 2000/04/05 12:03:51 sfx Exp $ # # Authors: Patrick Hochstenbach, <Patrick.Hochstenbach@rug.ac.be> # # use CGI; my $cookie_path = '/cgi-bin'; my $cookie_expires = '+6m'; # Expires in 6 months my $query = new CGI; { my $BASE_URL = $query->param('BASE-URL'); my $Redirect = $query->param('Redirect'); my $cookie = $query->cookie( -name => 'user-OpenURL', -value => $BASE_URL, -path => $cookie_path, -expires => $cookie_expires, ); print $query->redirect( -uri => $Redirect, -cookie => $cookie ); }
|
- Insertion of an SFX button in the output of the information resource. For each SFX server, the clickable image to be hyperlinked with an OpenURL is always located at BASE-URL/sfx.gif .
- Opening of the SFX menu screen - Clicking the SFX button (the OpenURL) opens a browser window with the following properties:
- window name = SFXmenu
- location = no
- status = yes
- menubar = no
- scrollbar = yes
- resizable = yes
- width = 460
- height = 420
Institutions Using an SFX Server with CookiePusher
- Enhancement of the Institutional Menu System
- Creation of a Special HTML Page
Enhancement of the Institutional Menu System
|
If an institution's OpenURL-aware service component is located at: http://sfxserver.university.edu/sfx_local
If the URL used in the institution's menu-system to connect to an information resource is: http://www.info.com/cgi-bin/start.cgi
If this information resource's CookiePusher is at: http://www.info.com/cgi-bin/pushcookie.cgi
Then registration of the location of the institution's SFX server within the information resource is achieved by editing the institution's menu-system, changing the URL to:
http://www.info.com/cgi-bin/pushcookie.cgi?BASE-URL=http://sfxserver.university.edu/sfx_local&Redirect=http://www.info.com/cgi-bin/start.cgi
In reality, this URL must be UTF-8 encoded: http://www.info.com/cgi-bin/pushcookie.cgi?BASE-URL=http%3A%2F%2F sfxserver.university.edu%2Fsfx_local&Redirect=http%3A%2F%2Fwww.info.com%2Fcgi-bin%2Fstart.cgi |
Creation of a Special HTML Page
|
If an institution's SFX server is located at: http://sfxserver.university.edu/sfx_local
If the institution has access to two information resources that have installed a CookiePusher: CookiePusher for resource 1 is at http://www.info.com/cgi-bin/pushcookie.cgi CookiePusher for resource 2 is at http://www.moreinfo.com/cgi-bin/cookieset.cgi
Then the installation should locate a readily accessible image in each of those information resources, for instance: For resource 1 at http://www.info.com/images/info.gif For resource 2 at http://www.moreinfo.com/gifs/welcome.gif
Registration of the location of the institution's SFX server within both information resources can be achieved by creating a HTML page that contains the following lines:
<img src="http://www.info.com/cgi-bin/pushcookie.cgi?Redirect=http://www.info.com/images/info.gif&BASE-URL=http://sfxserver.university.edu/sfx_local"> <img src="http://www.moreinfo.com/gifs/welcome.gif?Redirect=http://www.moreinfo.com/gifs/welcome.gif&BASE-URL=http://sfxserver.university.edu/sfx_local"> Again, these URLs must be UTF-encoded. |
CookiePusher Compatibility
Description of Problem: Symptoms and Scenarios
- Setting the BASE-URL cookie by embedding the cookiepusher.cgi request in an image does not work in IE 6 and later. The browser shows the icon of an eye in the status bar. The HTML code that represents this scenario is:
|
<img src="http://www.doi.org/cgi-bin/pushcookie.cgi?BASE-URL=http://demo.exlibris group.com:9003/demo&Redirect=http://www.doi.org/images/banner_foundation.gif"> |
- Setting the BASE-URL cookie by redirecting the user to cookiephusher.cgi within a Web page with frames does not work in IE 6 and later. The browser shows the icon of an eye in the status bar. The HTML code that represents this scenario is:
|
<!-- JavaScript begins ... function jump (page) { window.location = page; } // JavaScript ends --> <form name="jumpform" > <select name="pages" onChange="window.status=this.options[this.selectedIndex].text" > <option SELECTED value="http://sfx2.exlibrisgroup.com:9003/cgibin/pushcookie.cgi?BASE-URL=http%3A//sfx2.exlibrisgroup.com%3A9003/sfx_local&Redirect=http%3A//www.sfxit.com/no_p3p_compliant.html"> Ex Libris SFX Server </select> </span> <INPUT VALUE="Go" TYPE=BUTTON onClick="jump(document.jumpform.pages.options[pages.selectedIndex].value)"> <br> </FORM> |
Technical Explanation of the Problem
Third-Party Cookies
Preventing IE 6 (and Later) from Blocking My Cookies
P3P
Solution
|
FieldMeaning CP=This is the compact policy header; it indicates that what follows is a P3P compact policy. NOINo identifiable information is collected, so no access is possible. DSPThe policy contains at least one dispute-resolution mechanism. CURaThe data is used for completion of the current activity. ADMaThe data is used for site administration. DEVaThe data is used for research and development. TAIaThe data is used for tailoring the site. OURThe data is given to ourselves and our agents. INDThe data will be kept indefinitely. COMComputer information is collected. NAVNavigation and clickstream data is collected. OTCOther types of information are collected. |
|
/exlibris/sfx_ver/sfx4_1/<instance> /templates/p3p_samples/p3p.xml /exlibris/sfx_ver/sfx4_1/<instance> /templates/p3p_samples/sfx_p3p_cookiepusher.html /exlibris/sfx_ver/sfx4_1/<instance> /templates/p3p_samples/sfx_p3p_cookiepusher.xml |
References
- W3C Platform for Privacy Preferences 1.0 Specification:
http://www.w3.org/TR/P3P/
- O'Reilly Network: Help! IE 6 Is Blocking My Cookies:
http://www.oreillynet.com/pub/a/javascript/2002/10/04/p3p.html