Bug 290846 - plugin capability for custom information fields, and actions
Summary: plugin capability for custom information fields, and actions
Status: RESOLVED NOT A BUG
Alias: None
Product: dolphin
Classification: Applications
Component: view-engine: details mode (show other bugs)
Version: 1.99
Platform: Unlisted Binaries Linux
: NOR wishlist
Target Milestone: ---
Assignee: Dolphin Bug Assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-07 05:47 UTC by Aaron Peterson
Modified: 2017-09-03 14:27 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
a hypothetical configuration file for including alternate information. (812 bytes, application/octet-stream)
2012-01-10 07:23 UTC, Aaron Peterson
Details
a rough guess as to what a SizeInMiB information extension would look like (745 bytes, application/octet-stream)
2012-01-10 07:25 UTC, Aaron Peterson
Details
Here I show a rough markup with SVN action columns (143.64 KB, image/png)
2012-01-10 08:22 UTC, Aaron Peterson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aaron Peterson 2012-01-07 05:47:22 UTC
Version:           1.99 (using Devel) 
OS:                Linux

Now with nepomuk scanning away and creating a database of artists and image dimensions, it would be great to get some of the features that make understanding data better. 
  
Here are ideas:

Author (from ODF, xls, doc, docx, etc)

Bitrate (MP3, aac, mov, etc)
artist 
album

(videos and pictures) (these make it easy to choose what files to keep and which to delete)
x dimension
y dimension 
 megapixels

md5 sum
compression ratio

Also, I'd like to be able to have a column that I set a Regular expression up for  to isolating a key portion of the filename for sorting  digital images that were taken with sequence numbers) (I worked at a document scanning company that insisted on having a horrible file naming convention)


(it was trivial for me to write windows explorer extensions that showed the md5 sum of each file, and another one to apply a regular expression to the filenames to make an additional column for sorting (somebody had a bunch of files with irregular sequence numbers, and I was able to use my extension to sort them by the last 5 digits of the file)

Reproducible: Didn't try



Expected Results:  
A folder for extension scripts that are given a filename, and give back data, that shows up in a column when activated.

I spoke with Aaron Siego about this a few years ago, and he said nepomuk could/should? be the basis, and I heard Dolphin 2.0 may make this easier... I just didn't find a feature request for it.
Comment 1 Peter Penz 2012-01-07 11:00:19 UTC
I'm not sure how to proceed with this bug, as for me it contains 2 wishes/suggestions ;-)

First in the next Dolphin version it will be possible to show any data that is currently shown in the tooltips or information panel also in the view itself. This means that e.g. it will be possible to add a column "x-dimension" to the details view or the rating, tags... or whatever (see also the last section in http://ppenz.blogspot.com/2012/01/dolphin-20-status-update.html for details).

However it is currently not planned to make a plugin-mechanism for this.

So should this wish count as "show any kind of data in the view" or as "plugin for writing custom data"?
Comment 2 Aaron Peterson 2012-01-10 05:51:54 UTC
Peter, awesome stuff going on!

I think something similar to the data provider concept that plasma uses could be used for that information,  basically the "providers" could also be subscribed to for tool tips as well...   So the same "plugin" can provide the information can be added and removed from Dolphin completely customizeable, and extended simply.

I think Nepomuck already has some concept like this,  I was just thinking it would be nice to have easy access to a directory of all the nepomuck fields, including ones that don't exist yet.
Comment 3 Aaron Peterson 2012-01-10 06:15:28 UTC
Here is some more info on how the plugins could be scripted... in poor pseudo code...

=====================
types of files=".xls",".doc",".odt"

FieldName_En="Author"

nepomuckquery(filename,author)

onClickMiniIconAction="libreoffice $filename"
miniIconName="FavIcon.ico"
ColumnMode=Icon
IconMode=MiniIcon



Another one, where nepomuck might be skipped...
===============

md5DolphinColumn.ext

IconMode=MiniIconAction
DetailsMode=TextColumn
ToolTipMode=Text

onMiniIconClick(nonmodalpopup(execute"/bin/md5sum $filename")

TextReturn=execute"/bin/md5sum $filename"||"na"


Another one
===============
see bug 246645

MiniIcon=StringToKlipper.ico
tooltip=$filename




Basically all of the tool tips could have the miniicon, and the text.  Now MD5 might need a click here to get Md5sum


Some of the details views could just be a miniicon, if an action is to be performed.   It can be text if an operation or querry is performed on the filename.
Comment 4 Aaron Peterson 2012-01-10 07:23:52 UTC
Created attachment 67639 [details]
a hypothetical configuration file for including alternate information.

I have included a whole bunch of ideas for Actions...., as well as data that can be displayed in columns, tooltips, or miniIcons.

Basically, the difficult part of this would be the performance, and knowing to querry only certain information for each file type.

In windows explorer, this extended information gets filled in after the main data gets filled in, and it polls files being listed on screen first, then it fills in the rest of the files in the folder.


There will need to be  ways to say when to cache this information, when to not cache it.  When not to poll it (say over the network)...

Some if the data I envision being displayed is SizeInMiB, SizeInGiB, SizeInKiB etc... so the basic information may already be stored in Dolphin, so some actions may need to querry dolphin.  Some may need to querry other data providers.

I imagine that after a half second of loading, or when done, (whichever is first) Dolphin would send a list of files to the database, so many things can be searched for with one transaction,  rather than querying for each individual file.
Comment 5 Aaron Peterson 2012-01-10 07:25:18 UTC
Created attachment 67640 [details]
a rough guess as to what a SizeInMiB information extension would look like
Comment 6 Peter Penz 2012-01-10 07:34:46 UTC
Thanks for the detailed update!
Comment 7 Aaron Peterson 2012-01-10 07:40:59 UTC
Sorry for being so enthusiastic, 

You'll note that I included the selectAction in the configuration files...

I would like to have that +- widget in it's own column when in DetailsView,
rather than have it as a MiniIcon.  I would also like to be able to hide it :)

So other Actions could be CopyFilenameToClipboard, and Open the file.

We could have multiple columns for opening a file... I often want to Edit a
file, or View a file...  So those would be columns... But those require other
configuration of the filetypes, but that is cool.  Windows does that, I can
right click on a file and get "OpenFileInMosaic,
EditFileInNetscapeNavigatorGold3.03, OpenInNotepad"    

We can do much better.

as for controlling information overload, I personally would change what my
dolphin shows based on what ACTIVITY I am in ;)

So if I am in WebPageDesign Activity, I would have the Edit and multiple View
columns enabled (one for each browser)  (I might even have a custom extension
to make it so I could load "Mywebsite/thefilename?  and Publish To
(webdav://myserver/path/)

Actions.


If I were in PhotoOrganizing Task,  I would have the columns, dates, histogram(
you know the graph showing frequency of colors,) the Preview, the DateTaken,
Dimensions, 


If I were In DefaultTask, I would have it be fairly simple. but I would have an

 "extended information column" that would list information about the files in
one string,  because I am looking at so many types of files, some columns would
be empty if I were in a more specialized field.  I would not be able to sort by
this field, but I could still have the info displayed for each filetype.

Perhaps this would just be the tooltip information column.
Comment 8 Aaron Peterson 2012-01-10 08:22:10 UTC
Created attachment 67642 [details]
Here I show a rough markup with SVN action columns

I realized that I accidentally chose a screen shot with only folders...  So this could be classified under "disk cleanup activity" 

So I came up with an extendedAction idea for folders,  Open Disk Usage summary (The graphical depiction of relative file sizes)

and SVN and GIT actions.

Not pictured for this activity, would be "Size in MiB" (even for folders, which would probably not be stored in nepomuck, so it would require an "active" information extender

and compress folder action.


Pardon my crude checkboxes.

I made the select box as an action...  (right now I say it is a "mini icon" that goes over the icon... and that can be ok, I am just saying it would be cool to have selecting be an action, that can be switched to another location)


(I also removed the expanding control (I like details view more than tree view but that is besides the point)
Comment 9 Aaron Peterson 2012-01-10 08:34:49 UTC
More ideas for extended information plugins:
(I feel bad for not formatting this better, but I have to go to bed and I feel inspired)


Is the folder local?  Is the folder backed up?

Is the folder a network drive?
Is the folder on a removable device?

What is the UUID of the device that this file is on?
Is it a hard link /softlink?  where does it point?

(this would be a cool column to have, especially with Unix having a volume mounted anywhere on the filesystem)
Comment 10 Jeroen van Meeuwen (Kolab Systems) 2012-08-24 16:19:40 UTC
Resetting assignee to default as per bug #305719
Comment 11 Nate Graham 2017-09-03 14:27:58 UTC
Hi Aaron,
we appreciate your enthusiasm, but as it stands right now, this bug isn't actionable due to the vast assortment of features it's requesting. We'd prefer to track these sorts of issues with specific narrowly-targeted bugs, and we already have quite a few that track adding additional information. For example:

- KDE Dolphin should show more information about Audio and video files:
-- Track titles:
--- https://bugs.kde.org/show_bug.cgi?id=366455
-- Video parameters:
--- https://bugs.kde.org/show_bug.cgi?id=366524
-- Bitrate:
--- https://bugs.kde.org/show_bug.cgi?id=368418

Please feel free to migrate your ideas to specific narrowly targeted bugs like these, which are much more likely to be implemented.