Bearing in mind that my 5.1 was *slightly* pre-release, here are my notes that I made. As always, you should do upgrades on a development box because a little trial and error may be required!
I hope this is useful for someone.
I have checked in the following fix:
packages/news/sql/postgresql/upgrade/upgrade-5.2.0d1-5.2.0d2.sql
* specified the table cr_revisions for news_item_full_active view column title (now ambiguous with acs_object).
I had to make the following manual tweaks to schema update files:
acs-content-repository/sql/postgresql/upgrade/upgrade-5.2.0d2-5.2.0d3.sql
* comment out the line "alter table cr_folder_type_map drop constraint cr_folder_type_map_fldr_fk;"
* comment out the line "alter table cr_folder_type_map drop constraint cr_folder_type_map_typ_fk;"
(maybe all drop statements in upgrades should be wrapped with code to check for their existance - might require delving into the postgres internal tables which would be horribly version dependant.)
acs-content-repository/sql/postgresql/upgrade/upgrade-5.2.0a1-5.2.0a2.sql
* there seemed to be a problem with the object types of my installed etp (or the etp upgrade scripts - one or the other) - I worked around it by changing the last inline_0 def in this file to read as:
create function inline_0 ()
returns integer as '
declare
ct RECORD;
begin
for ct in select object_type
from acs_object_type_supertype_map
where ancestor_type = ''content_revision''
loop
if ct.object_type not in( ''journal_issue'', ''journal_article'', ''news_item'' )
then
perform content_type__refresh_view (ct.object_type);
end if;
end loop;
return null;
end;' language 'plpgsql';
(This will probably bite me later, but I couldn't figure out how to rectify it properly).
Use APM
* Always uncheck the "mount" options
Upgrade first:
* Kernel
* Site-Wide Administration
RESTART
Then upgrade:
* API Browser
* Authentication
* Bootstrap Installer
* Content Repository
* Documentation
* Date and Time Utilities
* Events
* Mail
* Mail Services Lite
* Messaging
* Service Contracts
* Tcl Library
* Templating
* Bug Tracker
* Categories
* Edit This Page
* File Storage
* Weblogger
* webDAV Support
* RSS Support
* Search
* Trackback
* Workflow
Skipping these datamodels:
Events : upgrade-0.4d-0.4d1.sql
RESTART
Then upgrade:
* Subsite
* any other packages requiring an upgrade.
Skipping these data models:
Notifications: upgrade-5.0.0b4-5.1.0d2.sql
I also chose to skip upgrading OpenFTS since I'm going to remove it and replace with tsearch.
Despite the checked in fix mentioned above, i decided to ignore the news package since upgrading it was painful (now it's running after_install instead of after_upgrade...) and the site in question replaced news with a weblog some time ago.
Post-upgrade tasks:
The content-repository upgrades seemed to miss at least one permutation of content_item__new that workflow plpgsql procs use (damn postgres's non-package friendly ways...), so I ran packages/acs-content-repository/sql/postgresql/content-item.sql