and the OS platform is Linux. Other components and dependencies include
also appears to rely on NFS, but I’m not clear on exactly how or why yet.
Once I knew the system was in PHP, I tried to assess how they managed some potential
pitfalls. One of the negative tags on PHP is that it is easier to write bad code than it is to
write good code. My initial reaction is positive, but with the caveat that some of this
discipline comes from force of will, and in particular, the will of Harvard Young. I’ll
come back to this point.
In terms of code size, Harvard estimated that the server platform represent about 120,000
lines of PHP code.
The system uses a modular approach with a “core” and “extensions”. It will require
significant more time to get a good understanding of exactly how this works and what is
in the “core” and what isn’t. Harvard could not offer any documentation on this and
wasn’t able to block diagram it on the whiteboard for me. However, they do have a wiki
(on-line) that I will have to spend time with to see if I can reverse-engineer to get the
answer I seek.
In practical terms, the Pringo system takes a much different approach to configuration
and administration compared to the Passenger system. The Pringo system is lower-level.
It’s more flexible but far more