WebMCP
WebMCP is a brand new web application framework written in Lua and C. Instead of using the classical Model-View-Controller (MVC) concept, WebMCP makes use of a so-called Model-View-Action concept. The database is accessed through the Model layer, which provides an Object-Relational Mapping (ORM). HTTP-GET requests are handled by Views, which process the request data, query the database, and render the result. HTTP-POST requests are handled by Actions, which can write to the database and redirect to a View, dependent on success or failure.
It is yet under development, so the API might change at any time. However all changes which break downward compatibility will be listed in future releases. WebMCP currently runs quite stable on several productive installations, but not all functions have been extensivly tested yet.
Documentation
Please read the Installation section of our Online Documentation for information about how to install the framework on your system.
Download
- webmcp-v1.0.8.tar.gz
- webmcp-v1.0.7.tar.gz
- webmcp-v1.0.6.tar.gz
- webmcp-v1.0.5.tar.gz
- webmcp-v1.0.4.tar.gz
- webmcp-v1.0.3.tar.gz
- webmcp-v1.0.2.tar.gz
- webmcp-v1.0.1.tar.gz
- webmcp-v1.0.0.tar.gz
Dependencies
- The Programming Language Lua (Version 5.1)
- PostgreSQL Database Server
Changes
- 2010-02-20: Version 1.0.8
- New function ui.filters{...}
- 2010-02-19: Version 1.0.7
- Bugfix in ui.paginate{...}: No negative offset when paginating empty result set (caused trouble in PostgreSQL 8.4)
- ui.script{...} rejects scripts containing the character sequence ]]> to avoid ambigiuities related to HTML vs XML parsing
- Partial content replacement using XMLHttpRequests
- Bugfix in CGI library: accept POST data content-types, which contain additional charset information
- Support arrays passed as params to encode.url (only for keys ending with "[]")
- Image support for ui.link
- 2010-01-22: Version 1.0.6
- Bugfix: class_prototype:add_reference{...} uses now qualified names in SQL queries to allow JOINs
- Fixes in the documentation of slot.put_into and trace.debug
- 2010-01-02: Version 1.0.5
- Changes in net.send_mail{...}
- Code cleanup
- A boolean success value is returned
- Changes in net.send_mail{...}
- 2009-12-25: Version 1.0.4
- ui.link{...} with POST target can now be parameterized with BOTH content and text to allow HTML content for JavaScript browsers and a text-only version for accessiblity
- Changes related to database selectors:
- Support for row-based locking
- New method :count(), caching and returning the number of rows, which WOULD have been returned by :exec()
- Bugfix: WHERE and HAVING expressions are now enclosed in parenthesis to avoid problems with operator precedence
- ui.script{...} now supports external .js files
- Changes in langtool.lua to cope with escaped new-line chars (\n)
- 2009-12-10: Version 1.0.3
- Important bugfix related to internal forwards (Bug was introduced by the restriction of views with underscore prefix in Version 1.0.2)
- 2009-12-10: Version 1.0.2
- Fixed bug with explicit garbage collection (requests > 256kB caused an error)
- Views prefixed with an underscore can't be called externally
- ui.paginate now displays the last page, if the selected page number is too high.
- 2009-11-17: Version 1.0.1
- New feature: JSON requests
- Changes in ui.paginate: Current page setting is directly fetched from CGI params, instead of view params
- Changed behavior of load methods of atom library to accept nil as input
- Bugfixes in mondelefant_atom_connector timestamp(tz) loaders
- Added global constant _WEBMCP_VERSION containing a version string
- 2009-10-25: Version 1.0.0