fix tricky regression noticed by Vyacheslav Tokarev on Google Reader.
[kdelibs.git] / knewstuff / featureguide.txt
blob5df78fa34afaeda7d7266a38c440fbe98155df49
1 KNewStuff2 Feature Guide
2 ========================
4 This document describes the options an application author
5 gets when implementing support for KNewStuff under KDE 4,
6 better known as KNewStuff2.
7 The style of writing is however not very developer-centric
8 at times, so anyone who wishes to find a feature reference
9 can consult this guide.
11 Key features
12 ------------
14 * KNewStuff2 implements the GHNS specification!
15   The standard is maintained at http://ghns.freedesktop.org/
16   and ensures a consistent and well-defined behaviour.
18 * KNewStuff2 supports the Desktop eXchange Service protocol!
19   DXS is a web services based implementation of the GHNS protocol
20   with some extensions, mostly resulting in more direct user
21   interaction.
23 * KNewStuff2 helps making KDE the Kollaborative Desktop Environment!
24   Along with other internet-integrated aspects of the desktop,
25   the library helps users working with each other from remote places.
27 Complete feature list
28 ---------------------
30 The features have been designed to blur the line between data producers
31 (the creators) and data consumers (the users), to arrive at a more
32 flexible notion of data contributors.
33 Still security and privilege handling does play an important role.
35 * Data creation
36   An application which allows the creation of data files integrates
37   the KNewStuff upload dialog. To upload a file, a preview image should
38   be given (may be autogenerated if the KFile plugin exists),
39   and the important descriptive fields such as name, author and
40   licence must be filled in by the uploader. These can however be
41   re-used from previous sessions, so that the process of uploading
42   is as easy as possible.
44 * Data improvement
45   To update an existing piece of data, instead of filling out the
46   descriptive fields again, a simple re-upload using an incremented
47   version number can take place.
48   For the users downloading the data, versioning control might then
49   allow to retrieve the data from previous versions.
51 * Browsing
52   Each provider can offer different "views" or feeds based on
53   criteria such as "latest items", "most popular items" or
54   even custom ones such as "contest xyz winners".
55   With DXS, support for find-as-you-type search and entry caching
56   should be possible.
58 * Installation
59   The installation process can involve integrity checking of the
60   downloaded data (using a hash sum), authenticity checking (using
61   an OpenPGP signature), extraction of the data file to a set
62   of files or a whole directory, and invoking a post-installation
63   handler to notify the application or run an external script.
65 * Uninstallation
66   Installed items can be uninstalled at any time. For this reason,
67   the metadata is kept for each installed entry in an entry registry.
69 * Translation
70   Each user can add summary and title translations at any time.
71   However depending on the site policy, these might only take
72   effect after an admin review phase.
74 * Subscriptions
75   A user can subscribe to an entry, and be informed when an
76   update is available. With DXS, the list of subscriptions can
77   be queried as a virtual feed.
79 * Versioning
80   Subscription and (un)installation automatically lead to a simple
81   versioning schema. This option is not shown by default unless a
82   particular application wants to make use of it.
84 * Site maintenance
85   Users can request removals of entries which are bogus or might
86   require other administrator attention.
88 * Provider support: Hotstuff
89   The Hotstuff server-side GHNS framework is designed to be fully
90   compatible with KNewStuff2. In particular, it supports authenticated
91   user operations and old KNewStuff compatibility file formats.
93 * Cached data
94   Downloaded data can be kept in a cache to speed up looking for entries and
95   for instantaneous display of the download dialog.