Core Components

Khurshidali Shaikh

Below are the core components/concepts on which ActiveSiteNG works.

1. ContentType

As the name suggests a ContentType is used to define the different type of contents that will be used in the site. The ContentType contains the fields contained in it along with list of predefined templates that are used to render the page for this content type

e.g. Content types can be News, Downloads, Jobs.
News can have fields like

  • Headline
  • Date
  • Short description
  • Details
  • Image
  • etc,..

Each field in a content type can be of the following types

  • ShortText - A single line text field
  • MediumText - A multi line text box limited to 255 characters
  • LongText - A multi line text box with virtually unlimited length
  • RichText - A multi line text box for storing HTML pages. When this field is used an HTML Editor is provided while publishing/editing content
  • Date - For storing date values
  • DateTime - For date and time fields
  • Email - Single text field that does email validation
  • List(Single) - Single select list
  • List(Multiple) - Multi select list
  • File - File attachment fields

2. Document

A Document is an instance of a ContentType. A Document has a name, owner, creation dates, etc. A Document can have one or more versions in one or more language. Version is explain below.

3. Version

Versions are used for version management of content like in SCM. A Document is only a container for a piece of content. The actual data for all fields of a Document (Headline, Date, Short description, etc in above example) is stored in a version. A Version also belong to a locale(or default). Only one version in a language can be online at a time for a given Document. The online version is what is displayed on the site.

4. Folder

Folders are used to define sections of the site and to arrange content pages under the same. Folder have a url path and label. Labels can be defined for multiple locales. Folder have a sequence to manage its order w.r.t to other folders which are its peers. Not to mention a folder can have sub folders and so on.
e.g. /home/about-us is a folder path for about-us folder under home folder

5. Page

A page is a url given to a particular Document in ActiveSiteNG. A page belongs to have document, folder and has a name. It also has a jsp template which is used to render the related Document.