Journal Micah's Journal: Slashdot-style CMS ... as an Apache module in C 4
Here's a brainfart idea I've had: a project to create an Apache module directly in C for a Slashdot-style CMS system. Rationale:
- Slashcode consumes a hideous amount of memory and is rather complex.
- PHP solutions are dog slow due to having to parse boatloads of PHP objects for every HTTP request, and these objects cannot be persistant.
Also, I want to design it to work solely with PostgreSQL. This project would be designed for users who have control of their system software, not your typical PHP/MySQL hosting plan. Standardizing on PostgreSQL would allow for simpler code, use of transactions, use of triggers and stored procedures to make the C code less complex, and undoubtably other advantages.
Another interesting goal is that it would be designed to return XML pages parsed by client side XSLT. This would make templates in the server unnecessary as each user would create his own XSLT to process standard XML data. No, it won't work on every browser right now, but let's design for the future. This design would also allow for minimal data transfer for each request. Since the XSLT would be cached, the header and footer info would only need to be loaded once, not to mention all the HTML formatting. Only the bare data in XML format would be transferred each request.
As much as possible, it should be made such that it could be easily extended by other modules written in C.
This idea is currently just in the "brainfart" stage, but I'm throwing it out for comment.
More comments: (Score:2)
Perhaps it should require Apache to use a threaded MPM. This sh
Re:More comments: (Score:2)
Talking about DBMS, by default you Zope persists everything in ZODB (Zope Object-oriented DBms), but you can easily mount (with DBTab) FS, SQL, IMAP and other external persistent storage.
By the way, RDF/RSS syndication is already provided in Zope/Plone.
Re:More comments: (Score:2)
Nevertheless I should probably take a closer look at Plone. It may solve most of the gripes I have about current CMSes.