PageSeeder installation and upgrade instructions

Release Notes - Version 5.8116 (7 March 2016)


Created new ps:upload ANT task supporting ps:config settings, error reporting and workflow creation. Deprecated old ps:ps-upload task. Also added support for @group and @indexcomplete attributes on ps:export task to ensure indexing is complete when using a filter.

5891157 Mar 20165.8116

Fixed default export actions not working if a custom action is defined for a specific document type.

58883819 Feb 20165.8112

Added URI, fragment, block and inline labels to xreftree service XML. Also added support for properties param containing a comma-separated list of property names to include.

58885516 Feb 20165.8112

Fixed slow loading of documents after doing bulk version of many documents.

5879158 Feb 20165.8111

Fixed resolved images breaking when moved if the fragment has been edited.

5872742 Feb 20165.8110

Added button "Resolve all PS standard documents" on user home page for administrators only. This is so we can phase out PS standard support but still allow users to view and convert PS standard to PSML.


All PS standard documents should be resolved BEFORE upgrading to v5.9, otherwise it will be done before PageSeeder starts and could mean a long server downtime.

58658929 Jan 20165.8109

Fixed problem resolving images when exporting documents from multiple groups.

58232829 Jan 20165.8109

Fixed document view option "display white spaces and non-ASCII characters" not working.

58353029 Jan 20165.8109

Fixed blocks not being 'sticky' i.e. always scrolling off the top of the page when scrolling a document.

58226529 Jan 20165.8109

Fixed blockXRef being replaced with blockxref in PS Standard and fixed conversion to PSML when this has occurred.

58658229 Jan 20165.8109

Fixed XRefs to URLs not resolving when ending in '/' or with parameters in a different order.

5816945 Jan 20165.8109

Fixed .bak files not being removed when a create edits database error occurs during an upload.

58161422 Dec 20155.8107

Fixed resolving XRefs to URLs (external URIs) with parameters on upload.

58118421 Dec 20155.8107

Fixed publish logs not being displayed after the first error and improved publish performance for scripts that produce large logs.

57925330 Nov 20155.8106

Fixed create document/folder problems with missing ancestor folders, leading/trailing spaces/dots and special characters.

57804627 Nov 20155.8106

Fixed error when publishing a folder with "." in the folder name.

57831925 Nov 20155.8106

On word (docx) import, removed "Use external configuration" option (uploaded word-import-config.xml is now used automatically) and added "Remove uploaded config (untick for multiple docx)" option in the developer perspective which will allow word-import-config.xml to be applied to multiple docx.

57864024 Nov 20155.8106

Added support to ps:process ANT task for image/@src="uriidfolders" which will change image paths to folders based on the URI ID of the image, i.e [uriid billions]/[uriid millions]/[uriid thousands]/[uriid].[ext] with leading zeros on folders (e.g. uriid 12345 would be 000/000/012/12345.png).

57813318 Nov 20155.8106

Fixed export not finishing properly and not displaying an error if it can't resolve an image.

57803811 Nov 20155.8106

Allowed @createedits attribute on ps-upload ANT task for backward compatibility - edits will however always be created.

5780339 Nov 20155.8105

Added support for custom password.xml file in pageseeder/WEB-INF/config folder which configures the password strength meter and overrides the default password.xml in sysconfig.

5780319 Nov 20155.8105

Fixed ps:process ANT task prefixing fragment type attributes by URI ID.

5780046 Nov 20155.8105

Added validation when editing JSON files in developer tools.

57721628 Oct 20155.8103

Fixed uploading files via bridge API creating unwanted parent URIs in some cases.

57724627 Oct 20155.8103

Fixed folder path being set as folder title when uploading on a Linux servers.

57725727 Oct 20155.8103

Modified ps:process ANT task to strip "1_" prefix from document, section and fragment ids. If additional instances of a document are embedded/transcluded then these will still have prefixed ids.

57725127 Oct 20155.8103

Added support to ps:process ANT task for attribute levels="[true|false]" on <xrefs> element which sets whether to modify heading levels in target documents based on the XRef @level attribute - default is "true".

57714020 Oct 20155.8103

Fixed pageseeder service not being stopped on Linux when the machine is shut down.

5702847 Oct 20155.8102

Added progress display for version creation on a folder and modified create-uri-version service to use a thread and return HTTP code 202 Accepted. Also added support for the following global property:

  • maxVersionNotifications: The maximum number of notifications when adding bulk versions by folder or search (if more than this then none will be sent) - default 20.
5691712 Oct 20155.8102

Added progress display for workflow creation on a folder and modified create-uri-workflow service to use a thread and return HTTP code 202 Accepted.

5691692 Oct 20155.8102

Fixed named versions (not number or date) exporting incorrectly.

56939423 Sep 20155.8102

Added support for the following options in the PSML properties editor config:

  • autocomplete: Whether to list values of this property from other documents (default false)
  • unique: Whether to ensure this property value is not used in other documents (default false)
  • readonly: Whether to stop user's editing this property (default false)
50598412 Sep 20155.8101

Updated ps-upload ANT task to output the new <uri> element format below. Also removed support for @createedits attribute on <ps-upload> element (edits are always created).

<uri id="[id]" scheme="[scheme]" host="[host]"
     port="[port]" path="[path]"
     [archived="true"] [folder="true"]
     [docid="[docid]"] [mediatype="[mediatype]"]
     [title="My Document"]
     [created="[created]"] [modified="[modified]"]>
   <displaytitle>My Document</displaytitle>
   [<description>This is my document</description>]


Any ANT scripts using the XML output from the upload task will need to be updated. Also <ps-upload>/@createedits attributes will have to be removed from all scripts.

53552312 Sep 20155.8101

Changed the following services from GET to POST:

56369611 Sep 20155.8100

Modified services that start an asynchronous process (thread) to return HTTP code 202 Accepted instead of 200 OK. Also modified the thread XML as follows and added a wrapping element (e.g. <group-indexing>, <xref-resolution>) in most cases:

  id="[thread id]"
  name="[thread name]"
  username="[username of user starting thread]"
  groupid="[ID of group if applicable or -1]"
    [<message>[explanation or error]<message>]
    [thread specific XML]

See Asynchronous process, Related API documentation for affected services.

53667511 Sep 20155.8100

Limited the validation report size to 20 MB to avoid out of memory errors.

56437710 Sep 20155.7919

Fixed Microsoft office namespace errors on incoming emails.

5630062 Sep 20155.7916

Added property to ps:config ANT task. This should be used instead of username in service URLs to avoid issues with '@' not being encoded.

56299131 Aug 20155.7916

Modified ps:process ANT task to resolve ambiguous XRefs (with target appearing multiple times) by trying to find a single target in a sub-hierarchy that contains both the source and target. This means if a sub-hierarchy can be processed without ambiguity it's internal links will not change when it is part of a larger hierarchy.


To distinguish between different instances of the same document, document/@id, section/@id and *fragment/@id will be prefixed by '[n]_'. Projects that use these ids may need to be updated to cope with this.

56096119 Aug 20155.7915

Added to document browse page the file name in the tooltip as well as the last modified date on the right.

56093810 Aug 20155.7913

Added Dev > References check page which checks for cross-references to archived/external documents, loops or to ambiguous targets (appearing in multiple places).

5609587 Aug 20155.7913

Replaced Subscript button with Code style button in CK editor.

5608875 Aug 20155.7912

Fixed folder title and labels being lost when uploading exported files.

5567585 Aug 20155.7912

Added autocomplete for elements/attributes/values (by pressing ctrl-space) in PSML source editor and in XML configuration files.

5604175 Aug 20155.7912

Added support to ps-request ANT task for including <servlet path="[path]"/> in multiple request files to change the request URL.

56040328 Jul 20155.7912

Renamed "Admin > Group properties" page to "Admin > Group config".

56034427 Jul 20155.7912

Added support to ps:process ANT task for using nested <include name="x" /> or <exclude name="x" /> elements instead of @includes or @excludes attributes to avoid problems with commas in filenames.


Projects using ps:process with @includes="x" may need to be updated to use <include name="x"> instead.

53965720 Jul 20155.7911

Added the following schematrons for validating documents:

  • old psml: identifies documents that are using old PSML markup which is no longer supported
  • references: identifies XRefs or images which are unresolved or point to archived documents
55891815 Jul 20155.7911

Improved document browse performance for groups with many documents by rewriting queries and making the following modification to the PageSeeder Database:

  • Added ParentPath field to URI table
55851215 Jul 20155.7910

The following servlets have been deprecated and are scheduled for removal:

  • com.pageseeder.AcceptPosition
  • com.pageseeder.DeleteURI
  • com.pageseeder.Download
  • com.pageseeder.EditGroups
  • com.pageseeder.EditSubscriptions
  • com.pageseeder.EditMemberDetails
  • com.pageseeder.EditMemberSubscriptions
  • com.pageseeder.EditXLinkForm
  • com.pageseeder.EditXLinkFormDo
  • com.pageseeder.InsertXLinkBatch
  • com.pageseeder.InsertXLinkForm
  • com.pageseeder.InsertXLinkFormDo
  • com.pageseeder.InsertEditXLink
  • com.pageseeder.InsertEditXLinkForm
  • com.pageseeder.NewDocument
  • com.pageseeder.NewFolder
  • com.pageseeder.NewGroup
  • com.pageseeder.NewProject
  • com.pageseeder.NewMemberFormDo
  • com.pageseeder.PublishControl
  • com.pageseeder.RegisterMember
  • com.pageseeder.RemoveMember
  • com.pageseeder.ResetPassword
  • com.pageseeder.SeedPage
  • com.pageseeder.SubscriptionForm
  • com.pageseeder.XLinksForURI
  • com.pageseeder.XLinkThread
  • com.pageseeder.label.ListLabels
  • com.pageseeder.xref.XRefLoaderServlet


Any projects using these servlets should be modified to use generators or services instead.

55733010 Jul 20155.7910

Improved and documented markdown like formatting for comments, see Comment format.

55099230 Jun 20155.7910

Fixed duplicate ids appearing on <xref|blockxref> in PSML. To fix this on existing documents their cached content can be cleared by using Reload page in the developer perspective.

55651129 Jun 20155.7910

Fixed ps:process ANT task not processing xrefs when filename contains parenthesis ().

55163529 Jun 20155.7910

Added support to PSML publishing config for @role on <target> which will only display the target for users with specified role and above (allowed values: contributor|manager|approver).

55016629 Jun 20155.7910

Fixed PSML/XML with byte order marks and different encodings not being handled correctly.

54691722 Jun 20155.7910

Removed member's significant date and all related functionality.

55180017 Jun 20155.7910

Fixed group property documentStatusLocked not working for PSML documents.

55161414 Jun 20155.7908

Modified services so that wherever an arbitrary string can occur in the URL it can be prefixed by ~ to prevent clashes with other URLs (e.g. GET /members/~jsmith). Also added support for docid to be used wherever {uri} is expected (e.g. GET /groups/acme-specs/uris/~spec123)

Deprecated the following services:

  • GET /caches/{name}/info
  • POST /members/{member}/comments/ {xlinkid}/edit
  • GET /members/{member}/comments/filter
  • GET /comments/filter
  • GET /members/{member}/tasks/filter
  • GET /tasks/filter
  • POST /groups/{group}/resources/create
  • POST /groups/{group}/resources/delete
  • POST /members/{member}/groups/create
  • POST /members/{member}/projects/create
  • POST /members/{member}/groups/{group}/edit
  • POST /members/{member}/projects/{group}/edit
  • POST /groups/{group}/subgroups/{subgroup}/edit
  • GET /members/{member}/projectfind
  • GET /members/{member}/groups/{group}
  • GET /members/{member}/projects/{group}
  • POST /members/create
  • POST /groups/{group}/members/create
  • POST /groups/{group}/members/{member}/delete
  • POST /groups/{group}/members/{member}/edit
  • POST /members/{member}/edit
  • GET /groups/{group}/members/{member}/details
  • GET /members/{member}/details
  • POST /groups/{group}/members/ {member}/inviteself
  • POST /members/{member}/groups/{group}/ uris/{uri}/ fragments/{fragment}/delete
  • POST /members/{member}/groups/{group}/ externaluris/{uri}
  • POST /members/{member}/groups/ {group}/uris/{uri}/properties

Replaced deprecated services with the following:

  • GET /caches/{name}
  • PATCH /members/{member}/comments/{xlinkid}
  • GET /members/{member}/comments/find
  • GET /comments/find
  • GET /members/{member}/tasks/find
  • GET /tasks/find
  • POST /groups/{group}/resources
  • POST /members/{member}/groups
  • POST /members/{member}/projects
  • PATCH /members/{member}/groups/{group}
  • PATCH /members/{member}/projects/{group}
  • PATCH /groups/{group}/subgroups/{subgroup}
  • GET /members/{member}/projects/find
  • GET /projects/{group}
  • POST /members
  • POST /groups/{group}/members
  • DELETE /groups/{group}/members/{member}
  • PATCH /groups/{group}/members/{member}
  • PATCH /members/{member}
  • GET /groups/{group}/members/{member}
  • GET /members/{member}
  • POST /groups/{group}/members/inviteself
  • PATCH /members/{member}/groups/{group}/ externaluris/{uri}
  • PATCH /members/{member}/groups/{group}/uris/{uri}

Added the following services:

  • GET /groups/{group}/properties
  • GET /publish/about
  • GET /members/{member}/groups/ {group}/uris/{uri}
  • GET /members/{member}/groups/ {group}/uris/forurl
  • POST /members/{member}/groups/ {group}/groupfolders/ {guri}/resolverefs
  • POST /members/{member}/groups/ {group}/uris/ {uri}/edits/{editid}/notes

Removed the following services:

  • GET /bandwidth
  • GET /groups/{group}/bandwidth
  • GET /groups/{group}/size

Modified the following services:

  • GET /groups/{group}/uris/{uri}/history
    (changed output XML, replaced existing params by events, page and pagessize params
  • POST /members/{member}/projects
    (deprecated hosturl param and added host param)
  • GET /members/{member}
    (removed @flags attributes on <member> and added attributes @significantdate, @onvacation, @attachments, @created, @activated, @lastpasswordchange and @lastlogin)
  • PUT /groups/{group}/resources
    (deprecated content param and use enclosed entity content of the request instead)
  • PUT /members/{member}/groups/{group}/uris/ {uri}/fragments/{fragment}
    (deprecated content param and use enclosed entity content of the request instead)
  • GET /members/{member}/groups/ {group}/uris/{uri}
    (added sharing information)
  • GET /members/{member}/groups/ {group}/uris/forurl
    (added sharing information)
5510089 Jun 20155.7908

Disabled insert comment by email for shared documents as the group cannot be specified.

5509989 Jun 20155.7908

Improved document history page by displaying events in a new list format with most recent first. Also added an option to display any combination of the following events: upload, creation, modification, attachedto, workflow, version, edit, draft, note, xref, image, comment, task

5381043 Jun 20155.7908

Modified all keys in URLs to use Base64 URL safe encoding.

5275733 Jun 20155.7908

Fixed adding an XRef always inserting it at the bottom of the fragment. Fixed inline label option not working when cursor is inside an existing inline label.

5378393 Jun 20155.7908

PS standard documents can now only be viewed (no edit, preview, version, validate functionality). Comments on PS standard documents can be viewed but only added at document level or as replies. For full functionality the group must be converted to PSML.

5503183 Jun 20155.7908

Improved document view page by moving comments/tasks, references and notes to the right hand side next to the corresponding fragment. Also added update actions to the cartouche fields plus the following options:

  • display section / fragment IDs
  • hide block / inline label names
5503073 Jun 20155.7908

Updated user interface to use the foundation framework which has made it cleaner, more consistent and more responsive to different screen sizes on desktops, tablets and mobiles (removed mobile perspective as no longer required).


Any XSLT, CSS or JavaScript customizations will need to be checked to see if they work with the new framework.

5503043 Jun 20155.7908

Added cross-references for images as follows:

  • On "Upload" or "Resolve references" a cross-reference will be created for each <image/> element to the corresponding image file (if it exists).
  • The reverse references displayed on an image file will then show where that image is used.
  • The attributes @uriid, @docid and @unresolved have been allowed on <image/> elements.
  • Images with no uriid or unresolved="true" will be displayed with a red boarder (all existing images will be initially unresolved).
  • The "Resolve references" option on folder or group manage can be used to resolve existing images (viewing the logs from this will show any xrefs or images that could not be resolved).
53681729 May 20155.7907

Changes to heading and para prefix are now displayed on the fragment and version compare pages.

54838329 May 20155.7907

Simplified document browse actions by only displaying Resolve references, Index and Delete in the developer perspective.

54920429 May 20155.7907

Added pstitle-sort to index and to sort options on Search page. A group will need to be reindexed to sort results by title.

53319326 May 20155.7907

Made the following changes to the Windows installer:

  • Added support for multiple PageSeeder instances each with it's own name.
  • Removed install as service option and any existing PageSeeder service will be removed.
  • Added option to set shutdown port (default 8005) useful if running multiple PageSeeders concurrently.
  • Require that Java 7 or later (JDK or JRE) be installed before hand.
  • Updated Start-Stop Developer Utility including 4 colour themes useful for multiple PageSeeders.
53822026 May 20155.7907

Made the following modifications to the PageSeeder database:

  • Added Modified DATETIME field and unique GroupID/URIID constraint to DGROUP_FOR_URI table.
  • Changed LOCATOR to URI table relationship from N:M to N:1 and added unique URIID, Fragment constraint.
  • Increased XLINK.AuthorName to VARCHAR(100).
  • Added the following DATETIME fields to MEMBER table: Created, Activated, LastLogin, LastPasswordChange.


Database changes always involve some risk so please BACKUP THE PAGESEEDER DATABASE BEFORE UPGRADING to this version. Starting PageSeeder the first time may take a few minutes as it will try to fix duplicate fragments during the database update. To see the progress or if PageSeeder fails to start view the pageseeder/webapp/WEB-INF/logs/general/general.log file.

54834725 May 20155.7906

Fixed error viewing documents or folders that have a title starting with '<' and ending with '>'.

54825622 May 20155.7906

Made the following improvements to the upload documents page:

  • Always displays the "Show Warnings and Errors only" option in the logs for filtering large upload logs.
  • After unzip the file list is automatically refreshed after 10 seconds, useful for large zip files.
  • The file list will refresh without reloading the whole page so that option modifications are not lost.
  • The "Show logs" link should now still work the following day.
  • The total number of files is displayed at the bottom.
54545720 May 20155.7906

Added draft comment functionality as follows:

  • A draft comment will be saved 5 seconds after any typing or modification of the comment and immediately if files are attached.
  • Files can now be attached by the dragging and dropping them onto the contents box.
  • Saved drafts are listed on the new My drafts page in the user home context.
53430720 May 20155.7906

Folders shared between multiple groups are now displayed as orange in the document browse page. Also the document view will display "shared" in orange at the top and more sharing details when the cartouche is expanded.

53793419 May 20155.7906

Removed restriction that a user can't change status on a task/document if their role doesn't have access to it's existing status. Now a status can always be changed as long as the user's role has access to the new value.

53803115 May 20155.7906

Made the following changes to workflows:

  • Added workflow options to document upload page which allows document status to be set when uploading.
  • Added document status to top of document view page which can be updated by clicking on it.
  • A document status can be created by opening the document header (cartouche) and mousing over the document status.
  • Workflows are displayed in the new document history page and have been removed from the document comments page.
  • There is a new 'workflow' label type on the labels page which is used by workflows.
53809015 May 20155.7906

Upgraded PageSeeder to use Java 7, Tomcat 8, DataNucleus 4.1 and Saxon 9.6.


Any customized XSLT should be checked on a development server before the production server is upgraded because some previously supported XSLT will not work with Saxon 9.6.

54546911 May 20155.7906

Added support for managerDisable=edit-docids in which will prevent managers and below from editing Doc IDs.

54546811 May 20155.7906

Added psstatuschangeddate to index for PSML documents and to column options on Search page. Documents with existing workflows will need to be reindexed to populate it.

54546511 May 20155.7906

Created on , last edited on