From c677e79c1227eedb656ad1a6830c38c64a4c0e4b Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 22 Jul 2012 20:42:15 +0200 Subject: o Adding more TODOs and ideas. --- TODO.md | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/TODO.md b/TODO.md index fcc3e36..98ffa78 100644 --- a/TODO.md +++ b/TODO.md @@ -35,3 +35,71 @@ * Add an OpenSearch document to the root page so that people can add the site as an search engine. + +# Document features + +* Automatic paging +* Inline display of images (`````` style) +* CR(U)D features + +# Extra services + +Having a set of services that shows off what a generic client can do +would be useful to show the eneric power of hypermedia. + +* An 'unroller/pager' service + + Given any c+j list and a wanted page size (possibly unlimited), walk + all 'next' links and create a new list. + + Useful as 1) a way to show that generic formats can lead to generic + tools. The explorer itself is one tool, this service would be + another. + + It might be useful for tools that doesn't do paging natively, or + some third party want to ensure that the consumer is given a + specific chunk size of data. Example applications include mobile + phones, simple shell scripts etc. + + TODO: Since there's no way to tell what kind of data each link will + give strictly speaking all links has to be rewritten to point back + to the service. This might be very unefficient so make it possible + to give a set of relations and/or names that it will automatically + redirect through the service and leave the rest alone. + +* 'atomizer' service + + It's too bad that C+J doesn't have a way to identify 'id' or 'last + updated' fields, but it's always possible name fields that work as + 'id' or 'published'/'updated'. Given this it's possible to rewrite + any c+j collection to atom (and some more perhaps). + +* Generator + + Create a service that takes a single collection and follows a set of + links/queries from the collection/each item and creates a new set. + +* Filter/selector/projection/map + + Take a collection and run a JS-expression on the code, return those + who doesn't evaluate to false. + +* Reduce + + Given a collection + JS function, reduce the entire collection to a + single item. + +## Example usage + +# List of all events for an organization + +Github doesn't have a way to get a single feed for a +user/organization. The list for a repository contains commits, issue +and other stuff. + + 1. Find all repositories for an organization/user + 1. for each repo, select all commits + 1. Merge by commit date + 1. (create atom feed) + +Similar for all issues. -- cgit v1.2.3