Software:Qcodo

From HandWiki
Revision as of 15:42, 9 February 2024 by Steve Marsio (talk | contribs) (simplify)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Qcodo
Original author(s)Mike Ho, Quasidea Development
Developer(s)Qcodo Community
Initial releaseOctober 18, 2005 (2005-10-18)
Stable release
0.5.34 / December 26, 2023 (2023-12-26)[1]
Written inPHP, SQL
Operating systemCross-platform
TypeWeb application framework
LicenseMIT License
Websitewww.qcodo.com

Qcodo is an open-source PHP web application framework which builds an object-relational model (ORM),[2] CRUD (create, retrieve, update, delete)[3] UI pages, and AJAX 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.

Structure

The framework consists of three main components: a code generator, QForms[2] (OOP generated stateful Ajax- 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 object-relational mapping (ORM), 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 an ASP.NET-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 model–view–controller (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.

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 to manage releases of the Qcodo Framework itself. The code for Qcodo.com is also open sourced and available at GitHub as well.

Uses

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[4]
  • 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, 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.[citation needed]

References

  1. Qcodo PHP Development Framework
  2. 2.0 2.1 Porębski, Bartosz; Przystalski, Karol; Nowak, Leszek (2011). Building PHP applications with Symfony, CakePHP, and Zend framework. Indianapolis, Ind.: Wiley Pub. p. 64. ISBN 9781118067925. https://books.google.com/books?id=gTEl2mWGNtAC&pg=PA64. Retrieved 6 May 2022. 
  3. Grehan, Rick. "Fabulous PHP frameworks: Qcodo, Lithium, Seagull, and Yii". IDG Communications, Inc.. https://www.infoworld.com/article/2625192/fabulous-php-frameworks--qcodo--lithium--seagull--and-yii.html. 
  4. Levri, J.A.; Deng, B.; Welch, J.; Ho, M.C.; Hogan, J.A. (2009) "Online Project Information System (OPIS) Description, Annual Reporting Outcomes, and Resulting Improvements" 39th International Conference on Environmental Systems, SAE 2009-01-2513.

External links