All the sites developed at eNTiDi are dynamic web sites and are implemented by using a CMS, typically SilverStripe. "Dynamic" means the user will be able to add or remove pages, modify their content, insert images, upload files on its own web space to allow the downloading of that content, such as brochures or technical manuals. The interaction between the user and the web site is handled by the CMS and its interface is shared across all the web sites developed here. One of the main factor the eNTiDi has chosen SilverStripe over other open source CMSs is its superior user interface: it is clean and usable by a regular user, leaving technical details and cruft outside of the interface, typically in the PHP code.
The features of every web site are dependent on the specific requirements: some web site requires authentication, other ones require image galleries, others need tight integration with pre-existing web technologies. In any case the result is hosted on our servers, using the infrastructure we know and we use on a daily basis. The code developed will be released to the client under an open source license.
Content is king
We tend to highlight the content instead of the presentation. Our web sites reflect our vision in the hope the words content is king are more than words: they are perspectives (V docet). In other terms we think internet is a way to transmit information, not an opportunity to impress people. We discuss on what to publishmore than on the color to use for the text.
Initially a custom framework has been developed and used. TiP was working well, but its front-end was less than optimal and there was no community around it, meaning that every new feature required to manually code its implementation. After some years it becomes obvious there was no way to improve this situation, so TiP has been formally abandoned.
The experience acquired while developing a framework from scratch have been used to choose the correct framework in a jungle of PHP code. These are the opinions used:
- do not take performances into consideration: PHP sucks anyway on the speed side;
- every framework is perfect for its loyal userbase;
- try to avoid questionable opinions such as PHP is a template engine (it is not, by the way);
- programming patterns are implementation details, that is using MVC or OOP are not advantages;
- a CMS is a perfect test case for a web framework.
These considerations were specific enough to have a clear winner: SilverStripe. Far from being perfect (it is based on PHP after all) it is anyway the less bad, and by far. Above all, its correct design (it is strongly page based) resulted in an usable CMS front-end.
In the years, a series of open source modules and themes has been developed. They can considerable speed up the development of a SilverStripe based web site: check them out on their dedicated home page.