skinnybanner

Sample image

The es group

A Group of companies whose synergies means our customers benefit from exceptional service.

Sample image 2

Electrical

Innovative, dynamic and growing electrical contractor committed to continuous improvement.

Sample image

Facilities

Management of services and processes that support the core business of your organisation.

Sample image

Compliance

Taking the responsibility to ensure that your building services are compliant with legislation.

Modules are lightweight and flexible extensions used for page rendering. These modules are often “boxes” arranged around a component on a typical page. A well-known example is the login module. Modules are assigned per menu item, so you can decide to show or hide (for example) the login module depending on which page (menu item) the user is currently on. Some modules are linked to components: the “latest news” module, for example, links to the content component (com_content) and displays links to the newest content items. 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 Joomla! Administrator view by the Module Manager.

Joomla default modules:

  • Archived Articles?
  • Articles – Newsflash
  • Articles – Related Articles
  • Articles – Categories
  • Articles Category
  • Banners?
  • Breadcrumbs
  • Custom HTML
  • Random Image
  • Search?
  • Statistics
  • Syndication Feeds
  • Feed Display
  • Footer?
  • Language Switcher
  • Latest News
  • Latest Users
  • Login?
  • Menu?
  • Most Read Content
  • Weblinks
  • Who’s Online
  • Wrapper

Reference: http://docs.joomla.org/Glossary

Joomla makes extensive use of the Model-View-Controller design pattern. A standard OOP design pattern that separates different logical functions into different classes to improve the maintainability of the software.

When Joomla is started 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 Joomla 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 Joomla 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 Joomla 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 Joomla 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, Joomla 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 Joomla 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 Joomla core and any installed third-party extensions that comply with the MVC design pattern.

Reference: http://docs.joomla.org/Glossary

Team members

Chris Bryant
Group Managing Director

Daniel Langan
Managing Director

Graeme Stuart
Operations/Health and Safety Manager

Margaret Goodwin
Office Manager

Sean Gallacher
Senior Estimator/Quantity Surveying

Connor Goodbrand
Trainee Estimation/Quantity Surveying