summaryrefslogtreecommitdiffhomepage
path: root/README
blob: 8ce5faf42bbfdacf988c2e77e34e58b96fc7b97e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
FFLuCI - Freifunk Lua Configuration Interface

This is a leightweight MVC-Webframework for small embedded device.
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


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.