* CBI update
[project/luci.git] / README
1 FFLuCI - Freifunk Lua Configuration Interface
2
3 This is a leightweight MVC-Webframework for small embedded devices.
4 It uses the the Lua programming language and relies on Haserl.
5
6 It consists of several parts:
7
8 MVC Dispatcher
9         Simple PATH_INFO based dispatching mechanism using Lua modules
10         
11         > See src/ffluci/dispatcher.lua for a detailed description
12         > See src/ffluci/controller for example controllers
13
14
15 Template engine
16         Support for plain and compiled templates, on-demand compiling support
17         Short markups:
18                 <% Lua-Code %> 
19                 <%= Lua-Code with return value %>
20                 <%:i18nkey default translation%>
21                 <%+template-to-be-included%>
22                 <%~uci.short.cut%>
23
24         Predefined variables for controller dir and media dir
25
26         > See src/ffluci/template.lua for details
27         > See src/view/ for examples
28         
29
30 Configuration Bind Interface (CBI)
31         Generates and validates XHTML-Forms out of an UCI model description
32         Makes it very easy to create webinterface pages that manipulate UCI files
33         
34         > See src/ffluci/cbi.lua
35
36
37 i18n Translation support
38         Simple multi-language per-module internationalization support
39         
40         > See src/ffluci/i18n.lua for details
41         > See src/i18n/ for examples
42
43
44 UCI wrapper support
45         Lua UCI-Wrapper adapting the CLI of the uci binary
46
47         > See src/model/uci.lua for details
48
49
50 Menu Building support
51         Supports menu building for modules and exported actions
52
53         > See src/ffluci/menu.lua for details
54         > See src/ffluci/view/menu.htm, src/ffluci/controller for examples
55
56
57 HTTP-Abstraction and Formvalue validation support
58         HTTP-Redirect, Statuscode, Content-Type abstraction
59         Dynamic formvalue validation support including varaible type and
60         value range validation
61
62         > See src/ffluci/http.lua for details
63         > See src/ffluci/controller/public/example-action.lua for examples
64
65         
66 Known issues:
67         There is a bug in older versions of busybox-httpd (as those in Kamikaze 7.09)
68         that do not handle Status-headers correctly making valid HTTP-Redirects impossible.
69         Using a newer version of Kamikaze should fix this.