Elgg is intentionally modular by nature. The core is meant to be trim and efficient, and plugins are used to add new features, extend existing features, or change the theme. Because of this, plugins can often be complex and have many requirements. One of the goals in Elgg 1.8 is to improve the plugin experience for both developers and end-users.
For end-users, the plugin administration has been split into simple and advanced areas. Especially for those new to Elgg, this makes the experience of enabling main features of the site much easier. In the simple view, plugins can be activated or deactivated en masse and are listed alphabetically instead of by load order. The display of each plugin is streamlined, with only essential information showing.
The traditional plugin administration has been moved to the advanced page and also includes enhancements. Advanced users will know that some plugins need to be in a specific order and are familiar the annoyance of clicking “up” tens of times. No more! In Elgg 1.8, we’ve added the long requested feature of drag and drop plugin reordering.
Advanced plugins like Tidy Pics and Facebook Connect sometimes require additional PHP extensions or other Elgg plugins to work. New users are often frustrated with discovering the specific requirements for plugins, and this frustration can spread to plugin authors if they receive bug reports that their plugin is broken when it’s actually just misconfigured. Elgg 1.8 aims to fix this by introducing a plugins dependency system.
By adding certain elements to the manifest file, plugin authors can specify that their plugin:
System that don't meet the requirements will not be able to activate the plugin until the system is compatible. The dependency information is shown on the advanced page and also includes an assessment of the current system settings so end-users know what values need to change and can use the detected values as feedback when requesting support.
For developers, plugins now have stricter requirements on their file structure. In contrast to previous versions of Elgg, Elgg 1.8 requires that plugins have a start.php file, a manifest.xml file, and that specific values are set in the manifest file. The manifest file also received an update: it now uses standard semantic XML. Tightening up the requirements for plugins means plugins will be written better.
Plugins written for 1.7 will be compatible with the plugin system in 1.7, though they will likely require changes for the CSS and views changes in 1.8. Developers interested in writing or upgrading plugins to for Elgg 1.8 should read the recently updated documentation about plugins, manifests, and the dependency system.
As development on 1.8 enters a stabilization phase, be sure to look for more posts about upcoming features!
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by RaĆ¼l Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.
Great and welcome for sure. With over 75 plugins active, we know it can be a hassle.
One of the features we use most to develop and test, is an extension we wrote to Evan's plugin manager (and send back to him): For development and testing, we needed an easy way to 1) copy and paste between our test/dev/production sites a list with the exact plugins to activate, and 2) a one click toggle between our own plugin list and the set of core plugins ( confirm core bugs).
Well, as this features were just a few lines to code and used often... hope this will make it to 1.8...:))
@Tom - that would be a possible feature for the development tools rather than built into core.
Waiting eagerly for 1.8 :) Thank you for the update.
@Cash -- it would be well worth the effort to port that feature to 1.8. It helps us get off the ground with a new installation really fast!
@Cash: also non-developers benefit a lot: these people install a 3rd party plugin, something breaks and then they post the problem to the community. First Q to them will be: "if you hit the 'core plugin only' button, do you still have these issues?"...
keep up teh great work!
Cash and I have talked about creating a development tools bundled plugin. I think Tom has some good ideas but is talking about a few different things:
Nice to see 1.8 updates. What really impressed me to have "dependency" tree. Thanks brett. Keep up the good work.
Thanks
@ Brett thanks for the updates. Waiting eagerly to hear more.
@ Brett: import / export is big word for just cut and paste a line of comma separated plugin names ;) - ah, just handy, we can survive without ))
when it to release the 1.8
http://trac.elgg.org/roadmap
another really helpful feature would be to add a reference in plugin files that points back to the elgg community or repo page for the plugin that can be used by elgg to monitor upgrades and new releases for plugins. finding updates is a bit random at present, i have pushing 100 plugins installed and maintaining the updates has become more of a case of 'if a plugin breaks go and see if there is an update' rather than 'great, all plugins are up to date'. hehe.
Looking very good Brett, I am looking forward to working with this version!
@Tom: there is already a plugin in community which allows to import and export plugin settings, it's called "pluginsettings".
I am so excited the new Elgg "thats the beauty of rose"