This is the best place to keep up to date with developments around the Elgg project.
|
Oct 09th
by
admin |
The Elgg Community: a case studyPosted in general | 0 comments We're really pleased with the growth in the Elgg Community in the short time it's been online. It's great to see so many people discussing issues, uploading plugins and trying out the system. Perhaps best of all, an array of locale-specific groups has sprung up and are providing translations, proving that Elgg use is worldwide. A couple of people have mentioned that it looks significantly different to the core Elgg install, and that therefore it must be running on a hacked version of Elgg. This is not the case: the Elgg Community runs on a clean version of the latest codebase in our Subversion repository. So how did we do it? Once of our design decisions from the beginning has been to make Elgg as extensible as possible, without having to alter the core code. This means that when a new version of Elgg comes along, you can simply overwrite your core with the next version, without having to worry about which files you altered - all your modifications are neatly stored elsewhere, and will persist on upgrade. The result is a safer, leaner system. One important feature of the Elgg Community is the ability to upload plugins and themes. This is a plugin in itself, and was actually modified from the existing file repository you can download from elgg.org. While the original detects the type of file from a given MIME-type, we restricted the files to popular archive formats, added a couple of fields (including a mandatory license), and set the type to either be "plugin" or "theme". Extra submenu items were also added, to allow you to easily view all plugins and themes separately. The events system is a completely new build, but is also a separate plugin. The profile was forked from the original, largely to provide a different set of profile fields. In future versions of the profile plugin, this will no longer be necessary, and at this point we'll move back to using the core functionality. However, the major changes were to do with themes. The dashboard was overridden (by assigning a page handler to 'dashboard') to the same code as the front page, which in turn was replaced with a friendly view on the latest activity. This was written as a custom page, with a couple of calls to Each view in Elgg can be overridden - see the overview page for more information. Therefore, all style changes, including some changes in the underlying Javascript and in icons, are stored in a single theme plugin. We'll be releasing some new themes soon, so you can see how it's done, but the change is striking: when the plugin is disabled, Elgg looks as it does on release. Enable it, and elements throughout the site completely change. In fact, we've been conservative with this to date; you can completely change the layout of everything. This blog is another example of a themed Elgg site that overrides a clean core installation. We're really excited about Elgg's flexibility. To make it easier for newcomers to the system, we're going to be releasing a set of shorter, simple tutorials on various topics, as well as more sample plugins and themes so you can learn from examples. In the meantime, the Elgg Community is a great place to get started. |
Please note that development support requests will be deleted. If you are looking for Elgg community support, head over to http://community.elgg.org