Differences between revisions 40 and 41
Revision 40 as of 2007-07-30 13:20:37
Size: 17443
Editor: p508BC5D3
Comment:
Revision 41 as of 2009-09-20 23:27:40
Size: 17463
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
For a comparison of Lenya's terminology with that of other Content Management Systems see ["CMSTerminologyComparison"].

A more concise top-down overview of those key terms concerning Lenya content structure can be found at ["GlossaryStructure"].
For a comparison of Lenya's terminology with that of other Content Management Systems see [[CMSTerminologyComparison]].

A more concise top-down overview of those key terms concerning Lenya content structure can be found at [[GlossaryStructure]].
Line 42: Line 42:
 ''(see also [http://lenya.apache.org/1_4/concepts/authoring_live.html])''  ''(see also [[http://lenya.apache.org/1_4/concepts/authoring_live.html]])''
Line 52: Line 52:
 ''(see also: OverviewCocoonKnowledge and [http://cocoon.apache.org/])''  ''(see also: OverviewCocoonKnowledge and [[http://cocoon.apache.org/]])''
Line 105: Line 105:
 ''(see also [http://lenya.apache.org/1_4/reference/modules/index.html])''  ''(see also [[http://lenya.apache.org/1_4/reference/modules/index.html]])''
Line 138: Line 138:
 ''(see also [http://lenya.apache.org/1_4/concepts/publication.html])''  ''(see also [[http://lenya.apache.org/1_4/concepts/publication.html]])''
Line 151: Line 151:
 ''(see also [http://lenya.apache.org/1_4/reference/publication-templating/index.html])''  ''(see also [[http://lenya.apache.org/1_4/reference/publication-templating/index.html]])''
Line 164: Line 164:
 ''(see also [http://lenya.apache.org/1_4/reference/resource-types.html])''  ''(see also [[http://lenya.apache.org/1_4/reference/resource-types.html]])''
Line 181: Line 181:
 ''(see also OverviewSitemapStructure and [http://lenya.apache.org/1_4/reference/lenya-sitemaps.html])''  ''(see also OverviewSitemapStructure and [[http://lenya.apache.org/1_4/reference/lenya-sitemaps.html]])''
Line 197: Line 197:
 ''(see also [http://lenya.apache.org/1_4/reference/usecase-framework/index.html])''  ''(see also [[http://lenya.apache.org/1_4/reference/usecase-framework/index.html]])''
Line 212: Line 212:
In Lenya, the workflow of a document is controlled by a [http://en.wikipedia.org/wiki/Finite_state_machine| finite state machine] with arbitrary states, transitions, and events, which is expressed using XML. Each resource type can use its own workflow schema. You can implement custom conditions to be checked before a transition can fire, this requires custom java code.

 zones:: The Lenya staging server under [http://lenya.zones.apache.org]. It hosts the Lenya demos and the latest auto-generated docs from SVN.
In Lenya, the workflow of a document is controlled by a [[http://en.wikipedia.org/wiki/Finite_state_machine||finite state machine]] with arbitrary states, transitions, and events, which is expressed using XML. Each resource type can use its own workflow schema. You can implement custom conditions to be checked before a transition can fire, this requires custom java code.

 zones:: The Lenya staging server under [[http://lenya.zones.apache.org]]. It hosts the Lenya demos and the latest auto-generated docs from SVN.

This page is intended to summarize and define Lenya terminology, to point out usage inconsistencies and synonymous terms, and to collect pointers to more detailed information either in the official Lenya documentation or other pages in this wiki.

It is aimed at new Lenya users looking for a short primer, at proficient users in need of a handy reference and at developers and documentation writers who need a quick refresher in order to maintain consistent usage of technical terms in their code comments and docs.

For a comparison of Lenya's terminology with that of other Content Management Systems see CMSTerminologyComparison.

A more concise top-down overview of those key terms concerning Lenya content structure can be found at GlossaryStructure.

  • This page is meant to apply to all versions of Lenya, although it currently concentrates on Lenya 2.0. Where Lenya 1.2.X usage differs, please mark it with [Lenya 1.2.X].


access control
The functionality needed to restrict and control who may edit, publish or visit the content of a Lenya publication.

(see also OverviewAuthenticationAndAuthorization)

accreditable

An access control object which can have certain =>roles on URLs. See also =>policies. Currently used accreditables are:

  • =>user

  • =>group

  • =>IP range

  • =>world

  • archive

    (1) n: An =>area. (2) v: The act of moving a deactivated document to the archive area for later reference or re-use (as opposed to deleting it).

    area
    In Lenya, the content can exist in different versions at the same time. The "storage containers" of the content version sets are called areas. At the moment, the following areas are supported:
  • authoring - edit pages
  • live - the published pages, visible to site visitors
  • archive - archived pages, can be restored
  • trash - deleted pages, can be restored until trash is emptied.
  • admin - administration area (not really a content area, just a tab for administrative tasks).
  • staging - review edited pages (this is not supported in Lenya 2.0)
  • In Lenya 1.2, the prefix "info-" can be added to the authoring, staging, archive, and trash areas. This is used to display the sitetree and page information (commonly refered to as "info area").

    The areas share many properties (notably the presentation of the content), but can have additional properties of their own (an obvious example are the editing menus in the authoring area). Live and authoring can have different content.

    • A page moves from authoring to live and back according to =>workflows.

      In the docs you will sometimes find term mode instead of "area" to describe the same concept.

      (see also http://lenya.apache.org/1_4/concepts/authoring_live.html)

      [The area concept is currently debated and will probably be scrapped for the next major release.]

    • asset
      A generic term for image and other media files embedded in an XML document. In Lenya 1.2, assets belong to single pages. They are not versioned. In Lenya 2.0, assets are ordinary documents of type "resource", and they are included as links.
      authoring

      see =>area

      Cocoon
      An web development framework under the hood of the Apache Software Foundation, built around the concepts of separation of concerns and component-based web development. Lenya is based on Cocoon, and basic Cocoon knowledge is essential to customize a Lenya-driven website.

      (see also: OverviewCocoonKnowledge and http://cocoon.apache.org/)

      content

      The entirety of information provided by a =>publication.

      content item
      A generic term including XML content (language versions) and assets.

      [This is awkward. "document" seems to be the preferred term on the mailing lists.]

      content type

      A synonym for =>resource type (Lenya 2.0) or =>document type (Lenya 1.2).

      context

      Sometimes called the "servlet context", this refers to a URI prefix that may be required to distinguish the Lenya application from other web applications on the same server. Typically this is absent when running Lenya under the bundled Jetty application server, or "/lenya" when running under Tomcat, WebLogic or others. The context used to be a source of many bugs before Lenya 2.0, because it's easy to forget to include it when you are running in root context, causing your code to break when deployed in Tomcat. In Lenya 2.0, the ProxyTransformer takes care of prepending the context to all URLs before a page is delivered.

      deactivate

      The act of removing a document from the =>live =>area. See also: =>workflow.

      document

      The set of =>language versions of a piece of information grouped under a common document id, including its =>metadata. In Lenya 1.2, the term document refers to a single language version.

      delete

      The act of moving a =>deactivated document into the =>trash.

      edit

      To open a file in one of the editors, make changes, and save those changes. See also: =>workflow.

      fallback mechanism

      A key concept for =>publication templating. Resources requested using the fallback =>protocol are first searched in the current publication; if not found, the template is searched, then the template's template, etc. If all sitemaps etc. of a publication (including used modules) use the fallback protocol consistently, the publication will completely support templating. The fallback mechanism is also used in modules, where it allows module resources such as stylesheets to be overridden by the publication.

      group

      see =>access control

      identity

      An object storing information about a client that accesses a Lenya server. The identity contains a reference to the user, to the machine and to the world. If you don't log in, the identity only contains your machine IP address and the world.

      info

      see =>area

      internationalization
      The act of abstracting a document from a specific language. In addition to providing translations of entire documents, you can replace often-used strings by special keys which will then be translated ("localized") with a catalogue file. This is handled by Cocoon.

      see also: http://solprovider.com/lenya/&cat=Language (Lenya 1.2 specific, but gives a good overview)

      see also: http://cocoon.apache.org/2.0/userdocs/transformers/i18n-transformer.html (the cocoon I18nTransformer that governs i18n in Lenya)

      i18n

      see =>internationalization

      live

      see =>area

      localization

      The act of translating the contents of a document that has been internationalized (=>internationalization) into a target language. This can also include re-formatting date/time fields and currency according to local usage.

      l10n

      see =>localization

      metadata
      The set of additional information belonging to a document that is not part of the data itself (e.g. data about the data). Lenya 2.0 uses Dublin-Core metadata by default and allows for arbitrary custom metadata as well.

      see also: http://lenya.apache.org/docs/2_0_x/reference/metadata.html

      mode

      Currently a synonym for =>area, will be used exclusively when the area concept is given up in later revisions.

      module
      Packages providing a certain set of resources or functionality, such as
      • a resource type (e.g., docbook module)
      • a repository implementation (e.g., jdbc module)
      • a collection of XSLTs (e.g., content2svg module)

      (see also http://lenya.apache.org/1_4/reference/modules/index.html)

      navigation
      policy

      A policy assigns a set of =>roles to an =>accreditable on a specific URL. The resulting role set of an identity is the union set of the roles of the accreditables belonging to the identity. Example:

    • policy 1: user John has the role "edit" on the URL "/news"
    • policy 2: IP range 182.12.4.122/255.255.0.0 has the role "review" on the URL "/news" If John logs in from a machine in this IP range, he has the roles "edit" and "review" on the URL "/news".
    • protocol

      A specifier used in URIs to define where the content comes from and in which format. The most famous is likely http://. In Lenya publication sitemaps, you will find the following protocols:

      • from Cocoon:
        • file:// - read a file from disk, using the operating system's path as the URI

        • cocoon:// - request a resource from the cocoon servlet (handled by the sitemap pipelines, so this need not exist as an actual file)

        • context:// - request a file from disk, using the webapp context directory as root

      • Lenya-specific:
        • lenya-document:// - request a document from the Lenya storage by its =>UUID and optionally language and revision (i.e. independent of its current location in the site tree)

        • site:// - request a document based on its sitetree path

        • fallback:// - request a file using the =>fallback mechanism

        • fallback-template:// - dito, but skip the current publication and start looking in its template instead

        • aggregate-fallback:// - concatenate the content of a file in this publication with the contents in all ancestors

      Protocols are implemented using =>source factories.

      • lenya:// - request a file from disk (same as context:/, but the returned source is a RepositorySource with additional features) FIXME: is that correct?

      (see also http://lenya.apache.org/1_4/reference/protocols/index.html)

      [Needs proofreading and completion. Lenya-Metadata factory is missing.]

      publication

      A website created with Lenya. A Lenya installation can contain more than one publication. Publications can either be fully independent, or they can share common properties via =>publication templating.

      (see also http://lenya.apache.org/1_4/concepts/publication.html)

      [Some people feel this term is unfortunate (why not just call it a "site"?), but for now we're stuck with it.]

      publication templating

      A mechanism for sharing properties between publications. Every publication can be used as a template for new publications, producing derived publications or child publications. Provided you use the "New Publication" usecase, all publications will ultimately be based on the default publication that comes with Lenya.

      Templating is implemented using the fallback mechanism, a lenya-specific uri resolver that can be applied to any uri reference in xml files by using fallback:// as a protocol specifier. If this is done consistently, publications can share arbitrary properties (i.e. xslt files, configuration files, user/group account files, sample pages, resource types etc.) from their template or from the default publication. The fallback mechanism operates on a file level. Thus it can only be applied to whole files (not parts thereof), and only if those files are referenced by URIs in configuration files. The creation of a new child publication from a template is called instantiation. Therefore, you will sometimes find the term "instance of template X" instead of "child of X".

      Child publications can use features of their template(s) in two ways: by copying files from the template during instantiation, or by referencing those files. Copying severs the link between child and template - later changes to the template will not affect the child. Referencing implies that all changes to the template will immediately affect the child as well, since the child uses the template's property.

      (see also http://lenya.apache.org/1_4/reference/publication-templating/index.html)

      publish

      see =>workflow

      resource
      A generic term in need of clarification that can mean almost anything.
      resource type

      An XML source format for Lenya =>documents, together with processing options. It typically consists of

      • an XML structure definition (e.g., Relax NG)
      • some presentation pipelines,
      • some presentation XSLT stylesheets,
      • usecases to manipulate documents.

      The default publication contains the resource types xhtml, homepage, OpenDocument, CForms and links.

      (see also http://lenya.apache.org/1_4/reference/resource-types.html)

      review

      The act of proof-reading a =>submitted document and deciding whether to =>publish or to =>reject it. See also: =>workflow.

      revision control

      The ability to preserve past states of documents, roll back to them as needed and show the differences between revisions. Lenya currently has a file-based revision control mechanism and an experimental new one based on the JackRabbit implementation of the JCR (or Java Content Repository) API (JCR development is currently stalled, though).

      (see also JcrConfiguration)

      role

      The capabilities and privileges of an =>identity. Policies are used to determine the roles of an identity for acertain URL. Roles are used to define conditions for =>workflow transitions, and to restrict access to =>usecases. The default publication defines four basic roles that a lenya user can have. An admin can control all aspects of a publication and create, delete or modify users and groups. An editor can modify and create new content, but cannot publish it; for this, s/he hands the work to a reviewer, who does the final check and decides whether the page can go live. The visitor is just allowed to view pages. You can define custom roles and workflows.

      Roles are frequently assigned via =>group membership, but do not confuse roles and groups. OverviewAccessControl has a good explanation of how different they are.

      site

      A synonym for =>publication.

      sitemap
      A concept from Apache Cocoon; an XML file that governs how page requests are handled, i.e. where the data comes from and how it has to be transformed and presented to the user.

      (see also OverviewSitemapStructure and http://lenya.apache.org/1_4/reference/lenya-sitemaps.html)

      site tree

      The tree-representation of the hierarchical relationship of documents within a site. Currently implemented as an XML file under <pubname>/content/sitetree.xml.

      site tree node
      A particular document entry within the site tree.
      source factory

      A piece of Java code implementing a =>protocol. Used in sitemaps.

      submit

      The act of passing on an =>edited document to =>review. See also: =>workflow.

      translation
      Version of a document in a specific language.
      trash
      An intermediate storage space to hold deleted documents. They can be un-deleted until the trash is emptied by the site administrator.
      usecase
      (1) A user-triggered action. (2) The corresponding code to implement it.

      (see also http://lenya.apache.org/1_4/reference/usecase-framework/index.html)

      usecase handler

      Java class which is used to implement the functionality provided by a =>usecase.

      user

      see =>access control

      UUID
      As of Lenya 2.0, documents are stored based on a universally unique ID (UUID), not on their location. All internal links now use UUIDs as well. This means that links don't break when documents are moved around, and moving documents does not entail data shuffling in the repository.
      version

      A particular state of a document with a time stamp, used in =>revision control.

      workflow

      A sequence of actions necessary to accomplish a task. For instance, in order to move a page from the authoring to the live area, an editor must submit it. A reviewer can then reject it (it gets sent back to the editor for some more polishing) or publish it, in which case the page moves to the live area. To move a page back from live to authoring, a reviewer must deactivate it. Afterwards, it can either be re-published or deleted.

      Workflow transitions are typically invoked when a =>usecase is executed. Moreover, in a workflow context, "usecase" is sometimes used as a synonym for "workflow transition".

    In Lenya, the workflow of a document is controlled by a http://en.wikipedia.org/wiki/Finite_state_machine with arbitrary states, transitions, and events, which is expressed using XML. Each resource type can use its own workflow schema. You can implement custom conditions to be checked before a transition can fire, this requires custom java code.

    zones

    The Lenya staging server under http://lenya.zones.apache.org. It hosts the Lenya demos and the latest auto-generated docs from SVN.


    To do

    • cross-reference each term to the appropriate docs
    • keep each definition short and sweet. perhaps the more verbose explanations can be merged into the docs if it makes them easier to understand?
    • maintain alphabetic order

    New terms coined for this section

    • property (any file within a publication)
    • child publication (we have instance, but i think that's too OOP)

    Are there better, already established terms for these concepts? If so, let's use them instead and get rid of these new ones.

    Glossary (last edited 2009-09-20 23:27:40 by localhost)