-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathTODO.txt
112 lines (87 loc) · 2.44 KB
/
TODO.txt
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
TODO: "plain text" base format
------------------------------
Add an import/export model a la
http://k0s.org/portfolio/python/python-tools.txt; example:
"""
* https://pypi.python.org/pypi/bidict
bidirectional (one-to-one) mapping data structure
{data structure}
* https://pypi.python.org/pypi/etherpad_lite
Python interface for Etherpad-Lite's HTTP API
https://github.com/devjones/PyEtherpadLite
* https://pypi.python.org/pypi/gitdb
git object database
{storage, versioning}
"""
TODO: Tool Sources
------------------
In addition to manually indexed tools, toolbox is intended to harvest
index data from distributed sources. Several scrapers should be
written and run on a scheduled basis (i.e. with a cron job or
preferably something that could actually be reliably depended on and
automatable via python). Useful project sources are:
* setup.py for python projects
* addons.mozilla.org pages
* OpenWebApps: https://developer.mozilla.org/en/OpenWebApps/The_Manifest
* userscripts: e.g. https://www.squarefree.com/userscripts/tidybox.user.js
TODO: (Alternate) Links
-----------------------
Currently, each tool has one canonical URL.
Since toolbox is an index, this has the distinct advantage of
associating a single URL with the project. It is assumed that the
linked-to resource should point to auxilliary resources as necessary.
However, as an index is useful for correlating information --
connecting the dots -- allowing a variety of links both allows the
browser to have information at their fingertips, but also to allow
mapping and intelligent manipulation of tools by their link types.
Several types of links may be recorded:
* repository
* how to report bugs
* wiki
* pypi
TODO: Directory Structure
-------------------------
Each function should live in its own module::
.
+-README.txt
+-ABOUT.txt
+-INSTALL.sh
+-setup.py
+-paste.ini
|
toolbox
|
+-web.py
+-factory.py
+-json.py
|
handler
||
|...
|
model
||
|...
|
static
||
|...
|
templates
URLs
----
A more RESTful proposed URL schema:
/{{project}}
* PUT: replace the project
* GET: return the project
* POST: update the project
* DELETE: remove the project
/{{project}}/{{field}}
* PUT: replace all field values
* POST: for lists, add field values
* GET: return field value(s)
/{{project}}/{{field}}/{{value}}
* DELETE: remove value from a list field
/{{field}}
* POST: rename a field value: /{{field}}?jahml=jhammel
* should also take a description