|| ||"Aaron J. Seigo" <aseigo-AT-kde.org> |
|| ||kdelibs <kde-core-devel-AT-kde.org> |
|| ||kdereview: bodega |
|| ||Wed, 24 Oct 2012 22:07:10 +0200|
|| ||Article, Thread
(x-posting between core-devel and -devel as this is (hopefully) of general
interest and because we also are supposed to announce new kdereview modules.)
So ... what is this "Bodega" thing I speak of?
Bodega is a way to publish and get at content. That could be books,
wallpapers, applications, ... pretty much anything digital. It uses the
"wharehouse" or "store" paradigm: catalogs of items that can be browsed or
searched and then downloaded.
The three attributes that make Bodega well suited to the needs of projects
such as Plasma Active, or any other KDE application for that matter, include:
* it is Free software :)
* it is not limited to (or even focused on) software, but any digital asset.
* it is built to be shared and used in a decentralized manner.
Key features include:
* can host multiple arrangements of the same data; each "arrangement" is a
filtering and categorization of content on the server using tags, and we call
these "stores". stores are "owned" by one or more people that have the ability
to manage them. this means that if it were used by KDE, each project could
have its own set of content and manage how it is arranged while having just
one instance of Bodega around. example: Kate could have a "Kate Bodega" with
categories for scripts, syntax files, etc. There could be categories for
content which has been reviewed by the Kate project for quality, content from
the Kate project itself, etc. The Kate team would have the ability to adjust
how the store is put together at any time they choose.
* assets are managed using tags. This means that one asset may appear in
multiple stores, can be filtered based on things from category to content type
to application version to .. well .. whatever :)
* can be used to advertise and deliver data from external collections (we do
this already for project gutenberg)
* supports purchases using a points-based system much like popular video game
systems do. It can process purchases made with credit cards, but points can
also be given out or earned through other means. Pricing is not a requirement,
* extensible: there's lots of room for growth
* a beautiful and easy to use client that integrates nicely with KDE's Plasma
* the possibility of making more clients (an HTML front end is currently being
* the client can be extended to handle installation of any sort of content; it
currently supports application packages via packagekit, Plasma packages, e-
books and wallpapers.
The server side is written using node.js (pgsql for a db; redis for session
handling) and does everything using a rather straight-forward JSON API.
On the client-side we have a C++ library and a QML application. This has
already been shipped as part of Plasma Active 3 and people are, indeed, using
If/how it can be used ouside of Plasma Active is something we've only started
looking at with the help of others in the community.
Now that we've hit the first release, we're already plugging onward with a
rather full TODO list: http://community.kde.org/Bodega ...
If you are interested, please check out the repositories which are now in
kdereview: kde:bodega-client and kde:bodega-server and/or ask questions which
I'll do my best to answer
Aaron J. Seigo
to post comments)