What at first started life as a simple file repository, search and retrieval application evolved into a custom CMS. Dow Fiber Solutions (DFS) had a problem: they had sales agents and agencies around the globe who needed marketing flyers, product information sheets, material samples, and other DFS-related materials, however Dow Fiber Solutions was getting bogged down handling all the requests by email and phone. They required an online solution that would allow them to put all of their materials online for download and ordering, a place where the sales team could download the materials they needed when they needed them, where the publishing companies could find the assets they needed, where their business partners could order fabric samples, and above all a means to free up the beleaguered DFS team. Working closely with the Dow Fiber Solutions team in Horgen, Switzerland (unfortunately by phone and email) over the course of five months, I developed a custom content and document management system that met all of their needs.
The project started simply enough: build an application that would allow DFS to upload and categorize files and allow their sales team and partners to navigate and download the files they needed. Soon it became apparent that user access controls would be needed, and user groups, a login scheme: a user management system. DFS would also need a way to provide introductory text on the download pages for instructions, explanations, or exposition. What began as an enhanced FTP application quickly evolved into a complex multi-user, access-controlled content management system.
Fortunately, I had been working on a CMS of my own, mostly for educational purposes and a keen curiosity. Other CMS’s we had used were difficult to customize, while they allowed thematic, stylistic customization, they lacked an efficient development path for adding new functionality. Those that did purport to have convenient enhancement paths also suffered one other flaw: they were not easy for a non-technical person to manage. Obviously it would be unreasonable to expect a non-developer to add new functionality to an application. What I sought to achieve with my CMS was to develop a framework that could be easily and quickly expanded by a developer, that would be modular, possess a clean separation between content, layout, and business logic, all while being intuitive for the average user to manage. A feature set which, at the time of its creation, did not appear in great number within the open source community. The framework was built on PHP and MySQL, using the Smarty template engine for page rendering.
Each page comprised two parts: a template which held the normal display and edit form; and a PHP file that defined all the necessary content and functions for managing the data. The three main framework files, constants.php, header.php, and index.php controlled lower level decisions like access control, navigation structure, and determining which template and content needed to be displayed. During a time before PHP had adequate OO support, this was my way of coaxing OO order into the framework. New content types could be quickly developed as a pair of files (template and PHP), registered in the administration and be instantly ready for use. In this way new functionality could be added to the site in hours or days, as each file pair essentially behaved as a stand-alone application.
When the project finally wrapped up the humble file repository had acquired a host of features: an image gallery management system, user and group management, file management, a Java-based FTP interface with access controls tied into the user system, embedded video, and security. Above all though, it was easy for the DFS team to manage, provided their sales team and partner agencies with the information they required in a reliable and immediate manner, and built on a framework that would keep maintenance costs low in the future.
Related Page: Dow Fiber Solutions Extranet






