< Frameworks | EpicsRevision as of 19:51, 19 November 2013 by Jlayt (talk | contribs) (→Planning)(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff) Contents 1 kdepimlibs Splitting Epic 1.1 Planning 1.2 Policies 1.3 Priorities 1.3.1 kde-workspace 1.3.2 kde-runtime 1.3.3 kdeplasma-addons 1.3.4 Kolab 1.4 Code Units 1.4.1 kdepimlibs 1.4.2 kdepim-runtime 1.5 Split Tasks 1.5.1 kdepimlibs 1.5.2 kdepim-runtime kdepimlibs Splitting Epic Planning The KDE PIM community has outlined the following plan for splitting kdepimlibs into Frameworks libraries Wait for the kdelibs split to be completed and the preview release to be made A frameworks branch to be created in kdepimlibs All obsolete libraries to be deleted Qt5 / KF5 basic porting to be performed mostly by the Frameworks team (old frameworks branch to be reviewed and deleted) Once work is started here no more style fixes to be applied to Master Code relying on qt3support and deprecated libraries will be removed as part of the porting All classes to be reviewed by key maintainers to decide if any should move elsewhere Once basic porting is completed then kdepimlibs will be spilt into separate frameworks Once split the maintainers of each framework will take over work to make any API and code changes required PIM Frameworks will be released as and when they are ready, we do not need to release them all at the same time PIM Frameworks will be prioritised depending on usage, i.e. libraries needed by KDE Workspaces and Kolab should be released first kdepim-runtime will be split between PIM Framework and kdepim Policies See the other Frameworks pages for the KDE Frameworks Policies, the kdelibs Split Policies and the Definition of Done . The kdepimlibs specific policies are: Modules that use qt3support are to be removed Deprecated API is allowed to be removed Source compatibility requirements are relaxed due to fewer clients, but major rewrites are discouraged. Instead port the old library and create a separate new library (e.g. KHolidays and QHolidays). Most libraries will aim for Tier 2, but some may be able to target Tier 1. The initial KF5 port may rely on kde4support to enable the port to be performed by non-experts, but no Framework released may rely on kde4support so the maintainer must remove all usage. In particular all KDateTime, KTimeZone and KLocale usage must be removed and the Qt replacements throughly tested for regressions and behaviour changes. Priorities The following libraries are known to be used outside of KDE PIM and so may be a higher priority in porting. For Plasma support the decision has been made to deprecate the use of DataEngines and use QML includes instead. Priority items: Akonadi KABC KCalCore KMime KHolidays QGpgme KXMLRPCClient + other Kolab libs kde-workspace Usage: kde-workspace/libs/plasmaclock/ KHolidays (for selection widget, could be moved elsewhere?) CalendarEngine kde-workspace/plasma/generic/dataengines/akonadi/ Akonadi KMime KABC Microblog KPimUtils (linked but not included?) AkonadiEngine not used anywhere kde-workspace/plasma/generic/dataengines/calendar/ Akonadi KCalCore KCalUtils KHolidays CalendarEngine only used in kde-workspace/libs/plasmaclock/ kde-workspace/plasma/generic/dataengines/rss/ Syndication Note: It is recommended that the Akonadi DataEngine be reworked/renamed as EMailEngine, ToDoEngine, etc, as this is client developer facing API and so the implementation name should be abstracted/hidden from them, i.e. as is done with the CalendarEngine. kde-runtime Usage: kde-runtime/drkonqi/ KXMLRPCClient kde-runtime/kwalletd QGpgme kdeplasma-addons Usages: kdeplasma-addons/libs/lancelot-datamodel Akonadi - for email support kdeplasma-addons/runners/contacts Akonadi KABC kdeplasma-addons/runners/events Akonadi KCalCore kdeplasma-addons/applets/news/ RssEngine kdeplasma-addons/applets/rssnow/ RssEngine Runners could be converted to either use KPeople, or to use the QML includes? Or the DataEngines? Kolab WIP. Basically most of the lower-level libraries and all of kdelibs! KIMAP KABC KCalCore KMime Code Units The following is a high-level list of the different Code Units in kdepimlibs and kdepim-runtime. A Unit may be a library or other software artefact that is to be considered as a stand-alone unit of code. Initial listing of top-level directories and the README and MAINTAINERS files. If subdirectories need breaking out separately then please add to list. kdepimlibs Status Unit Description Maintainer Dependencies External Usage TODO akonadi Client access library for using the Akonadi PIM data server. Dan Vratil TODO akonadi/calendar Calendar-specific Akonadi client library many... TODO akonadi/contacts Contact-specific Akonadi client library kabc, kcalcore, kmime, pimutils, akonadi, kio, kdeui, nepomuk TODO akonadi/kabc what's the difference to the above? kabc, akonadi, kdecore TODO akonadi/kcal KCal-specific Akonadi client library (deprecated?) TODO akonadi/kmime Mail-specific Akonadi client library kmime, akonadi, kdecore, kdeui, kio TODO akonadi/notes Notes-specific Akonadi client library akonadi, kmime TODO akonadi/socialutils Social media Akonadi client library akonadi, kio, qjson TODO cmake TODO docs TODO gpgme++ C++ API for libgpgme Marc Mutz TODO includes Camel case forwarding headers TODO kabc Tobias koenig TODO kalarmcal David Jarvie TODO kblog C++ API for weblogging access Christian Weilbach TODO kcal C++ API for the iCalendar and vCalendar formats (Deprecated by kcalcore and kcalutils) Sergio Martins, Allen Winter TODO kcal/libical A basic iCalendar protocol implementation, see RFCs 2245,2246 Sergio Martins, Allen Winter TODO kcalcore C++ API for the iCalendar and vCalendar formats Sergio Martins, Allen Winter TODO kcalutils C++ library containing utility functions on top of kcalcore. Sergio Martins, Allen Winter TODO kholidays C++ library for calendar holidays John Layt, Allen Winter TODO kimap C++ API for IMAP support Christian Mollekopf TODO kioslaves/imap4 imap4 kioslave TODO kioslaves/ldap ldap kioslave TODO kioslaves/mbox mbox kioslave TODO kioslaves/nntp nntp kioslave TODO kioslaves/pop3 pop3 kioslave TODO kioslaves/sieve Sieve kioslave TODO kioslaves/smtp smtp kioslave TODO kldap C++ API for LDAP access Szombathelyi György TODO kmbox Bertjan Broeksema TODO kontactinterface The glue for embedding KParts into Kontact Allen Winter TODO kpimidentities C++ API for shared identities for mail applications TODO kpimtextedit Provides a textedit with PIM-specific features and can convert the textedit content to various markup formats Thomas McGuire, Stephen Kelly TODO kpimutils A library for general purpose PIM utilities TODO kresources Tobias Koenig TODO ktnef C++ API for the handling of TNEF data Michael Goffioul TODO kxmlrpclient An XML-RPC client library TODO mailtransport C++ API and support code for managing mail transport TODO microblog A library for microblogging Tom Albers TODO qgpgme A C++ wrapper for gpgme Marc Mutz TODO syndication An RSS/Atom feed parser library Frank Osterfeld kdepim-runtime Status Unit Description Maintainer Dependencies External Usage TODO accountwizard TODO agents TODO cmake TODO defaultsetup TODO doc TODO kcm TODO kioslave TODO kresources Kevin Krammer TODO libkdepim-copy TODO migration TODO opensync TODO plugins TODO qml TODO resources TODO resourcetester TODO tray Split Tasks kdepimlibs Status Framework Tier Porter Maintainer Comments TODO akonadi Tier 2? Dan Vratil merge with akonadi server? TODO akonadi/calendar Tier 3? TODO akonadi/contacts Tier 3? TODO akonadi/kabc Tier 3? TODO akonadi/kcal N/A deprecated - delete TODO akonadi/kmime Tier 3? TODO akonadi/notes Tier 3? TODO akonadi/socialutils Tier 3? TODO cmake Tier 2? TODO doc Tier 2? TODO gpgme++ Tier 2? Marc Mutz TODO includes N/A distribute to splitted modules, auto-generate? TODO kabc Tier 2? Tobias Koenig remove KResource dependencies TODO kalarmcal Tier 2? David Jarvie TODO kblog Tier 2? Christian Weilbach TODO kcal Tier 2? To be deleted TODO kcalcore Tier 2? Sergio Martins, Allen Winter High priority, needed by Workspace. TODO kcalutils Tier 2? Sergio Martins, Allen Winter High priority, needed by Workspace. TODO kholidays Tier 1 John Layt, Allen Winter High priority, needed by Workspace. Split and basic port, will be replaced later by OpenHolidays. Will need internal copy of KCalendarSystem TODO kimap Tier 2? Christian Mollekopf TODO kioslave/imap4 Tier 2? To be deleted TODO kioslave/ldap Tier 2? TODO kioslave/mbox Tier 2? TODO kioslave/nntp Tier 2? TODO kioslave/pop3 Tier 2? TODO kioslave/sieve Tier 2? TODO kioslave/smtp Tier 2? TODO kldap Tier 2? Szombathelyi György TODO kmbox Tier 2? Bertjan Broeksema TODO kmime Tier 2? Volker Krause, Marc Mutz TODO kontactinterface Tier 2? Allen Winter TODO kpimidentities Tier 2? TODO kpimtextedit Tier 2? Thomas McGuire, Stephen Kelly TODO kpimutils Tier 2? TODO kresources N/A Tobias Koenig delete TODO ktnef Tier 2? Michael Goffioul TODO kxmlrpcclient Tier 2? TODO mailtransport Tier 2? TODO microblog Tier 2? Tom Albers obsolete after microblog resource removal? TODO qgpgme Tier 2? Marc Mutz TODO syndication Tier 2? Frank Osterfeld kdepim-runtime Status Framework Tier Porter Maintainer Comments TODO accountwizard TODO agents TODO cmake TODO defaultsetup TODO doc TODO kcm TODO kioslave TODO kresources N/A N/A Kevin Krammer to be deleted TODO libkdepim-copy TODO migration TODO opensync TODO plugins Merge with corresponding akonadi/foo frameworks? TODO qml TODO resources TODO resourcetester Merge with libakonadi? TODO tray Retrieved from "https://community.kde.org/index.php?title=Frameworks/Epics/kdepimlibs&oldid=35309" Content is available under Creative Commons License SA 4.0 unless otherwise noted.