|
|
|

Softcomplex CMS (SCMS) is the web application designed to simplify the static content management of the websites. The content is described in secure administrative interface as the hierarchy of folders,
documents and includable text fragments mirroring the logical and physical structure of the website.
The documents are then generated according to the described rules and saved in the file system of the website. [more details]
|
 |
Typical web site contains large number text resources that are static or can be static for example:
- static HTML documents (*.html files);
- style sheets (*.css files);
- client side scripts (*.js files);
- script URLs generating the same HTML code;
- application specific text files, text based data sources etc.
Often multiple files contain the same text fragments and when change is needed all those files must be updated at the same time. For example most of the website's HTML documents may have same basic layout, header, navigation, footer etc. Still all those documents have unique content and features, additionally often there is a need to have some documents that don't comply with common design idea of the site.
Below is the list of commonly used approaches and disadvantages associated:
| Method
| Disadvantages
|
| Create separate static file for each text document |
- Difficult to maintain similarities - if change is needed in shared element then all files have to be searched for that element and updated accordingly
- No support for dynamic data sources such as visitor's submission, database, data file etc.
|
| Use the templates filled by server side scripts |
- Difficult to maintain differences - separate script or condition in shared script has to be created for each difference.
- Server resources consumption - server side script is invoked for each request even though the content is the same. This requires additional server resources and slows down the response.
- Poor search engines rating - search engines often assign less points to the content created dynamically by the script assuming it may change after it has been indexed
|
|
|
 |
|
The dilemma over the maintaining the similarities and difference is anything but new and there is well known solution to it - inheritance. While descendant inherits some of the properties and behaviors from its parent(s) is can have some of those properties redefined and it can also have additional (personal) ones. The very same approach can be applied to the files in web site's hierarchy.
The idea of SCMS is to take the best of two worlds: have separate static file for each text document, but generate them to the server's disk based on the hierarchy of inheritable elements only when update is needed.
|
 |
- Easy to maintain similarities - since system offers inheritance similar elements are defined once and then inherited from parents automatically. For example code for navigation is defined once and it is inserted to all the documents except files where it is explicitly excluded or changed;
- Easy to maintain differences - with the inheritance in place, the differences are described locally only where they are needed without affecting other files. For example if several pages have to use different layout then webmaster defines that alternative layout (once) and assigns it only to those particular page;
- System can be used on top of the existing scripts based solution - the server side scripts will generate the dynamic content (i.e. confirmation page with results of visitor's submission) while SCMS will help manage all the rest resources that are contain static or rarely changing content (i.e. company info, products list etc). Additionally the code of the server side scripts can be managed using the SCMS;
- Effective server resources utilization and improved website performance - all static content is generated and saved to server's disk. During the request the content is pulled from the static file, no resource hungry scripts are invoked. Additionally static part of dynamic script can be optimized with this system. Example: the shopping cart has list of special offers, while content of the shopping cart is dynamic and must be generated for the visitor upon the request, the text of special offers may not be dependent on the visitor's interaction so in this case it can be pre-generated by SCMS and saved in the shopping cart template used by the dynamic script.
- Better search engines rating - with the maintenance simplified for the static documents the webmaster can afford to have more of them thus improving the rating of each resource and website as whole (for explanations see the section above).
|
- Web server: any web server supporting CGI
- Scripting Language: Perl v.5+
- Modules: CGI, HTML::Template, DBI, DBD::MySQL, URI::Escape, Time::Local, Data::Dumper
- Database: MySQL
- Permissions: database read/write, disk read/write
|
Good news: the SCMS is free (no functional or time limits) with the Softcompplex link (foot note) at the end of generated HTML files. Foot note removal licenses are available at $99 per installation.
Download the distribution package and follow the installation instructions from the product documentation to install, configure and test the SCMS on your server.
|
 |
|