Users have given us a lot of feedback about themeing ocPortal - mainly that it is too hard. Those with experience themeing forum systems know that those are also hard to theme, but we can't just ignore this. Later on we'll be announcing something very significant to make the kind of themeing most people want to do uncomparably easy, but today I'll explain how we have improved the current method of themeing.
I'd like to be able to say that we could improve things so that you could just fire up a visual HTML editor, and drag stuff around, and click buttons, and have everything editable in an intuitive WYSIWYG fashion - but this is just never going to be possible. The insurmountable problems are numerous, but the biggest one is that templates in ocPortal have to get re-used in different places - so a WYSIWYG editor might make one screen look great, but the changes made could totally ruin the look of another screen, or even worse, totally destroy it's ability to function at all. If we stopped reusing templates, then the amount that would need to be edited to make a new theme would be far too much. Adding to this, templates need to contain a lot of non-visual logic that defines how they behave (for example, on the authors page it won't put a box around the author description if the author does not have a description) - this could never be represented in a WYSWYG fashion in a user-friendly way. Adding yet further to this, there are tonnes of issues relating to quality of things such as accessibility and modularity that a WYSIWYG editor could never adequately handle.
Some other web page systems do not have these problems, but they do not have the quality, flexibility, scope, and dynamicness either. It's an either/or choice really, and market trends are definitely moving towards the point where the dynamicness is not something that could be neglected.
All this said, what we have done is to take trouble away from the themer to make their life significantly easier whilst not radically changing how the system operates. And, we have been able to take away a lot of trouble.
The 'Template Tree' feature has now been significantly improved: it now displays the full tree structure, regardless of whether cacheing is on or not. Tickboxes are presented next to each entry in the tree, so that that template may be opened up in the template editor (which now supports simultaneous editing of multiple templates and CSS files).
Inside the Template Editor, it is now possible to perform actions relating to the 'GUID's that we introduced in ocPortal 2.6.
GUIDs are unique codes assigned to every usage of a template. For example, the 'FORM_PAGE' template is used by dozens of different areas of ocPortal, but each one has it's own GUID that the template is told. The templates can then be customised in a fashion that allows them to show different things for different usages of them. For example, you could use a GUID for the 'Choose a download to edit' screen's usage of the 'FORM_PAGE' template to place a message that only the 'Choose a download to edit' screen displays.
What is new is as that if you enter the template editing screen via the Template Tree, the template editing screen will be aware what GUID was used for the context you are editing. So to refer to our previous example, if you had been viewing the Template Tree for the 'Choose a download to edit' screen, then the template editor would actually know this, and provide a link to view the exact line of PHP code that called up the template, as well as providing special buttons to help you work with the specific GUID that the 'Choose a download to edit' screen used.
It is now also possible to preview changes to all the templates currently open for editing.