diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2012-07-22 20:42:15 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2012-07-22 20:42:15 +0200 |
commit | c677e79c1227eedb656ad1a6830c38c64a4c0e4b (patch) | |
tree | a048002e614dfa084bf5e6223dec259b69ce860a | |
parent | d7d99cb650790c5529afb07f5d61041d41403b1b (diff) | |
download | collection-json-explorer-c677e79c1227eedb656ad1a6830c38c64a4c0e4b.tar.gz collection-json-explorer-c677e79c1227eedb656ad1a6830c38c64a4c0e4b.tar.bz2 collection-json-explorer-c677e79c1227eedb656ad1a6830c38c64a4c0e4b.tar.xz collection-json-explorer-c677e79c1227eedb656ad1a6830c38c64a4c0e4b.zip |
o Adding more TODOs and ideas.
-rw-r--r-- | TODO.md | 68 |
1 files changed, 68 insertions, 0 deletions
@@ -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 (```<img>``` 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. |