WebBuilder2

AdvancedSearch | AreaMap ]

Search:

  HomePage   News   Getting Started Guide   WebBuilder2   CurrentStateOfAffairs  
  WebBuilder2   FeatureList   FrontController   LibraryPackages   ApplicationModules   ApplicationTemplates   Installation Instructions   ReleaseManagement  

Username:

Password:


Areas In
This Wiki

BEPHPUG

Conferences

emPHPower

LiveUser

Main

MDB2

PDO

PHPSVN

PHPTODO

RDBMS

WebBuilder2

  • Consistent Code: One of the key aspects of the WebBuilder2 is the consistent code base. All aspects of the WebBuilder2 follow a common style. Basis for this is the PEAR CS (although tabs are used instead of 4-spaces).
  • License: Using the LGPL by and large means that the WebBuilder2 can be used with minimal fuzz in the commercial space, while ensuring that all changes made to the source need to be licensed under the LGPL to anyone these changes are being distributed. All other third party packages either also use the LGPL or use one of the following even less strict licenses: BSD, PHP or Apache.
  • Stable Base: The WebBuilder2 is the result of 5 years of web site and web application development. The code makes heavy use of popular PEAR and other thirdy party LibraryPackages wherever sensible and possible.
  • Front Controller Pattern: Using the FrontController pattern users usually only need to interact through a single index.php with the system. This gives developers much more control over user interaction.
  • Modular Architecture: Additional functionality can easily be added, extended or access controlled. Out of the box the WebBuilder2 currently provides the following ApplicationModules (more will be made available over time): CmsModule, ContactModule?, DebuggerModule, FileLoaderModule, InstallerModule?, LoginModule, SitemapModule, UserModule, UserPreferenceModule.
  • Extensible Module Loading: The actual process of determining the modules to load is one of the critical aspects of development. Some frameworks focus on simplicity, others on flexibility. The WebBuilder2 makes no final decision here and provides 3 different StageLoader (page name maps to module name, or the page structure is loaded from an array or the database) out of the box.
  • Configuration: The WebBuilder2 is incredibly flexible. Many aspects can easily be controlled by configuration settings (like use of sessions, mod_rewrite, default template placeholders, location of templates, images, and many more things. Configuration files are simply PHP code which allows the greatest flexibility combined with ease of use. Modules can get their configuration settings either from the page configuration, a static config file or module defaults.
  • Authentication and Permission: Using PEAR::LiveUser authentication and permission framework, WebBuilder2 is able to provide an incredibly wide array of authentication sources combined with a scalable permission architecture to fit exactly the project needs.
  • Data Sources: The WebBuilder2 can work with and without a database. Currently the WebBuilder2 is tested to work with SQLite and MySQL (ext/mysql and ext/mysqli), but through the usage of PEAR::MDB2 it should be trivial to add support for more databases. Using the PEAR::MDB2_Schema package the schema and sample data is defined in an RDBMS independent format.
  • Input Sources: The WebBuilder2 can handle input from the web, the shell, emails or any other source. Minimal effort is involved in adding other sources (for example Web Services). Integrated UrlRewriting support for search engine and user friendly URLs can be enabled and disabled with a single configuration setting.
  • Input Handling: All parameters are directed at a specific module configuration instead of just a specific module. This makes it possible to use the same module in the same output (like a news module for different aspects of your site on the left and right side of the page). An integrated solution for validation and filtering for all modules is also provided.
  • Templating: The WebBuilder2 makes no assumption about a specific templating engine to use. By default the WebBuilder2 simply uses PHP itself as its ApplicationTemplates language, but developers are free to use other preferences. There are tools in place to prevent XSS attacks.
  • Multi Language: The WebBuilder2 assists in developing websites that come in different languages, but no assumption is made about a specific technology to provide translations were made. Since templates are by default PHP code, users are free to use gettext or other solutions. The WebBuilder2 does however automatically fall back to a default language if no language specific template is available.
  • Multi Design: The WebBuilder2 makes it easy to maintain several separate template trees that are chosen in any way the developer sees fit (configuration setting). This way you can provide developers can provide for example a print view with minimal effort. Just as with the multi language support, when a design specific template is not available, a fallback default design is used instead.
  • Output Handling: An output writer assembles all module output into a final layout. The OutputWriter will handle setting of headers necessary. This allows the WebBuilder2 to output any file format. ETag based caching and gip compression is also supported. At the same time the output writer can even output emails.
WebBuilder2:FeatureList (212.155.169.217)
Wed, 24 Aug 2005, 11:12
[ Links | Source | History | RSS ]

This site powered by YaWiki 0.22 beta.


No user comments exist for this page.

Add A Comment
Email:
*Comment:
Catpcha:
* denotes required field

Your comment will be added immediately; please check your comments, and be nice. :-)

Please use plain text only; HTML and PHP code will be converted to entities.

Your email address will be obfuscated with [AT] and [DOT] after you post your comment.