Changes (compared to Daisy 1.3 Milestone 1)
Features
-
Authentication Schemes: this enables support for
multiple external authentication mechanisms, an LDAP implementation is included
with Daisy. The authentication scheme to use is configurable on a per-user
level. It is also possible to auto-create a user upon first login if it exists
in the external system.
- Multi-value fields: fields can now be multi-value fields (defined as part of
the field type). The query language has been extended with a set of search
conditions to work with these multi-value fields.
- Multiple active roles: until now, a user always had to select one specific
role. From now on, it is possible to have multiple active roles at the same
time. When evaluating the ACL, you get the most permissive access of all the
active roles. In the Daisy Wiki, there is a new option "Use all roles" in the
role menu, which will make all roles active, except for the Administrator role.
To make this the default for a user, you need to edit the user via the
administration pages and set its default role to none (if the user would have
only the Administrator role, then that role will be active after login).
- Compatibility notes:
- to accomodate this change, there have been a few API changes, most notable
in the AccessManager interface or other interfaces/methods taking a role ID as
argument (those now require an array of role IDs). The method
Repository.getUserRole() has been replaced by Repository.getActiveRoleIds().
- the role of the user was previously passed as a parameter to the document
type specific stylesheets. As there can now be multiple active roles, this
feature has been removed.
- The aclResult XML structure has changed a little bit to accomodate for
multiple active roles (the roles are now in a nested element instead of in an
attribute, the permission elements have been grouped in a permissions element).
- To specify multiple active roles when authenticating against the HTTP
interface, specify them comma-separated, e.g. userlogin@1,2,3
- To default to having no default role for users created via the registration
page, comment out the <defaultRole> element in the configuration of the
user registrar component (in cocoon.xconf).
- Added a separate ACL permission for document deletion. After upgrading, this
permission will for each entry be initialised to be the same as the write
permission.
- Added filename support for parts, and made the mime-type editable. The
editing screen for these parts has also been improved.
- Addition of an identifier in the query language for collections (called
'collections') which behavious the same as multi-value field identifiers, and
allows the use of the same search constructs.
- The 'publish changes immediately' flag in the document editor will now
always cause the state of the last version of the document to become 'publish',
even if no new version has been created as part of the current editing session.
Additionally, when looking at the last-but-not-live version of a document, there
is now a "Put this live" link at top of the document, avoiding the need for the
user to go to the versions overview page to perform this action.
- Added a first take at a faceted navigation
browser.
- User registrar: added the possibility to configure users for who requesting
a new password should not be possible.
Bug Fixes
- Fixed a bug whereby getting the live version of a document fails in an
unexpected way if the documen doesn't have a live version.
- Out-of line links weren't translated anymore when publishing, they remained
as "daisy:" links.
- DocumentDeleted events weren't processed correctly in the email notification
mailer, causing mails for these events not to be send.
Upgrading
Before starting
Shutdown Daisy (the Repository Server, the Daisy Wiki, and the OpenJMS
server)
Make backups! More specifically:
- make a copy of the daisy data directory
- do a dump of the database:
mysqldump daisyrepository -uuser -ppassword > daisyrepo.sql
Update database schema
There have been changes to the database schema.
To do the appropriate changes to the MySQL database, an upgrade script is
available.
To execute the upgrade script, perform the following steps in a command
prompt or shell:
cd <DAISY_HOME>/misc
mysql -Ddaisyrepository -udaisy -p<password>
[then on the mysql prompt]
\. daisy-1_3_M1-to-1_3_M2.sql
Copy over the old configuration
- Copy <OLD_DAISY_HOME>/openjms/config/openjms.xml to
<NEW_DAISY_HOME>/openjms/config/openjms.xml
- Copy <OLD_DAISY_HOME>/daisywiki/webapp/daisy/sites/* to
<NEW_DAISY_HOME>/daisywiki/webapp/daisy/sites
- In <NEW_DAISY_HOME>/daisywiki/webapp/WEB-INF/cocoon.xconf,
adjust the following passwords with the values you can find in
<OLD_DAISY_HOME>/daisywiki/webapp/WEB-INF/cocoon.xconf:
- Adjust the password for openjms user (if not left to default):
<credentials password="openjms" username="admin"/>
- Adjust the password for "internal' user: <cacheUser login="internal"
password="defaultpwd"/>
- Adjust the password for the "registrar" user: <registrarUser
login="registrar" password="defaultpwd"/>
- If you created any document type-specific stylesheets, you can copy them
over also
- If you developed a custom skin, then you'll have to update it to work with
the new version. There's no easy or quick way to do this.
Edit <DAISY_HOME>/openjms/bin/setenv.(sh|bat), uncomment the
line defining the CLASSPATH and put the MySQL driver in the CLASSPATH, which can
be found at (substitute DAISY_HOME by its actual location):
DAISY_HOME/lib/mysql/jars/mysql-connector-java-3.0.15-ga-bin.jar
Start the servers
Start OpenJMS, the Daisy Repository Server, and the Daisy Wiki.
If necessary, first update the DAISY_HOME and OPENJMS_HOME
variables to point to the location of the new Daisy version.
Note about static resources and caching
Since static resources are cached for about 5 hours by your browser, you
might need to do a full reload (shift + reload button on the browsers' toolbar).
Also when opening the editor for the first time do a shift + reload.
If these instructions or unclear to you, or if you find an error
in them, please share them with us on the Daisy mailing list or by leaving a
comment.