0
0
mirror of https://github.com/Doodle3D/doodle3d-firmware.git synced 2025-01-03 08:13:49 +01:00

Update TODO

This commit is contained in:
Wouter R 2013-07-08 21:45:21 +02:00
parent e2127797de
commit 4847b59378
3 changed files with 79 additions and 64 deletions

61
TODO
View File

@ -1,61 +0,0 @@
# TODO
- licensing (also for hardware and firmware) + credits
http://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.html
- add more config options to package; candidates:
reconf.WWW_RENAME_NAME, wifihelper.{AP_ADDRESS, AP_NETMASK, (NET)}
about bridging this to lua: have some Makefile stage create a ini/lua file with k/v's and have lua read out that file?
https://github.com/2ion/ini.lua
- in captive portal mode, https is not redirected
- postinstall operations should be conditional, or work properly on image creation
- write a shellscript to automate tasks like swapping out /www and packaging modified code for git merging
- see if updating works when a new version is 'released' (probably needs a real feed)
- perhaps opkg+safeboot could be useful in the update mechanism?
- add aliases to root profile only when debugging was requested in menuconfig
- add config option to compile sources using luac?
- add dependency on either wr703n or mr3020 (and probably comment it out to avoid being to conservative...)
- add/link general OpenWrt build instructions for OSX to installation page on wiki.
- relocatabilty of package (take root prefix into consideration everywhere)
# TODO for autowifi.js
- escape text where necessary (e.g. in getKnown, '<unknown SSID>' is currently interpreted as html...)
- why is $.trim() required in string comparison? do we need to strip newlines in the parse functions?
- add hidden field in html to remember encryption (so we know whether or not a passphrase should be entered)
- instead of showing alerts on missing ssid/phrase in connect, disable the button until contraints have been satisfied
(this is also cleaner in case no networks are present)
- use json for communication?
# Logos
Check http://geon.github.io/Programming/2012/04/25/ascii-art-signatures-in-the-wild/ for inspiration
D o o d l e 3 D
-------- ____ .--- v 1.0.1
| | | | __ | __|.--.| ._| .---..-.-.
| | | ||--|| _| |--|| . || . |\ /
|________||__||__| |__||____||___|/_._\
D o o d l e 3 D
-------- ____ .---- v 1.0.1
| | | |--.| __|-.| ._|---.-.-.
| | | |--|| _|--|| . | . |_ _/
|________|__||__||__||____|___|_._\
....D o o d l e 3 D
...________ _____ _____ v 1.0.1
../ / / |__ / __/ / - /___ __
./ ' ' /--// _|-// - | . /v /
/________/__//__/__//____/___/_^_\
# Shelled bugs/annoyances (all except the lua errors have been filed)
+ scripts are only allowed to be created in src folder? (nothing else shown, root greys out 'Finish')
+ text inside heredoc is highlighted
+ only one space allowed at start of line...makes it impossible to draw ascii art
plus: I think it breaks my spaces/tabs occasionally but that could have been something else
- errors after creating new script file (mentioning lua...maybe a conflict?)

77
TODO.md Normal file
View File

@ -0,0 +1,77 @@
# TODO (from api_info.lua)
- The endpoint function info in response objects is incorrect when the global function is called with a blank argument,
to cleanly solve this, module/function resolution should be moved from main() to the request object
FIX: handle mod/func resolution and calling in request:handle() which returns a response object
then send it using response:send("json")
- fix up init script handling as described here: http://wiki.openwrt.org/doc/devel/packages#packaging.a.service
- versioning/updating
* versioning scheme
* create feed location (e.g. www.doodle3d.com/firmware/packages) (see here: http://wiki.openwrt.org/doc/packages#third.party.packages)
* create opkg (already present in bin/ar71xx/packages as .ipk file)
* create listing info for package list (checksum, size, etc. ...is this inside the .ipk file?)
* find a way to add the feed url to opkg.conf (directly in files during image building?)
* determine how opkg decides what is 'upgradeable'
* at this point manual updating should be possible, now find out how to implement in lua (execve? or write a minimalistic binding to libopkg?)
* expose through info API and/or system API; also provide a way (future) to flash a new image
- dynamic AP name based on partial MAC
- require api functions which change state to be invoked as post request
- add functions to test network connectivity in steps (ifup? hasip? resolve? ping?) to network or test
- add system api module? with check-updates/do-update/etc
- write a simple client script to autotest as much of the api as possible
- extend the client script to run arbitrary post/get requests
# TODO (from main.lua)
- document REST API (mention rq IDs and endpoint information, list endpoints+args+CRUD type, unknown values are empty fields)
(describe fail/error difference: fail is valid rq..could not comply, while error is invalid rq _or_ system error)
- use a slightly more descriptive success/error definition (e.g. errortype=system/missing-arg/generic)
- how to handle requests which need a restart of uhttpd? (e.g. network/openap)
- a plain GET request (no ajax/script) runs the risk of timing out on lengthy operations: implement polling in API to get progress updates?
(this would require those operations to run in a separate daemon process which can be monitored by the CGI handler)
(!!!is this true? it could very well be caused by a uhttpd restart)
- protect dump function against reference loops (see: http://lua-users.org/wiki/TableSerialization, json also handles this well)
- (this is an old todo item from network:available(), might still be relevant at some point)
extend netconf interface to support function arguments (as tables) so wifihelper functionality can be integrated
but how? idea: pass x_args={arg1="a",arg2="2342"} for component 'x'
or: allow alternative for x="y" --> x={action="y", arg1="a", arg2="2342"}
in any case, arguments should be put in a new table to pass to the function (since order is undefined it must be an assoc array)
# TODO
- in captive portal mode, https is not redirected
- see if updating works when a new version is 'released' (probably needs a real feed)
- perhaps opkg+safeboot could be useful in the update mechanism?
- licensing (also for hardware and firmware) + credits for external code and used ideas
http://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.html
- add more config options to package, which should act as defaults for a config file on the system; candidates:
reconf.WWW_RENAME_NAME, wifihelper.{AP_ADDRESS, AP_NETMASK, (NET)}
https://github.com/2ion/ini.lua
- add config option to compile sources using luac _or_ add an option to minify the lua code
- add dependency on either wr703n or mr3020 (and probably comment it out again to avoid being to conservative...)
- relocatabilty of package (take root prefix into consideration everywhere)
# Logos
Check <http://geon.github.io/Programming/2012/04/25/ascii-art-signatures-in-the-wild/> for inspiration.
D o o d l e 3 D
-------- ____ .--- v 1.0.1
| | | | __ | __|.--.| ._| .---..-.-.
| | | ||--|| _| |--|| . || . |\ /
|________||__||__| |__||____||___|/_._\
D o o d l e 3 D
-------- ____ .---- v 1.0.1
| | | |--.| __|-.| ._|---.-.-.
| | | |--|| _|--|| . | . |_ _/
|________|__||__||__||____|___|_._\
....D o o d l e 3 D
...________ _____ _____ v 1.0.1
../ / / |__ / __/ / - /___ __
./ ' ' /--// _|-// - | . /v /
/________/__//__/__//____/___/_^_\

View File

@ -5,7 +5,8 @@ TODO:
- use a slightly more descriptive success/error definition (e.g. errortype=system/missing-arg/generic) - use a slightly more descriptive success/error definition (e.g. errortype=system/missing-arg/generic)
- how to handle requests which need a restart of uhttpd? (e.g. network/openap) - how to handle requests which need a restart of uhttpd? (e.g. network/openap)
- a plain GET request (no ajax/script) runs the risk of timing out on lengthy operations: implement polling in API to get progress updates? - a plain GET request (no ajax/script) runs the risk of timing out on lengthy operations: implement polling in API to get progress updates?
(this would require those operations to run in a separate daemon process which can be monitored by the CGI handler) (this would require those operations to run in a separate daemon process which can be monitored by the CGI handler)
(!!!is this true? it could very well be caused by a uhttpd restart)
- protect dump function against reference loops (see: http://lua-users.org/wiki/TableSerialization, json also handles this well) - protect dump function against reference loops (see: http://lua-users.org/wiki/TableSerialization, json also handles this well)
- (this is an old todo item from network:available(), might still be relevant at some point) - (this is an old todo item from network:available(), might still be relevant at some point)
extend netconf interface to support function arguments (as tables) so wifihelper functionality can be integrated extend netconf interface to support function arguments (as tables) so wifihelper functionality can be integrated
@ -16,8 +17,6 @@ TODO:
NOTES: NOTES:
- using iwinfo with interface name 'radio0' yields very little 'info' output while wlan0 works fine. - using iwinfo with interface name 'radio0' yields very little 'info' output while wlan0 works fine.
However, sometimes wlan0 disappears (happened after trying to associate with non-existing network)...why? However, sometimes wlan0 disappears (happened after trying to associate with non-existing network)...why?
- The endpoint function info in response objects is incorrect when the global function is called with a blank argument,
to cleanly solve this, module/function resolution should be moved from main() to the request object
]]-- ]]--
local l = require("logger") local l = require("logger")