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.
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
94 Downloaded data can be kept in a cache to speed up looking for entries and
95 for instantaneous display of the download dialog.