Development/Tutorials/Metadata/Nepomuk/NepomukServer: Difference between revisions
No edit summary |
No edit summary |
||
(10 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{TutorialBrowser| | {{TutorialBrowser| | ||
series=Nepomuk| | series=[[../|Nepomuk]]| | ||
name=Nepomuk Server| | name=Nepomuk Server| | ||
pre=| | pre=| | ||
Line 9: | Line 11: | ||
==The Nepomuk Server== | ==The Nepomuk Server== | ||
The Nepomuk Server is a daemon which hosts all Nepomuk service including the main Nepomuk data repository. | [[Image:Nepomuk-Architecture.png|center|thumbnail|500px|Nepomuk Architecture]] | ||
The Nepomuk Server is a daemon which hosts all Nepomuk service including the main Nepomuk data repository. In normal operation it is started through KDE's autostart feature when logging into KDE. Starting it manually is as simple as typing "nepomukserver". This will start the daemon and all services. | |||
Services are started as separate processes via the service wrapper application "nepomukservicestub". This design descision has been taken to enhance the stability of the Nepomuk system. Services are implemented by subclassing Nepomuk::Service and exporting it like any other KDE plugin. [http://api.kde.org/4.x-api/kdelibs-apidocs/nepomuk/html/classNepomuk_1_1Service.html The Nepomuk::Service class documentation] explains this in detail. | |||
With kdebase a set of default services are installed. Most notably the storage service which hosts the RDF database used to store all Nepomuk-related data. [[Development/Tutorials/Metadata/Nepomuk/NepomukServices|Nepomuk Services]] explains the services in detail. | |||
===Using the Server=== | |||
The Nepomuk server is registered as a DBus service at ''org.kde.NepomukServer'' and provides three DBus interfaces: The service manager, the legacy storage bridge, and the standard configuration interface. | |||
====Service Manager==== | |||
The '''Service Manager DBus Interface''' named ''org.kde.nepomuk.ServiceManager'' and exported at ''servicemanager'' provides methods to start and stop [[../NepomukServices|Nepomuk Services]], to list available or running services, and to request some basic information about services: | |||
<syntaxhighlight lang="text">QStringList availableServices()</syntaxhighlight> | |||
Lists the names of all available services, running and non-running. | |||
<syntaxhighlight lang="text">bool isServiceAutostarted(QString service)</syntaxhighlight> | |||
Checks if a service is started automatically. | |||
<syntaxhighlight lang="text">bool isServiceInitialized(QString name)</syntaxhighlight> | |||
Checks if a services is running and initialized (running services might still be initializing). | |||
<syntaxhighlight lang="text">QStringList runningServices()</syntaxhighlight> | |||
Lists the names of all running services. | |||
<syntaxhighlight lang="text">void serviceInitialized(QString name)</syntaxhighlight> | |||
Signal which is emitted once a service finished initialization and is ready for usage. | |||
<syntaxhighlight lang="text">void setServiceAutostarted(QString service, bool autostart)</syntaxhighlight> | |||
Change the autostart behaviour of a service. | |||
<syntaxhighlight lang="text">bool startService(QString name)</syntaxhighlight> | |||
Start a service. This will also start all dependencies. | |||
<syntaxhighlight lang="text">bool stopService(QString name)</syntaxhighlight> | |||
Stop a service. This will also stop all services depending on the stopped one. | |||
====Legacy Storage==== | |||
The '''Legacy Storage interface''' exported at ''org.soprano.Server'' is a simple wrapper around the storage service and not meant to be used in new applications. | |||
====Configuration==== | |||
The '''Nepomuk Service Configuration interface''' named ''org.kde.NepomukServer'' and exported at ''nepomukserver'' provides methods to configure the server. These methods are for example used by the Nepomuk KCM: | |||
<syntaxhighlight lang="text">QString defaultRepository()</syntaxhighlight> | |||
Returns the name of the default repository (the Soprano server API used in the storage service provides API to create multiple repositories. Nepomu only uses one: ''main''). | |||
< | <syntaxhighlight lang="text">void enableNepomuk(bool enabled)</syntaxhighlight> | ||
The method to enable or disable the whole Nepomuk system. Setting ''enable'' to ''false'' will stop all services. | |||
</ | |||
<syntaxhighlight lang="text">void enableStrigi(bool enabled)</syntaxhighlight> | |||
Enable or disable Strigi file indexing. | |||
<syntaxhighlight lang="text">bool isNepomukEnabled()</syntaxhighlight> | |||
Check if Nepomuk is enabled. | |||
< | <syntaxhighlight lang="text">bool isStrigiEnabled()</syntaxhighlight> | ||
Check if Strigi is enabled. | |||
</ | |||
<syntaxhighlight lang="text">void quit()</syntaxhighlight> | |||
Quit the Nepomuk server and all services. ''Caution: this method is only intended for debugging purposes.'' | |||
<syntaxhighlight lang="text">void reconfigure()</syntaxhighlight> | |||
Re-read the configuration. Normally there is no need to call this method. |
Latest revision as of 10:49, 15 July 2012
Tutorial Series | Nepomuk |
Previous | |
What's Next | Advanced Queries |
Further Reading | Introduction to RDF and Ontologies, Handling Resources with Nepomuk, Nepomuk Services |
The Nepomuk Server
The Nepomuk Server is a daemon which hosts all Nepomuk service including the main Nepomuk data repository. In normal operation it is started through KDE's autostart feature when logging into KDE. Starting it manually is as simple as typing "nepomukserver". This will start the daemon and all services.
Services are started as separate processes via the service wrapper application "nepomukservicestub". This design descision has been taken to enhance the stability of the Nepomuk system. Services are implemented by subclassing Nepomuk::Service and exporting it like any other KDE plugin. The Nepomuk::Service class documentation explains this in detail.
With kdebase a set of default services are installed. Most notably the storage service which hosts the RDF database used to store all Nepomuk-related data. Nepomuk Services explains the services in detail.
Using the Server
The Nepomuk server is registered as a DBus service at org.kde.NepomukServer and provides three DBus interfaces: The service manager, the legacy storage bridge, and the standard configuration interface.
Service Manager
The Service Manager DBus Interface named org.kde.nepomuk.ServiceManager and exported at servicemanager provides methods to start and stop Nepomuk Services, to list available or running services, and to request some basic information about services:
QStringList availableServices()
Lists the names of all available services, running and non-running.
bool isServiceAutostarted(QString service)
Checks if a service is started automatically.
bool isServiceInitialized(QString name)
Checks if a services is running and initialized (running services might still be initializing).
QStringList runningServices()
Lists the names of all running services.
void serviceInitialized(QString name)
Signal which is emitted once a service finished initialization and is ready for usage.
void setServiceAutostarted(QString service, bool autostart)
Change the autostart behaviour of a service.
bool startService(QString name)
Start a service. This will also start all dependencies.
bool stopService(QString name)
Stop a service. This will also stop all services depending on the stopped one.
Legacy Storage
The Legacy Storage interface exported at org.soprano.Server is a simple wrapper around the storage service and not meant to be used in new applications.
Configuration
The Nepomuk Service Configuration interface named org.kde.NepomukServer and exported at nepomukserver provides methods to configure the server. These methods are for example used by the Nepomuk KCM:
QString defaultRepository()
Returns the name of the default repository (the Soprano server API used in the storage service provides API to create multiple repositories. Nepomu only uses one: main).
void enableNepomuk(bool enabled)
The method to enable or disable the whole Nepomuk system. Setting enable to false will stop all services.
void enableStrigi(bool enabled)
Enable or disable Strigi file indexing.
bool isNepomukEnabled()
Check if Nepomuk is enabled.
bool isStrigiEnabled()
Check if Strigi is enabled.
void quit()
Quit the Nepomuk server and all services. Caution: this method is only intended for debugging purposes.
void reconfigure()
Re-read the configuration. Normally there is no need to call this method.