Regarding GSoC Plasmoid data caching project

Aaron J. Seigo aseigo at kde.org
Tue Mar 30 18:17:55 CEST 2010


On March 30, 2010, shruti jain wrote:
> Presently, plasmoids such as news etc do not show anything when Plasma
> netbooks are disconnected from the network. The idea is to use the cached
> data when network is not available and refresh when network is available.
> I think that the project can be extended to incorporate collaborative
> caching as well. Even if the network is present, we can take the data from
> caches of other clients on the network. This reduces the load on the server
> from where the data(like news) is being fetched. This also fetches a more
> recent data in case of proxy failures.

in addition to the two technologies Sebastian noted (Akonadi and Solid's 
Network Status) and todd's note that this should be done at the DataEngine 
layer, i'd add that there is work to be done in a Plasma::Storage class.

Plasma::Storage will be used by various Plasma components (DataEngines, 
Plasmoids) when they wish to store data locally (whatever that may mean in the 
given case) in a way that ensures the data is associated in future with that 
component (sandboxing) and an be allowed to easily travel with it.

Plasma::Storage will use (or perhaps even be a) Plasma::Service, meaning that 
it would be asynchronous and network transparent "for free".

the caching should use Plasma::Storage to do the dirty work behind the scenes.

as such, this GSoC project could consist of the following components:

* write the Plasma::Storage implementation, using Plasma::Service

* provide a way for DataEngines to mark specific sources as being "cache 
needed" and transparently store those values that exist when the DataEngine 
goes away and restore them when the DataEngine is recreated and those sources 
are requested

* make all the DataEngines in kdebase/workspace/plasma/generic/dataengines use 
this service

hth.

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks


More information about the Plasma-devel mailing list