Is a default folder in every group and it is also a verb that describes a feature of the system. The archive folder is created by the system as soon as the first document is archived. How the feature works is easier to understand with some background.
is a human-readable name provided when a comment is posted by someone that does not have an account on a PageSeeder server. This happens when a group is open to the general public, as opposed to the PageSeeder public. When someone that is not a member, posts a comment using an API call such as Service: /comments/forurl [POST], they can be prompted for a name. This would be the @name attribute on the <author> element.
When editing a document, there is an autosave feature that stores the current draft version of the fragment every five minutes. A message appears at the bottom of the edit window whenever a draft is saved.
Berlioz is an open source Java library, written by the PageSeeder team to provide a simple developer framework that uses URI template notation to allocate services and XSLT for serving XML to the web as HTML. Although Berlioz can be used to serve any type of XML, it comes with native support for processing PageSeeder Markup Language (PSML) and includes the following infrastructure:
A fundamental capability of PageSeeder, comments are a class of XLink that can be attached to different locations in the data or system. Because commenting is so integral to PageSeeder's architecture, understanding how they work can help to explain the broader concepts.
PageSeeder generates a unique ID for every comment. This ID is a useful reference when tasks are significant to external systems such as software code. This allows PageSeeder to function as an issue tracker such as Jira or Bugzilla.
Content labels are a class of label used to describe information inside PageSeeder documents. The two types of content labels: block label and inline label are analogous to the idea of paragraph and character styles in publishing or word processing systems, or to the HTML elements of <div> and <span>.
The Content Security Policy (CSP) is a W3C recommendation designed to prevent cross-site scripting, clickjacking and code injection attacks by making Web servers declare what content can be trusted. It is supported by most current browsers.
Correctly understanding where the date and time are sourced and applied is important for getting the most out of PageSeeder. The orderly processing of edits or comments is critical to efficient collaboration but it isn't always straightforward with globally distributed group members.
In general, PageSeeder does not encourage 'deleting'. The XLink architecture means that regardless of presentation, PageSeeder objects are rarely discrete and self-contained. Instead, artifacts such as documents, comments, tasks are assembled from multiple, linked components.
The developer license for PageSeeder allows developers to create unlimited projects, groups and members as long as they access PageSeeder via localhost or *.localhost only. This license is configured by setting the product key to 'dev' and web site address to 'localhost' or '[x].localhost'.
Selecting the developer perspective exposes the developer tab, the developer action icons and the performance block. It can be selected by hovering the cursor over the perspective icon underneath the user name in the top left corner of the interface.
The PageSeeder server allows any document – XML or binary – to be assigned a server-wide, unique, permanent identifier. This value is commonly referred to as the DocID and it has the same use case for both developers and end-users. That is, the DocID is an alternative method to folder path and filename for locating a document, like a primary key.
is a way of associating a group member with a document, a task and a date. The primary objective of the document status is to formalize lifecycle stages such as creation, review and release. Using the collaboration and reporting tools of PageSeeder, the document status can eliminate much of the overheads and inaccuracies associated with managing document lifecycles using spreadsheets and email.
Computer science has long discussed the issue of redundancy vs dependency and this article will not advance the argument. It may help to explain how the PageSeeder link model can address use cases that may otherwise require data duplication. However, by avoiding redundancy, dependencies may be created instead. Consider the following scenarios:
As the name implies, this is a hybrid of a spreadsheet and a conventional editor. The Edit sheet makes it easy for users to open an entire folder of documents or binary objects and edit their metadata, properties, folder or filename. In the case of PSML documents, the Edit Sheet also exposes fragment properties or inline labels for editing.
PageSeeder provides the infrastructure necessary to support batch or bulk editing. Effectively this process can be thought of as re-uploading PSML (PageSeeder Markup Language) files. Therefore batch editing can support use cases such as:
Like preview, download and publish, export is simply a meaningful name for publish scripts that use PageSeeder's batch API . By default, PageSeeder comes with publish scripts that export to the following formats:
Also known as URL or external URI, it is an object that stores the location of a resource outside PageSeeder and a first class citizen in the system. They can be the target of cross-references, labelled and searched just like normal documents and fragments.
Whether it is a normal binary file such as .ZIP or an Office document or a PageSeeder document, any file viewed in PageSeeder has both a filename and document title. However, because these files are physically stored on the file system of the host server, they must not have names that violate the naming rules of the host operating system.
FOConfig is a simple language expressed in XML that enables non-developers to control the layout of the PDF documents generated by PageSeeder. Designed to require technical skills comparable to editing Cascading Style Sheets (CSS), FOConfig is fundamentally a code generator for Apache FOP.
For further information about the creation and editing of electronic forms or fielded data in PageSeeder, see PSML document template, PSML properties editor or the tutorial on How to configure a custom properties editor.
Group config includes the group name, description, welcome message, advanced options and group properties. They are available when the group is first created or can be accessed at any time by a manager of the group.
Is a value used to cluster, or differentiate, groups. Typically the name of an individual or organization, the “owner” is visible via the List groups page under the Admin menu. The owner value is set via the Advanced options tab of the Group config option under the Admin menu. See screens below.
Accessed by selecting 'Group config' on the admin menu, these are values that control various aspects of group behavior, such as whether returned email messages should be forwarded to a nominated address. While these same values can be set at the project level, the rules of inheritance and overrides can prove confusing for new users.
An implementation technique that uses a document as a wrapper for one or more images plus any associated metadata such as credits and captions. During editing, the image shell is referenced using a normal cross reference, however, when the document is published the contents can be processed differently, depending on the output format.
Designed to associate custom styles or semantics to running pieces of content inside a text block (paragraph). Inline labels play the equivalent role for PageSeeder as “character” or “inline” styles play in traditional publishing or word processing systems.
The Layout analyzer is a developer tool provided in the developer perspective. It allows developers to quickly identify where the Layout manager has been customized. This is particularly useful when trying to understand the consequences to the user interface of an upgrade to the PageSeeder server.
The Layout Manager is a framework that generates the PageSeeder user interface. Based on Java infrastructure it uses XML and XSLT. The PageSeeder developer tools can help to explain the Layout Manager. See the Layout analyzer which is available under the Dev tab in the Developer Perspective. For further technical detail, see the following articles:
In PageSeeder terminology, 'list' should be interpreted as the generic description for ordered (<nlist>) or unordered (<list>) items (<item>) in a document, not as the programming term for a type of data structure.
The groups that a user is a member of, determines the content they can see. The role attached to each specific group membership, determines the functionality the user has. Membership and role for any group is unrelated to what it may be on any other group.
Is supported in several different ways by PageSeeder. The most popular uses of Excel using it to create data that is imported as a collection of linked documents or saving PageSeeder report data for further analysis in Excel.
Support for converting PSML documents to docx and docx to PSML is a standard feature of PageSeeder. Available under the export action icon on the Document -> Browse page, there is a standard conversion that will process any PSML document without modification.
When certain events occur on the PageSeeder server, email notifications are sent to members. Who is notified and when depends on the options of the event and the notification settings for the member in a particular group.
A significant amount of development effort has been invested to ensure that even the most complex numbering schemes can be supported in PageSeeder. In many cases this is achievable with less effort than using Microsoft Word or similar applications and produces superior results. However, the issue of numbering can span the entire document lifecycle, which makes it hard to cover in a single article.
With no predetermined semantics, a label can be used for any purpose. The most fundamental difference for PageSeeder is whether the label is attached to an object, or part of the content. Native objects that support labels include document, fragment, comment, task, version or cross reference.
One of PageSeeder's main design strengths is how quick and easy it can be to import, edit and publish complex XML documents. The reason for this is PageSeeder's object model (see document) and how it is used to represent XML data in an easily editable, generic form.
A common requirement for PageSeeder is to process numerous files through multiple stages. To support this, a version of the PageSeeder API can be called from a batch processing environment, Apache ANT. This is the basis of PageSeeder Publish.
PageSeeder approach to XML publishing workflows is completely different than that of conventional applications. Because PageSeeder was conceived and implemented as a web-based platform, it was designed for a different set of constraints and infrastructure than desktop applications.
Natively, PageSeeder will store, index, search and display PDF documents. PDF format can also be created from PSML documents using FOConfig. By extracting images and text from PDF files, PageSeeder can also build and publish 'flipbooks'.
In earlier versions of PageSeeder, perspectives were known as style views. The change was due to the ambiguity of the word 'style' in publishing, however 'style views' persist in parts of the source code. The purpose of perspectives is to show or hide information in the user interface. This allows users to focus on specific aspects of the system and can improve productivity.
PSML refers to the latest PageSeeder document format as a replacement for the PSXML (PageSeeder Standard XML) format. It is also known as the Universal format because either creating or publishing document collections can be done using a single format.
A publication is a set of documents embedded or transcluded into the same hierarchy. A document can be in more than one publication allowing for re-use of content. See Publication types or references document type.
A concept of batch processing in PageSeeder. Publish can mean exporting PageSeeder XML into non-PageSeeder formats such as PDF, docx or arbitrary XML formats. It can also mean importing Microsoft Word or Excel into PageSeeder XML.
A key component of PageSeeder, the Publish Engine was originally designed to offload CPU-intensive, batch-processing tasks from the PageSeeder server. This was to avoid large, complex tasks creating a drag on the user interface. However, the migration to web services and the evolution of technologies such as Docker mean that the Publish Engine now runs in the same environment as the Core server.
Prevents a document or section from being edited through the standard PageSeeder user interface. This is especially useful for content that is being maintained externally but integrated with PageSeeder content for publishing. An example of this class of content are comments that are maintained in source code.
PageSeeder comes pre-configured with two document types. default is a simple, general-purpose document structure for use in many different circumstances. The other type, references, is more specialized. It has been designed to represent a book structure, with front matter, a table of contents and then a collection of documents.
For a bi-directional link, the reverse cross reference (or reverse XRef) is the component that exists on the link target and refers to the link source. By default, PageSeeder cross references are bidirectional. This means that by processing a document it is possible to know what other documents link to them.
A section title is stored outside the editable area of a section. It is displayed but cannot be removed or altered using the standard editing interface. This can be a useful way of building documents that are composed of specifically defined, or ordered, sections.
A server message is a global message that an administrator can enter in the administrator console for display on all pages on the server. It is generally used to notify ALL users currently logged into that particular PageSeeder server of a server wide event, such as an imminent upgrade or restart.
A legacy developer term that continues to be used in several locations in PageSeeder code and configuration files. Although the role of the style owner has evolved over the life of PageSeeder, the easiest way to understand the current use of the term is to equate it with the PageSeeder project.
The universal format refers to a collection of PageSeeder files when outside PageSeeder. It consists of a file organization and uses PSML as a representation for PageSeeder documents and their metadata.
A URI pattern (or URL pattern) is simple URL-like notation to match URLs. They are used by the layout manager, the PageSeeder services and Berlioz to identify the user interface to render or service to invoke from a URL.
A version is a snapshot of a single document. It must have a name which can be a number, date or free text (e.g. 1.1, 2014-08-19, Final Draft) and may have a text note and/or labels. Only local content is included in the snapshot not transclusions. Multiple documents may be versioned at the same time with the same name but the version on each document only applies to that document.
The weborganic folder is where PageSeeder stores the application-level styles, scripts and images to be served over the web. Where a project has been customized, the equivalent material is stored in the woconfig folder.
A workflow is a special type of task that uses document status values (e.g. Initiated, In Progress, Complete, Approved, Terminated). There can only be one workflow per document and the status of the document is the workflow status. It can have a current priority, due date and assigned to like other tasks and can use comment labels. Workflows can be created on multiple documents at the same time (using batch processing) but they are independent from each other.
The XFormat is a comprehensive XML representation of both PageSeeder's interface and content prior to processing through the layout manager. It is a temporary view that is assembled then transformed into HTML for display by the browser.