Projects/Nepomuk/Repositories: Difference between revisions

    From KDE TechBase
    No edit summary
    (18 intermediate revisions by 2 users not shown)
    Line 1: Line 1:
    = Introduction =
    <languages />
    <translate>


    The Nepomuk development is split across many different repositories across KDE. The page attempts to list out most of the known Nepomuk code, and its development location. The list has been split according to importance.
    == Nepomuk Repositories == <!--T:1-->


    = Main Repositories =
    <!--T:2-->
    The '''Nepomuk''' development is split across many different repositories across KDE. The page attempts to list out most of the known Nepomuk code, and its development location. The list has been split according to importance.


    == Main Repositories == <!--T:3-->
    <!--T:4-->
    These are the official repositories which the core Nepomuk team focuses on.  
    These are the official repositories which the core Nepomuk team focuses on.  


    == NepomukCore ==
    === NepomukCore === <!--T:5-->


    <!--T:6-->
    NepomukCore, which is the main repository for Nepomuk development, was released with KDE 4.9. It is a combination of both the Nepomuk libraries present in kdelibs, and certain run time components present in kde-runtime.  
    NepomukCore, which is the main repository for Nepomuk development, was released with KDE 4.9. It is a combination of both the Nepomuk libraries present in kdelibs, and certain run time components present in kde-runtime.  


    <!--T:7-->
    All Nepomuk enabled applications must depend on NepomukCore. It utilizes the Nepomuk2 namespace.
    All Nepomuk enabled applications must depend on NepomukCore. It utilizes the Nepomuk2 namespace.


    <!--T:8-->
    * '''Repository:''' [https://projects.kde.org/projects/kde/kdelibs/nepomuk-core kde:nepomuk-core]
    * '''Repository:''' [https://projects.kde.org/projects/kde/kdelibs/nepomuk-core kde:nepomuk-core]
    * '''Category:''' Core
    * '''Category:''' Core
    Line 18: Line 26:
    * '''Developers:''' Sebastian Trueg <[email protected]>, Vishesh Handa <[email protected]>
    * '''Developers:''' Sebastian Trueg <[email protected]>, Vishesh Handa <[email protected]>


    == KIO slaves ==
    === NepomukWidgets === <!--T:9-->
     
    <!--T:10-->
    NepomukWidget, is the repository which contains all the widgets which applications use. It will be released with KDE 4.10. Before this the widgets were present in kdelibs/nepomuk.
     
    <!--T:11-->
    * '''Repository:''' [https://projects.kde.org/projects/kde/kdelibs/nepomuk-widgets kde:nepomuk-widgets]
    * '''Category:''' User Interface
    * '''Activity:''' High
    * '''Developers:''' Sebastian Trueg <[email protected]>, Vishesh Handa <[email protected]>


    For a brief introduction on kioslaves, please read this.
    === KIO slaves === <!--T:12-->


    Nepomuk currently consists of 3 kio-slaves - nepomuk, nepomuksearch, and timeline. Out of these 3, nepomuksearch and timeline are the most visible. The nepomuk kioslave is an internal kioslave which redirects to the nepomuksearch kioslave.
    <!--T:13-->
    Nepomuk currently consists of 3 kio-slaves - nepomuk, nepomuksearch, and timeline. Out of these 3, nepomuksearch and timeline are the most visible. The nepomuk kioslave is an internal kioslave which redirects to the physical location or to the nepomuksearch kioslave. For a more in depth discussion of their working, please read [[Projects/Nepomuk/kioslaves| this]].


    <!--T:14-->
    '''Repository:''' kde-runtime/nepomuk/kioslaves
    '''Repository:''' kde-runtime/nepomuk/kioslaves


    == KCM ==
    === KCM === <!--T:15-->


    <!--T:16-->
    Nepomuk consists of 2 main user visible components. The Nepomuk KCM and the controller, which is uses to pause/resume indexing. The plan is to eventually move these out of kde-runtime, but that will probably only happen with KDE Frameworks 5.
    Nepomuk consists of 2 main user visible components. The Nepomuk KCM and the controller, which is uses to pause/resume indexing. The plan is to eventually move these out of kde-runtime, but that will probably only happen with KDE Frameworks 5.


    <!--T:17-->
    '''Repository:''' kde-runtime/nepomuk/kcm
    '''Repository:''' kde-runtime/nepomuk/kcm


    == Nepomuk Widgets ==
    === Nepomuk Shell === <!--T:18-->
     
    <!--T:19-->
    Nepomuk consists of a development tool called 'nepomukshell' which can be used to browse the Nepomuk database, and to run SPARQL queries. It has served as a simple starting ground for people wishing to contribute to Nepomuk.
     
    <!--T:20-->
    * '''Repository:''' [https://projects.kde.org/projects/extragear/utils/nepomukshell/ kde:nepomukshell]
    * '''Category:''' Development Tools
    * '''Activity:''' Low
     
    == Dependencies == <!--T:21-->
     
    === Soprano === <!--T:22-->
     
    <!--T:23-->
    Soprano provides a Qt based wrapper over virtuoso, and additional serializing and parsing features which are used to load the ontologies. It follows an independent release schedule.


    Nepomuk provides some simple widgets which are use across various applications. The most notable ones are the tagging, and rating widgets. This code is fairly old and needs to be ported to Nepomuk2.
    <!--T:24-->
    * '''Repository:''' [https://projects.kde.org/projects/kdesupport/soprano kde:soprano]
    * '''Category:''' Core
    * '''Activity:''' As per Nepomuk's requirements


    Current repository which shouldn't be used '''kdelibs/nepomuk/ui'''. It should ideally be moved to a separate repository called nepomuk-ui-widgets. This is a blocker for porting Dolphin, PIM and Gwenview to Nepomuk2.
    === Strigi === <!--T:25-->


    == Development Tools ==
    From KDE SC 4.10, Strigi is no longer used in Nepomuk. We have our own file indexer which is present in nepomuk-core.


    Nepomuk consists of a development tool called 'nepomukshell' which can be used to browse the Nepomuk database, and to run SPARQL queries.
    == Other Repositories == <!--T:34-->


    '''Repository:''' kde:nepomukshell
    === Metadata Extractor === <!--T:35-->


    = Dependencies =
    <!--T:36-->
    The Nepomuk Metadata Extractor is an independent project that was started by Jörg Ehrichs. It provides rich features for extracting additional information from the web as well as from the files.


    == Soprano ==
    <!--T:37-->
    * '''Repository:''' [https://projects.kde.org/projects/playground/base/nepomuk-metadata-extractor kde:nepomuk-metadata-extrator]
    * '''Developers:''' Jörg Ehrichs <[email protected]>


    Soprano provides a Qt based wrapper over virtuoso, and additional serializing and parsing features which are used to load the ontologies. It follows an independent release schedule.
    === Tag Manager === <!--T:38-->


    * '''Repository: ''' kde:soprano
    <!--T:39-->
    A fairly random project that was done in less than a day. Its purpose was to provide a user visible way to rename, delete and merge tags. It is currently not shipped by any distributions, and should ideally be cleanup up and properly released. For more information read [http://vhanda.in/blog/2012/01/nepomuk-tag-manager/| this].


    == Strigi ==
    <!--T:40-->
    * '''Repository:''' [http://quickgit.kde.org/index.php?p=scratch%2Fvhanda%2Fnepomuktagmanager.git&a=summary kde:scratch/vhanda/nepomuktagmanager.git]
    * '''Category:''' Usability
    * '''Activity:''' Low


    The Strigi project provides libraries to extract metadata from file. The project is divided into 5 sub-proejcts. Nepomuk only requires libstreams and libstreamanalyzer.
    === TV Namer === <!--T:41-->


    The overall development of Strigi has been stagnant for a couple of years now. However there are no viable alternatives present. And the cost of moving would be risking stability.
    <!--T:42-->
    It fetches information from http://thetvdb.com. For more information, please read the original blogs posts -
    * http://trueg.wordpress.com/2012/02/11/a-fun-release-nepomuk-tv-namer-0-2/
    * http://trueg.wordpress.com/2012/01/28/something-way-less-dry-tv-shows/


    Strigi requires a lot of work where all the file formats can be listed, and the compatibility for every file can be checked.
    <!--T:43-->
    * '''Repository:''' [http://quickgit.kde.org/index.php?p=scratch%2Ftrueg%2Fnepomuktvnamer.git&a=summary kde:scratch/trueg/nepomuktvnamer]
    * '''Category:''' Web-extractor
    * '''Developers:''' Sebastian Trueg <trueg@kde.org>


    From KDE/4.7, Nepomuk has started enforcing the ontologies - Either the data follows the ontologies or it is rejected. Since this move many bugs and inconsistencies have come to light. Unfortunately, while earlier they were just an minor inconvenience to the user, now those files are not indexed.
    === Music === <!--T:44-->


    === Lib Streams ===
    <!--T:45-->
    This provides a music kio slave which allows one to browse through the music indexed by Nepomuk. For more information please read [http://trueg.wordpress.com/2012/02/10/just-for-the-fun-of-it-browsing-music-with-nepomuk/ the original blog post]


    * '''Repository:''' [https://projects.kde.org/projects/kdesupport/strigi/libstreams kde:libstreams]
    <!--T:46-->
    * '''Category:''' File Indexer
    * '''Repository:''' [http://quickgit.kde.org/index.php?p=scratch%2Ftrueg%2Fnepomuk-music-kio-slave.git&a=summary kde:scratch/trueg/nepomuk-music-kio-slave]
    * '''Activity:''' Non Existent
    * '''Category:''' Usability
    * '''Activity:''' Low
    * '''Developers:''' Sebastian Trueg <[email protected]>


    === Lib Stream Analyzer ===
    === Web Extractor === <!--T:47-->


    * '''Repository:''' [https://projects.kde.org/projects/kdesupport/strigi/libstreamanalyzer kde:libstreamanalyzer]
    <!--T:48-->
    * '''Category:''' File Indexer
    The Nepomuk web-extractor was originally a 2010 GSOC Project (Add link). The project was completed, but the architecture is extremely complicated. Additionally, most of the user visible parts were missing. It requires a complete rewrite.
    * '''Activity:''' Bug fixes


    = Secondary work =
    <!--T:49-->
    * '''Repository:''' [https://projects.kde.org/projects/playground/base/nepomuk-web-extractor kde:nepomuk-web-extrator]
    * '''Category:''' Core
    * '''Activity:''' Non Existent
    * '''Developers:''' Artem Serebriyskiy <[email protected]>


    == Web Extractor ==
    <!--T:50-->
    [[Category:Documentation]]
    [[Category:Development]]
    [[Category:Tutorials]]
    </translate>

    Revision as of 08:16, 7 January 2013


    Nepomuk Repositories

    The Nepomuk development is split across many different repositories across KDE. The page attempts to list out most of the known Nepomuk code, and its development location. The list has been split according to importance.

    Main Repositories

    These are the official repositories which the core Nepomuk team focuses on.

    NepomukCore

    NepomukCore, which is the main repository for Nepomuk development, was released with KDE 4.9. It is a combination of both the Nepomuk libraries present in kdelibs, and certain run time components present in kde-runtime.

    All Nepomuk enabled applications must depend on NepomukCore. It utilizes the Nepomuk2 namespace.

    NepomukWidgets

    NepomukWidget, is the repository which contains all the widgets which applications use. It will be released with KDE 4.10. Before this the widgets were present in kdelibs/nepomuk.

    KIO slaves

    Nepomuk currently consists of 3 kio-slaves - nepomuk, nepomuksearch, and timeline. Out of these 3, nepomuksearch and timeline are the most visible. The nepomuk kioslave is an internal kioslave which redirects to the physical location or to the nepomuksearch kioslave. For a more in depth discussion of their working, please read this.

    Repository: kde-runtime/nepomuk/kioslaves

    KCM

    Nepomuk consists of 2 main user visible components. The Nepomuk KCM and the controller, which is uses to pause/resume indexing. The plan is to eventually move these out of kde-runtime, but that will probably only happen with KDE Frameworks 5.

    Repository: kde-runtime/nepomuk/kcm

    Nepomuk Shell

    Nepomuk consists of a development tool called 'nepomukshell' which can be used to browse the Nepomuk database, and to run SPARQL queries. It has served as a simple starting ground for people wishing to contribute to Nepomuk.

    Dependencies

    Soprano

    Soprano provides a Qt based wrapper over virtuoso, and additional serializing and parsing features which are used to load the ontologies. It follows an independent release schedule.

    • Repository: kde:soprano
    • Category: Core
    • Activity: As per Nepomuk's requirements

    Strigi

    From KDE SC 4.10, Strigi is no longer used in Nepomuk. We have our own file indexer which is present in nepomuk-core.

    Other Repositories

    Metadata Extractor

    The Nepomuk Metadata Extractor is an independent project that was started by Jörg Ehrichs. It provides rich features for extracting additional information from the web as well as from the files.

    Tag Manager

    A fairly random project that was done in less than a day. Its purpose was to provide a user visible way to rename, delete and merge tags. It is currently not shipped by any distributions, and should ideally be cleanup up and properly released. For more information read this.

    TV Namer

    It fetches information from http://thetvdb.com. For more information, please read the original blogs posts -

    Music

    This provides a music kio slave which allows one to browse through the music indexed by Nepomuk. For more information please read the original blog post

    Web Extractor

    The Nepomuk web-extractor was originally a 2010 GSOC Project (Add link). The project was completed, but the architecture is extremely complicated. Additionally, most of the user visible parts were missing. It requires a complete rewrite.