Go to file
Steven Barth 9203ede3c7 * Added Makefile entry for ffluci.model.ipkg
* Set properties for ffluci.model.ipkg
2008-03-30 19:27:12 +00:00
contrib * Added simple text editor 2008-03-29 21:17:54 +00:00
src/ffluci * Moved exec, execl from ffluci.util to ffluci.sys 2008-03-30 19:25:31 +00:00
.buildpath * new project: ff-luci - Freifunk Lua Configuration Interface 2008-03-02 21:52:58 +00:00
.project * new project: ff-luci - Freifunk Lua Configuration Interface 2008-03-02 21:52:58 +00:00
INSTALL Added installation instructions 2008-03-12 21:22:07 +00:00
LICENSE * new project: ff-luci - Freifunk Lua Configuration Interface 2008-03-02 21:52:58 +00:00
Makefile * Added Makefile entry for ffluci.model.ipkg 2008-03-30 19:27:12 +00:00
NOTICE Added NOTICE file 2008-03-03 18:41:54 +00:00
README * CBI update 2008-03-26 20:55:14 +00:00
THANKYOU * Added THANKYOU file 2008-03-18 15:48:41 +00:00

FFLuCI - Freifunk Lua Configuration Interface

This is a leightweight MVC-Webframework for small embedded devices.
It uses the the Lua programming language and relies on Haserl.

It consists of several parts:

MVC Dispatcher
	Simple PATH_INFO based dispatching mechanism using Lua modules
	
	> See src/ffluci/dispatcher.lua for a detailed description
	> See src/ffluci/controller for example controllers


Template engine
	Support for plain and compiled templates, on-demand compiling support
	Short markups:
		<% Lua-Code %> 
		<%= Lua-Code with return value %>
		<%:i18nkey default translation%>
		<%+template-to-be-included%>
		<%~uci.short.cut%>

	Predefined variables for controller dir and media dir

	> See src/ffluci/template.lua for details
	> See src/view/ for examples
	

Configuration Bind Interface (CBI)
	Generates and validates XHTML-Forms out of an UCI model description
	Makes it very easy to create webinterface pages that manipulate UCI files
	
	> See src/ffluci/cbi.lua


i18n Translation support
	Simple multi-language per-module internationalization support
	
	> See src/ffluci/i18n.lua for details
	> See src/i18n/ for examples


UCI wrapper support
	Lua UCI-Wrapper adapting the CLI of the uci binary

	> See src/model/uci.lua for details


Menu Building support
	Supports menu building for modules and exported actions

	> See src/ffluci/menu.lua for details
	> See src/ffluci/view/menu.htm, src/ffluci/controller for examples


HTTP-Abstraction and Formvalue validation support
	HTTP-Redirect, Statuscode, Content-Type abstraction
	Dynamic formvalue validation support including varaible type and
	value range validation

	> See src/ffluci/http.lua for details
	> See src/ffluci/controller/public/example-action.lua for examples

	
Known issues:
	There is a bug in older versions of busybox-httpd (as those in Kamikaze 7.09)
	that do not handle Status-headers correctly making valid HTTP-Redirects impossible.
	Using a newer version of Kamikaze should fix this.