Changelog RVCMS / V 001.110

Changelog RVCMS / V 001.110

RenovatioCMS is always under development. The overview below gives some insight in the changes and enhancements that have been included in Version 001.110:

JavaScript & DOM structure: complete overhaul

The client sided scripts (mostly JavaScript) have been completely rewritten. Just like most JavaScript libraries (jQuery for instance), all RenovatioCMS system variables, functions, popup content, references, properties and collections are properly arranged in a single JavaScript object: “$RV”. Besides this, every extension stores its data in its own object (“$ED” in case of the RVCodeEditor).

This prevents conflicts that would otherwise occur when several extensions have to work together, or when users start writing their own JS code. Also, it provides a clear guidelineduring development. For example; when a new function is needed to improve the editor extension (lets call it “upDate”) it’s proper location in the DOM tree is clear: “$ED.FN.upDate()”. Also, if you want to have an overview of all active elements that have an id, simply use FireBug to open the object: $RV.ID.

JavaScript optimisations

During the complete overhaul mentioned above, a lot of JavaScript code had to be rewritten, allowing for a perfect opportunity to enhance several subsystems. Most prominently, the RVCodeEditor has been further optimised. The system uses techniques that mimic multi-threading, allowing the user to continue typing while at the same time, the system (re)calculates its code highlighting. When using FireFox (or Google Chrome), the editor still works at over 10,000 lines of code. In kilobytes, this is about 1.5 times the size of the RVCMS installer package itself.

When taking into account the >100 different HTML entities, the >100 CSS properties, the >900 JavaScript properties and the 5731 PHP functions that the syntax highlighting filter is able to recognize, this is a pretty impressive performance for a web based code editing program. (Writing HTML files containing over 10,000 lines for your visitors to read would not be very practical of course, but it shows what the system can take.)

Furthermore, the popup system has been redesigned (most popups now listen to keyboard short-cuts: “Enter” for Ok/Continue/Apply and “Escape” for Cancel), menu management has been improved, document management has been improved and system management has been improved (more robust installation procedure).

Removal of Nebula skin & Upload extension

The experimental Nebula skin has been removed from the installer. In the future, our focus will go to the development of simplerlighter skins with shorter load times. Additionally, the upload extension is removed. This extension will be partly integrated in a new extension that is still under development (FileAccess). This new extension will focus on giving your browser access to your local files (using drag & drop and the HTML5 file API, just like Gmail). Uploading files becomes unnecessary once the browser has local access to your files (AJAX can then be used to send the file’s contents).

Other differences

Other small optimisations and alterations that have no significant influence on the user experience are not shown in the overview above. You can reveal these differences yourself, by downloading different RenovatioCMS versions and comparing them using WinMerge.