8ce5faf42bbfdacf988c2e77e34e58b96fc7b97e
[project/luci.git] / README
1 FFLuCI - Freifunk Lua Configuration Interface
2
3 This is a leightweight MVC-Webframework for small embedded device.
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 i18n Translation support
31 Simple multi-language per-module internationalization support
32
33 > See src/ffluci/i18n.lua for details
34 > See src/i18n/ for examples
35
36
37 UCI wrapper support
38 Lua UCI-Wrapper adapting the CLI of the uci binary
39
40 > See src/model/uci.lua for details
41
42
43 Menu Building support
44 Supports menu building for modules and exported actions
45
46 > See src/ffluci/menu.lua for details
47 > See src/ffluci/view/menu.htm, src/ffluci/controller for examples
48
49
50 HTTP-Abstraction and Formvalue validation support
51 HTTP-Redirect, Statuscode, Content-Type abstraction
52 Dynamic formvalue validation support including varaible type and
53 value range validation
54
55 > See src/ffluci/http.lua for details
56 > See src/ffluci/controller/public/example-action.lua for examples
57
58
59 Known issues:
60 There is a bug in older versions of busybox-httpd (as those in Kamikaze 7.09)
61 that do not handle Status-headers correctly making valid HTTP-Redirects impossible.
62 Using a newer version of Kamikaze should fix this.