Files
opencloud/docs/ocis/adr/0018-file-search-api.md
2022-04-08 23:50:00 +02:00

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