Cynus (pronounced SIN - iss)
Cynus is a Content Management System aimed specifically at academic establishments of all
types and sizes. It aids in the managing and updating of a school's webpage by using modules
that enable users to do a wide variety of things to it. Easy to extend, any person who knows
PHP can create their own module for Cynus, and even submit it to the Cynus team for
inclusion in the official modules list.
You cannot truly know a program without knowing about its birth:
In the summer of 2000,
Jason was employed by the Jackson City School District to give the
JCS Webpage a facelift. The audience for the webpage
was a sparse one, so nothing elegant was needed. The site was mainly used for historical
purposes, archiving old events and photographs; not meant to be informative, but moreso
entertaining. During the following school-year, he updated the page with different items the
teachers and staff would give him, and that was the extent of updates.
The following summer, the webpage got a new address and a new design. Brett was
also employed by JCS this year, so he and Jason conjured up new ideas for the webpage.
Using advice from the higher-ups in the district, the new layout was made and has stayed
essentially the same since then. At least, what people see is still the same. Everyone
involved with the webpage decided it would be a good idea to move to a more informational
purpose instead of merely old pictures and football scores. Three things were made to help
with this: a calendar, an image gallery, and an email database. All ofthese were separate
projects, so there was little coordination between them. The email program was fairly simple
to write and it had limited, but Good Enough, functionality. The calendar and the image gallery,
on the other hand, were beastly things. And not in the good way. Because it was our first
major project with PHP, they was inherently insecure and not thought out well. A secretary was
shown how to use the calendar, and she then became the Keeper of the Calendar. The image
galleries were made by Jason or Brett, so much of it was written for a developer to see, not
any ol' person. Other details about them are trivial and amount to them being buggy and
difficult to use for Joe Computer User. Such was the start of Cynus.
Knowing good and well that the two programs lacked integration, the next summer they were
merged into the first version of the Jackson City School Webpage Administration program.
Also, because the three were not meant to be combined in the first place, there was the start
of a mess of template files and configuration variables that would soon plague the entire thing.
Instead of relying on a few people (two students, a secretary, and the network admin) to
keep the webpage updated, a new class was made at the highschool for this explicit purpose.
Since new computer users are very likely to do Bad Things to a website using FTP, a file
manager was added to the program that would limit what they could do. This too was a
learning experience, therefor it is an Ugly Ugly thing to look at in the code. In order to make
the image galleries easier to create and maintain, a derivative of JSCID (Jackson City Schools
Image Display) was merged into it. Again, the end result was confusing for people other
than those who wrote it. Start the nasty hacking.
By the summer of 2003, a few more ideas were thought of and then added to the program so
the people in the class could do New and Exciting things to the webpage. A news section,
service request system, and an inventory manager were piled into a program that was not
designed with the thought of extending it in mind. After getting these things added, everyone
could tell that this was not the best way to do things. Enter Cynus. Brett and Jason started
work on Cynus in August with maintainabilty and modularity in mind, that way most of the
previous mistakes and oversights could be avoided.