# Requirements ## Use cases ### Existing - [x] Store width and height for pictures - [x] Store GPS coordinate for pictures - [x] Store user readable location for pictures ### Planned - [x] nextcloud/photos#87 - [x] nextcloud/server#40242 - [x] nextcloud/server#39714 - [x] Generate blurhash for pictures for files, photos, and social ### Potential - [ ] Tags on files ## Features ### Already implemented - [x] Store arbitrary metadata as a string and link it to a fileid and a data name. - [x] Allow the metadata to be manually and granularly exposed to WebDAV requests. - [x] Trigger providers to generated metadata during files:scan and files' updates (NodeWrittenEvent). - [x] Delete metadata upon files deletion (NodeDeletedEvent). But needs adjustments: nextcloud/server#34424 ### Already missing - [x] Support dependency among providers to allow providers to depend on the work of other providers. Example: MapMediaToPlaceJob in the Photos app. - [x] Execute the provider in a background process to not slow down the request. Example: MapMediaToPlaceJob in the Photos app. - [ ] Support listing all different metadata value for a given user and metadata name. Example: listing all places linked to pictures in the Photos app. - [x] Support listing all files with a given metadata value and name for a given user. Example: listing all pictures linked a place in the Photos app. ### Needed for the new use cases - [x] Ability to use a metadata in an orderby directive in a WebDAV SEARCH request (sorting picture by taken date) - [x] Automatically handle the exposition of the metadata in WebDAV requests. (show EXIF data in sidebar) - [x] Allow clients to set the content of a metadata. (live photos) ## PRs - [x] https://github.com/nextcloud/server/pull/40761 - [x] https://github.com/nextcloud/server/pull/40964 - [x] https://github.com/nextcloud/photos/pull/2104 - [x] https://github.com/nextcloud/photos/pull/2115 - [x] https://github.com/nextcloud/server/pull/41308 - [x] https://github.com/nextcloud/server/pull/41465 - [x] https://github.com/nextcloud/server/pull/41044 - [x] https://github.com/nextcloud/server/pull/41459 - [x] https://github.com/nextcloud/documentation/pull/11284 - [x] https://github.com/nextcloud/server/pull/41634
Requirements
Use cases
Existing
Planned
Potential
Features
Already implemented
Already missing
Needed for the new use cases
PRs