Strigi desktop-integration
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Strigi desktop-integration

on

  • 1,107 views

Talk about strigi integration with KDE desktop.

Talk about strigi integration with KDE desktop.

Statistics

Views

Total Views
1,107
Views on SlideShare
1,101
Embed Views
6

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 6

http://flavio.castelli.name 5
http://localhost 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Strigi desktop-integration Presentation Transcript

  • 1. Strigi Desktop integration Flavio Castelli
  • 2. Strigi desktop integration FOSDEM 2007 Why choose Strigi Strigis main features ● fast and lightweight ● portable ● extensible ● next KDE4 desktop searching engine ● can be easily accessed from external programs Flavio Castelli
  • 3. Strigi desktop integration FOSDEM 2007 What can be done by Strigi Strigis capabilities ● perform fast searches across heterogeneous data collections ● extract metadata informations from files ● index compressed archives contents ● create/recreate/discover relations between different data Flavio Castelli
  • 4. Strigi desktop integration FOSDEM 2007 How to interact with Strigi Strigi communication interfaces socket DBus Flavio Castelli
  • 5. Strigi desktop integration FOSDEM 2007 How to interact with Strigi Socket interface Benefits: ● well known mechanism ● can be accessed from different languages / OS Drawbacks: ● actually has less priority --> it isnt fully tested Flavio Castelli
  • 6. Strigi desktop integration FOSDEM 2007 How to interact with Strigi DBus interface The best way to access Strigi features: ● simple and fast to use ● IPC protocol used by KDE4 and Gnome ● there are lots of DBus bindings ● actively developed Flavio Castelli
  • 7. Strigi desktop integration FOSDEM 2007 How to interact with Strigi Available functions Everything can be performed through the socket and DBus interfaces: ● start/stop Strigi daemon ● add/remove filters ● force index updates ● index a specific resource ● perform searches (and retrieve results ;) Flavio Castelli
  • 8. Strigi desktop integration FOSDEM 2007 How to interact with Strigi Available classes for C++ developers Existing C++ classes for playing with Strigi: ● AsyncSocketClient: access socket interface ● DBusClientInterface: access DBus interface Automatically shipped with Strigi installation Flavio Castelli
  • 9. Strigi desktop integration FOSDEM 2007 Strigi Clients “main” clients Their code can be taken as example: ● StrigiClient: ● written in C++ ● uses Qt4 ● connection through Dbus interface ● StrigiApplet: ● written in C++ ● uses KDE3 libs ● connection through socket interface Flavio Castelli
  • 10. Strigi desktop integration FOSDEM 2007 Strigi Clients Strigis Gnome DeskBar handler Flavio Castelli
  • 11. Strigi desktop integration FOSDEM 2007 Strigi Clients Strigis Gnome DeskBar handler Features: ● written in python ● communicate using DBus interface ● only 95 lines of code Strigi integration is easy Flavio Castelli
  • 12. Strigi desktop integration FOSDEM 2007 JStreams Really short description What are JStreams: ● a C++ “transposition” of Java InputStream childs public StreamDemo(URL url) throws IOException { InputStream filestream = url.openStream(); ZipInputStream zipstream = new ZipInputStream(filestream); ZipEntry entry = zipstream.getNextEntry(); while (entry != null) { handleEntry(zipstream, entry); } } Flavio Castelli
  • 13. Strigi desktop integration FOSDEM 2007 JStreams The power of JStreams ● flexible: can be extended for supporting new file types ● really fast (especially while accessing compressed archives) ● easy to use ● code reuse: can be used by other programs with ease Flavio Castelli
  • 14. Strigi desktop integration FOSDEM 2007 JStreams JStreams actual status More relevant file types: ● compressed archives: tar, gzip, bz2, ar,... ● linux distribution packages: deb, rpm,... ● pdf files ● email ● ... Flavio Castelli
  • 15. Strigi desktop integration FOSDEM 2007 Use JStreams A simple example Flavio Castelli
  • 16. Strigi desktop integration FOSDEM 2007 Use JStreams QClient Simple Qt4 program that uses JStreams: ● navigate through archive files ● can open archive file contents How can be done ? Flavio Castelli
  • 17. Strigi desktop integration FOSDEM 2007 Use JStreams QArchiveEngine Class QAbstracFileEngine ArchiveEngineBase Access archive files as directories ArchiveEngine Flavio Castelli
  • 18. Strigi desktop integration FOSDEM 2007 Use JStreams QArchiveEngine Class For accessing compressed files as directories: ● create a new QAbstractFileEngine child ● use JStreams inside it ● register the new engine All Qt classes that provides file system access will use it whenever its possible Flavio Castelli
  • 19. Strigi desktop integration FOSDEM 2007 Use JStreams into KDE JStreams and KDE Also KDE programs can use JStreams functionalities: JStreams KIOSlave ● Available for KDE3 ● Already into KDE4 trunk Flavio Castelli
  • 20. Strigi desktop integration FOSDEM 2007 Use JStreams into KDE JStream KIOSLAVE Flavio Castelli
  • 21. Strigi desktop integration FOSDEM 2007 Conclusions Interact with Strigi ● use Strigis features is really simple ● it can be done from: ● different programming languages ● different window managers ● different OS ● you can use Strigi for: ● desktop searching tasks ● fast and simple access to a large set of file types Flavio Castelli
  • 22. Strigi desktop integration FOSDEM 2007 Conclusions Strigis integration Actually we cover a good set of SCENARIO ● StrigiClient: generic window manager ● StrigiApplet: kde client ● Gnome DeskBar handler: self-explaining In the near future: ● a KDE4 Plasmoid client Flavio Castelli
  • 23. Strigi desktop integration FOSDEM 2007 Conclusions Strigis integration: the future... There is lot of work to be done on the client-side: ● keep improving actual interfaces ● improve usability & integration ● create a better user experience create a better user experience Flavio Castelli