A user account is locked automatically by PageSeeder after multiple consecutive failed sign-in attempts. While their account is locked, users cannot sign in. They must wait for the account lockout time to expire or contact an administrator to unlock their account.
is a default folder in every group, and it is also a verb that describes a feature of the system. The folder is created by the system when the group is created. How the feature works is easier to understand with some background.
The person who submitted a comment, version, note or edit to PageSeeder. In the user interface, PageSeeder displays a human-readable name to identify the author.
There are two ways to batch process PageSeeder documents through the user interface. One is using the search results, and the other is to configure a publish task to run at the folder level using the task config.
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 type of cross-reference that references content that is to appear as a standalone element. The different ways a block xref can be processed are the following:
Open source library that simplifies the task of accessing the PageSeeder service API from Java or Kotlin applications. Bridge allows applications to support the following:
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.
Comments posted by email or through the user interface are stored in plain text. However, to leverage the formatting capabilities of modern browsers, comments can include basic formatting through the use of the popular language, Markdown.
Do not have to be a specific document type, "component" reflects the role of the documents that are bound together by a references document to create a publication.
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>.
Cross-Origin Resource Sharing (CORS) is an HTTP-header based mechanism that allows a server to indicate any origins (domain, scheme, or port) other than its own, from which a browser is to permit to load resources.
Daily digest is a method of notification, allowing the member to keep up to date with the latest comments and discussion related to a group by receiving a single email once daily.
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.
These are the settings used to initialize a group. They include the folder structure (documents, image, attachments and more) and files like the homepage.
In general, PageSeeder doesn’t encourage ‘deleting’. Even when it isn’t obvious by appearance, the PageSeeder XLink architecture means that most information objects are created by processing links to users, content and context.
The developer license for PageSeeder allows developers to create unlimited projects, groups and members as long as they access PageSeeder through localhost or *.localhost only. This license is configured by setting the product key to ‘dev’ and website address to ‘localhost’ or ‘[x].localhost’.
To keep the user interface straightforward for end users, PageSeeder provides a developer view (previously referred to as “Developer mode”), which when enabled, turns on additional features, tools and information specifically aimed at developers.
The PageSeeder server allows any document – PSML or binary – to be assigned a server-wide, unique 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.
Assigning a status 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.
In PageSeeder, a document type can be compared to a ‘template’ in Word or FrameMaker. Document types are used to customize aspects of the content such as:
As the name implies, this is a hybrid of a spreadsheet and a conventional editor. Available from the search results, the Edit sheet makes it straightforward for users to open an entire folder of documents or binary objects and edit their metadata, properties, 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 files. Therefore, batch editing can support use cases such as:
Like 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:
Whether it is a normal binary file, such as ZIP file, 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 mustn't have names that violate the naming rules of the host operating system.
A unique identifier for a fragment within a document. The fragment ID provides developers with a more precise mechanism for updating documents that have been created outside PageSeeder.
A generator is a server-side component written in Java which produces an XML response from a content request. Berlioz libraries provide a number of built-in generators for common use cases.
The Global template (previously known as custom folder) is a custom project template that applies to all projects on the server. It is specified by the optional globalTemplate property in global properties.
These settings can be found in Advanced Options on the group configuration page located under group administration. For more information about the API, see Service: edit-group.
Group configuration includes the group title, name, description. Advanced options are available, which include a welcome message for new members, and in the group properties form values can be configured for tasks, workflows, notification and index. These are available when the group (or project) is first created or can be accessed at any time by a manager of the group.
Is an object that acts as a container for URIs in a group. All documents and folders belong to at least one group folder. Each group folder contains its own tree of documents and folders.
Is a value used to cluster, or differentiate, groups. Typically the name of an individual or organization, the “owner” is visible through the projects and groups page under the system admin menu. The owner value is set through the advanced options tab of the group configuration option under the admin menu. See the following screens.
Accessed by selecting Group configuration, under the Administration tab on the group dashboard page, these are values that control various aspects of group behavior such as whether returned email messages are 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. Group properties defined in the global template are used as the default for all groups.
An HTTP servlet is a server-side component that receives and responds to requests from clients to perform a particular task or retrieve data over HTTP.
This technique is no longer recommended. The preferred alternative is to create a media template that includes the relevant metadata using the <metadata> element instead.
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.
In PageSeeder terminology, ‘list’ is 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.
MathML is intended to facilitate the use and re-use of mathematical and scientific content on the Web. It is supported for display and storage in PageSeeder.
PageSeeder uses the media type of a document as a trigger to invoke document processors that have specific capabilities to process data formats such as XML or PDF.
The groups that a user is a member of, determine 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 might be on any other group.
The broad scope of PageSeeder has left some important terms with more than one meaning. “'document'”, “properties”, and “metadata” are all such terms. The uses of metadata are as follows:
Support for converting PSML documents to DOCX and DOCX to PSML is a standard feature of PageSeeder. Available when viewing a document, there is a standard conversion that processes any PSML document without modification.
A group with the role of moderator assigned to a member. PageSeeder then directs different transactions to the nominated individual for approval. Transactions that can be moderated are: anyone applying to join the group or comments being posted to members.
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.
When an app connects to PageSeeder using OAuth it acts as a PageSeeder member. In PageSeeder v6.1 and higher the app no longer has all the permissions that the member has but only those allowed by the scope specified for the app’s OAuth client. The scope consists of one or more scopes described in the following separated by spaces, for example: openid profile email.
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, workflow, version or xref.
One of PageSeeder’s main design strengths is how quick and straightforward 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.
An aspect of the service provider license that supports branding of the PageSeeder interface and messages, such as lost password and group invitations.
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.
The PageSeeder approach to XML publishing workflows is different from that of conventional applications. PageSeeder was conceived and implemented as a web-based platform, not adapted from a desktop app. The orientation of the product has always been around collaboration and the constraints that are necessary to effectively and productively coordinate groups of users.
Is a somewhat ambiguous term. It can be the conceptual term for the overall PageSeeder solution or it can refer to the main software component of the system (and counterpart to the publish engine).
A widely-understood concept that is part of most unstructured document editing and publishing apps. A style groups a collection of format settings under an arbitrary name so a user can apply the identical settings elsewhere.
An inline <placeholder> element that displays the value of a metadata property directly in content. This allows content (text, date or datetime) to be edited in one location, but shown in multiple. Because the property can belong to the publication, the same component document can display different content in different publications.
Only use lowercase alpha characters, numbers (top level project name can’t start with a number), underscore (_), or tilde (~) in your project or group names.
PSML (PageSeeder Markup Language) is an XML markup language designed to represent a broad range of documents. It is natively supported by the components of the PageSeeder platform with no need for additional configuration. This includes the editor, publishing processes, validator, index/search engine and more.
The conventional meaning for ‘public’ refers to an external, often anonymous, community. In PageSeeder, setting to ‘public’ means you provide access to people who are NOT registered to the same group – public just means we don't check for the group membership.
Among other properties, this controls the way a “Publication” is numbered. The publication-config.xml is available through the Publication types tab, on the template configuration page.
A server-wide, unique value represented by a document property. Any document with a value in this field is displayed in the list of Group Publications.
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 the PageSeeder solution, the Publish Engine handles all import, export, publish and some process operations by executing customizable Ant scripts. It is included as part of each PageSeeder server, but one PageSeeder server can use the Publish Engine on a different PageSeeder server so CPU-intensive tasks, such as document composition or transformation, can be distributed.
The conceptual foundation of the search service is the idea of “question field” and “question”. Examples of question fields are “document title” and “author”. A questions would be one or more word that appear in either or both question fields. After processing the question, the search service will return a list of results in the specified format (documents, comments, URLs) where the content of a question field fully or partially matched the content of the question.
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.
To ensure the integrity of xrefs, when an xref is created. PageSeeder checks that the target document exists. If it does. then the xref is considered resolved. Otherwise, it is considered unresolved, and is displayed in red.
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 xrefs are bidirectional. This means that, by processing a document, it is possible to know what other documents link to them.
An ISO standard with powerful validation capabilities and configurable error messages. Further information about the standard is available via the Schematron Wikipedia page. Also see XSD files.
Built on the Apache Lucene technology, PageSeeder offers end users and developers several interfaces to find and retrieve content using the search capability.
Typically a property value or a label, facets work best when they are consistently applied to most of the documents in a collection. For example, if most documents include a property of "city", the value of that property can be used to navigate or categorize documents in the collection.
Defined in each PSML document as containers for related fragments, sections are used to divide a document into fixed parts that remain in place throughout the lifecycle of the document.
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 dashboard for display on all pages on the server. It is generally used to notify ALL users currently logged into that particular PageSeeder server of an imminent server wide event, such as an upgrade or restart.
Single sign-on lets users sign in with a single ID to an external identity provider to authenticate with PageSeeder. The credentials are maintained by the external identity provider.
Is a value that can be given to a task or a document workflow to represent their current state. The status values, and roles that can use them, are configurable in the group properties.
A supergroup is any group with a subgroup as a member. There are no special characteristics of a supergroup, except that knowing which individuals can access the group requires processing the membership of the subgroup.
A task is an action to be undertaken and is defined by its status. An active task is a task which has an active status. In the user interface, PageSeeder uses the task icon for tasks.
A transclusion is type of cross reference that is resolved directly, so that the referenced content (a document or part of a document) is included into the source document.
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.
URI is used as a generic term for documents, folders and URLs which are specific types of URIs. They all have a unique URI ID and share many common features.
A URI pattern (or URL pattern) is simple URL-like notation to match URLs. They are used by the PageSeeder services and Berlioz to identify the user interface to render or service to invoke from a URL.
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 style folders under the template folder.
Weekly digest is a method of notification, allowing the member to keep up to date with the latest comments and discussion related to a group by receiving a single email once weekly.
An XLink object that expresses the stages in a document’s lifecycle – reducing coordination overheads in a collaborative writing environment. In the user interface, workflows use the workflow icon.
When comment content is submitted with contenttype=application/xhtml+xml the content is sanitized for security and consistency so that it only contains the following elements or attributes. Named entities such as are also converted to numerical entities or Unicode characters so the content can be processed easily as XML.
XLinks are a key component in the PageSeeder architecture. Sometimes their role is obvious (cross-references), and sometimes it is less obvious (a new document).
This is a specialized PSML fragment editor to add to, delete or reorganize a list of xrefs (cross-references). Edits to the <xref-fragment> element invoke this editor. By default, the second fragment of a references document is configured to invoke the xref list editor. Adding an <xref-fragment> must be done through the PSML document template – there is no way to add one through the standard end-user interface.
There are a number of schema files that are useful for validating different aspects of PageSeeder. Both the files and documentation are available through schemas.