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