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
+