]> git.evergreen-ils.org Git - working/Evergreen.git/blob - docs/RELEASE_NOTES_NEXT/new_xulrunner.txt
Improve Firefox/XULRunner Support
[working/Evergreen.git] / docs / RELEASE_NOTES_NEXT / new_xulrunner.txt
1 XULRunner / Firefox
2 -------------------
3 Support for later versions of XULRunner is included, which means that later
4 improvements to XULRunner can be taken advantage of. This also means that the
5 Firefox extension mode works in Firefox 3.6+, though some frequent tweaking
6 will be needed due to the rapid Firefox major release schedule.
7
8 The majority of the actual changes are backend changes, but there are some
9 significant things to note for local customizations.
10
11 Remote XUL
12 ~~~~~~~~~~
13 Remote XUL no longer works in XULRunner/Firefox 4+, but to work around it a
14 custom extension now creates an oils:// wrapper. Within the staff client that
15 wrapper contains a "remote" host, from which server-side XUL can be loaded.
16
17 Custom XUL pages stored on the server will need to reference the new wrapper
18 to function.
19
20 As a note: The new wrapper is used for all OPAC access and only talks SSL.
21
22 enablePrivilege
23 ~~~~~~~~~~~~~~~
24 The enablePrivilege command that would allow code to access various protected
25 functionality is no longer available. Any code that depended upon it will need
26 to be adjusted to use the oils:// wrapper created for Remote XUL.
27
28 Cookies
29 ~~~~~~~
30 Unfortunately, the oils:// wrapper has one less than useful effect. Any
31 JavaScript loaded via it loses access to cookies. This is most notable when you
32 are dealing with authtoken cookies. This only applies to JavaScript, however,
33 and the server can still see the cookies when it gets requests.
34
35 As a workaround you can load the data stash and fetch authtokens via it instead.
36 This should always work when using the oils:// wrapper due to the elevated
37 permission set it gets (nearly, if not equal to, local XUL).
38
39 url_prefix
40 ~~~~~~~~~~
41 Finally, as a useful feature, the url_prefix function is now slightly easier to
42 use. Instead of needing to reference urls.SOMETHING you can instead just put the
43 SOMETHING at the start of the url to prefix:
44
45 url_prefix('SOMETHING/stuff.html')
46
47 In this case SOMETHING can be terminated by the end of the string or up to the
48 first instance of a slash (/), question mark (?), or pipe (|). The pipe is a
49 special case and is removed during the replacement.
50
51 For example, if urls.REPLACE were set to 'oils://remote/replace':
52
53 url_prefix('REPLACE/stuff') becomes 'oils://remote/replace/stuff'
54 url_prefix('REPLACE?query') becomes 'oils://remote/replace?query'
55 url_prefix('RPLACE|ment') becomes 'oils://remote/replacement'
56
57 The pipe is intended for cases where the urls entry may or may not already
58 contain a query string, say for differences between OPACs where one requires
59 that something be passed into the query string, but the other uses a path
60 component instead.