From 09dac2fdd0d0a27084d89a7e4b22be3494bfcff8 Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Fri, 4 Dec 2020 09:12:29 +0100 Subject: [PATCH] Document optional unified search result entry attributes Signed-off-by: Christoph Wurst --- .../upgrade-guide.rst | 2 +- developer_manual/digging_deeper/search.rst | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/developer_manual/app_publishing_maintenance/upgrade-guide.rst b/developer_manual/app_publishing_maintenance/upgrade-guide.rst index ee75f3280..e28cd8bb5 100644 --- a/developer_manual/app_publishing_maintenance/upgrade-guide.rst +++ b/developer_manual/app_publishing_maintenance/upgrade-guide.rst @@ -40,7 +40,7 @@ jQuery was updated to v2.2. The most notable change is that ``$(document).ready( Search ****** -The unified search replaces the traditional search input, hence ``OCA.Search`` became a noop. For backwards compatibility, the code will not raise any errors now, but it does not have any functionality. +The :ref:`unified search` replaces the traditional search input, hence ``OCA.Search`` became a noop. For backwards compatibility, the code will not raise any errors now, but it does not have any functionality. Removed globals *************** diff --git a/developer_manual/digging_deeper/search.rst b/developer_manual/digging_deeper/search.rst index 5979db348..17fbdb7a9 100644 --- a/developer_manual/digging_deeper/search.rst +++ b/developer_manual/digging_deeper/search.rst @@ -1,3 +1,5 @@ +.. _unified-search: + ====== Search ====== @@ -394,3 +396,19 @@ For a **cursor-based pagination** a app-specific property is used to know a refe ); } } + +Optional attributes +^^^^^^^^^^^^^^^^^^^ + +The unified search is available via OCS, which means client application like the mobile apps can use it to get access to the server search mechanism. The default properties of a search result entry might be difficult to parse and interpret in those clients, hence it's possible to add optional string attributes to each entry. + +.. code-block:: php + + addAttribute("type", "deckCard"); + $entry->addAttribute("cardId", "1234"); + $entry->addAttribute("boardId", "567"); + +.. note:: This method was added in Nextcloud 21. If your app also targets Nextcloud 20 you should either not use it or add a version check to invoke the method only conditionally.