Introducing FastFrame

FastFrame is an application framework written in PHP that allows for the rapid development of secure and robust applications. By utilizing object-oriented programming, design patterns, and PEAR libraries it allows both small and large development teams to achieve their goals in a fast and efficient manner. It serves as the foundation for several applications, such as Checkout, a program for loaning and reserving all sorts of items and Mayday!, a trouble ticket system that allows departments to track and manage issues/problems.

But what is a framework? Think of it as being similar to the frame of a house. By itself it doesn’t do a whole lot – it needs other applications to actually make it useful. However, those applications can be rapidly developed because the framework provides all the basics (and many extras) needed to get a robust application up and running. Furthermore, because all FastFrame applications are built on top of the same framework any fixes or new features applied to the framework will affect all of the applications as well. Finally, the framework is able to tie all the different applications together so that they have a unified look, a menu system, and a way of talking to each other. But what are these great features the FastFrame framework provides?

Features

  • Many smart people have thought long and hard about what are the best ways to efficiently and cleanly solve complex software problems. To this end “design patterns” have been developed. Design patterns are elegant solutions to complex problems that arise when doing object oriented programming. FastFrame uses several of these patterns, such as the Model View Controller (MVC) (adapted for the web), singleton, factory, and strategy patterns..
  • PEAR is a repository of high quality code. Since FastFrame developers have no desire to rewrite the wheel a large number of PEAR classes are used in FastFrame. These include: HTML_QuickForm, DB, DB_ldap, DB_NestedSet, Mail, HTML_BBCode_Parser, and Validate.
  • An advanced and easy to use error handler. The error handler makes it easy for developers to debug code and to hide errors in production environments so that sensitive information isn’t revealed to end-users. Errors can be captured and sent to a pop-up window, email, logfile, or straight to the browser.
  • Themeable. The default design was designed with help from a professional design company and sports a clean, modern look. An additional theme is available by default and new themes can easily be developed. Both themes use HTML 4.0 for structure and layout and let CSS handle the colors and look. What does this mean for the end user? All applications look great in new browsers (i.e. IE6+ and Mozilla/Firefox), but maintain functionality in older v. 4 browsers and text-based browsers.
  • Smarty is used at the backend for the template system. This means that you don’t need to know PHP to create new themes or change the look of the site.
  • Using CSS every page is able prints “nicely” (i.e. no menu or colors).
  • A feature-rich list page is easily adapted for each applications so that items can be searched and ordered.
  • Secure authentication. Bouncing to an SSL page, just for the login page, is supported “out of box.”
  • Flexible authentication. Several back-end authentication modules are included, such as the database-backed profile application (which allows new accounts to be created), imap, ldap, external website, and IP-based authentication. Furthermore, any combination of these can be used at once.
  • A registry object that manages all configuration settings.
  • Multi-language support.
  • A CSS-based hierarchical menu ties all the applications together, allowing for easy access to any application without cluttering the interface.
  • CSS-based tooltips which provide context-based help throughout all FastFrame applications.
  • Database abstraction. Using PEAR’s DB module and a database layer means converting any application to a new database a straightforward process. Currently, all applications support MySQL.
  • A the permission application comes bundled with FastFrame which allows for controlling access to all aspects of the different applications.
  • A profile application comes bundled with FastFrame which allows for user accounts to be created, deleted, edited. Furthermore, if enabled, users can retrieve forgotten passwords and create new accounts.
  • A Command Line Interface class which allows command-line scripts to easily access the power of FastFrame.

If all that sounds like something you need, you probably want to install it or, if you want to start developing your own FastFrame application, look at the development page.

 
introduction.txt · Last modified: 2005/11/11 19:32 by 68.6.72.80
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki