18. File Search API
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.
- 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
Chosen option: WebDAV API because the current WebUI is compatible with that API. We may use the GraphAPI later in a second iteration.
- The existing Clients can continue to use the well-known API
- There are existing API tests which cover the basic behavior
- We have no server side result filtering capabilities
- 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
- 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