This is an overview of the ImpressCMS 1.3 roadmap. Technical details are available in Trac.
ImpressCMS 1.3 will focus on performance and speed through optimization and standardization. Only 1 new feature will be added in this release - a revised admin control panel.
Goals - Optimization and Standardization
- reduce the amount of memory PHP needs to run ImpressCMS
- decrease the page load times
- reduce the size of the download packages
- full consistency in our code, class, object, and functions names
- introduce true standardize code practice
- remove any unused code
- remove any unnecessary features
- address any @TODO tags in comments
- address anything marked as @deprecated
- new Admin Control Panel (ACP) theme (the only new feature planned for this release)
- reduce number of included/required files
What we need to address
There are unlimited amount of things we can do to meet those goals. However, we want shorter release cycles. So we will concentrate on what really matters, and from that, only address what will improve life of 80% of users/developers/designers.
The entire list of open items still scheduled for this release is available in our trac repository on Sourceforge. The list of completed items is available here, also on Trac.
Convention over Configuration
PHP 5.3 Support
From 1.3 on, ImpressCMS will be fully compatible with PHP 5.3.
Simple code change to improve performance
As demonstrated here: http://community.impresscms.org/modules/imblogging/post.php?post_id=133 (Sourceforge trac ticket #3)
Table schema created by IPF (ImpressCMS Persistable Object Framework)
Currently IPF is creating tables automatically, but in a very basic way. All "number" fields are INT(11), all short text are VARCHAR(255), all long text are TEXT. We need to improve this so each field type is optimized.
We also need to allow the creation of indexes and we may need to give the opportunity to use a different storage engine for the table.
Zend Framework Integration
We will start integrating Zend Framework in a few places where it matters. We need to check the feature of ZF and decide what would be the 3 best feature to use in ImpressCMS, without having to recode everything. So basically, what would be the 3 features of ZF which we could integrate with the less emount of effort possible, and with the greatest impact on our code, performance, security, usability, etc...
functions.php into classes
Encapsulate most of the functions in functions.php and create classes. Again, this allows only loading functions into memory as they are needed, reducing the amount of memory needed and improving performance.
Use of spl_autoload_register
We will start this in 1.3 and will continue in 1.4. This allows us to only load class files as the objects are accessed, reducing memory used and increasing speed.
Being Considered for Future Releases
These are managed in our trac repository.