-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spec #1
Comments
Note: it seems that core already has a "Tags" class that could be reused to store/assign the data. Challenges
Open questions
|
Might be related to owncloud/core#3812? |
Nice, I wasn't aware of that. Thanks for the link. CC @owncloud/designers |
I really don't get the use-case for that, can you elaborate? |
I guess storing the metadata like exif/id3 could be used by apps (ex: music app) when indexing files instead of providing their own metadata facilities. @MorrisJobke what do you think ? |
And how are they updated when the files are modified? - This requires then some hooks to update them then. |
Yes, the app could use write hooks to update metadata. But the first version of this app should focus mostly on favorites/starring files. |
Google Drive also has a metadata API that it is offered for plugins using I our case we used it to mark a folder as the plug in folder were we stored Another use case is some internal metadata we need to open the file (our
|
The app should not use write hooks. Extracting metadata with eg, getid3 is time consuming and will slow down file uploads significantly. Please consider using an async mechanism as discussed in owncloud/core#12024 Also content and metadata extraction overlaps a lot with search_lucene and music. The next thing to come up might be the mobile apps asking for "images taken in New York" ... having the metadata is useless without having a query language for it. Then we start reimplementing elasticsearch ... |
At the moment it is ok to have only the metadata store so that backends or 3rdparty apps can write and read metadata. Automatic extraction and search/filtering is something to look into for a later release. |
@butonic unfortunately elastic search will always stay an optional app because of its complex nature to host it. I'm also sure we only need a fraction of the feature for the metadata store here |
@PVince81 let's use the tags in core for now and look into that later. I doubt that we have the time to do a user interface for tags anyways for 8 |
For OC8 my goal is mostly to add the "favorites" feature which doesn't require any "tags list" UI as described here owncloud/core#3812 (comment). I'll create a ticket in core for the favorites to have a more specific discussion. |
Seems there is already a ticket for the favorites, let's use that. |
One important thing is to clearly distinguish tags and attributes. |
Yes. Important to clearly distinguish the different usecases: Tags are created by users and should be visible in the UI. Attributes are more invisible to users. Examples are id3 tags, exif data or any other metadata that should be just passed through from the storage backend. |
Here is a potential use case: https://mailman.owncloud.org/pipermail/devel/2014-November/000737.html "...While the OPDS catalog part is relatively straightforward - it could be The metadata for a single publication (or 'resource' in OPDS-terms) looks like this (in OPDS-format, it should probably not be stored like this): <entry>
<title>Bob, Son of Bob</title>
<id>urn:uuid:6409a00b-7bf2-405e-826c-3fdff0fd0734</id>
<updated>2010-01-10T10:01:11Z</updated>
<author>
<name>Bob the Recursive</name>
<uri>http://opds-spec.org/authors/1285</uri>
</author>
<dc:language>en</dc:language>
<dc:issued>1917</dc:issued>
<category scheme="http://www.bisg.org/standards/bisac_subject/index.html"
term="FIC020000"
label="FICTION / Men's Adventure"/>
<summary type="text">The story of the son of the Bob and the gallant part he played in
the lives of a man and a woman.</summary>
<content type="text">The story of the son of the Bob and the gallant part
he played in the lives of a man and a woman. Bob begins his humble life
under the wandering eye of his senile mother, but quickly learns how to
escape into the wilder world. Follow Bob as he uncovers his father's past
and uses those lessons to improve the lives of others.</content>
<link rel="http://opds-spec.org/image"
href="/covers/4561.lrg.png"
type="image/png"/>
<link rel="http://opds-spec.org/image/thumbnail"
href="/covers/4561.thmb.gif"
type="image/gif"/>
<link rel="self"
href="/opds-catalogs/entries/4571.complete.xml"
type="application/atom+xml;type=entry;profile=opds-catalog"/>
<link rel="http://opds-spec.org/acquisition"
href="/content/free/4561.epub"
type="application/epub+zip"/>
<link rel="http://opds-spec.org/acquisition"
href="/content/free/4561.mobi"
type="application/x-mobipocket-ebook"/>
</entry> As you can see this is quite an extensive collection of metadata - authorship, publisher, summary, images, related links, etc. While it would be possible to store all this in a separate table in the database, that would IMnsHO be plain wrong. A more flexible way of storing attributes would really help in getting this thing off the drawing board. |
Note: I've moved the checklist to the top comment for better visibility. |
Metadata App
Description:
An app that manages all kind of metadata around files and folders and all kind of other objects in ownCloud. It is important that this is implemented based on concrete use-cases and not in an abstract way.
APIs
The metadata can be accessed via different APIs
Types
UI
“send change notification only for favorited files/folders” Notify changes for favorites files owncloud/core#12872
Version 2.0:
Checklist
Here's the feature checklist for metadata:
The text was updated successfully, but these errors were encountered: