Tuesday, August 26, 2008

Design Decisions

I took some preliminary design decisions for the implementation of the Open Collaboration Services client library:
  • Separation of transport and content
  • Abstract implementation of transport using kio_http as backend and configurable URI schemes for the REST access
  • Job-based transport API
  • Concrete implementation of content classes providing a C++ native interface to the application. Maybe look into code generation for these classes.
  • Value based API for content. Possibly with implicit sharing.
  • Don't care about caching for now. Look into using Akonadi for that later.
  • Implement an id based relations API on top of the data objects. Maybe Nepomuk can help here.

No comments: