Vivvo Framework

Vivvo CMS is built a top of a powerful object oriented framework written in PHP that focuses on best practices, clean code and reusable components. The framework was built around the idea that all resources are equal and should be available for designers to access them and reuse them at will.

Features

Vivvo Framework offers the following key features:

  • Unified access to all system resources from templates (db data, files, feed, etc.)
  • Multi language UI, with component-based language packs
  • Dynamic control over JS and CSS assets enables per-component requirement definition
  • PHP overload at very core of Vivvo Object and custom field search removes the barrier of predefined query limitation (ability to generate SQL queries within templates using VTE)
  • Multi-level internal Caching with event-based cache refresh mechanism
  • URL handler (router) supporting mod_rewrite and pathinfo
  • Full separation of services and presentation modules
  • User Manager: high level of abstraction enables Vivvo to bridge and use external user sources (vBulletin, phpBB, etc.)
  • Unified configuration storage (registry)
  • PHP 5.x compatible
  • Enterprise ready, performance conscious design
  • Tight integration with PEAR libraries, great for prototyping complex projects
  • Output to multiple devices (like XML or JSON)
  • Modular design and tremendous flexibility

License

The Framework core is licensed under BSD and is free to use in Open Source and closed commercial projects. You must however maintain the original copyright notice as described in the license. The BSD license gives the end user much greater freedom to use the software than any of the GPL family and its derivatives.

Architecture

Vivvo framework is separated into managers that handle different tasks from fronted assets managed (JS, CSS) to file system manipulation or user integration. Due to the fact that it was originally designed for PHP4 framework (at the time of its origin), it wasn't built with Singleton design pattern, but in the future you might expect a shift in that direction.

Basic framework concepts:

One of key features is that at every moment each module is fully aware of its state within the system (i.e. an article is aware of its parent category and author without the need for additional queries to fetch that information).

  • Modules: they instance new templates and are accessible from templates; responsible for handling data presentation, loading additional required resources and providing necessary assignments to template engine (VTE).
  • Services: handle user actions (such as registration, posting comments/articles, etc.), and are fully optimized for AJAX-based access.
  • Templates: templates control on-the-fly module load, with lexical (static) variable scope; also enabled component build due to the fact that they allow loading CSS/JS from templates.
  • Plug-ins: Vivvo is easily and rapidly extensible due to fact that framework infrastructure enables you to create extension that can interact with system on different levels. Vivvo plugins are contained within their own ecosystem and are accessed via their own services or modules.
  • URL manager: enables URL modifiers (rerouting) and basic URL structure extensions.

Below is Vivvo Framework schematic and class-diagram.

Vivvo CMS Framework shematic Vivvo CMS Framework class diagram
(Vivvo Framework schematic - click image for full size) (Vivvo Class diagram - click image for full size)

Components a.k.a Getting Started

Framework components provide out of the box functionality for several commonly used tasks, like manipulating objects or modules.

  1. Modules - Vivvo modules interact between VTE and Vivvo Object.
  2. Objects - Vivvo object represent the core of Vivvo CMS. They are used for retrieving and manipulating our news related data.
  3. VTE - The template engine for Vivvo CMS.
  4. URL Handlers - URL Handlers
  5. Services - Actions & Services]] - Actions & Services

Helpers

Vivvo provides several useful tools for rapid-developing plugins and extensions on top of the Vivvo framework. Download them and run from your local server.

  1. Plugin Generator Wizard - This wizard will create a wrapper for your Vivvo plugin, including install/uninstall procedures, administration panel, plugin definition and handler, leaving you only to focus on implementing the actual functionality.
  2. Class Generator - This will create Vivvo class out of given MySQL table. The generated class will contain proper attributes and methods (including accessor functions) for combining with Plugin Generator Wizard to have your fully functional plugins and extensions.

Hello World

You can download the code for “Hello World” example from Vivvo Framework Datasheet on this link.

 
devdoc/css.txt · Last modified: 2010/05/05 17:08 by damir
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki