PageSite
PageSite is a content management system I began developing in 2002. It's become more than just a content management system though, it's also a "framework" (in the lose sense) for developers to build more powerful websites.
Conceptually PageSite is different from most content management systems, it relies on nested structures and extensibility through modules which add additional functionality to specific pages within a website. PageSite grew out of a desire to drive a website from a database, maintain standardized templating and the auto-generation of links to other pages in a website. Thus, the most difficult tasks of building a website would be automatically handled by PageSite and the end-user could focus on their content.
PageSite is not a framework in the traditional sense of the word. Most frameworks are designed for building web applications and not websites. What's the difference you ask? Websites are content driven, that's their primary focus. The addition of functionality to a content-driven page makes it smaller than an application and yet still requires additional programming. One of the best examples is the contact page. Most websites have contact pages, and many use a form to conceal e-mail addresses. This page is like a mini-application, but you wouldn't use a massive MVC framework to add a simple contact page to your website. In PageSite a contact page would be represented by a module, so would a photo gallery, comments on a page or even tags on a page. Any page within PageSite can inherit more than one module in addition to it's primary content.
PageSite's modules are mostly an open-campus to any developer wanting to expand the functionality of a page. Each module is an object which extends the PageSite_Module class. This class provides some core functionality but does not attempt to over engineer the concept. Ultimately PageSite's modular system is simplistic, allowing developers to do what they do best - develop.
Two of the best examples of PageSite can be found here, my webpage, which is powered by PageSite, and Higher Things which also runs on PageSite.
If you're interested in seeing a demo of PageSite in action, please contact me.
PageSite has some neat features I'm particularly proud of:
- PHAR deployment, the entire application can be installed with one file.
- Self-installing, the application detects if it has been setup and if it is not it will set itself up without needing anything from the end-user.
- Auto-updating, the application contacts a release server and will fetch and install the latest update of the software (when installed as a single PHAR).
- Javascript & CSS management, including compression and combination to reduce the number of server requests.
- Cache management, by way of APC or the database - available to all modules.
- Support for unpublished content called drafts.
- Autosave your work.
- Versioned page content, so you always have a history of your content.
- AJAX driven interface, simplistic and yet highly powerful.
- Google Gears Support, offerring an offline mode for running the app and editing content without a connection and then syncing up with PageSite when you reconnect. Support for HTML5 coming soon!

PageSite has long been my playground to experiment with new concepts and ideas that I want to develop. The jGrowl and jQuery Autosave plugins were forged on this playground. Features like support for Google Gears introduced cutting edge functionality to the software out of a simple desire to try something new.
Find me on...
Shortened URL for this page: http://www.stanlemon.net/78