[okfn-labs] Componentizing ReclineJS more and keeping the core "lean"

Rufus Pollock rufus.pollock at okfn.org
Tue Feb 19 09:10:38 UTC 2013


Hi All,

Over time ReclineJS has grown. In particular, since the first public
announce last summer we've had several people producing new backends
and views (e.g. backends for Couch, a view for d3, a map view based on
Ordnance Survey's tiles etc etc).

Continually adding these to core Recline would run the risk of bloat.
Instead, I think it's better to keep the core lean and have a way for
listing and curating these extensions (the design of Recline means
that new backends and views can extend the core easily and without any
complex dependencies).

In addition, this approach is useful because e.g. Recline backends are
designed to support standalone use as well as use with Recline core
(they have no dependency on any other part of Recline *including
core*).

As such, for example, the Google Docs backend is a useful wrapper for
the Google Spreadsheets API in its own right. While this was already
true when the backend was in the main Recline repository it wasn't
very obvious but having the repo split out with its own README makes
this clearer.

To support this new model a "Recline" organization has been created on Github:

<https://github.com/recline>

And I've started the process of factoring out some backends (and soon
views) into standalone repos, e.g. here's GDocs:

<https://github.com/Recline/backend.gdocs>

### Questions

* What do people think of this approach?
* Should we continue down this path? [2]
* What components should remain in core? (I'm thinking Dataset +
Memory DataStore plus one Grid, View and Map)

Thanks in advance for any input!

Regards,

Rufus

[2]: https://github.com/okfn/recline/issues/314




More information about the okfn-labs mailing list