Plugins provide ways of adding functionality to Elgg. This can be as little as a WYSIWYG text editor, or as much as a full feature like a blog or a photo gallery.
Every Elgg plugin sits in a subdirectory of the /mod folder and contains a PHP script called start.php. The name of your subdirectory is your plugin name, so choose carefully! It should be unique but readable, so that site administrators don't accidentally overwrite it with another plugin, but they can also understand at a glance what your plugin does.
Your plugin may have a set of views (see the views reference for plugin-specific information). These may overwrite or extend existing system views.
If you're outputting any system (as opposed to user-entered) text to the screen, we strongly recommend internationalizing using the built-in internationalization functions. See the plugin reference here.
The start.php file is the control hub of any plugin.
We recommend that your create a yourplugin_init function, responsible for setting up page handling, submenu items and so on during Elgg's init event. (Read more about events here.) You can do this by declaring:
register_elgg_event_handler('init','system','yourplugin_init');
Within this you can add calls to define the overall behaviour of your plugin.
plugins, plugin, Plugin development, extension development, addon development, plugins development
Last updated 468 days ago by Dave
hmmm ;-)
If PlugIn P will extend or override PlugIn A
THEN
PlugIn P MUST be placed below A
in order to work properly
If PlugIns are not related in this manner.. then the order is inconsequential..
Also..
If you install two different PlugIns that intend to extend / override the same Elgg functionality...
you've got a small problem ;-(
And..
we've seen many, many PlugIn conflicts shredding a site ;-(
( One of these days.. I will code my Plugin Conflict Analyzer - lot of logic to code to do this ;-)
DhrupDeScoop 216 days ago
Exactly, this would be maybe something for future elgg releases as part of the release package. Not all end users are developers or have the means to track such errors. An infant must crawl before it can walk. I have no doubt that a Conflict Analyzer will be a future must. We can't all be PlugIn P.
gone 216 days ago
How to integrate wordpress users with elgg, so that my existing users on my wordpress site can login with my blog's url.
Please Help
navi 47 days ago
Hi,
My OOP are not strong so bear with me please.
From inside a custom widget I'm developing, how can I get information about who belongs to my group? Whats the basic syntax I need to use to get information about my environment?
Also, is there a way to add a data field to a group member's data block.
Thanks
MontanaMike 9 days ago

gone
Profile
Edit profile icon
Friends
Friends of
Pages
Plugins
Plugin development is very strong here on elgg.org. Many talented developers put great detail into thier individual plugins, this is great for elgg. However, I wished to call attention to this page for a special reason.
Many developers state in their documentation "plugin must be located at the bottom" of the plugin list. This can not be, not every plugin can reserve the bottom as it's special place in the plugin structure. I would like to urge every developer to test at the very least; top, middle, and bottom. This will help ensure a more seamless plugin intergration into individual elgg site structures.
Thank you
Jessica
gone 216 days ago