mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-06 04:09:40 -06:00
1.9 KiB
1.9 KiB
title, date, weight, geekdocRepo, geekdocEditPath, geekdocFilePath
| title | date | weight | geekdocRepo | geekdocEditPath | geekdocFilePath |
|---|---|---|---|---|---|
| 18. File Search API | 2022-03-18T09:00:00+01:00 | 18 | https://github.com/owncloud/ocis | edit/master/docs/ocis/adr | 0018-file-search-api.md |
- Status: proposed
- Deciders: @butonic, @micbar, @dragotin, @C0rby
- Date: 2022-03-18
Context and Problem Statement
The ability to find files based on certain search terms is a key requirement for a system that provides the ability to store unstructured data on a large scale.
Decision Drivers
- Have a simple yet powerful, scalable and performant way of finding files in oCIS
- Be able to construct intelligent searches based on metadata
- Allow the user to filter the search queries based on metadata
Considered Options
Decision Outcome
Chosen option: WebDAV API because the current WebUI is compatible with that API. We may use the GraphAPI later in a second iteration.
Positive Consequences
- The existing Clients can continue to use the well-known API
- There are existing API tests which cover the basic behavior
Negative consequences
- We have no server side result filtering capabilities
Pros and Cons of the Options
Libre Graph API
- Good, because we try to switch most of our HTTP requests to Libre Graph
- Good, because the Graph API supports scopes, sorting and query language
- Good, because it supports server side result filtering
- Bad, because there are currently no clients which support that
WebDAV API
- Good, because WebDAV is a well-known and widely adopted Standard
- Good, because existing Clients continue to work without extra efforts
- Bad, because the syntax is limited
- Bad, because we cannot do server side result filtering