Mercurial > hg > toolbox
diff TODO.txt @ 0:b0942f44413f
import from git://github.com/mozilla/toolbox.git
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sun, 11 May 2014 09:15:35 -0700 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TODO.txt Sun May 11 09:15:35 2014 -0700 @@ -0,0 +1,112 @@ +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 +