Openbiz Cubi
Encyclopedia
Openbiz-Cubi is an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

, object-oriented, metadata driven web application framework
Web application framework
A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development...

 implemented in PHP 5 and licensed under the New BSD License.

History

Openbiz framework started from 2003 and has been continuously improved by community developers and user feedback. The first Openbiz build was released on sourceforge on May 2004. Cubi originally was an Openbiz framework demo application. Cubi growed into a full-featured application platform. The goal of Cubi is to provide commonly used modules and a set of tools in a platform level. The first 0.1 release was published on sourceforge on March 2010. In year 2011, the full project was moved from sourceforge to google code with a new name "Openbiz-Cubi".

Features

Openbiz Framework features include:
  • XML
    XML
    Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

     metadata oriented application development
  • Model-View-Controller (MVC) design pattern.
  • Object Relational Mapping
    Object-relational mapping
    Object-relational mapping in computer software is a programming technique for converting data between incompatible type systems in object-oriented programming languages. This creates, in effect, a "virtual object database" that can be used from within the programming language...

     (ORM), query builder.
  • Database Abstraction
    Database abstraction layer
    A database abstraction layer is an application programming interface which unifies the communication between a computer application and databases such as SQL Server, DB2, MySQL, PostgreSQL, Oracle or SQLite...

     implementation on top of Zend_DB
  • Web Template. Integration with Smarty template engine
    Smarty
    Smarty is a web template system written in PHP. Smarty is primarily promoted as a tool for separation of concerns.Smarty is intended to simplify compartmentalization, allowing the presentation of a web page to change separately from the back-end...

     and PHP template.
  • Integration with Javascript libraries including Prototype
    Prototype Javascript Framework
    The Prototype JavaScript Framework is a JavaScript framework created by Sam Stephenson in February 2005 as part of the foundation for Ajax support in Ruby on Rails. It is implemented as a single file of JavaScript code, usually named prototype.js...

     and jQuery
    JQuery
    jQuery is a cross-browser JavaScript library designed to simplify the client-side scripting of HTML. It was released in January 2006 at BarCamp NYC by John Resig...

    .
  • Ajax
    Ajax (programming)
    Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...

    -enabled client server communication on JSON
    JSON
    JSON , or JavaScript Object Notation, is a lightweight text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects...

     protocol.
  • Web form user inputs validation
    Data validation
    In computer science, data validation is the process of ensuring that a program operates on clean, correct and useful data. It uses routines, often called "validation rules" or "check routines", that check for correctness, meaningfulness, and security of data that are input to the system...

     on both browser end and server end.
  • Internationalization and localization
    Internationalization and localization
    In computing, internationalization and localization are means of adapting computer software to different languages, regional differences and technical requirements of a target market...

     (I18N and L10N).
  • Data Caching
    Cache
    In computer engineering, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere...

    . It supports query results caching, page caching and fragment caching.
  • Error, exception handling
    Exception handling
    Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions, special conditions that change the normal flow of program execution....

     and logging
    Data logger
    A data logger is an electronic device that records data over time or in relation to location either with a built in instrument or sensor or via external instruments and sensors. Increasingly, but not entirely, they are based on a digital processor...

    .


Cubi Platform features include:
  • User, role, group, permission management.
  • User authentication
    Authentication
    Authentication is the act of confirming the truth of an attribute of a datum or entity...

     and user profile
    User profile
    A user profile is a collection of personal data associated to a specific user. A profile refers therefore to the explicit digital representation of a person's identity...

    . Authentication and profile retrieval can be customized.
  • Authorization
    Authorization
    Authorization is the function of specifying access rights to resources, which is related to information security and computer security in general and to access control in particular. More formally, "to authorize" is to define access policy...

     via role-based access control
    Role-Based Access Control
    In computer systems security, role-based access control is an approach to restricting system access to authorized users. It is used by the majority of enterprises with more than 500 employees, and can be implemented via mandatory access control or discretionary access control...

     (RBAC).
  • Group based data visibility control. It controls if given dataset can be visited by a user with certain group.
  • End user common operations. Cubi has build-in user self registration, sign-in, sign-out, password recovery
    Password cracking
    Password cracking is the process of recovering passwords from data that has been stored in or transmitted by a computer system. A common approach is to repeatedly try guesses for the password...

     as well as my account page.
  • Application navigation
    Web navigation
    - A central theme in web design is the development of a web navigation interface that maximizes usability.- - - -See also:- Design pattern - - Efficiency- - Human–computer interaction- - Interaction technique- -...

     menu infrastructure.
  • User email service and email queue management.
  • Multi-theme
    Theme (computing)
    In computing, a theme is a preset package containing graphical appearance details, used to customize the look and feel of an operating system, widget set or window manager....

     generation and selection.
  • Multi-language pack generation and translation.
  • Application builder command line integration with Phing.
  • Application level security enforcement.
  • Metadata and code generation wizard for creating CRUD pages.
  • Web service
    Web service
    A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...

     publishing and authentication.
  • Clean URL. An easy naming convention can expose a view to a simple url.

Licensing

Openbiz-Cubi is licensed under the Open Source Initiative
Open Source Initiative
The Open Source Initiative is an organization dedicated to promoting open source software.The organization was founded in February 1998, by Bruce Perens and Eric S. Raymond, prompted by Netscape Communications Corporation publishing the source code for its flagship Netscape Communicator product...

 (OSI)-approved New BSD License. This means that it's possible to use it for free to develop either open-source or proprietary Web applications.

Other Cubi modules may released under GPL license or commercial license depending on the authors of specific module.

Requirements

Openbiz-Cubi requires PHP 5.1.0 or later. It is recommended to use PHP 5.2.3 or later for security and performance improvements. Certain PHP Extensions are required to run Cubi.

External links


Tutorials

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK