How is the code divided among the different directories?

Contents

engine directory

If you are new to the project and trying to understand how Elgg works, it is probably best to start with the Elgg Engine and specifically the Elgg data model. The engine code is found in /engine/lib. From a MVC perspective, the engine is the controller. The core classes are in that directory along with the database access code, session handling, and event dispatching.

views directory

Again from a MVC perspective, the view code is in the /views directory. Each directory under it contains a view type. Default is what you'll likely be interested in if you are trying to change the display of web pages for your users. Failsafe is the view type used during the installation. RSS is the view type for RSS feeds strangely enough. The documentation on Views has more information on this, but basically each view type is a different way of looking at the same data.

actions directory

The actions directory contains the core actions in the system. Actions are run when a user posts a form (such as submitting a comment). The action code verifies the data and makes the appropriate modifications to the database.


Overview

_css wrapper for css and javascript
_graphics images for core and the default theme
account primary account pages (register and reset password)
actions handlers for form or button actions
admin primary administration pages
dashboard dashboard page
engine core engine and handler dispatchers
entities view an entity
friends primary friend pages
javascript unused
languages internationalisation files
mod plugin directory
search search pages
services Elgg services (like RESTful API)
settings primary settings pages
simplecache primary simplecache page
vendors external libraries like jquery
views the views of the content as described above

Search docs