A Content Management System (CMS) is a set of scripts and programs residing on a website that is used to prepare, organize, manage, and present the content of that website. It combines the functionality of a word processor, file manager, and often a database. A Content Management System Tookit (CMST) is a set of scripts, programs, and protocols that is used to construct a content management system. The CMST driving the CMS of this website is of my own design, and will be called JusText. It is written in the PHP language, version 5, and requires the Apache 2.0 Web Server to function. The CMS being implemented by it maintains all the information in individual files on the webserver's file system, so it is technically a flat-file system although a different implementation would use a formal database system like MySql. My development system is XAMPP running under Windows. The browser based editor being used to prepare the essays is CKEditor.
The evolution of JusText is an example of how the Holy Spirit can interact with the believer to lead them unto all truth, as well as a demonstration that the word "all" really does mean all truth, and is not restricted to spiritual truth. This site was initially released using version 1 of the CMS, and was an attempt to explore my take on the claim of the XOOPS CMS of being "object oriented". While I liked the way that I implemented version one, there were aspects of it that did not seem to fully express what I felt, but could not articulate, how an "object oriented" CMS would be implemented.
I do not recall the date, but it was definitely after September of 2008 that my frustrations with the inability to implement a vision that I could not picture boiled over while working on the JusText CMS code base to the point that I thought "Why the heck not?" and silently asked the Holy Spirit Symbiote within me to suggest a better way.
Almost immediately I suddenly "saw", in my mind's eye, the layout of version 1 of this CMS, boxed and color coded by function, with the function call structure laid out as labelled lines between the boxes. This was not new to me, for the picture being presented was in the normal mental notation I use when I think about the structure and design of every computer program.
What WAS new was what happened next: boxes began to split and selectively merge or stay separate. I quickly recognized this as being a re-engineering of the code base by functionality and implemented via a redistribution of source code files in different directories. The boxes flew around and settled in a different order, representative of a different call order. New files appeared in the boxes, with descriptive names, implying that the contents had a unique meaning. What was significant were lines appearing from those new files and pointing to directories rather than to functions within files within those directories. Last to come was the Spirit pointing out how the function of the Controller in the Model-View-Controller (MVC) coding paradigm was imperfectly implemented in version 1 of the CMST, along with a suggestion of how it ought to be implemented.
All of the above took about 30 seconds. I immediately went to Google and typed in some unique keywords, and the pages that came up DID suggest that the "official" role of Controllers was "consistent" with the one suggested in the "vision". It wasn't an exact match, mainly because I never could find a good definition of the MVC coding paradigm that made sense and was as easy to code as advertised. But given that one of the key insights of this website was that people have had the wrong idea of the "human heart" for centuries, it wasn't much of a mental leap for me to flush away the feeling that I was violating the letter of the definition of "controller" if I had a different definition that made sense, was codable, and made for a better CMST.
It may have taken 30 seconds to see what had to be done, but it took months to turn that vision into operable code. What was most encouraging was that I kept running into problems which, after some thought and false starts, became elegantly and easily resolved when I went back and thought through the problem in light of the basic design concepts of the CMST that the "vision" implied. Others were solved after I gave up and "ran" to the Spirit for help, which was always given in that gracious way that eventually made me fall madly in love with Him that certainly counts as a unique twist on the concept of a "workplace romance". As of February of 2009, the presentation portion and part of the editing function have progressed enough to put version 2 into production, and I look forward to expanding existing functionality to the point of releasing it as Open Source Software.
I point the above out to state that, yes, we DO happen to follow here the time-honored software engineering practice of "eating one's own dog food," not only in the CMS that we use to drive this site, but even in the way it gets designed and written. This experience makes me more certain that Christians, in cooperation with the Holy Spirit working the capability I call Illumination, will originate and drive the next five scientific, technological, and artistic revolutions.
Leave Feedback for This Page