Qcodo
Encyclopedia
The Qcodo Development Framework is an open-source PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

 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...

 which builds an Object Relational Model (ORM
Object role modeling
Object Role Modeling is a method for conceptual modeling, and can be used as a tool for information and rules analysis, ontological analysis, and data modeling in the field of software engineering.- Overview :...

), CRUD (Create, Retrieve, Update, Delete) UI pages, and AJAX
Ajax
- Mythology :* Ajax , son of Telamon, ruler of Salamis and a hero in the Trojan War, also known as "Ajax the Great"* Ajax the Lesser, son of Oileus, ruler of Locris and the leader of the Locrian contingent during the Trojan War.- People :...

 hooks from an existing data model. It additionally includes a tightly-integrated HTML and JavaScript form toolkit which interfaces directly with the generated entities. It is a robust, comprehensive framework which can be utilized by small and large Web applications alike.

The framework consists of three main components: the Code Generator, QForms (OOP generated stateful Ajax
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...

- or server-processed webform), QQuery (OOP based SQL Query builder) -- all of which can be used independently of each other. The Code Generator parses an existing Relational Database structure, and builds an ORM
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...

, as well as several remote interfaces (SOAP, AJAX) to the ORM. The ORM in Qcodo can be extended to provide user-maintained functionality (via object subclassing). QForms is a ASP.NET
ASP.NET
ASP.NET is a Web application framework developed and marketed by Microsoft to allow programmers to build dynamic Web sites, Web applications and Web services. It was first released in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's Active Server Pages ...

-inspired templating engine in which each form element is an object exposing its functionality and state via methods and attributes.

QForms maintain page as well as form state, and include the ability to validate fields, trigger events, and associate AJAX calls. QForms bind tightly to the ORM, allowing developers to rapidly and iteratively change any of three components in the MVC architecture with little impact to the other components.

The Qcodo Package Manager (QPM) was introduced starting with Qcodo v0.4.0 to allow community members a much more streamlined and efficient way to post and share modules, enhancements and fixes of the Qcodo Development Framework with each other. The Qcodo.com website can be used to view user-submitted QPM packages that community members have contributed at the QPM Section of the website.

Qcodo was conceived and developed by Mike Ho, and his company Quasidea Development acts as the central maintainer with dozens of contributors from the Qcodo Community that provide new features and releases via the Qcodo website, Qcodo.com.

The website, itself, is written in Qcodo and custom developed for the community, including suite of tools like online forums, bug/issue tracking, online showcase and QPM management. It is integrated with GitHub
Github
GitHub is a web-based hosting service for software development projects that use the Git revision control system. GitHub offers both commercial plans and free accounts for open source projects...

 to manage releases of the Qcodo Framework itself. The code for Qcodo.com is also open sourced and available at GitHub
Github
GitHub is a web-based hosting service for software development projects that use the Git revision control system. GitHub offers both commercial plans and free accounts for open source projects...

 as well.

The framework is mature and has been deployed in many production environments in everything from highly-trafficked social networks to large Fortune 500 and Government organizations, including:
  • NASA Online Project Information System
  • NASA Exploration Life Support
  • Stanford University School of Medicine, Biomedical Informatics Research
  • Uloop, the largest student-to-student Classifieds network
  • Chess.com, the largest Chess-focused social network
  • Academy of Country Music, the official website
  • Delo.si, the official website of Delo
    Delo
    Delo is the largest national daily newspaper in Slovenia. It was established on May 1st, 1959, when two newspapers Ljudska pravica and Slovenski poročevalec merged. Nowadays, it is the most influential and credible daily newspaper in Slovenia...

    , the major daily newspaper of Slovenia


The framework has been presented at many conferences across the nation, including the Zend/PHP Conference, the MySQL User's Conference, MySQL's Dev Zone, AjaxWorld conference and expo, and DC PHP. It has over 250,000 downloads from thousands of users spanning over a hundred countries. Qcodo-driven applications serve over 100 million page views every month.

QCubed

A community driven fork, QCubed, was publicly launched on November 6, 2008. It has 11 core contributors working in SVN/trac based environment with shared responsibility for the codebase. It features a plugin system and installer. All custom JavaScript is about to be exchanged with JQuery.

External links

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