Elgg 3.0.1
9 April 2019
Elgg version 3.0.1 is now available (major release).
What's New in Elgg 3.0.1
Major changes
- Improved theme: The theme was rewritten with modern browsers in mind. The new theme is fully responsive thanks to the flex-driven approach we have taken. We have formalized some of the theming conventions to make collaboration between plugins easier.
- Improved caching: There are a lot of different caching strategies, now Elgg unifies some of the commonly used options (Memcached, Redis, etc) into one handler. This means that if the settings for the strategy are enabled it's used throughout the system.
- Improved search: With all the database schema changes and the QueryBuilder the search is now able to provide better results and it's easier to replace the MySQL search with another search engine (SOLR, Elasticsearch, etc)
- CLI tool for administrative actions: Certain actions can now be executed by using a command line tool provided by Elgg. This is mainly useful for administrative tasks, like installing an Elgg website, executing the Cron, etc.
For developers
- In order to know what has changed, so you know what to update in your plugins please check out the documentation on learn.elgg.org.
- Removed a lot of database normalization: Several tables in the database have been dropped (object, group, user and site subtables) and others have been merged (metadata and metastrings). This will help reduce the SQL complexity overload.
- Introduced a QueryBuilder to help with database layer abstraction: With unifying a lot of the database actions in a QueryBuilder which takes over the creation of SQL queries it should be easier to (eventually) replace the database backend with a database server of your choice and no longer rely on only MySQL
- Easier routing: Changes to the routing system (which translate an URL into a resource which generates the page) it's now easier to extend and/or overrule routes with more features.
- public Dependency Injection service: This is mainly for developers, but it is now easier to get access to the DI services of Elgg and inject your own services for other developers to use. The advantage of DI services is that it's easier to test and to replace with an improved version.