Programmer's Guide to Understanding CMS Code Maintenance
Three procedures have been written to cover the process of maintaining the core CMS code. The core CMS code is common to all Cy Think client websites.
The first procedure tells how to introduce changes into the system by making changes for a single client and testing them in that client's environment. The second procedure prescribes how to merge the new code into the common code base. The third procedure lays out how the new code is to be published to all the clients' websites.
The reliability, consistency and maintainability of the Cy Think clients' websites depends on consistently following these steps. This procedure is for programmers because program code from the various sites must be reviewed and compared to achieve optimum results.
Programmers' procedures are included with the general system help files because all the players involved the development process, including the customer, need to be reassured that the programming that is running their website is the most reliable and up-to-date code that is possible. This is a part of what is sometimes called open development.
Most of the steps in this procedure require password-protected access. Also, many steps in the procedure require specialized knowledge of systems and programming in general and the Cy Think methodology in particular. These steps should be followed precisely. Any deviation from this procedure should be done with utmost care.
Here are a few general statements to help you better understand the CMS.
-
The core CMS code is kept in D:/CyThink/coreCMS. Only core CMS files should be kept in this folder.
-
The primary authority on what files are core files is the Files.xls spreadsheet. The Files.xls spreadsheet contains lists of CMS components such as PERL main scripts with a filetype of pl, PERL module files with a filetype of pm, and database table names.
-
The procedures are written as though you are using ExamDiff as the compare utility.
-
You need to be careful and keep the core files separate from non-core files. JshDATA.pm contains data unique to each specific customer. Even though it is present in every installation, do NOT make the mistake of adding it to the CMS core code. JshDATA.pm gets special mention because of its key role in keeping the client website operational. These are the main items in JshDATA.pm:
-
Database name
-
Database user name
-
Database password
-
A sub to standardize the formatting of database error messages
-
There are many other files that must be kept separate from the core CMS files. JshDATA.pm is only one of these. A significant group of files that vary from client to client are the system configuration files. Files with these name appear on every client site, but the contents are different.
-
bodypart.txt
-
menudata.txt
-
picrings.txt
-
robots.txt
-
sysparms.txt
-
Another class of files that must be kept separate are the build-able files such as index.htm, search.htm, etc
-
Another class of files that must be kept separate are the editable files such as index.txt, search.txt, etc.
-
Another class of files that must be kept separate are the keyword or mta files.
|