Random grouping now working. Fixed issues in authoring - was trying to look up grouping by UUID and that won't work for more than one design with grouping (as the UUIDs may be duplicated). Modified authoring to get all the existing groupings via the grouping activities.
Temporary indexContent page that points to Flash movies, set up for individual courses/classes rather than the old old organisation model. Done to allow Flash work to be done, while the admin work is in progress.
Copying a learning design wasn't resetting the groupings properly. Hopefully fixed now. Also changed the copy code to recursively process child activities - not to assume that we only ever have two levels of activities.
Changed getOrganisationsByUserRole, getUserOrganisationto support getting the child organisations by user/role, and to get a single organisation and the user's role in that organisation.
More changes based on breaking 1-1 link between organisation and workspace folder. Some organisations don't have workspaces. Also tuned the method that checks membership access to a folder to take subfolders into account.
Trying to open the organisations folder list in the authoring "save/load" dialog box was causing an endless loop, due to a bug in the isSubFolder() method. Fixed this bug and also now checks the permissions on the folders so it won't return an organisation folder for which the user has no rights.
Added a development servlet that takes a WDDX packet, deserialises it and dumps the resulting object to the screen. Not I18N - it is just for testing problem packets.
Changed learning design activities and transition collections to use all-delete-orphan cascade management. This will ensure that the secondary records are created and removed as required.This required fixing code that trigger cascade problems and also highlighted some session problems with the learner cache created by Jacky.