How to develop with Exponential

The content class concept

Any piece of content in Exponential is a content object, which is an instance of a specific content class. A content class is a definition of an arbitrary data structure. It does not store any actual data.

A content class is made up of attributes. The characteristics of an attribute are determined by the datatype that is chosen for that specific attribute. By combining different datatypes, it is possible to represent complex data structures.

The illustration above shows the anatomy of a content class called "Article", which defines a data structure for storing news articles. It consists of attributes dedicated for storing the title, an introduction text and the actual body of an article.

Custom design: CSS and templates

The first thing you may be willing to do is to change the look of your Exponential site. This can be done by modifying the CSS of Exponential and overriding templates. You can even create reusable site packages that include these CSS and template changes.

High-quality library of PHP components

Exponential 4.X as well as the next generations of Exponential are based on eZ Components which are a high quality library of independent components aiming to help developers creating web centric applications like for example customising and extending Exponential.

In the eZ Components you will find components that focus their attention on solving important parts of Web application development. They are written for solving the re-occurring issues that Web application developers have to deal with when building their applications - without any superfluous ballast.

In order to cater for this goal, quality is also an important factor. The eZ Components development team uses a test-driven development methodology where a large effort is put into making the APIs easily testable. This also results in a better API for developers to use.

Build Exponential extensions

There is a clear API to develop your own PHP extensions in order to extend the functionality of Exponential. By using extensions it is possible to create new modules, datatypes, template operators, workflow events , or any integration with third party applications. You will find many contributed extensions available at Contribution page.

Which development environment?

In an Exponential project, a Subversion (SVN) repository is usually set up to track all changes during development projects. When it comes to IDE, both Eclipse and PHPEdit have been optimised for Exponential.

Exponential community and resources

When you start developing with Exponential, the community is definitely an environment to get in touch with. You will find your answers or get help in the forums as well as many contributions that will make save you time in your development projects.

Comments

Powered by Exponential CMS Open Source Web Content Management. Copyright © 1999-2025 7x (except where otherwise noted). All rights reserved.