I am happy to tell that the aim announced in my previous post — to radically restructure the website's backend — was achieved. The number of templates, other backend constructs and the size of the database were significantly reduced; the website is now much more easily scalable and maintainable. Perhaps the most important aspect of all this is that starting of a new project became as easy as adding a new category and filling one simple form and that Classics Unlocked website can now accommodate as many projects as there would be.
Achieving this scalability and maintainability was quite complicated undertaking. It's enough to say that in order to get needed functionality 25 add-ons to ExpressionEngine CMS were used; 11 of them I was forced to develop by myself since nothing of the kind existed.
After restructuring of its backend the Classics Unlocked website has three distinct parts or areas:
2) ebook application; here belong all those pages whose URL addresses begin with www.classicsunlocked.net/index.php/ebook/, e.g this page or that one, Ebooks and Projects pages serving as the gateways;
3) platform for compiling Classics Unlocked ebooks; here belong all those pages whose URL addresses begin with www.classicsunlocked.net/index.php/platform/, e.g this page or that one, Platform page serving as the gateway.
These three parts or areas seems to be quite reasonable structure for Classics Unlocked website: website proper being used for representing ideas, aims, opinions ans news; the platform being used to aid in compiling ebooks in Classics Unlocked format; ebook application being used to display ongoing and finished projects.
Nice unintended result of the resorganizing of the backend was that for the first time since starting Classics Unlocked I got a clear vision how complete and fully functional platform and ebook application should look like. With that vision in mind I am very excited and impatient to get hands on the next task.
The next things to be done are:
1) smoothing many rough edges left after restructuring of the backend;
2) adding missing parts to both the platform and ebook application.