Availability Notification

Hosting is available now! CLICK HERE for more info.
Want us to let you know when you can download a copy for yourself? Just give us your email address here!

 

Glossary

RealTime™ Documentation

Contents

Anchor

An anchor is created using the <a> tag in HTML. An anchor allows you to place a bookmark inside an HTML page. In RealTime™, you can place an anchor inside an article. This lets you create a link that will go directly to that point in the article.

The HTML source code for an anchor looks like the following:

<a name="my_anchor" title="My Anchor"></a>

You can link to an anchor from within the same page using the HTML code

<a href="#my_anchor" ></a>

Clicking that link will take you directly to the location of the anchor tag.

You can link to an anchor in a different page by appending "#" plus the anchor name to the end of the URL. In the example above, if the URL for the article was http://www.mysite.com/my_article.html, then you could link directly to the anchor in that page with the URL http://www.mysite.com/my_article.html#my_anchor.

Article

In RealTime™ an Article is a piece of content usually consisting mainly of text, but may contain other resources too (for example, images). An Article is most often regarded as the third level in the hierarchy Sections -> Categories -> Articles. For example, a website might have Sections called "Animals" and "Plants". Within the "Animals" Section, the website might have Categories such as "Birds" and "Mammals". In the "Birds" Category there might be Articles called "Parrots" and "Sparrows" which describe the relevant birds in detail. However, it is possible to have Uncategorised Articles that exist without being associated with any Section or Category.

Articles are maintained using the Article Manager which can be reached in the Administrator (Back-end) by clicking on the Content menu, then the Article Manager menu item.

See also: Section, Category

Cascading Style Sheet (CSS)

A Cascading Style Sheet or CSS is used to control the presentation of an HTML page. For example, a CSS file will often control the font, margins, color, background graphics, and other aspects of a web page's appearance. CSS allows you to separate the content of an HTML page from it's appearance. In RealTime™, CSS files (for example, template.css) are normally part of the template.

See also: Template, Page Class Suffix, Module Class Suffix

Category

In RealTime™ a Category is a collection of Articles. It is the middle level in the hierarchy Sections -> Categories -> Articles. For example, a website might have Sections called "Animals" and "Plants". Within the "Animals" Section, the website might have Categories such as "Birds" and "Mammals". Within the "Birds" Category, the website might have Articles such as "Parrots" and "Sparrows".

Categories are maintained using the Category Manager which can be reached in the Administrator (Back-end) by clicking on the Content menu, then the Category Manager menu item.

See also: Section, Article

Chrome

The visible graphical interface features of an application are sometimes referred to as chrome.

Component

A component is a kind of RealTime™ extension.

See also: Module, Plugin, Template

Extension

An extension is a package that extends your RealTime™ installation in some way. A small selection of extensions is included with the default RealTime™ installation but many more are available from the Joomla! Extensions Site.

The term "extension" is generic and the following specific extension types are available (listed alphabetically):

jdoc

jdoc statements are included in every RealTime™ template and indicate where the output from other parts of RealTime™ or its extensions should be positioned in the overall web page. A typical jdoc statement looks like this: <jdoc:include type="component" /> See the jdoc statements article for more information.

Model-View-Controller

RealTime™ makes extensive use of the Model-View-Controller design pattern.

When RealTime™ is starts to process a request from a user, such as a GET for a particular page, or a POST containing form data, one of the first things that RealTime™ does is to analyse the URL to determine which component will be responsible for processing the request, and hand control over to that component.

If the component has been designed according to the MVC pattern, it will pass control to the controller. The controller is responsible for analysing the request and determining which model(s) will be needed to satisfy the request, and which view should be used to return the results back to the user.

The model encapsulates the data used by the component. In most cases this data will come from a database, either the RealTime™ database, or some external database, but it is also possible for the model to obtain data from other sources, such as via a web services API running on another server. The model is also responsible for updating the database where appropriate. The purpose of the model is to isolate the controller and view from the details of how data is obtained or amended.

The view is responsible for generating the output that gets sent to the browser by the component. It calls on the model for any information it needs and formats it appropriately. For example, a list of data items pulled from the model could be wrapped into an HTML table by the view.

Since RealTime™ is designed to be highly modular, the output from the component is generally only part of the complete web page that the user will ultimately see. Once the view has generated the output the component hands control back to the RealTime™ framework which then loads and executes the template. The template combines the output from the component, and any modules that are active on the current page, so that it can be delivered to the browser as a single page.

To provide additional power and flexibility to web designers, who may only be concerned with creating new designs rather than manipulating the underlying code, RealTime™ splits the traditional view into a separate view and layout. The view pulls data from the model, as in a traditional MVC pattern, but then simply makes that data available to the layout, which is responsible for formatting the data for presentation to the user. The advantage of having this split is that the RealTime™ template system provides a simple mechanism for layouts to be overridden in the template. These layout overrides (often called "template overrides" because they form part of the template, although actually it is the layout that is being overridden) are bundled with the template and give the template designer complete control over all the output from the RealTime™ core and any installed third-party extensions that comply with the MVC design pattern.

Module

Modules are lightweight and flexible extensions used for page rendering. Sometimes modules are linked to components such as the "latest news" module which links to the content component (com_content) and displays links to the newest content items. These modules are mostly visible as the "boxes" that are arranged around a component on a typical page, for example, the login module. Modules are assigned per menu item, so, for example, you can decide to show or hide the logon module depending on which component (menu item) is used. However, modules do not need to be linked to components; they don't even need to be linked to anything and can be just static HTML or text.

Modules are managed in the Administrator by the Module Manager.

See also: Component, Plugin, Template

Module Position

Module positions are placeholders in a template where you can place modules. There are 27 pre-named positions (e. g. left, right, top, bottom) and 23 author-defined positions. Module positions are not confined by their name. Thus, the left Module position be placed anywhere in the template.

Module Class Suffix

Module Class Suffix is a parameter in RealTime™ modules. It is set Module: [Edit] screen under Advanced Parameters. Setting this parameter causes RealTime™ to either add a new CSS class or modify the existing CSS class for the "div" element for this specific module.

When RealTime™ generates a module, it automatically create a CSS class called "moduletable" to allow styling of the module -- for example,

<div class="moduletable">

To create a new class, enter the parameter with a leading space. For example, entering a space plus "myNewClass" will create a new CSS class called "myNewClass". The HTML will be changed to

<div class="moduletable myNewClass">

To change the name of the existing class, enter in the parameter without a leading space. For example, entering "_mySuffix" (no leading space) will cause the HTML to changed to

<div class="moduletable_mySuffix">

Generally, it is recommended to use a leading space to create a new class. This way, CSS styling for this module that uses the standard class names will continue to work. You can use the new class name to add any desired styling to the module without needing to re-create all of the existing CSS code. Note that, if you create a new class name, make sure it has a unique name and doesn't conflict with any existing class names.

MVC

Model–View–Controller (MVC) is a software architecture[1], currently considered as an architectural pattern used in software engineering. The pattern isolates "domain logic" (the application logic for the user) from input and presentation (GUI), permitting independent development, testing and maintenance of each.

The model is the domain-specific representation of the data upon which the application operates. Domain logic adds meaning to raw data (for example, calculating whether today is the user's birthday, or the totals, taxes, and shipping charges for shopping cart items). When a model changes its state, it notifies its associated views so they can be refreshed.

Many applications use a persistent storage mechanism such as a database to store data. MVC does not specifically mention the data access layer because it is understood to be underneath or encapsulated by the model. Models are not data access objects; however, in very simple apps that have little domain logic there is no real distinction to be made. Also, the ActiveRecord is an accepted design pattern which merges domain logic and data access code - a model which knows how to persist itself.

The view renders the model into a form suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes.

The controller receives input and initiates a response by making calls on model objects.

An MVC application may be a collection of model/view/controller triplets, each responsible for a different UI element.

MVC is often seen in web applications where the view is the HTML or XHTML generated by the app. The controller receives GET or POST input and decides what to do with it, handing over to domain objects (i.e. the model) that contain the business rules and know how to carry out specific tasks such as processing a new subscription.

Page Class Suffix

Page Class Suffix is a parameter in RealTime™ content Menu Items. It is set in the Menu Item: [Edit] screen under the "Parameters (Advanced)" section. This will cause RealTime™ to either add a new CSS class or modify the existing CSS class for elements in this specific Menu Item layout.

When RealTime™ generates a page, it automatically creates pre-defined CSS classes to allow styling of the page. For example, a page might have the element

<div class="componentheading">

To create a new class, enter the parameter with a leading space. For example, entering a space plus "myNewClass" will create a new CSS class called "myNewClass" and it will be inserted as a class for elements in that Menu Item. In this case the example above will be changed to

<div class="componentheading myNewClass">

To change the name of the existing class, enter in the parameter without a leading space. For example, entering "_mySuffix" (no leading space) will cause the HTML to changed to

<div class="componentheading_mySuffix">

Generally, it is recommended to use a leading space to create a new class. This way, CSS styling for this component that uses the standard class names will continue to work. You can use the new class name to add any desired styling to the component without needing to re-create all of the existing CSS code. Note that, if you create a new class name, make sure it has a unique name and doesn't conflict with any existing class names.

PHP

PHP is a computer scripting language designed for creating dynamic web pages. PHP is widely-used for web development and can be embedded into HTML. It generally runs on a web server, taking PHP code as its input and creating web pages as output. RealTime™ is primarily written using the PHP language.

Plugin

A plugin is a kind of RealTime™ extension. Plugins provide routines which are associated with trigger events within RealTime™. When a particular trigger event occurs all plugin routines of the type associated with the event are executed in sequence. In this way it is possible to add functionality to the RealTime™ Framework.

See also: Plugin, Component, Module, Template

Section

In RealTime™ a Section is a collection of Categories. It is the top level in the hierarchy Sections -> Categories -> Articles. For example, a website might have Sections called "Animals" and "Plants". Within the "Animals" Section, the website might have Categories such as "Birds" and "Mammals".

Sections are maintained using the Section Manager which can be reached in the Administrator (Back-end) by clicking on the Content menu, then the Section Manager menu item.

See also: Category, Article

SEF URLs

Search-engine friendly URLs. Normal RealTime™ URLs look something like this:

http://www.yoursite.org/index.php?option=com_content&view=section&id=3&Itemid=41

You can optionally have URLs display to look like static HTML pages like this:

http://www.yoursite.org/faq.html

RealTime™ 1.5 has built-in optionos for SEF URLs. These are enabled by changing the "SEO Settings" in the Site tab in the Global Configuration screen in the RealTime™ back end. There are also third-party extensions that create SEF URLs for RealTime™.

Split menus

A split menu is where different levels of a single menu are displayed in two or more locations on a single web page.

For example, a common requirement is for a menu of top-level items to appear at the top of the page. When one of the items is clicked the user is taken to a page where a secondary menu, say on the left of the page, shows second-level items within the scope of the top-level item.

The menus appear in separate locations on the page, but are related because one shows only top-level items while the other shows second-level items. This idea can be extended to include menus for third-level items and beyond.

This can be implemented in RealTime™ using a single multi-level menu then creating more than one menu module each referring to a different level.

Template

A template is the type of RealTime™ extension that changes the way your site looks. There are two types of templates: Front-end Templates and Back-end Templates.

See also: Component, Module,