apnscp 1.0 (March 13th, 2003)
This is the original apnscp 1.0 created back in March of 2003. This is our origin... this is our nexus... this is a really awful design.
Note the design has no consistency with the current design of apnscp or Apis Networks... in fact, it was outright heinous. At the time it let us
branch out and try something new: a proprietary control panel.
Many of the customizations you see in the current apnscp release originated here. In fact,
apnscp began with the "Spam Filters" link in the control panel; long story short, Ensim's internal "Spam Filters" link was broken,
a custom one was written in PHP, and the first page was created.
apnscp 1.0 RC2 (circa April 2003)
Despite the inability to name releases properly, "1.0 RC2" did in fact come after "1.0". We needed a new design as our old one was quickly getting phased out.
Taking on the same style as the current Apis Networks site and after many sleepless weeks, the skin that you see everyday when logging into apnscp was born.
were the gaudy blue/black grids, icons on every control panel action, and font throwback from the 80s. In was the slightly less gaudy icons atop every section of
apnscp (see "Site Information").
Pie charts replaced the bar graphs as well, giving a more elegant overview of your site's consumption.
apnscp 1.5 Generic (circa July 2003)
Early prototypes of 1.5 hinted at following the same frame structure that has been berated over the years.
A bluish-purple hue was applied to all icons for some unknown reason. Despite going with the frame idea,
links were cleaned up a bit on the left and icons were attached for easier viewing. Ideas on a new backend were
being drafted at around this time as well. PHP4 was still the preferred method.
apnscp 1.5 Undated (???? 2004)
More important information was applied to the "Site Information" module of the dashboard and the generic theme began to take on a life of its own.
New provisions were added to the list of shortcuts, "Getting Started" was first introduced as a way of introducing new users to the system, and a calendar
module was included as well.
The backend was written and running during this time. Instead of using a normal IPv4 TCP socket like in Tcl, a much quicker UNIX socket was used to transfer data
between the frontend and backend. It knew just how to perform simple tasks, like retrieving user information from the server.
Death of apnscp 1.5 (July 2004)
That shouldn't have happened...
What's apnscp written in?
This is always a fun question to be asked. apnscp started off and is still written in two distinct languages: PHP4 and Tcl.
It's an ugly marriage. The PHP4 frontend you see has filed for divorce from the Tcl backend and Tcl is unable to pay child support. Actually,
communicating between the two systems is clunky at best. Tcl was chosen for rapid development as a backend and the PHP frontend... let's just say
writing CGI scripts in Tcl or even using mod_dtcl is nightmarish. Apis Networks was at one time written entirely in Tcl. That design is no longer
apnscp esprit on the other hand takes advantage of PHP5 entirely. Gone are the heterogeneous environments; now there is a simple serialization
of the data sent between the frontend and backend. A lot of OO principles, non-existent in Tcl, have been implemented into apnscp esprit. Reflection is used
to construct modules, exception handling is used to handle errors, SOAP's a breeze to implement, specification files for each "provision" are
handled in XML. Help files are quickly and flawlessly generated for each page brought up. Proper low-level sockets are implemented in the PHP level (instead of
C level as would have had to be done in Tcl). Signal handling is actually a part of PHP, no longer do you have to custom-compile a four year old package that
uses the wrong C flags in the compile-time process and hope it works.
There's a lot less hardships in doing what you want to do, but because the door is so much more open now,
it takes a bit longer to create those visions. Overall, we're very happy with how apnscp esprit is shaping up to be and can only look forward to a
bright future ahead of it.
apnscp 1.5, the Legend
Sometimes we're asked by our older clients whatever happened to apnscp 1.5 that was under development roughly a year and a half ago.
Upon moving office locations back in July of 2004, a NdFeB magnet was packaged in a box adjacent to the primary development server. The
policy adopted back then was to solely make copies of finished versions of apnscp. As 1.5 was still in development, it resided
solely on the development server's ("mrchainsaw") RAID 1 array. NdFeB magnets pack an impressive magnetic field and have a rating of about 12,800 Gauss
or around 1,280 times as powerful as a normal refrigerator magnet holding up a shopping list. While unpacking the boxes, we found the magnet stuck to
the side of mrchainsaw. The hard drives were ruined and over a year's worth of work vanished.
A routine move turned into a catastrophic loss, but nevertheless it paved the way for apnscp esprit. The backup policy shifted to CVS snapshots every
night on two different servers within the LAN and one remote server.