This weekend I took some time to have a first closer look to the beta release of OXID eShop 4.0 software which still is available only for registered beta users and some OXID Partners. Although there's no official release date yet and I'm not allowed to say too much, I'd like to tell a few impressions I got and which hopefully are not revealing top secrets. 😉
It's known quite some time and e. g. told here - or here, that OXID eSales AG has spent nearly two years of refactoring the code of their software. Together with that some new structures and workflows have been introduced for improved quality management.
The result of all that - in my opinion - is a great step forward (and as the bush drums tell, there might come up some even bigger steps soon ...). The whole code has been extremely cleaned up, monster classes and methods have been cut down to small and handy pieces - obviously a result of the consequent use of unit testing.
There are some new features - which I did not sort out totally yet. Just to mention some:
- use of session cookies instead of session ids in urls
- very nice SEO URL concept
- free mapable SEO URLs (e. g. for content pages and so on)
- SEO optimized templates
- XHTML-valid templates (finally ...)
- div-based layout without needless tables
- some web 2.0 stuff (tag clouds, social bookmarking ...)
- redesign of admin interface
But from a developers point of view the new features are not that important in this new version. The most important thing is the redesigned source code. Already a first look at the class tree shows you which enormous work has been done here.
Much of the functionality has been put into core classes now, there's a strict concept of getters and setters now, corresponding to well structured public and protected properties and methods, even some interfaces have been implemented. As far as I could see you finally have consequent namings of classes, functions and variables now. Some very helpful static classes and methods do make live easier and ... and ... and ...
Developers who worked with the OXID versions before will need some time to get used to the new source structure - but this time will be spent very well and I think at the end of the day they will love to work with the new version. And as you once understand the logic behind all the changes, your work will become much easier.
After the official release (and if I can take some time for that) I will explain some details of the source code here.
For this moment I am very much looking forward to the first release and from what I saw so far this will be much more stable then the last bigger release. In our company we have already started some new projects using the actual beta release cause I did not find any critical bugs so far.
More to come after the official release ...