This forum has been archived. All content is frozen. Please use KDE Discuss instead.

I love Nepomuk, but don't use it. Is there a workaround?

Tags: None
(comma "," separated)
User avatar
Kubuntiac
Registered Member
Posts
786
Karma
2
No this isn't going to be a whining session about CPU usage or RAM usage. Both have always worked fine for me. :)

I absolutely love the tagging,rating and note functionality of Nepomuk. I adore it.

Trouble is, I switch computers a lot and reinstall my OS a lot, sometimes with different folder structures. Often I'll copy all my files over from a backup, or across distros. When I do, all my Nepomuk data seems to disappear.

I'd love to go through and tag all my documents, but it would be a mammoth job, and I just can't justify it, if the tags aren't going to survive my next distro hop (to another KDE distro) or even just re-install.

So... is there any way to use Nepomuk, and have the semantic data come with me to my next distro / reinstall, even if the files end up living in a different folder?

I've read about Nepomuk backup / restore options, but I'm not sure if these would work with different folder structures, or if they're maintained. Can anyone clarify the situation, or suggest any solutions?
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Could it be possible that your various systems are all using different versions of Virtuoso, or it's KDE frontend components?

Also, it does the architecture of the systems change?


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
User avatar
Kubuntiac
Registered Member
Posts
786
Karma
2
It's quite possible, but my understanding is that Nepomuk just doesn't handle files being moved off the KDE system where they were first created. Am I completely wrong about this? If I back up my Nepomuk database, copy my files to different folders on a different KDE distro and restore the Nepomuk DB there, should it recognise my (moved) files and restore their metadata?

Nothing I've tried has worked, but I'll admit it's been a while.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
As far as I am aware, Nepomuk cannot handle the moving of files unless it is running at the same time, as it relies on a file watcher to update paths in it's database.

Unfortunately it does not implement something similar to Amarok's AFT technology yet.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
User avatar
Kubuntiac
Registered Member
Posts
786
Karma
2
Just looked at AFT (hadn't heard of it before), and yes, something like that seems like exactly what is needed. I was heartened to hear that he was trying to get it into KDElibs, so maybe if that happened/happens and then the Nepomuk devs pick it up....

To me, almost all the brilliant functionality of Nepomuk is wasted if users aren't prepared to add semantic data, and who is going to take the large time investment needed do that if there's a good chance of it disappearing on your next OS install?

*sigh* anyway, thanks for the helpful info as always bcooksley!
User avatar
vHanda
KDE Developer
Posts
84
Karma
0
OS
We do have a Nepomuk Backup utility. During restoration it's supposed to tell you about all the files it couldn't find, and let you find them.

It has some decent algorithms for finding the file even after it has moved.

Unfortunately, ever since we moved to the new APIs of Nepomuk 2.0, Nepomuk Backup is slightly broken (KDE 4.7 and 4.8). I haven't had the time to port it properly.

Most of the backup restoration code was abstracted to make the core components of Nepomuk 2.0. I'll try to find some time to fix backup, though it's a little boring to work on, and isn't that rewarding like working on new features and other stuff. Plus, in terms of usability, it's just used once in a blue moon. Though that one time can make all the difference.

I'll try to get to it soon :)
User avatar
Kubuntiac
Registered Member
Posts
786
Karma
2
Thanks vHanda,

While the actual backup and restore might only be used once in a blue moon (like around every 5 months, for me), not having this is what keeps me from using Nepomuk every single day. After all, why bother adding tags that you can't rely on still being there when you need them?

I'm kind of stunned that I keep seeing work on Television show cover KIO's and all kinds of shiny baubles on Nepomuk, but nothing built in to make sure that we get to keep the tags which are the basis for everything else.
User avatar
Ignacio Serantes
Registered Member
Posts
453
Karma
1
OS
Kubuntiac wrote:It's quite possible, but my understanding is that Nepomuk just doesn't handle files being moved off the KDE system where they were first created. Am I completely wrong about this? If I back up my Nepomuk database, copy my files to different folders on a different KDE distro and restore the Nepomuk DB there, should it recognise my (moved) files and restore their metadata?

Nothing I've tried has worked, but I'll admit it's been a while.

Until backup/restore will be fixed you can use my utility neposidekick to backup tags, ratings and comments.

Neposidekick, at user request via context menu, creates a hidden file with all this information so, if you move your folder to other system or location you can load all this backed data.

This is the method I'm using to share all tags, ratings and comments in my external HDs with users and other computers.


Ignacio Serantes, proud to be a member of KDE forums since 2008-Nov.
User avatar
Kubuntiac
Registered Member
Posts
786
Karma
2
Ignacio Serantes wrote:Until backup/restore will be fixed you can use my utility neposidekick to backup tags, ratings and comments.

Neposidekick, at user request via context menu, creates a hidden file with all this information so, if you move your folder to other system or location you can load all this backed data.


Sounds perfect. When I try and install it though (using your instructions) I just get:

Code: Select all
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
ERROR: service menú file '/home/user/.kde4/share/kde4/services//ServiceMenus/neposidekick.desktop' can't be created.
User avatar
Ignacio Serantes
Registered Member
Posts
453
Karma
1
OS
Kubuntiac wrote:
Ignacio Serantes wrote:Until backup/restore will be fixed you can use my utility neposidekick to backup tags, ratings and comments.

Neposidekick, at user request via context menu, creates a hidden file with all this information so, if you move your folder to other system or location you can load all this backed data.


Sounds perfect. When I try and install it though (using your instructions) I just get:

Code: Select all
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
ERROR: service menú file '/home/user/.kde4/share/kde4/services//ServiceMenus/neposidekick.desktop' can't be created.


I can't see what's happening now, here is the a copy of the service menu and as can see kde-apps is outdated. I will upload a fresh version soon.
Code: Select all
[Desktop Action help]
Exec=neposidekick.py help --servicemenu --url "%u"
Icon=help-about
Name=Help

[Desktop Action cleandir]
Exec=neposidekick.py cleandir --servicemenu --url "%u"
Icon=trash-empty
Name=Clean resources in a directory

[Desktop Action cleandirr]
Exec=neposidekick.py cleandir --servicemenu --recursive --url "%u"
Icon=trash-empty
Name=Clean resources in a directory (recursive)

[Desktop Action cleanfile]
Exec=neposidekick.py cleanfile --servicemenu --url "%u"
Icon=trash-empty
Name=Clean file resources

[Desktop Action export]
Exec=neposidekick.py export --servicemenu --url "%u"
Icon=document-export
Name=Export all user data

[Desktop Action import]
Exec=neposidekick.py import --servicemenu --url "%u"
Icon=document-import
Name=Import all user data

[Desktop Action savedir]
Exec=neposidekick.py savedir --servicemenu --human-readable --url "%u"
Icon=document-save
Name=Save resources to a local file

[Desktop Action savedirr]
Exec=neposidekick.py savedir --servicemenu --recursive --url "%u"
Icon=document-save
Name=Save resources to a local file (recursive)

[Desktop Action loaddir]
Exec=neposidekick.py loaddir --servicemenu --url "%u"
Icon=document-open
Name=Load resources from a local file

[Desktop Action loaddirr]
Exec=neposidekick.py loaddir --servicemenu --recursive --url "%u"
Icon=document-open
Name=Load resources from a local file (recursive)

[Desktop Action editresources]
Exec=neposidekick.py editresources --servicemenu --url "%u"
Icon=accessories-text-editor
Name=Edit local resources file

[Desktop Action remove]
Exec=neposidekick.py remove --servicemenu --url "%u"
Icon=archive-remove
Name=Remove local resources file

[Desktop Entry]
Actions=loaddir;loaddirr;_SEPARATOR_;savedir;savedirr;_SEPARATOR_;cleandir;cleandirr;cleanfile;_SEPARATOR_;editresources;remove;_SEPARATOR_;export;import;_SEPARATOR_;help;
Encoding=UTF-8
Icon=nepomuk
ServiceTypes=KonqPopupMenu/Plugin,all/allfiles,inode/directory
Type=Service
X-KDE-Priority=TopLevel
X-KDE-Submenu=Neposidekick


Ignacio Serantes, proud to be a member of KDE forums since 2008-Nov.
User avatar
Kubuntiac
Registered Member
Posts
786
Karma
2
Thanks. What file do I copy this into?
User avatar
Ignacio Serantes
Registered Member
Posts
453
Karma
1
OS
Kubuntiac wrote:Thanks. What file do I copy this into?


It's a service menu so, at least in openSUSE, a file will be created in: ~.kde4/share/kde4/services/ServiceMenus/

and the official name is "neposidekick.desktop".

An another thing, neposidekick.py must be n PATH. In my case I have the script in ~/bin.


Ignacio Serantes, proud to be a member of KDE forums since 2008-Nov.
User avatar
Kubuntiac
Registered Member
Posts
786
Karma
2
Thanks Ignacio,

I'll give that a try. It seems to me, that the ideal solution here would be to have Nepomuk write metadata to files where they support it *and* to generate sidecar files as well as use it's database. Then the database could be used for fast search, but whenever Nepomuk's scanner looked at a file, it could compare the sidecar info and the embedded metadata with the database info and keep them all synced. That way, if a file is moved to a new computer (with Nepomuk), Nepomuk would find the sidecar file or the embedded data, and no entry in the db and so would just update the db from the sidecar file / embedded metadata without the user having to do anything. As far as the user is concerned it "just works".

This way we'd get speed, plus the most stable metadata integrity by having two backups. Optionally, the sidecar file could just hold data that wasn't able to be embedded in the original file itself to save space.

I know this would be quite a lot of work, but it seems to me that having the metadata that the user entered not just disappear is crucial to having anyone keep using Nepomuk at all. I wonder if it would make sense to get some kind of Kickstarter project to get Sebastian (or another Nepomuk dev) employed implementing this?
User avatar
Ignacio Serantes
Registered Member
Posts
453
Karma
1
OS
Kubuntiac wrote:Thanks Ignacio,

I'll give that a try. It seems to me, that the ideal solution here would be to have Nepomuk write metadata to files where they support it *and* to generate sidecar files as well as use it's database. Then the database could be used for fast search, but whenever Nepomuk's scanner looked at a file, it could compare the sidecar info and the embedded metadata with the database info and keep them all synced. That way, if a file is moved to a new computer (with Nepomuk), Nepomuk would find the sidecar file or the embedded data, and no entry in the db and so would just update the db from the sidecar file / embedded metadata without the user having to do anything. As far as the user is concerned it "just works".

This way we'd get speed, plus the most stable metadata integrity by having two backups. Optionally, the sidecar file could just hold data that wasn't able to be embedded in the original file itself to save space.

I know this would be quite a lot of work, but it seems to me that having the metadata that the user entered not just disappear is crucial to having anyone keep using Nepomuk at all. I wonder if it would make sense to get some kind of Kickstarter project to get Sebastian (or another Nepomuk dev) employed implementing this?

For sure this would be a possible solution but external HDs bugs are fixed recently, symlinks support are not finished, there is problems with Virtuoso performance in some systems and query API has issues..., I think that data sharing must wait :).


Ignacio Serantes, proud to be a member of KDE forums since 2008-Nov.
User avatar
Kubuntiac
Registered Member
Posts
786
Karma
2
Ignacio Serantes wrote:For sure this would be a possible solution but external HDs bugs are fixed recently, symlinks support are not finished, there is problems with Virtuoso performance in some systems and query API has issues..., I think that data sharing must wait :).


I totally understand. Much to do and limited resources. It's more something I'd love to see on a roadmap for the future than a "must have NOW". I've been waiting 3 years so far... I can wait another couple. :) I do wonder though if a Kickstarter campaign might get Sebastian T re-employed on Nepomuk full time for long enough to make this happen though...


Bookmarks



Who is online

Registered users: bancha, Bing [Bot], Google [Bot], Sogou [Bot]