diff --git a/docs/about/introduction/knowledge-model.rst b/docs/about/introduction/knowledge-model.rst index 3d92866..4d81112 100644 --- a/docs/about/introduction/knowledge-model.rst +++ b/docs/about/introduction/knowledge-model.rst @@ -108,6 +108,15 @@ Item Select Question The item selection question works in conjunction with the :ref:`list of items question`. It is used to select one of the previously created items within a series of interconnected list of items question. + +.. _file-question: + +File Question +^^^^^^^^^^^^^ + +The file question is used to upload files. We can configure the **file types** that are allowed to be uploaded and the **maximum file size**. + + .. _answer: Answer diff --git a/docs/about/introduction/knowledge-model/knowledge-model-schema.png b/docs/about/introduction/knowledge-model/knowledge-model-schema.png index aa18e5c..f07510e 100644 Binary files a/docs/about/introduction/knowledge-model/knowledge-model-schema.png and b/docs/about/introduction/knowledge-model/knowledge-model-schema.png differ diff --git a/docs/application/administration/locales/detail/detail.png b/docs/application/administration/locales/detail/detail.png index a75790e..e78b9e0 100644 Binary files a/docs/application/administration/locales/detail/detail.png and b/docs/application/administration/locales/detail/detail.png differ diff --git a/docs/application/administration/locales/import/file.png b/docs/application/administration/locales/import/file.png index f84e64c..207a995 100644 Binary files a/docs/application/administration/locales/import/file.png and b/docs/application/administration/locales/import/file.png differ diff --git a/docs/application/administration/locales/import/registry.png b/docs/application/administration/locales/import/registry.png index 72bd648..fd2d4d4 100644 Binary files a/docs/application/administration/locales/import/registry.png and b/docs/application/administration/locales/import/registry.png differ diff --git a/docs/application/administration/locales/index/list.png b/docs/application/administration/locales/index/list.png index a9eaf07..77a3bed 100644 Binary files a/docs/application/administration/locales/index/list.png and b/docs/application/administration/locales/index/list.png differ diff --git a/docs/application/administration/settings/info/usage/usage.png b/docs/application/administration/settings/info/usage/usage.png index db7d0e9..91d780a 100644 Binary files a/docs/application/administration/settings/info/usage/usage.png and b/docs/application/administration/settings/info/usage/usage.png differ diff --git a/docs/application/administration/settings/system/authentication/openid.png b/docs/application/administration/settings/system/authentication/openid.png index 4743488..e44c088 100644 Binary files a/docs/application/administration/settings/system/authentication/openid.png and b/docs/application/administration/settings/system/authentication/openid.png differ diff --git a/docs/application/administration/settings/user-interface/look-and-feel/custom-links.png b/docs/application/administration/settings/user-interface/look-and-feel/custom-links.png index 4305fb8..9ca8844 100644 Binary files a/docs/application/administration/settings/user-interface/look-and-feel/custom-links.png and b/docs/application/administration/settings/user-interface/look-and-feel/custom-links.png differ diff --git a/docs/application/administration/users/detail/password.png b/docs/application/administration/users/detail/password.png index 3d39e75..142fcac 100644 Binary files a/docs/application/administration/users/detail/password.png and b/docs/application/administration/users/detail/password.png differ diff --git a/docs/application/administration/users/detail/profile.png b/docs/application/administration/users/detail/profile.png index 28da29b..711adf3 100644 Binary files a/docs/application/administration/users/detail/profile.png and b/docs/application/administration/users/detail/profile.png differ diff --git a/docs/application/administration/users/index/list.png b/docs/application/administration/users/index/list.png index 774d03d..b13480b 100644 Binary files a/docs/application/administration/users/index/list.png and b/docs/application/administration/users/index/list.png differ diff --git a/docs/application/document-templates/editors/detail/files/files.png b/docs/application/document-templates/editors/detail/files/files.png index df283af..e40c6de 100644 Binary files a/docs/application/document-templates/editors/detail/files/files.png and b/docs/application/document-templates/editors/detail/files/files.png differ diff --git a/docs/application/document-templates/editors/detail/index/editor.png b/docs/application/document-templates/editors/detail/index/editor.png index 7e2e49e..db28929 100644 Binary files a/docs/application/document-templates/editors/detail/index/editor.png and b/docs/application/document-templates/editors/detail/index/editor.png differ diff --git a/docs/application/document-templates/editors/detail/preview/preview.png b/docs/application/document-templates/editors/detail/preview/preview.png index c466485..b184a9b 100644 Binary files a/docs/application/document-templates/editors/detail/preview/preview.png and b/docs/application/document-templates/editors/detail/preview/preview.png differ diff --git a/docs/application/document-templates/editors/detail/publish/modal.png b/docs/application/document-templates/editors/detail/publish/modal.png index 052e045..99abd19 100644 Binary files a/docs/application/document-templates/editors/detail/publish/modal.png and b/docs/application/document-templates/editors/detail/publish/modal.png differ diff --git a/docs/application/document-templates/editors/index/list.png b/docs/application/document-templates/editors/index/list.png index e008476..96887c5 100644 Binary files a/docs/application/document-templates/editors/index/list.png and b/docs/application/document-templates/editors/index/list.png differ diff --git a/docs/application/document-templates/list/detail/detail.png b/docs/application/document-templates/list/detail/detail.png index 71daa92..2bb8ee1 100644 Binary files a/docs/application/document-templates/list/detail/detail.png and b/docs/application/document-templates/list/detail/detail.png differ diff --git a/docs/application/document-templates/list/import/file.png b/docs/application/document-templates/list/import/file.png index cdf0010..c3c04f8 100644 Binary files a/docs/application/document-templates/list/import/file.png and b/docs/application/document-templates/list/import/file.png differ diff --git a/docs/application/document-templates/list/index/list.png b/docs/application/document-templates/list/index/list.png index 3ce6d9a..bb0c097 100644 Binary files a/docs/application/document-templates/list/index/list.png and b/docs/application/document-templates/list/index/list.png differ diff --git a/docs/application/documents/index/list.png b/docs/application/documents/index/list.png index d7b70ea..c4a8477 100644 Binary files a/docs/application/documents/index/list.png and b/docs/application/documents/index/list.png differ diff --git a/docs/application/knowledge-models/editors/detail/index/km-editor.png b/docs/application/knowledge-models/editors/detail/index/km-editor.png index 500cbec..96d3f53 100644 Binary files a/docs/application/knowledge-models/editors/detail/index/km-editor.png and b/docs/application/knowledge-models/editors/detail/index/km-editor.png differ diff --git a/docs/application/knowledge-models/editors/detail/knowledge-model/editor-form.png b/docs/application/knowledge-models/editors/detail/knowledge-model/editor-form.png index 127da60..f5431be 100644 Binary files a/docs/application/knowledge-models/editors/detail/knowledge-model/editor-form.png and b/docs/application/knowledge-models/editors/detail/knowledge-model/editor-form.png differ diff --git a/docs/application/knowledge-models/editors/detail/knowledge-model/navigation.png b/docs/application/knowledge-models/editors/detail/knowledge-model/navigation.png index c560d3e..e6af73a 100644 Binary files a/docs/application/knowledge-models/editors/detail/knowledge-model/navigation.png and b/docs/application/knowledge-models/editors/detail/knowledge-model/navigation.png differ diff --git a/docs/application/knowledge-models/editors/detail/knowledge-model/warnings.png b/docs/application/knowledge-models/editors/detail/knowledge-model/warnings.png index 90243a2..ad32a8e 100644 Binary files a/docs/application/knowledge-models/editors/detail/knowledge-model/warnings.png and b/docs/application/knowledge-models/editors/detail/knowledge-model/warnings.png differ diff --git a/docs/application/knowledge-models/editors/detail/phases/phases-editor.png b/docs/application/knowledge-models/editors/detail/phases/phases-editor.png index f646cf7..d6a8f42 100644 Binary files a/docs/application/knowledge-models/editors/detail/phases/phases-editor.png and b/docs/application/knowledge-models/editors/detail/phases/phases-editor.png differ diff --git a/docs/application/knowledge-models/editors/detail/preview/preview.png b/docs/application/knowledge-models/editors/detail/preview/preview.png index f471c59..92ee2cc 100644 Binary files a/docs/application/knowledge-models/editors/detail/preview/preview.png and b/docs/application/knowledge-models/editors/detail/preview/preview.png differ diff --git a/docs/application/knowledge-models/editors/detail/question-tags/question-tag-editor.png b/docs/application/knowledge-models/editors/detail/question-tags/question-tag-editor.png index 40dd958..5dfbe48 100644 Binary files a/docs/application/knowledge-models/editors/detail/question-tags/question-tag-editor.png and b/docs/application/knowledge-models/editors/detail/question-tags/question-tag-editor.png differ diff --git a/docs/application/knowledge-models/editors/detail/settings/settings-form.png b/docs/application/knowledge-models/editors/detail/settings/settings-form.png index 720e761..85e73cd 100644 Binary files a/docs/application/knowledge-models/editors/detail/settings/settings-form.png and b/docs/application/knowledge-models/editors/detail/settings/settings-form.png differ diff --git a/docs/application/knowledge-models/editors/index/knowledge-model-editors-list.png b/docs/application/knowledge-models/editors/index/knowledge-model-editors-list.png index 5cffb97..40ed001 100644 Binary files a/docs/application/knowledge-models/editors/index/knowledge-model-editors-list.png and b/docs/application/knowledge-models/editors/index/knowledge-model-editors-list.png differ diff --git a/docs/application/knowledge-models/editors/migration/migration.png b/docs/application/knowledge-models/editors/migration/migration.png index 4bf021c..6e1a314 100644 Binary files a/docs/application/knowledge-models/editors/migration/migration.png and b/docs/application/knowledge-models/editors/migration/migration.png differ diff --git a/docs/application/knowledge-models/list/detail/detail.png b/docs/application/knowledge-models/list/detail/detail.png index 0fa7608..e64f224 100644 Binary files a/docs/application/knowledge-models/list/detail/detail.png and b/docs/application/knowledge-models/list/detail/detail.png differ diff --git a/docs/application/knowledge-models/list/import/file.png b/docs/application/knowledge-models/list/import/file.png index 3bcc0b6..6cd3222 100644 Binary files a/docs/application/knowledge-models/list/import/file.png and b/docs/application/knowledge-models/list/import/file.png differ diff --git a/docs/application/knowledge-models/list/import/registry.png b/docs/application/knowledge-models/list/import/registry.png index fb4ec92..7230f71 100644 Binary files a/docs/application/knowledge-models/list/import/registry.png and b/docs/application/knowledge-models/list/import/registry.png differ diff --git a/docs/application/knowledge-models/list/index/list.png b/docs/application/knowledge-models/list/index/list.png index af9e186..11aac8b 100644 Binary files a/docs/application/knowledge-models/list/index/list.png and b/docs/application/knowledge-models/list/index/list.png differ diff --git a/docs/application/profile/about/modal.png b/docs/application/profile/about/modal.png index 2d07ef3..6ce60dc 100644 Binary files a/docs/application/profile/about/modal.png and b/docs/application/profile/about/modal.png differ diff --git a/docs/application/profile/assigned-comments/list.png b/docs/application/profile/assigned-comments/list.png index cfd743d..2f401b1 100644 Binary files a/docs/application/profile/assigned-comments/list.png and b/docs/application/profile/assigned-comments/list.png differ diff --git a/docs/application/profile/edit/active-sessions/form.png b/docs/application/profile/edit/active-sessions/form.png index f5dc088..c12adf1 100644 Binary files a/docs/application/profile/edit/active-sessions/form.png and b/docs/application/profile/edit/active-sessions/form.png differ diff --git a/docs/application/profile/edit/api-keys/form.png b/docs/application/profile/edit/api-keys/form.png index 1ae5fa5..fd5e357 100644 Binary files a/docs/application/profile/edit/api-keys/form.png and b/docs/application/profile/edit/api-keys/form.png differ diff --git a/docs/application/profile/edit/index/form.png b/docs/application/profile/edit/index/form.png index 8ceac08..c59f38e 100644 Binary files a/docs/application/profile/edit/index/form.png and b/docs/application/profile/edit/index/form.png differ diff --git a/docs/application/profile/edit/password/form.png b/docs/application/profile/edit/password/form.png index b83c71e..5c966e7 100644 Binary files a/docs/application/profile/edit/password/form.png and b/docs/application/profile/edit/password/form.png differ diff --git a/docs/application/profile/index/menu.png b/docs/application/profile/index/menu.png index 2c25b63..8ee5c04 100644 Binary files a/docs/application/profile/index/menu.png and b/docs/application/profile/index/menu.png differ diff --git a/docs/application/projects/importers/importers.png b/docs/application/projects/importers/importers.png index 316ea8b..3b0d83e 100644 Binary files a/docs/application/projects/importers/importers.png and b/docs/application/projects/importers/importers.png differ diff --git a/docs/application/projects/list/create/project-create.png b/docs/application/projects/list/create/project-create.png index 016e9ee..41bfc6d 100644 Binary files a/docs/application/projects/list/create/project-create.png and b/docs/application/projects/list/create/project-create.png differ diff --git a/docs/application/projects/list/detail/documents/list.png b/docs/application/projects/list/detail/documents/list.png index 96e0e55..6008d11 100644 Binary files a/docs/application/projects/list/detail/documents/list.png and b/docs/application/projects/list/detail/documents/list.png differ diff --git a/docs/application/projects/list/detail/documents/new.png b/docs/application/projects/list/detail/documents/new.png index 30f65c1..7a8f5c6 100644 Binary files a/docs/application/projects/list/detail/documents/new.png and b/docs/application/projects/list/detail/documents/new.png differ diff --git a/docs/application/projects/list/detail/index/questionnaire.png b/docs/application/projects/list/detail/index/questionnaire.png index aef5ed8..434985b 100644 Binary files a/docs/application/projects/list/detail/index/questionnaire.png and b/docs/application/projects/list/detail/index/questionnaire.png differ diff --git a/docs/application/projects/list/detail/metrics/metrics.png b/docs/application/projects/list/detail/metrics/metrics.png index f41be37..6dc6b64 100644 Binary files a/docs/application/projects/list/detail/metrics/metrics.png and b/docs/application/projects/list/detail/metrics/metrics.png differ diff --git a/docs/application/projects/list/detail/preview/document-template-not-set.png b/docs/application/projects/list/detail/preview/document-template-not-set.png index cc58822..64b0b44 100644 Binary files a/docs/application/projects/list/detail/preview/document-template-not-set.png and b/docs/application/projects/list/detail/preview/document-template-not-set.png differ diff --git a/docs/application/projects/list/detail/preview/download.png b/docs/application/projects/list/detail/preview/download.png index 50703a5..d6fdaf3 100644 Binary files a/docs/application/projects/list/detail/preview/download.png and b/docs/application/projects/list/detail/preview/download.png differ diff --git a/docs/application/projects/list/detail/preview/preview-html.png b/docs/application/projects/list/detail/preview/preview-html.png index fbed910..72745ed 100644 Binary files a/docs/application/projects/list/detail/preview/preview-html.png and b/docs/application/projects/list/detail/preview/preview-html.png differ diff --git a/docs/application/projects/list/detail/questionnaire.rst b/docs/application/projects/list/detail/questionnaire.rst index 8431f96..445c326 100644 --- a/docs/application/projects/list/detail/questionnaire.rst +++ b/docs/application/projects/list/detail/questionnaire.rst @@ -156,6 +156,20 @@ The item selection question is used together with the list of items question. Wh .. Item select question with a list of items as possible answers. +File Question +------------- + +File question is used when we need to upload a file as an answer. We can simply click on the :guilabel:`Upload File` button and select the file from our computer. We can also drag and drop the file into the input field. + +.. TODO:: + + Add a screenshot of the file question. + +.. .. figure:: questionnaire/file-question.png + +.. File select question with a list of items as possible answers. + + View settings ============= diff --git a/docs/application/projects/list/detail/questionnaire/chapter-list.png b/docs/application/projects/list/detail/questionnaire/chapter-list.png index c97ab7e..673586e 100644 Binary files a/docs/application/projects/list/detail/questionnaire/chapter-list.png and b/docs/application/projects/list/detail/questionnaire/chapter-list.png differ diff --git a/docs/application/projects/list/detail/questionnaire/comments.png b/docs/application/projects/list/detail/questionnaire/comments.png index 50eb980..53c0ef9 100644 Binary files a/docs/application/projects/list/detail/questionnaire/comments.png and b/docs/application/projects/list/detail/questionnaire/comments.png differ diff --git a/docs/application/projects/list/detail/questionnaire/integration-question.png b/docs/application/projects/list/detail/questionnaire/integration-question.png index 5d14ae0..ab4d066 100644 Binary files a/docs/application/projects/list/detail/questionnaire/integration-question.png and b/docs/application/projects/list/detail/questionnaire/integration-question.png differ diff --git a/docs/application/projects/list/detail/questionnaire/item-select-question.png b/docs/application/projects/list/detail/questionnaire/item-select-question.png index a2d2260..e12ad8c 100644 Binary files a/docs/application/projects/list/detail/questionnaire/item-select-question.png and b/docs/application/projects/list/detail/questionnaire/item-select-question.png differ diff --git a/docs/application/projects/list/detail/questionnaire/list-of-items-question.png b/docs/application/projects/list/detail/questionnaire/list-of-items-question.png index 7d05f3f..d2145fe 100644 Binary files a/docs/application/projects/list/detail/questionnaire/list-of-items-question.png and b/docs/application/projects/list/detail/questionnaire/list-of-items-question.png differ diff --git a/docs/application/projects/list/detail/questionnaire/multi-choice-question.png b/docs/application/projects/list/detail/questionnaire/multi-choice-question.png index 918b824..65e9c98 100644 Binary files a/docs/application/projects/list/detail/questionnaire/multi-choice-question.png and b/docs/application/projects/list/detail/questionnaire/multi-choice-question.png differ diff --git a/docs/application/projects/list/detail/questionnaire/options-question.png b/docs/application/projects/list/detail/questionnaire/options-question.png index f4f9dc9..69f1722 100644 Binary files a/docs/application/projects/list/detail/questionnaire/options-question.png and b/docs/application/projects/list/detail/questionnaire/options-question.png differ diff --git a/docs/application/projects/list/detail/questionnaire/todos.png b/docs/application/projects/list/detail/questionnaire/todos.png index 4b15c1c..1583673 100644 Binary files a/docs/application/projects/list/detail/questionnaire/todos.png and b/docs/application/projects/list/detail/questionnaire/todos.png differ diff --git a/docs/application/projects/list/detail/questionnaire/value-question.png b/docs/application/projects/list/detail/questionnaire/value-question.png index 9dfd94c..5a96613 100644 Binary files a/docs/application/projects/list/detail/questionnaire/value-question.png and b/docs/application/projects/list/detail/questionnaire/value-question.png differ diff --git a/docs/application/projects/list/detail/questionnaire/version-history.png b/docs/application/projects/list/detail/questionnaire/version-history.png index b9f68c3..bdbeaa8 100644 Binary files a/docs/application/projects/list/detail/questionnaire/version-history.png and b/docs/application/projects/list/detail/questionnaire/version-history.png differ diff --git a/docs/application/projects/list/detail/questionnaire/warnings.png b/docs/application/projects/list/detail/questionnaire/warnings.png index d963be7..bcdda83 100644 Binary files a/docs/application/projects/list/detail/questionnaire/warnings.png and b/docs/application/projects/list/detail/questionnaire/warnings.png differ diff --git a/docs/application/projects/list/detail/settings/settings.png b/docs/application/projects/list/detail/settings/settings.png index 561fc23..12c791d 100644 Binary files a/docs/application/projects/list/detail/settings/settings.png and b/docs/application/projects/list/detail/settings/settings.png differ diff --git a/docs/application/projects/list/detail/sharing/share-modal.png b/docs/application/projects/list/detail/sharing/share-modal.png index a210399..c187dab 100644 Binary files a/docs/application/projects/list/detail/sharing/share-modal.png and b/docs/application/projects/list/detail/sharing/share-modal.png differ diff --git a/docs/application/projects/list/index/project-list.png b/docs/application/projects/list/index/project-list.png index 9dc8776..bfdcb57 100644 Binary files a/docs/application/projects/list/index/project-list.png and b/docs/application/projects/list/index/project-list.png differ diff --git a/docs/application/projects/list/migration/create.png b/docs/application/projects/list/migration/create.png index 84a38cd..1d47bc0 100644 Binary files a/docs/application/projects/list/migration/create.png and b/docs/application/projects/list/migration/create.png differ diff --git a/docs/application/projects/list/migration/migration.png b/docs/application/projects/list/migration/migration.png index 8c58319..6d4f280 100644 Binary files a/docs/application/projects/list/migration/migration.png and b/docs/application/projects/list/migration/migration.png differ diff --git a/docs/conf.py b/docs/conf.py index 32c7de6..9676750 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -25,7 +25,7 @@ project_name_full = 'Data Stewardship Wizard' # The full version, including alpha/beta/rc tags -version = release = '4.11' +version = release = '4.12' rst_prolog = f""" diff --git a/docs/more/development/document-templates/document-context.rst b/docs/more/development/document-templates/document-context.rst index 36ae6c7..ce8f05f 100644 --- a/docs/more/development/document-templates/document-context.rst +++ b/docs/more/development/document-templates/document-context.rst @@ -176,6 +176,19 @@ Questionnaire - ``updated_at`` (``datetime``) +.. _odc-questionnaire-file: + +QuestionnaireFile +~~~~~~~~~~~~~~~~~~~~ + +- ``uuid`` (``str``) +- ``name`` (``str``) +- ``size`` (``int``) +- ``content_type`` (``str``) +- ``reply`` (``Optional[``\ :ref:`odc-file-reply`\ ``]``) +- ``download_url`` (``str``) + + .. _odc-questionnaire-version: QuestionnaireVersion @@ -469,6 +482,14 @@ ItemSelectQuestion - ``list_question`` (``Optional[``\ :ref:`odc-list-question`\ ``]``) +.. _odc-file-question: + +FileQuestion +'''''''''''' + +- ``max_size`` (``Optional[int]``) - maximum file size (in bytes) allowed +- ``file_types`` (``Optional[str]``) - comma-separated file type specifications + .. _odc-answer: @@ -711,6 +732,23 @@ Notes: - ``question`` is always :ref:`odc-value-question` +.. _odc-file-reply: + +FileReply +^^^^^^^^^^^ + +- ``file_uuid`` (``str``) +- ``file`` (``Optional[``\ :ref:`odc-questionnaire-file`\ ``]``) - ``None`` if file has been deleted + +Aliases: + +- ``value`` (``str``) - same as ``file_uuid`` + +Notes: + +- ``question`` is always :ref:`odc-file-question` + + ItemListReply ^^^^^^^^^^^^^ diff --git a/docs/more/development/document-templates/document-context.svg b/docs/more/development/document-templates/document-context.svg index ff4c366..55c761b 100644 --- a/docs/more/development/document-templates/document-context.svg +++ b/docs/more/development/document-templates/document-context.svg @@ -6,7 +6,7 @@ text-rendering="auto" stroke="black" stroke-linecap="square" - width="2680" + width="2750" stroke-miterlimit="10" shape-rendering="auto" stroke-opacity="1" @@ -14,7 +14,7 @@ stroke-dasharray="none" font-weight="normal" stroke-width="1" - viewBox="-20 -20 2680 1570" + viewBox="-20 -20 2750 1570" height="1570" font-family="'Dialog'" font-style="normal" @@ -23,7 +23,7 @@ stroke-dashoffset="0" image-rendering="auto" version="1.1" - id="svg663" + id="svg697" sodipodi:docname="document-context.svg" inkscape:version="1.3.2 (091e20e, 2023-11-25)" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" @@ -31,35 +31,35 @@ xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"> + inkscape:current-layer="svg697" /> + id="g697"> + + + + + + + + + + + + + id="g104"> + id="rect104" /> + transform="translate(2140,650)" + id="g107"> + id="rect105" /> UserGroup + id="text105">FileQuestion + id="path105" /> uuid: str + id="text106">max_size: Optional[str] name: str - description: Optional[str] - private: bool + id="text107">file_types: Optional[str] + id="g108"> + id="rect107" /> + transform="translate(0,1360)" + id="g111"> + id="rect108" /> GroupPermission + id="text108">FileReply + id="path108" /> group: UserGroup + id="text109">file_uuid: str permissions: list[str] - - - - - - - UserPermission + id="text110">file: Optional[QuestionnaireFile] - user: User + id="path110" /> permissions: list[str] + id="text111">value: str + transform="translate(0,1080)" + id="g118"> ResourcePage + id="text112">QuestionnaireFile title: str + id="text114">name: str content: str + id="text115">size: int annotations: dict[str,str] - - content_type: str + reply: Optional[FileReply] + download_url: str + + + id="g119"> + id="rect118" /> + transform="translate(20,90)" + id="g123"> + clip-path="url(#clipPath5)" + id="rect119" /> ResourceCollection + id="text119">UserGroup + d="M1 23.8174 L169 23.8174" + clip-path="url(#clipPath5)" + id="path119" /> uuid: str + id="text120">uuid: str title: str + id="text121">name: str page_uuids: list[str] + id="text122">description: Optional[str] pages: list[ResourcePage] - annotations: dict[str,str] + id="text123">private: bool + id="g124"> + id="rect123" /> + clip-path="url(#clipPath6)" + id="rect124" /> ItemSelectReply + id="text124">GroupPermission + d="M1 23.8174 L169 23.8174" + clip-path="url(#clipPath6)" + id="path124" /> item_uuid: str + id="text125">group: UserGroup item_title: str - - value: str + id="text126">permissions: list[str] ItemSelectQuestion + id="text127">UserPermission list_question_uuid: str + id="text128">user: User list_question: ListQuestion + id="text129">permissions: list[str] + transform="translate(1960,1330)" + id="g134"> WidgetIntegration + id="text130">ResourcePage uuid: str + title: str + content: str + widget_url: str + id="text134">annotations: dict[str,str] + id="g135"> + id="rect134" /> + id="rect135" /> ApiIntegration + id="text135">ResourceCollection + id="path135" /> rq_url: str + id="text136">uuid: str rq_method: str + id="text137">title: str rq_headers: dict[str,str] + id="text138">page_uuids: list[str] rq_body: str + id="text139">pages: list[ResourcePage] rq_empty_search: bool - rs_list_field: Optional[str] - rs_item_id: Optional[str] - rs_item_template: str + id="text140">annotations: dict[str,str] + transform="translate(430,1360)" + id="g144"> ResourcePageReference + id="text141">ItemSelectReply resource_page_uuid: str + id="text142">item_uuid: str resource_page: ResourcePage + id="text143">item_title: str + + value: str + id="g145"> + id="rect144" /> + transform="translate(2140,460)" + id="g147"> + clip-path="url(#clipPath2)" + id="rect145" /> URLReference + id="text145">ItemSelectQuestion + d="M1 23.8174 L189 23.8174" + clip-path="url(#clipPath2)" + id="path145" /> label: str + id="text146">list_question_uuid: str url: str + id="text147">list_question: ListQuestion + id="g148"> + id="rect147" /> + transform="translate(1140,1200)" + id="g149"> + clip-path="url(#clipPath2)" + id="rect148" /> Reference + id="text148">WidgetIntegration + d="M1 23.8174 L189 23.8174" + clip-path="url(#clipPath2)" + id="path148" /> uuid: str + id="text149">widget_url: str + + + + + + + ApiIntegration + + rq_url: str type: str + id="text152">rq_method: str annotations: dict[str,str] + id="text153">rq_headers: dict[str,str] + rq_body: str + rq_empty_search: bool + rs_list_field: Optional[str] + rs_item_id: Optional[str] + rs_item_template: str + id="g159"> + id="rect158" /> + transform="translate(1750,1190)" + id="g161"> + id="rect159" /> Expert + id="text159">ResourcePageReference + id="path159" /> uuid: str + id="text160">resource_page_uuid: str name: str + id="text161">resource_page: ResourcePage + + + + + + + URLReference + email: str + id="text163">label: str annotations: dict[str,str] + id="text164">url: str + id="g165"> + id="rect164" /> + transform="translate(2030,1100)" + id="g168"> + id="rect165" /> ReportItem + id="text165">Reference + id="path165" /> indications: list[ReportIndication] + id="text166">uuid: str metrics: list[ReportMetric] + id="text167">type: str chapter: Optional[Chapter] + id="text168">annotations: dict[str,str] + id="g169"> + id="rect168" /> + transform="translate(1350,930)" + id="g173"> + id="rect169" /> ReportIndication + id="text169">Expert + id="path169" /> indication_type: str + id="text170">uuid: str answered: int + id="text171">name: str unanswered: int + id="text172">email: str total: int + id="text173">annotations: dict[str,str] + + + + + + + ReportItem + + indications: list[ReportIndication] + metrics: list[ReportMetric] + chapter: Optional[Chapter] + + + + + + + ReportIndication + + indication_type: str + answered: int + unanswered: int + total: int percentage: float + id="text183">percentage: float is_for_phase: bool + id="text184">is_for_phase: bool is_overall: bool + id="text185">is_overall: bool + id="g186"> + id="rect185" /> + transform="translate(1340,110)" + id="g188"> + clip-path="url(#clipPath15)" + id="rect186" /> ReportMetric + id="text186">ReportMetric + clip-path="url(#clipPath15)" + id="path186" /> measure: float + id="text187">measure: float metric: Metric + id="text188">metric: Metric + id="g189"> + id="rect188" /> + transform="translate(600,0)" + id="g194"> + clip-path="url(#clipPath13)" + id="rect189" /> Report + id="text189">Report + clip-path="url(#clipPath13)" + id="path189" /> uuid: str + id="text190">uuid: str total_report: ReportItem + id="text191">total_report: ReportItem chapter_reports: list[ReportItem] + id="text192">chapter_reports: list[ReportItem] created_at: datetime + id="text193">created_at: datetime updated_at: datetime + id="text194">updated_at: datetime + id="g195"> + id="rect194" /> + transform="translate(2450,430)" + id="g202"> + clip-path="url(#clipPath16)" + id="rect195" /> Answer + id="text195">Answer + clip-path="url(#clipPath16)" + id="path195" /> uuid: str + id="text196">uuid: str label: str + id="text197">label: str advice: Optional[str] + id="text198">advice: Optional[str] metric_measures: list[MetricMeasure] + id="text199">metric_measures: list[MetricMeasure] followups: list[Question] + id="text200">followups: list[Question] parent: OptionsQuestion + id="text201">parent: OptionsQuestion annotations: dict[str,str] + id="text202">annotations: dict[str,str] + id="g203"> + id="rect202" /> + transform="translate(2140,910)" + id="g207"> + clip-path="url(#clipPath12)" + id="rect203" /> Choice + id="text203">Choice + clip-path="url(#clipPath12)" + id="path203" /> uuid: str + id="text204">uuid: str label: str + id="text205">label: str parent: MultiChoiceQuestion + id="text206">parent: MultiChoiceQuestion annotations: dict[str,str] + id="text207">annotations: dict[str,str] + id="g208"> + id="rect207" /> + transform="translate(2540,230)" + id="g211"> + clip-path="url(#clipPath17)" + id="rect208" /> MetricMeasure + id="text208">MetricMeasure + clip-path="url(#clipPath17)" + id="path208" /> measure: float + id="text209">measure: float weight: float + id="text210">weight: float metric: Metric + id="text211">metric: Metric + id="g212"> + id="rect211" /> + transform="translate(970,1360)" + id="g215"> + clip-path="url(#clipPath3)" + id="rect212" /> StringReply + id="text212">StringReply + clip-path="url(#clipPath3)" + id="path212" /> value: str + id="text213">value: str + clip-path="url(#clipPath3)" + id="path213" /> as_number: Optional[float] + id="text214">as_number: Optional[float] as_datetime: Optional[datetime] + id="text215">as_datetime: Optional[datetime] + id="g216"> + id="rect215" /> + transform="translate(250,1360)" + id="g219"> + clip-path="url(#clipPath8)" + id="rect216" /> MultiChoiceReply + id="text216">MultiChoiceReply + clip-path="url(#clipPath8)" + id="path216" /> choice_uuids: list[str] + id="text217">choice_uuids: list[str] choices: list[Choice] + id="text218">choices: list[Choice] + clip-path="url(#clipPath8)" + id="path218" /> value: list[str] + id="text219">value: list[str] + id="g220"> + id="rect219" /> + transform="translate(610,1360)" + id="g222"> + clip-path="url(#clipPath8)" + id="rect220" /> ItemListReply + id="text220">ItemListReply + clip-path="url(#clipPath8)" + id="path220" /> items: list[str] + id="text221">items: list[str] + clip-path="url(#clipPath8)" + id="path221" /> value: list[str] + id="text222">value: list[str] + id="g223"> + id="rect222" /> + transform="translate(790,1360)" + id="g229"> + clip-path="url(#clipPath18)" + id="rect223" /> IntegrationReply + id="text223">IntegrationReply + clip-path="url(#clipPath18)" + id="path223" /> value: str + id="text224">value: str item_id: Optional[str] + id="text225">item_id: Optional[str] is_plain: bool + id="text226">is_plain: bool is_integration: bool + id="text227">is_integration: bool + clip-path="url(#clipPath18)" + id="path227" /> id: Optional[str] + id="text228">id: Optional[str] url: Optional[str] + id="text229">url: Optional[str] + id="g230"> + id="rect229" /> + transform="translate(640,880)" + id="g237"> + clip-path="url(#clipPath19)" + id="rect230" /> RepliesContainer + id="text230">RepliesContainer + clip-path="url(#clipPath19)" + id="path230" /> replies: dict[str, Reply] + id="text231">replies: dict[str, Reply] + clip-path="url(#clipPath19)" + id="path231" /> get(path: str) -> Optional[Reply] + id="text232">get(path: str) -> Optional[Reply] values(path: str) -> Iterable[Reply] + id="text233">values(path: str) -> Iterable[Reply] keys(path: str) -> Iterable[str] + id="text234">keys(path: str) -> Iterable[str] items(path: str) -> ItemsView[str,Reply] + id="text235">items(path: str) -> ItemsView[str,Reply] iterate_by_prefix(path_prefix: str): Iterable[Reply] + id="text236">iterate_by_prefix(path_prefix: str): Iterable[Reply] iterate_by_suffix(path_suffix: str): Iterable[Reply] + id="text237">iterate_by_suffix(path_suffix: str): Iterable[Reply] + id="g238"> + id="rect237" /> + transform="translate(470,1150)" + id="g243"> + clip-path="url(#clipPath4)" + id="rect238" /> SimpleAuthor + id="text238">SimpleAuthor + clip-path="url(#clipPath4)" + id="path238" /> uuid: str + id="text239">uuid: str first_name: str + id="text240">first_name: str last_name: str + id="text241">last_name: str image_url: Optional[str] + id="text242">image_url: Optional[str] gravatar_hash: Optional[str] + id="text243">gravatar_hash: Optional[str] + id="g244"> + id="rect243" /> + transform="translate(20,510)" + id="g255"> + id="rect244" /> User + id="text244">User + id="path244" /> uuid: str + id="text245">uuid: str first_name: str + id="text246">first_name: str last_name: str + id="text247">last_name: str email: str + id="text248">email: str role: str + id="text249">role: str image_url: Optional[str] + id="text250">image_url: Optional[str] affiliation: Optional[str] + id="text251">affiliation: Optional[str] permissions: list[str] + id="text252">permissions: list[str] sources: list[str] + id="text253">sources: list[str] created_at: datetime + id="text254">created_at: datetime updated_at: datetime + id="text255">updated_at: datetime + id="g256"> + id="rect255" /> + transform="translate(200,790)" + id="g269"> + id="rect256" /> Questionnaire + id="text256">Questionnaire + id="path256" /> uuid: str + id="text257">uuid: str name: str + id="text258">name: str description: str + id="text259">description: str project_tags: list[str] + id="text260">project_tags: list[str] version: QuestionnaireVersion + id="text261">version: QuestionnaireVersion versions: list[QuestionnaireVersion] + id="text262">versions: list[QuestionnaireVersion] todos: list[str] + id="text263">todos: list[str] phase: Optional[Phase] + id="text264">phase: Optional[Phase] replies: RepliesContainer + id="text265">replies: RepliesContainer created_by: User + id="text266">files: dict[str, QuestionnaireFile] created_at: datetime + id="text267">created_by: User updated_at: datetime + id="text268">created_at: datetime + updated_at: datetime + id="g270"> + id="rect269" /> + transform="translate(220,1080)" + id="g277"> + id="rect270" /> QuestionnaireVersion + id="text270">QuestionnaireVersion + id="path270" /> uuid: str + id="text271">uuid: str event_uuid: str + id="text272">event_uuid: str name: str + id="text273">name: str description: str + id="text274">description: str created_by: Optional[SimpleAuthor] + id="text275">created_by: Optional[SimpleAuthor] created_at: datetime + id="text276">created_at: datetime updated_at: datetime + id="text277">updated_at: datetime + id="g278"> + id="rect277" /> + transform="translate(290,540)" + id="g287"> + id="rect278" /> Package + id="text278">Package + id="path278" /> id: str + id="text279">id: str organization_id: str + id="text280">organization_id: str km_id: str + id="text281">km_id: str version: str + id="text282">version: str versions: list[str] + id="text283">versions: list[str] name: str + id="text284">name: str description: str + id="text285">description: str created_at: datetime + id="text286">created_at: datetime + id="path286" /> org_id: str + id="text287">org_id: str + id="g288"> + id="rect287" /> + transform="translate(290,430)" + id="g292"> + id="rect288" /> Organization + id="text288">Organization + id="path288" /> id: str + id="text289">id: str name: str + id="text290">name: str description: Optional[str] + id="text291">description: Optional[str] affiliation: list[str] + id="text292">affiliation: list[str] + id="g293"> + id="rect292" /> + transform="translate(250,280)" + id="g300"> + id="rect293" /> Document + id="text293">Document + id="path293" /> uuid: str + id="text294">uuid: str name: str + id="text295">name: str document_template_id: str + id="text296">document_template_id: str format_uuid: str + id="text297">format_uuid: str created_by: User + id="text298">created_by: User created_at: datetime + id="text299">created_at: datetime updated_at: datetime + id="text300">updated_at: datetime + id="g301"> + id="rect300" /> + transform="translate(290,220)" + id="g302"> + id="rect301" /> ContextConfig + id="text301">ContextConfig + id="path301" /> client_url: str + id="text302">client_url: str + id="g303"> + id="rect302" /> + transform="translate(770,1150)" + id="g309"> + id="rect303" /> Reply + id="text303">Reply + id="path303" /> path: str + id="text304">path: str fragments: list[str] + id="text305">fragments: list[str] reply_type: str + id="text306">reply_type: str question: Question + id="text307">question: Question created_by: Optional[SimpleAuthor] + id="text308">created_by: Optional[SimpleAuthor] created_at: datetime + id="text309">created_at: datetime + id="g310"> + id="rect309" /> + transform="translate(1220,1360)" + id="g313"> + id="rect310" /> AnswerReply + id="text310">AnswerReply + id="path310" /> answer_uuid: str + id="text311">answer_uuid: str answer: Answer + id="text312">answer: Answer + id="path312" /> value: str + id="text313">value: str + id="g314"> + id="rect313" /> + transform="translate(940,220)" + id="g324"> + id="rect314" /> KnowledgeModelEntities + id="text314">KnowledgeModelEntities + id="path314" /> answers: dict[str,Answer] + id="text315">answers: dict[str,Answer] chapters: dict[str,Chapter] + id="text316">chapters: dict[str,Chapter] choices: dict[str,Choice] + id="text317">choices: dict[str,Choice] experts: dict[str,Expert] + id="text318">experts: dict[str,Expert] integrations: dict[str,Integration] + id="text319">integrations: dict[str,Integration] metrics: dict[str,Metric] + id="text320">metrics: dict[str,Metric] phases: dict[str,Phase] + id="text321">phases: dict[str,Phase] questions: dict[str,Question] + id="text322">questions: dict[str,Question] references: dict[str,Reference] + id="text323">references: dict[str,Reference] tags: dict[str,Tag] + id="text324">tags: dict[str,Tag] + id="g325"> + id="rect324" /> + transform="translate(1350,810)" + id="g330"> + clip-path="url(#clipPath7)" + id="rect325" /> Tag + id="text325">Tag + clip-path="url(#clipPath7)" + id="path325" /> uuid: str + id="text326">uuid: str name: str + id="text327">name: str description: Optional[str] + id="text328">description: Optional[str] color: str + id="text329">color: str annotations: dict[str,str] + id="text330">annotations: dict[str,str] + id="g331"> + id="rect330" /> + transform="translate(1140,970)" + id="g340"> + id="rect331" /> Integration + id="text331">Integration + id="path331" /> uuid: str + id="text332">uuid: str id: str + id="text333">id: str name: str + id="text334">name: str type: str + id="text335">type: str logo: Optional[str] + id="text336">logo: Optional[str] props: dict[str,str] + id="text337">props: dict[str,str] item_url: Optional[str] + id="text338">item_url: Optional[str] annotations: dict[str,str] + id="text339">annotations: dict[str,str] + id="path339" /> item(item_id: str) -> str + id="text340">item(item_id: str) -> str + id="g341"> + id="rect340" /> + transform="translate(1340,280)" + id="g346"> + id="rect341" /> Metric + id="text341">Metric + id="path341" /> uuid: str + id="text342">uuid: str title: str + id="text343">title: str description: Optional[str] + id="text344">description: Optional[str] abbreviation: str + id="text345">abbreviation: str annotations: dict[str,str] + id="text346">annotations: dict[str,str] + id="g347"> + id="rect346" /> + transform="translate(1350,630)" + id="g352"> + clip-path="url(#clipPath4)" + id="rect347" /> Phase + id="text347">Phase + clip-path="url(#clipPath4)" + id="path347" /> uuid: str + id="text348">uuid: str title: str + id="text349">title: str description: Optional[str] + id="text350">description: Optional[str] order: int + id="text351">order: int annotations: dict[str,str] + id="text352">annotations: dict[str,str] + id="g353"> + id="rect352" /> + transform="translate(2140,720)" + id="g355"> + clip-path="url(#clipPath2)" + id="rect353" /> IntegrationQuestion + id="text353">IntegrationQuestion + clip-path="url(#clipPath2)" + id="path353" /> integration: Integration + id="text354">integration: Integration props: dict[str,str] + id="text355">props: dict[str,str] + id="g356"> + id="rect355" /> + transform="translate(2140,790)" + id="g357"> + id="rect356" /> MultiChoiceQuestion + id="text356">MultiChoiceQuestion + id="path356" /> choices: list[Choice] + id="text357">choices: list[Choice] + id="g358"> + id="rect357" /> + transform="translate(2140,400)" + id="g359"> + id="rect358" /> ListQuestion + id="text358">ListQuestion + id="path358" /> followups: list[Question] + id="text359">followups: list[Question] + id="g360"> + id="rect359" /> + transform="translate(2140,590)" + id="g361"> + id="rect360" /> ValueQuestion + id="text360">ValueQuestion + id="path360" /> value_type: str + id="text361">value_type: str + id="g362"> + id="rect361" /> + transform="translate(2140,530)" + id="g363"> + id="rect362" /> OptionsQuestion + id="text362">OptionsQuestion + id="path362" /> answers: list[Answer] + id="text363">answers: list[Answer] + id="g364"> + id="rect363" /> + transform="translate(1710,490)" + id="g378"> + id="rect364" /> Question + id="text364">Question + id="path364" /> uuid: str + id="text365">uuid: str type: str + id="text366">type: str title: str + id="text367">title: str text: Optional[str] + id="text368">text: Optional[str] experts: list[Expert] + id="text369">experts: list[Expert] references: list[Reference] + id="text370">references: list[Reference] tags: list[Tag] + id="text371">tags: list[Tag] required_phase: Optional[Phase] + id="text372">required_phase: Optional[Phase] is_required: bool + id="text373">is_required: bool replies: dict[str, Reply] + id="text374">replies: dict[str, Reply] parent: Union[Chapter,ListQuestion,Answer] + id="text375">parent: Union[Chapter,ListQuestion,Answer] annotations: dict[str,str] + id="text376">annotations: dict[str,str] + id="path376" /> url_references: list[URLReference] + id="text377">url_references: list[URLReference] resource_page_references: list[ResourcePageReference] + id="text378">resource_page_references: list[ResourcePageReference] + id="g379"> + id="rect378" /> + transform="translate(1350,490)" + id="g385"> + clip-path="url(#clipPath4)" + id="rect379" /> Chapter + id="text379">Chapter + clip-path="url(#clipPath4)" + id="path379" /> uuid: str + id="text380">uuid: str title: str + id="text381">title: str text: Optional[str] + id="text382">text: Optional[str] questions: list[Question] + id="text383">questions: list[Question] reports: list[ReportItem] + id="text384">reports: list[ReportItem] annotations: dict[str,str] + id="text385">annotations: dict[str,str] + id="g386"> + id="rect385" /> + transform="translate(880,480)" + id="g397"> + id="rect386" /> KnowledgeModel + id="text386">KnowledgeModel + id="path386" /> uuid: str + id="text387">uuid: str chapters: list[Chapter] + id="text388">chapters: list[Chapter] integrations: list[Integration] + id="text389">integrations: list[Integration] metrics: list[Metric] + id="text390">metrics: list[Metric] phases: list[Phase] + id="text391">phases: list[Phase] resource_collections: list[ResourceCollections] + id="text392">resource_collections: list[ResourceCollections] tags: list[Tag] + id="text393">tags: list[Tag] entities: KnowledgeModelEntities + id="text394">entities: KnowledgeModelEntities annotations: dict[str,str] + id="text395">annotations: dict[str,str] + id="path395" /> a: dict[str,str] + id="text396">a: dict[str,str] e: KnowledgeModelEntities + id="text397">e: KnowledgeModelEntities + id="g398"> + id="rect397" /> + transform="translate(600,190)" + id="g415"> + id="rect398" /> DocumentContext + id="text398">DocumentContext + id="path398" /> config: ContextConfig + id="text399">config: ContextConfig current_phase: Optional[Phase] + id="text400">current_phase: Optional[Phase] document: Document + id="text401">document: Document km: KnowledgeModel + id="text402">km: KnowledgeModel organization: Organization + id="text403">organization: Organization package: Package + id="text404">package: Package questionnaire: Questionnaire + id="text405">questionnaire: Questionnaire report: Report + id="text406">report: Report users: list[UserPermission] + id="text407">users: list[UserPermission] groups: list[GroupPermissions] + id="text408">groups: list[GroupPermissions] + id="path408" /> e: KnowledgeModelEntities + id="text409">e: KnowledgeModelEntities cfg: ContextConfig + id="text410">cfg: ContextConfig doc: Document + id="text411">doc: Document qtn: Questionnaire + id="text412">qtn: Questionnaire org: Organization + id="text413">org: Organization pkg: Package + id="text414">pkg: Package replies: RepliesContainer + id="text415">replies: RepliesContainer + + + + + + + + + + + + + 0..* + files + + + + + 0..1 + reply + + + + + 0..1 + file + + + + + + + + transform="translate(50,40)" + id="g435"> + clip-path="url(#clipPath40)" + id="path432" /> + d="M10.5 20.5 L230.5 20.5" + clip-path="url(#clipPath40)" + id="path433" /> + clip-path="url(#clipPath40)" + id="path434" /> 1 + id="text434">1 group + id="text435">group + transform="translate(50,180)" + id="g440"> + clip-path="url(#clipPath41)" + id="path435" /> + clip-path="url(#clipPath41)" + id="path436" /> + clip-path="url(#clipPath41)" + id="path437" /> + d="M160.5 10.5 L230.5 10.5" + clip-path="url(#clipPath41)" + id="path438" /> + clip-path="url(#clipPath41)" + id="path439" /> 1 + id="text439">1 user + id="text440">user + transform="translate(440,70)" + id="g445"> + clip-path="url(#clipPath42)" + id="path440" /> + clip-path="url(#clipPath42)" + id="path441" /> + clip-path="url(#clipPath42)" + id="path442" /> + clip-path="url(#clipPath42)" + id="path443" /> + clip-path="url(#clipPath42)" + id="path444" /> * + id="text444">* groups + id="text445">groups + transform="translate(440,160)" + id="g449"> + clip-path="url(#clipPath11)" + id="path445" /> + clip-path="url(#clipPath11)" + id="path446" /> + clip-path="url(#clipPath11)" + id="path447" /> + clip-path="url(#clipPath11)" + id="path448" /> * + id="text448">* users + id="text449">users + transform="translate(90,330)" + id="g452"> + clip-path="url(#clipPath43)" + id="path449" /> + d="M10.5 10.5 L160.5 10.5" + clip-path="url(#clipPath43)" + id="path450" /> + clip-path="url(#clipPath43)" + id="path451" /> 1 + id="text451">1 created_by + id="text452">created_by + transform="translate(880,680)" + id="g461"> + clip-path="url(#clipPath44)" + id="path452" /> + clip-path="url(#clipPath44)" + id="path453" /> + clip-path="url(#clipPath44)" + id="path454" /> + clip-path="url(#clipPath44)" + id="path455" /> + clip-path="url(#clipPath44)" + id="path456" /> + clip-path="url(#clipPath44)" + id="path457" /> + clip-path="url(#clipPath44)" + id="path458" /> + clip-path="url(#clipPath44)" + id="path459" /> 0..* + id="text459">0..* resource_ + id="text460">resource_ collections + id="text461">collections + transform="translate(1880,1250)" + id="g465"> + clip-path="url(#clipPath45)" + id="path461" /> + clip-path="url(#clipPath45)" + id="path462" /> + clip-path="url(#clipPath45)" + id="path463" /> + clip-path="url(#clipPath45)" + id="path464" /> 0..* + id="text464">0..* resource_page + id="text465">resource_page + transform="translate(1820,1370)" + id="g467"> + id="path465" /> + id="path466" /> 0..* + id="text466">0..* pages + id="text467">pages + transform="translate(2320,400)" + id="g471"> + d="M10.5 90.5 L60.5 90.5" + clip-path="url(#clipPath46)" + id="path467" /> + d="M60.5 90.5 L60.5 10.5" + clip-path="url(#clipPath46)" + id="path468" /> + clip-path="url(#clipPath46)" + id="path469" /> + clip-path="url(#clipPath46)" + id="path470" /> followups + id="text470">followups 0..1 + id="text471">0..1 + transform="translate(2070,480)" + id="g475"> + d="M11.5 140.5 L50.5 140.5" + clip-path="url(#clipPath47)" + id="path471" /> + d="M50.5 140.5 L50.5 10.5" + clip-path="url(#clipPath47)" + id="path472" /> + clip-path="url(#clipPath47)" + id="path473" /> + id="path474" /> + d="M22.2583 147 L11 140.5 L22.2583 134 Z" + clip-path="url(#clipPath47)" + id="path475" /> + id="g477"> + clip-path="url(#clipPath48)" + id="path476" /> + id="path477" /> + transform="translate(2030,800)" + id="g478"> 1 + id="text477">1 parent + id="text478">parent + id="g481"> + clip-path="url(#clipPath49)" + id="path478" /> + clip-path="url(#clipPath49)" + id="path479" /> + clip-path="url(#clipPath49)" + id="path480" /> + id="path481" /> + transform="translate(1900,310)" + id="g482"> 0..1 + id="text481">0..1 parent + id="text482">parent + id="g483"> + clip-path="url(#clipPath50)" + id="path482" /> + id="path483" /> + transform="translate(2170,830)" + id="g484"> 1 + id="text483">1 parent + id="text484">parent + id="g487"> + clip-path="url(#clipPath51)" + id="path484" /> + clip-path="url(#clipPath51)" + id="path485" /> + clip-path="url(#clipPath51)" + id="path486" /> + id="path487" /> + id="g488"> 1 + id="text487">1 question + id="text488">question + transform="translate(1530,240)" + id="g492"> + clip-path="url(#clipPath52)" + id="path488" /> + clip-path="url(#clipPath52)" + id="path489" /> + clip-path="url(#clipPath52)" + id="path490" /> + clip-path="url(#clipPath52)" + id="path491" /> metric + id="text491">metric 1 + id="text492">1 + id="g495"> + d="M120.5 20.5 L50.5 20.5" + clip-path="url(#clipPath53)" + id="path492" /> + d="M50.5 20.5 L50.5 40.5" + clip-path="url(#clipPath53)" + id="path493" /> + d="M50.5 40.5 L11.5 40.5" + clip-path="url(#clipPath53)" + id="path494" /> + id="path495" /> + transform="translate(2320,500)" + id="g496"> 0..1 + id="text495">0..1 parent + id="text496">parent + transform="translate(2320,530)" + id="g500"> + clip-path="url(#clipPath54)" + id="path496" /> + clip-path="url(#clipPath54)" + id="path497" /> + clip-path="url(#clipPath54)" + id="path498" /> + clip-path="url(#clipPath54)" + id="path499" /> answers + id="text499">answers 0..* + id="text500">0..* + transform="translate(1220,1140)" + id="g503"> + clip-path="url(#clipPath55)" + id="path500" /> + clip-path="url(#clipPath55)" + id="path501" /> + id="path502" /> + clip-path="url(#clipPath55)" + id="path503" /> + transform="translate(1220,1140)" + id="g506"> + clip-path="url(#clipPath56)" + id="path504" /> + id="path505" /> + clip-path="url(#clipPath56)" + id="path506" /> + transform="translate(2050,800)" + id="g511"> + clip-path="url(#clipPath57)" + id="path507" /> + clip-path="url(#clipPath57)" + id="path508" /> + clip-path="url(#clipPath57)" + id="path509" /> + clip-path="url(#clipPath57)" + id="path510" /> 0..* + id="text510">0..* references + id="text511">references + id="g515"> + clip-path="url(#clipPath58)" + id="path511" /> + clip-path="url(#clipPath58)" + id="path512" /> + clip-path="url(#clipPath58)" + id="path513" /> + clip-path="url(#clipPath58)" + id="path514" /> + id="path515" /> + id="g516"> 0..* + id="text515">0..* + id="g517"> + clip-path="url(#clipPath59)" + id="path516" /> + id="path517" /> + id="g518"> 0..* + id="text517">0..* + transform="translate(1960,1130)" + id="g522"> + clip-path="url(#clipPath60)" + id="path518" /> + clip-path="url(#clipPath60)" + id="path519" /> + clip-path="url(#clipPath60)" + id="path520" /> + id="path521" /> + clip-path="url(#clipPath60)" + id="path522" /> + transform="translate(1960,1130)" + id="g525"> + clip-path="url(#clipPath61)" + id="path523" /> + id="path524" /> + clip-path="url(#clipPath61)" + id="path525" /> + transform="translate(1530,800)" + id="g529"> + clip-path="url(#clipPath62)" + id="path526" /> + clip-path="url(#clipPath62)" + id="path527" /> + clip-path="url(#clipPath62)" + id="path528" /> 0..* + id="text528">0..* experts + id="text529">experts + id="g532"> + clip-path="url(#clipPath63)" + id="path529" /> + clip-path="url(#clipPath63)" + id="path530" /> + clip-path="url(#clipPath63)" + id="path531" /> + id="path532" /> + transform="translate(1900,310)" + id="g533"> 0..1 + id="text532">0..1 parent + id="text533">parent + id="g534"> + clip-path="url(#clipPath64)" + id="path533" /> + id="path534" /> + transform="translate(1530,550)" + id="g535"> 0..1 + id="text534">0..1 parent + id="text535">parent + id="g538"> + clip-path="url(#clipPath65)" + id="path535" /> + clip-path="url(#clipPath65)" + id="path536" /> + clip-path="url(#clipPath65)" + id="path537" /> + id="path538" /> + transform="translate(1210,100)" + id="g539"> 0..1 + id="text538">0..1 chapter + id="text539">chapter + id="g543"> + clip-path="url(#clipPath51)" + id="path539" /> + clip-path="url(#clipPath51)" + id="path540" /> + clip-path="url(#clipPath51)" + id="path541" /> + clip-path="url(#clipPath51)" + id="path542" /> replies + id="text542">replies 0..* + id="text543">0..* + transform="translate(810,60)" + id="g545"> + clip-path="url(#clipPath66)" + id="path543" /> + clip-path="url(#clipPath66)" + id="path544" /> 0..* + id="text544">0..* chapter_reports + id="text545">chapter_reports + id="g546"> + clip-path="url(#clipPath67)" + id="path545" /> + id="path546" /> + id="g547"> replies + id="text546">replies 1 + id="text547">1 + id="g548"> + clip-path="url(#clipPath68)" + id="path547" /> + id="path548" /> + id="g549"> 1 + id="text548">1 e + id="text549">e + transform="translate(1040,400)" + id="g551"> + clip-path="url(#clipPath69)" + id="path549" /> + clip-path="url(#clipPath69)" + id="path550" /> 1 + id="text550">1 e + id="text551">e + transform="translate(440,720)" + id="g555"> + clip-path="url(#clipPath70)" + id="path551" /> + clip-path="url(#clipPath70)" + id="path552" /> + clip-path="url(#clipPath70)" + id="path553" /> + clip-path="url(#clipPath70)" + id="path554" /> phase + id="text554">phase 0..1 + id="text555">0..1 + id="g557"> + clip-path="url(#clipPath71)" + id="path555" /> + clip-path="url(#clipPath71)" + id="path556" /> + id="path557" /> + id="g558"> current_phase + id="text557">current_phase 0..1 + id="text558">0..1 + transform="translate(320,1000)" + id="g562"> + d="M10.5 450.5 L10.5 500.5" + clip-path="url(#clipPath72)" + id="path558" /> + d="M10.5 500.5 L1920.5 500.5" + clip-path="url(#clipPath72)" + id="path559" /> + d="M1920.5 500.5 L1920.5 11.5" + clip-path="url(#clipPath72)" + id="path560" /> + clip-path="url(#clipPath72)" + id="path561" /> choices + id="text561">choices 0..* + id="text562">0..* + transform="translate(1960,330)" + id="g566"> + clip-path="url(#clipPath73)" + id="path562" /> + clip-path="url(#clipPath73)" + id="path563" /> + clip-path="url(#clipPath73)" + id="path564" /> + clip-path="url(#clipPath73)" + id="path565" /> followups + id="text565">followups 0..* + id="text566">0..* + transform="translate(1730,270)" + id="g570"> + clip-path="url(#clipPath74)" + id="path566" /> + clip-path="url(#clipPath74)" + id="path567" /> + clip-path="url(#clipPath74)" + id="path568" /> + clip-path="url(#clipPath74)" + id="path569" /> followups + id="text569">followups 0..* + id="text570">0..* + transform="translate(1280,570)" + id="g574"> + clip-path="url(#clipPath75)" + id="path570" /> + clip-path="url(#clipPath75)" + id="path571" /> + clip-path="url(#clipPath75)" + id="path572" /> + clip-path="url(#clipPath75)" + id="path573" /> answer + id="text573">answer 1 + id="text574">1 + transform="translate(2570,300)" + id="g576"> + clip-path="url(#clipPath76)" + id="path574" /> + clip-path="url(#clipPath76)" + id="path575" /> metric_measures + id="text575">metric_measures 0..* + id="text576">0..* + transform="translate(1320,750)" + id="g580"> + clip-path="url(#clipPath77)" + id="path576" /> + d="M1090.5 10.5 L1090.5 290.5" + clip-path="url(#clipPath77)" + id="path577" /> + d="M1090.5 290.5 L11.5 290.5" + clip-path="url(#clipPath77)" + id="path578" /> + d="M22.2583 284 L11 290.5 L22.2583 297" + clip-path="url(#clipPath77)" + id="path579" /> integration + id="text579">integration 1 + id="text580">1 + transform="translate(1530,690)" + id="g582"> + clip-path="url(#clipPath64)" + id="path580" /> + clip-path="url(#clipPath64)" + id="path581" /> required_phase + id="text581">required_phase 0..1 + id="text582">0..1 + transform="translate(1530,510)" + id="g584"> + clip-path="url(#clipPath64)" + id="path582" /> + clip-path="url(#clipPath64)" + id="path583" /> 0..* + id="text583">0..* questions + id="text584">questions + transform="translate(1110,680)" + id="g587"> + clip-path="url(#clipPath78)" + id="path584" /> + clip-path="url(#clipPath78)" + id="path585" /> + clip-path="url(#clipPath78)" + id="path586" /> 0..* + id="text586">0..* tags + id="text587">tags + transform="translate(990,680)" + id="g590"> + clip-path="url(#clipPath79)" + id="path587" /> + clip-path="url(#clipPath79)" + id="path588" /> + clip-path="url(#clipPath79)" + id="path589" /> 0..* + id="text589">0..* integrations + id="text590">integrations + transform="translate(1150,620)" + id="g592"> + clip-path="url(#clipPath80)" + id="path590" /> + clip-path="url(#clipPath80)" + id="path591" /> 0..* + id="text591">0..* phases + id="text592">phases + transform="translate(1150,320)" + id="g596"> + clip-path="url(#clipPath81)" + id="path592" /> + clip-path="url(#clipPath81)" + id="path593" /> + clip-path="url(#clipPath81)" + id="path594" /> + clip-path="url(#clipPath81)" + id="path595" /> 0..* + id="text595">0..* metrics + id="text596">metrics + transform="translate(1150,530)" + id="g598"> + clip-path="url(#clipPath80)" + id="path596" /> + clip-path="url(#clipPath80)" + id="path597" /> 0..* + id="text597">0..* chapters + id="text598">chapters + transform="translate(810,420)" + id="g601"> + clip-path="url(#clipPath82)" + id="path598" /> + clip-path="url(#clipPath82)" + id="path599" /> + clip-path="url(#clipPath82)" + id="path600" /> km + id="text600">km 1 + id="text601">1 + transform="translate(1420,170)" + id="g603"> + clip-path="url(#clipPath83)" + id="path601" /> + clip-path="url(#clipPath83)" + id="path602" /> metric + id="text602">metric 1 + id="text603">1 + transform="translate(1170,100)" + id="g607"> + clip-path="url(#clipPath84)" + id="path603" /> + clip-path="url(#clipPath84)" + id="path604" /> + clip-path="url(#clipPath84)" + id="path605" /> + clip-path="url(#clipPath84)" + id="path606" /> 0..* + id="text606">0..* reports + id="text607">reports + transform="translate(1260,50)" + id="g610"> + clip-path="url(#clipPath85)" + id="path607" /> + clip-path="url(#clipPath85)" + id="path608" /> + clip-path="url(#clipPath85)" + id="path609" /> metrics + id="text609">metrics 0..1 + id="text610">0..1 + transform="translate(1260,10)" + id="g612"> + clip-path="url(#clipPath86)" + id="path610" /> + clip-path="url(#clipPath86)" + id="path611" /> indications + id="text611">indications 0..* + id="text612">0..* + transform="translate(810,10)" + id="g614"> + clip-path="url(#clipPath66)" + id="path612" /> + clip-path="url(#clipPath66)" + id="path613" /> 1 + id="text613">1 total_report + id="text614">total_report + transform="translate(690,100)" + id="g616"> + clip-path="url(#clipPath87)" + id="path614" /> + clip-path="url(#clipPath87)" + id="path615" /> report + id="text615">report 1 + id="text616">1 + transform="translate(440,230)" + id="g618"> + clip-path="url(#clipPath88)" + id="path616" /> + clip-path="url(#clipPath88)" + id="path617" /> 1 + id="text617">1 cfg + id="text618">cfg + transform="translate(440,320)" + id="g620"> + clip-path="url(#clipPath88)" + id="path618" /> + clip-path="url(#clipPath88)" + id="path619" /> doc + id="text619">doc 1 + id="text620">1 + transform="translate(440,450)" + id="g622"> + clip-path="url(#clipPath88)" + id="path620" /> + clip-path="url(#clipPath88)" + id="path621" /> org + id="text621">org 1 + id="text622">1 + transform="translate(440,490)" + id="g625"> + clip-path="url(#clipPath89)" + id="path622" /> + clip-path="url(#clipPath89)" + id="path623" /> + clip-path="url(#clipPath89)" + id="path624" /> pkg + id="text624">pkg 1 + id="text625">1 + id="g627"> + clip-path="url(#clipPath90)" + id="path625" /> + clip-path="url(#clipPath90)" + id="path626" /> replies + id="text626">replies 0..* + id="text627">0..* + transform="translate(440,910)" + id="g629"> + clip-path="url(#clipPath80)" + id="path627" /> + clip-path="url(#clipPath80)" + id="path628" /> replies + id="text628">replies 1 + id="text629">1 + transform="translate(340,490)" + id="g633"> + clip-path="url(#clipPath91)" + id="path629" /> + clip-path="url(#clipPath91)" + id="path630" /> + clip-path="url(#clipPath91)" + id="path631" /> + clip-path="url(#clipPath91)" + id="path632" /> 1 + id="text632">1 qtn + id="text633">qtn + transform="translate(60,710)" + id="g636"> + clip-path="url(#clipPath92)" + id="path633" /> + d="M10.5 190.5 L140.5 190.5" + clip-path="url(#clipPath92)" + id="path634" /> + clip-path="url(#clipPath92)" + id="path635" /> 1 + id="text635">1 created_by + id="text636">created_by + transform="translate(300,1000)" + id="g638"> + clip-path="url(#clipPath93)" + id="path636" /> + clip-path="url(#clipPath93)" + id="path637" /> 0..* + id="text637">0..* versions + id="text638">versions + transform="translate(300,1220)" + id="g641"> + clip-path="url(#clipPath94)" + id="path638" /> + clip-path="url(#clipPath94)" + id="path639" /> + clip-path="url(#clipPath94)" + id="path640" /> 0..1 + id="text640">0..1 created_by + id="text641">created_by + transform="translate(650,1180)" + id="g645"> + clip-path="url(#clipPath95)" + id="path641" /> + clip-path="url(#clipPath95)" + id="path642" /> + clip-path="url(#clipPath95)" + id="path643" /> + clip-path="url(#clipPath95)" + id="path644" /> 0..1 + id="text644">0..1 created_by + id="text645">created_by + transform="translate(320,1270)" + id="g649"> + clip-path="url(#clipPath96)" + id="path645" /> + clip-path="url(#clipPath96)" + id="path646" /> + clip-path="url(#clipPath96)" + id="path647" /> + id="path648" /> + clip-path="url(#clipPath96)" + id="path649" /> + transform="translate(680,1270)" + id="g654"> + clip-path="url(#clipPath97)" + id="path650" /> + clip-path="url(#clipPath97)" + id="path651" /> + clip-path="url(#clipPath97)" + id="path652" /> + id="path653" /> + clip-path="url(#clipPath97)" + id="path654" /> + transform="translate(860,1270)" + id="g657"> + clip-path="url(#clipPath98)" + id="path655" /> + id="path656" /> + clip-path="url(#clipPath98)" + id="path657" /> + transform="translate(860,1270)" + id="g662"> + clip-path="url(#clipPath99)" + id="path658" /> + clip-path="url(#clipPath99)" + id="path659" /> + clip-path="url(#clipPath99)" + id="path660" /> + id="path661" /> + clip-path="url(#clipPath99)" + id="path662" /> + transform="translate(860,1270)" + id="g667"> + clip-path="url(#clipPath100)" + id="path663" /> + clip-path="url(#clipPath100)" + id="path664" /> + clip-path="url(#clipPath100)" + id="path665" /> + id="path666" /> + clip-path="url(#clipPath100)" + id="path667" /> + transform="translate(2070,610)" + id="g672"> + clip-path="url(#clipPath101)" + id="path668" /> + d="M50.5 10.5 L50.5 210.5" + clip-path="url(#clipPath101)" + id="path669" /> + d="M50.5 210.5 L70.5 210.5" + clip-path="url(#clipPath101)" + id="path670" /> + id="path671" /> + clip-path="url(#clipPath101)" + id="path672" /> + transform="translate(2070,550)" + id="g677"> + d="M11.5 70.5 L50.5 70.5" + clip-path="url(#clipPath36)" + id="path673" /> + d="M50.5 70.5 L50.5 10.5" + clip-path="url(#clipPath36)" + id="path674" /> + clip-path="url(#clipPath36)" + id="path675" /> + id="path676" /> + d="M22.2583 77 L11 70.5 L22.2583 64 Z" + clip-path="url(#clipPath36)" + id="path677" /> + transform="translate(2070,420)" + id="g682"> + clip-path="url(#clipPath102)" + id="path678" /> + clip-path="url(#clipPath102)" + id="path679" /> + clip-path="url(#clipPath102)" + id="path680" /> + id="path681" /> + clip-path="url(#clipPath102)" + id="path682" /> + transform="translate(2070,610)" + id="g687"> + clip-path="url(#clipPath103)" + id="path683" /> + d="M50.5 10.5 L50.5 150.5" + clip-path="url(#clipPath103)" + id="path684" /> + d="M50.5 150.5 L70.5 150.5" + clip-path="url(#clipPath103)" + id="path685" /> + id="path686" /> + clip-path="url(#clipPath103)" + id="path687" /> - + transform="translate(2070,610)" + id="g690"> - + d="M11.5 10.5 L70.5 10.5" + clip-path="url(#clipPath61)" + id="path688" /> + id="path689" /> + clip-path="url(#clipPath61)" + id="path690" /> + transform="translate(2230,830)" + id="g693"> + clip-path="url(#clipPath93)" + id="path691" /> + clip-path="url(#clipPath93)" + id="path692" /> 0..* + id="text692">0..* choices + id="text693">choices + transform="translate(1530,800)" + id="g696"> + clip-path="url(#clipPath104)" + id="path693" /> + clip-path="url(#clipPath104)" + id="path694" /> + clip-path="url(#clipPath104)" + id="path695" /> 0..* + id="text695">0..* tags + id="text696">tags diff --git a/docs/more/development/document-templates/document-context.uxf b/docs/more/development/document-templates/document-context.uxf index 4d8816f..446bf1c 100644 --- a/docs/more/development/document-templates/document-context.uxf +++ b/docs/more/development/document-templates/document-context.uxf @@ -4,7 +4,7 @@ UMLClass - 424 + 480 152 176 248 @@ -34,7 +34,7 @@ replies: RepliesContainer UMLClass - 648 + 704 384 224 168 @@ -59,7 +59,7 @@ e: KnowledgeModelEntities UMLClass - 1024 + 1080 392 152 104 @@ -77,7 +77,7 @@ annotations: dict[str,str] UMLClass - 1312 + 1368 392 296 256 @@ -104,8 +104,8 @@ resource_page_references: list[ResourcePageReference] UMLClass - 1656 - 440 + 1712 + 424 152 40 @@ -117,8 +117,8 @@ answers: list[Answer] UMLClass - 1656 - 496 + 1712 + 472 152 40 @@ -130,7 +130,7 @@ value_type: str UMLClass - 1656 + 1712 320 152 40 @@ -143,8 +143,8 @@ followups: list[Question] UMLClass - 1656 - 616 + 1712 + 632 152 40 @@ -156,8 +156,8 @@ choices: list[Choice] UMLClass - 1656 - 552 + 1712 + 576 152 48 @@ -170,7 +170,7 @@ props: dict[str,str] UMLClass - 1024 + 1080 504 152 104 @@ -187,7 +187,7 @@ annotations: dict[str,str] UMLClass - 1016 + 1072 224 160 88 @@ -204,7 +204,7 @@ annotations: dict[str,str] UMLClass - 856 + 912 776 152 144 @@ -226,7 +226,7 @@ item(item_id: str) -> str UMLClass - 1024 + 1080 648 152 88 @@ -243,7 +243,7 @@ annotations: dict[str,str] UMLClass - 696 + 752 176 176 152 @@ -265,7 +265,7 @@ tags: dict[str,Tag] UMLClass - 920 + 976 1088 112 72 @@ -281,7 +281,7 @@ value: str UMLClass - 560 + 616 920 200 104 @@ -299,7 +299,7 @@ created_at: datetime UMLClass - 176 + 232 176 128 40 @@ -312,7 +312,7 @@ client_url: str UMLClass - 144 + 200 224 160 112 @@ -331,7 +331,7 @@ updated_at: datetime UMLClass - 176 + 232 344 128 80 @@ -347,7 +347,7 @@ affiliation: list[str] UMLClass - 176 + 232 432 128 144 @@ -369,7 +369,7 @@ org_id: str UMLClass - 120 + 176 864 184 120 @@ -388,9 +388,9 @@ updated_at: datetime UMLClass - 120 + 160 632 - 184 + 200 176 Questionnaire @@ -404,6 +404,7 @@ versions: list[QuestionnaireVersion] todos: list[str] phase: Optional[Phase] replies: RepliesContainer +files: dict[str, QuestionnaireFile] created_by: User created_at: datetime updated_at: datetime @@ -412,7 +413,7 @@ updated_at: datetime UMLClass - 0 + 16 408 136 168 @@ -435,7 +436,7 @@ updated_at: datetime UMLClass - 320 + 376 920 152 104 @@ -452,7 +453,7 @@ gravatar_hash: Optional[str] UMLClass - 456 + 512 704 264 120 @@ -472,7 +473,7 @@ iterate_by_suffix(path_suffix: str): Iterable[Reply] UMLClass - 576 + 632 1088 128 104 @@ -491,7 +492,7 @@ url: Optional[str] UMLClass - 432 + 488 1088 128 72 @@ -506,7 +507,7 @@ value: list[str] UMLClass - 144 + 200 1088 128 72 @@ -522,7 +523,7 @@ value: list[str] UMLClass - 720 + 776 1088 184 72 @@ -538,7 +539,7 @@ as_datetime: Optional[datetime] UMLClass - 1976 + 2032 184 104 64 @@ -553,8 +554,8 @@ metric: Metric UMLClass - 1656 - 712 + 1712 + 728 152 80 @@ -569,7 +570,7 @@ annotations: dict[str,str] UMLClass - 1904 + 1960 344 200 120 @@ -588,7 +589,7 @@ annotations: dict[str,str] UMLClass - 424 + 480 0 176 88 @@ -605,7 +606,7 @@ updated_at: datetime UMLClass - 1016 + 1072 88 160 56 @@ -619,7 +620,7 @@ metric: Metric UMLClass - 1200 + 1256 0 152 120 @@ -638,7 +639,7 @@ is_overall: bool UMLClass - 784 + 840 0 176 88 @@ -653,7 +654,7 @@ chapter: Optional[Chapter] Relation - 1168 + 1224 640 192 80 @@ -667,8 +668,8 @@ m2=tags Relation - 1728 - 648 + 1784 + 664 64 80 @@ -682,29 +683,29 @@ m2=choices Relation - 1600 + 1656 488 72 - 56 + 24 lt=<<- - 10.0;10.0;50.0;10.0;50.0;50.0;70.0;50.0 + 10.0;10.0;70.0;10.0 Relation - 1600 + 1656 488 72 - 112 + 136 lt=<<- - 10.0;10.0;50.0;10.0;50.0;120.0;70.0;120.0 + 10.0;10.0;50.0;10.0;50.0;150.0;70.0;150.0 Relation - 1600 + 1656 336 72 176 @@ -715,29 +716,29 @@ m2=choices Relation - 1600 - 456 + 1656 + 440 72 - 56 + 72 lt=<<- - 10.0;50.0;50.0;50.0;50.0;10.0;70.0;10.0 + 10.0;70.0;50.0;70.0;50.0;10.0;70.0;10.0 Relation - 1600 + 1656 488 72 - 168 + 184 lt=<<- - 10.0;10.0;50.0;10.0;50.0;190.0;70.0;190.0 + 10.0;10.0;50.0;10.0;50.0;210.0;70.0;210.0 Relation - 632 + 688 1016 360 88 @@ -748,7 +749,7 @@ m2=choices Relation - 632 + 688 1016 184 88 @@ -759,7 +760,7 @@ m2=choices Relation - 632 + 688 1016 24 88 @@ -770,7 +771,7 @@ m2=choices Relation - 488 + 544 1016 168 88 @@ -781,7 +782,7 @@ m2=choices Relation - 200 + 256 1016 456 88 @@ -792,7 +793,7 @@ m2=choices Relation - 464 + 520 944 112 80 @@ -807,7 +808,7 @@ m2=created_by Relation - 184 + 240 976 152 56 @@ -822,7 +823,7 @@ m2=created_by Relation - 184 + 240 800 64 80 @@ -837,9 +838,9 @@ m2=versions Relation - 32 + 48 568 - 104 + 128 176 lt=<- @@ -847,12 +848,12 @@ m1=1 m2=created_by - 10.0;10.0;10.0;190.0;110.0;190.0 + 10.0;10.0;10.0;190.0;140.0;190.0 Relation - 216 + 272 392 280 256 @@ -866,7 +867,7 @@ m2=qtn Relation - 296 + 352 728 176 40 @@ -881,7 +882,7 @@ m2=1 Relation - 632 + 688 816 56 120 @@ -896,7 +897,7 @@ fg=#357546 Relation - 296 + 352 392 168 96 @@ -911,7 +912,7 @@ m2=1 Relation - 296 + 352 360 144 40 @@ -926,7 +927,7 @@ m2=1 Relation - 296 + 352 256 144 40 @@ -941,7 +942,7 @@ m2=1 Relation - 296 + 352 184 144 40 @@ -956,7 +957,7 @@ m1=cfg Relation - 496 + 552 80 56 88 @@ -971,7 +972,7 @@ m2=1 Relation - 592 + 648 8 208 40 @@ -986,7 +987,7 @@ m2=total_report Relation - 952 + 1008 8 264 40 @@ -1000,7 +1001,7 @@ m2=0..* Relation - 952 + 1008 40 176 64 @@ -1015,7 +1016,7 @@ m2=0..1 Relation - 880 + 936 80 224 328 @@ -1030,7 +1031,7 @@ m2=reports Relation - 1080 + 1136 136 56 104 @@ -1045,7 +1046,7 @@ m2=1 Relation - 592 + 648 336 160 64 @@ -1060,7 +1061,7 @@ m2=1 Relation - 864 + 920 424 176 40 @@ -1075,7 +1076,7 @@ m2=chapters Relation - 864 + 920 256 168 168 @@ -1090,7 +1091,7 @@ m2=metrics Relation - 864 + 920 496 176 40 @@ -1105,7 +1106,7 @@ m2=phases Relation - 736 + 792 544 136 312 @@ -1120,7 +1121,7 @@ m2=integrations Relation - 832 + 888 544 208 176 @@ -1135,7 +1136,7 @@ m2=tags Relation - 1168 + 1224 408 160 40 @@ -1150,7 +1151,7 @@ m2=questions Relation - 1168 + 1224 552 160 40 @@ -1165,22 +1166,22 @@ m2=0..1 Relation - 1000 - 576 + 1056 + 600 896 - 280 + 256 lt=-> m1=integration m2=1 - 1010.0;10.0;1090.0;10.0;1090.0;320.0;10.0;320.0 + 1010.0;10.0;1090.0;10.0;1090.0;290.0;10.0;290.0 Relation - 2000 + 2056 240 112 120 @@ -1194,7 +1195,7 @@ m2=0..* Relation - 968 + 1024 456 1056 752 @@ -1209,7 +1210,7 @@ m2=1 Relation - 1328 + 1384 216 680 192 @@ -1223,7 +1224,7 @@ m2=0..* Relation - 1512 + 1568 264 232 144 @@ -1237,22 +1238,22 @@ m2=0..* Relation - 200 - 784 + 256 + 800 1568 - 440 + 424 lt=-> m1=choices m2=0..* - 10.0;470.0;10.0;520.0;1920.0;520.0;1920.0;10.0 + 10.0;450.0;10.0;500.0;1920.0;500.0;1920.0;10.0 Relation - 552 + 608 392 488 208 @@ -1267,7 +1268,7 @@ m1=0..1 Relation - 296 + 352 576 744 112 @@ -1281,7 +1282,7 @@ m1=0..1 Relation - 776 + 832 320 32 80 @@ -1296,7 +1297,7 @@ m2=e Relation - 592 + 648 248 120 48 @@ -1313,7 +1314,7 @@ m2=e Relation - 488 + 544 392 56 328 @@ -1328,7 +1329,7 @@ m1=1 Relation - 592 + 648 48 208 40 @@ -1343,7 +1344,7 @@ m2=chapter_reports Relation - 752 + 808 600 576 408 @@ -1358,7 +1359,7 @@ fg=#357546 Relation - 912 + 968 80 232 328 @@ -1372,7 +1373,7 @@ m1=chapter Relation - 1168 + 1224 440 160 40 @@ -1386,7 +1387,7 @@ m2=parent Relation - 1464 + 1520 248 328 160 @@ -1400,7 +1401,7 @@ m2=parent UMLClass - 1024 + 1080 744 152 80 @@ -1416,7 +1417,7 @@ annotations: dict[str,str] UMLClass - 1568 + 1624 880 144 72 @@ -1431,7 +1432,7 @@ annotations: dict[str,str] Relation - 1168 + 1224 640 248 160 @@ -1445,7 +1446,7 @@ m2=experts UMLClass - 1344 + 1400 880 176 56 @@ -1459,7 +1460,7 @@ url: str UMLClass - 1344 + 1400 952 176 56 @@ -1473,7 +1474,7 @@ resource_page: ResourcePage Relation - 1512 + 1568 904 72 24 @@ -1484,7 +1485,7 @@ resource_page: ResourcePage Relation - 1512 + 1568 904 72 96 @@ -1495,7 +1496,7 @@ resource_page: ResourcePage Relation - 1432 + 1488 640 40 256 @@ -1510,7 +1511,7 @@ m1=0..* Relation - 1304 + 1360 640 128 368 @@ -1525,7 +1526,7 @@ m1=0..* Relation - 1592 + 1640 640 80 256 @@ -1540,7 +1541,7 @@ m2=references UMLClass - 1040 + 1096 880 152 136 @@ -1561,7 +1562,7 @@ rs_item_template: str UMLClass - 856 + 912 960 152 48 @@ -1574,7 +1575,7 @@ widget_url: str Relation - 920 + 976 912 24 64 @@ -1585,7 +1586,7 @@ widget_url: str Relation - 920 + 976 912 144 56 @@ -1596,8 +1597,8 @@ widget_url: str Relation - 1800 - 440 + 1856 + 424 120 56 @@ -1610,21 +1611,21 @@ m2=0..* Relation - 1800 - 416 + 1856 + 400 112 - 64 + 56 lt=..> m2=0..1 m1=parent - 120.0;10.0;50.0;10.0;50.0;50.0;10.0;50.0 + 120.0;20.0;50.0;20.0;50.0;40.0;10.0;40.0 Relation - 1168 + 1224 192 824 104 @@ -1638,7 +1639,7 @@ m2=1 Relation - 752 + 808 624 576 408 @@ -1653,8 +1654,8 @@ fg=#357546 Relation - 1680 - 648 + 1736 + 664 56 80 @@ -1667,7 +1668,7 @@ m1=parent Relation - 1464 + 1520 248 496 160 @@ -1681,7 +1682,7 @@ m2=parent Relation - 1568 + 1624 640 56 256 @@ -1695,8 +1696,8 @@ m1=parent UMLClass - 1656 - 376 + 1712 + 368 152 48 @@ -1709,32 +1710,32 @@ list_question: ListQuestion Relation - 1600 - 392 + 1656 + 384 72 - 120 + 128 lt=<<- - 10.0;130.0;50.0;130.0;50.0;10.0;70.0;10.0 + 10.0;140.0;50.0;140.0;50.0;10.0;70.0;10.0 Relation - 1800 + 1856 320 88 - 104 + 96 lt=-> m1=followups m2=0..1 - 10.0;100.0;60.0;100.0;60.0;10.0;10.0;10.0 + 10.0;90.0;60.0;90.0;60.0;10.0;10.0;10.0 UMLClass - 288 + 344 1088 128 72 @@ -1750,7 +1751,7 @@ value: str UMLClass - 1256 + 1312 1064 152 88 @@ -1768,7 +1769,7 @@ annotations: dict[str,str] UMLClass - 1512 + 1568 1064 152 88 @@ -1785,7 +1786,7 @@ annotations: dict[str,str] Relation - 1400 + 1456 1096 128 40 @@ -1800,7 +1801,7 @@ m2=pages Relation - 1448 + 1504 1000 176 80 @@ -1815,7 +1816,7 @@ m2=resource_page Relation - 648 + 704 544 720 536 @@ -1830,9 +1831,9 @@ m2=resource_\ncollections Relation - 56 + 72 264 - 104 + 144 160 lt=<- @@ -1840,12 +1841,12 @@ m1=1 m2=created_by - 10.0;180.0;10.0;10.0;110.0;10.0 + 10.0;180.0;10.0;10.0;160.0;10.0 UMLClass - 168 + 224 104 136 56 @@ -1859,7 +1860,7 @@ permissions: list[str] UMLClass - 168 + 224 32 136 56 @@ -1873,7 +1874,7 @@ permissions: list[str] Relation - 296 + 352 128 144 72 @@ -1888,7 +1889,7 @@ m1=users Relation - 296 + 352 56 200 112 @@ -1903,7 +1904,7 @@ m1=groups UMLClass - 0 + 16 72 136 80 @@ -1919,9 +1920,9 @@ private: bool Relation - 24 + 40 144 - 160 + 200 280 lt=<- @@ -1929,14 +1930,14 @@ m1=1 m2=user - 10.0;330.0;10.0;80.0;160.0;80.0;160.0;10.0;180.0;10.0 + 10.0;330.0;10.0;80.0;160.0;80.0;160.0;10.0;230.0;10.0 Relation - 24 + 40 32 - 160 + 200 56 lt=<- @@ -1944,6 +1945,123 @@ m1=1 m2=group - 10.0;50.0;10.0;20.0;180.0;20.0 + 10.0;50.0;10.0;20.0;230.0;20.0 + + + UMLClass + + 0 + 864 + 152 + 104 + + QuestionnaireFile +-- +uuid: str +name: str +size: int +content_type: str +reply: Optional[FileReply] +download_url: str + + + + + UMLClass + + 0 + 1088 + 184 + 72 + + FileReply +-- +file_uuid: str +file: Optional[QuestionnaireFile] +-- +value: str + + + + + UMLClass + + 1712 + 520 + 152 + 48 + + FileQuestion +-- +max_size: Optional[str] +file_types: Optional[str] + + + + Relation + + 88 + 1016 + 624 + 88 + + lt=<<- + 760.0;10.0;760.0;60.0;10.0;60.0;10.0;90.0 + + + Relation + + 48 + 960 + 48 + 144 + + lt=<- +m1=0..1 +m2=file + + + 10.0;10.0;10.0;160.0 + + + Relation + + 8 + 960 + 48 + 144 + + lt=<- +m1=0..1 +m2=reply + + + 10.0;160.0;10.0;10.0 + + + Relation + + 48 + 744 + 128 + 136 + + lt=<- +m1=0..* +m2=files + + + 10.0;150.0;10.0;10.0;140.0;10.0 + + + Relation + + 1656 + 488 + 72 + 72 + + lt=<<- + 10.0;10.0;50.0;10.0;50.0;70.0;70.0;70.0 diff --git a/docs/more/development/document-templates/specification.rst b/docs/more/development/document-templates/specification.rst index bdabdf7..22eaeb5 100644 --- a/docs/more/development/document-templates/specification.rst +++ b/docs/more/development/document-templates/specification.rst @@ -93,10 +93,15 @@ Document Template Metamodel Versions Here are described the changes in metamodel for template specification as well as :doc:`document context` so developers can easily update their templates to a newer metamodel version when needed. It is also possible to check JSON schemas in higher detail, see :doc:`../metamodel-schemas`. +Version 15 (since 4.12.0) +------------------------- + +* Added file question, questionnaire file, and file reply. + Version 14 (since 4.10.0) ------------------------- -* Rearranged and enriched document context for clarity and completeness. If you are using the :ref:`object-oriented document context ` (via ``to_context_obj``), the changes will not affect you and you can start using new attributes/types); otherwise, you need to reflect the following changes in the passed document context ``ctx``: +* Rearranged and enriched document context for clarity and completeness. If you are using the :ref:`object-oriented document context ` (via ``to_context_obj``), the changes will not affect you and you can start using new attributes/types; otherwise, you need to reflect the following changes in the passed document context ``ctx``: * ``config``, ``knowledgeModel``, ``package``, and ``report`` of context stay the same; * ``uuid``, ``createdAt``, and ``updatedAt`` are moved to new ``document`` object that contains additional fields, namely ``createdBy``, ``documentTemplateId``, ``formatUuid``, and ``name``; diff --git a/docs/more/development/metamodel-schemas.rst b/docs/more/development/metamodel-schemas.rst index 2943dfe..6118258 100644 --- a/docs/more/development/metamodel-schemas.rst +++ b/docs/more/development/metamodel-schemas.rst @@ -14,6 +14,8 @@ File for import and export of Knowledge Models is a JSON file that contains all +-------------------+---------------------------------------------------------------------------------------------------------------+------------------------------------------------------+-----------+ | Metamodel Version | Schema file | Changes (brief) | Since | +===================+===============================================================================================================+======================================================+===========+ +| 16 | `JSON Schema `__ | File question | 4.12.0 | ++-------------------+---------------------------------------------------------------------------------------------------------------+------------------------------------------------------+-----------+ | 15 | `JSON Schema `__ | Item select question, resource collections and pages | 4.10.0 | +-------------------+---------------------------------------------------------------------------------------------------------------+------------------------------------------------------+-----------+ | 14 | `JSON Schema `__ | Optional Integration fields | 4.1.0 | @@ -53,7 +55,9 @@ Document Context is provided to the document templates by document worker. It co +-------------------+------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------+-----------+ | Metamodel Version | Schema file | Changes (brief) | Since | +===================+========================================================================================================================+===================================================+===========+ -| 14 | `JSON Schema `__ | new KM entities, project details, and restructure | 4.10.0 | +| 15 | `JSON Schema `__ | File question | 4.12.0 | ++-------------------+------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------+-----------+ +| 14 | `JSON Schema `__ | New KM entities, project details, and restructure | 4.10.0 | +-------------------+------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------+-----------+ | 13 | `JSON Schema `__ | Removed states from templates | 4.3.0 | +-------------------+------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------+-----------+ @@ -94,7 +98,9 @@ Each template has its descriptor file ``template.json`` which contains all the i +-------------------+----------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------+-----------+ | Metamodel Version | Schema file | Changes (brief) | Since | +===================+============================================================================================================================+===================================================+===========+ -| 14 | `JSON Schema `__ | new KM entities, project details, and restructure | 4.10.0 | +| 15 | `JSON Schema `__ | File question | 4.12.0 | ++-------------------+----------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------+-----------+ +| 14 | `JSON Schema `__ | New KM entities, project details, and restructure | 4.10.0 | +-------------------+----------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------+-----------+ | 13 | `JSON Schema `__ | Removed states from templates | 4.3.0 | +-------------------+----------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------+-----------+ diff --git a/docs/more/miscellaneous/dsw-registry/dsw-registry.png b/docs/more/miscellaneous/dsw-registry/dsw-registry.png index a8c0f80..d2366a6 100644 Binary files a/docs/more/miscellaneous/dsw-registry/dsw-registry.png and b/docs/more/miscellaneous/dsw-registry/dsw-registry.png differ diff --git a/docs/more/self-hosted-dsw/configuration.rst b/docs/more/self-hosted-dsw/configuration.rst index 49d6554..e44e89d 100644 --- a/docs/more/self-hosted-dsw/configuration.rst +++ b/docs/more/self-hosted-dsw/configuration.rst @@ -116,6 +116,13 @@ Information for connection to S3 storage (used for document and document templat S3 service must be publicly accessible (so users can download documents and export templates or locales). Also, bucket must be created otherwise documents cannot be created and document templates / locales imported. +.. NOTE:: + + If you have a problem with downloading documents while running the bucket locally, try to add the following line to the /etc/hosts file: + + ``127.0.0.1 host.docker.internal`` + + Mail ^^^^ diff --git a/docs/more/self-hosted-dsw/index.rst b/docs/more/self-hosted-dsw/index.rst index bfc50c0..af92e17 100644 --- a/docs/more/self-hosted-dsw/index.rst +++ b/docs/more/self-hosted-dsw/index.rst @@ -5,7 +5,7 @@ This section explains how to deploy, configure, and maintain |project_name| inst .. NOTE:: - Before going for self-hosted options, it is a good idea to try out |project_name| using `existing providers `_. + Before going for self-hosted options, it is a good idea to try out |project_name| using `existing providers `_. .. raw:: html diff --git a/docs/more/self-hosted-dsw/upgrade-guidelines.rst b/docs/more/self-hosted-dsw/upgrade-guidelines.rst index bc5cfa0..6711c08 100644 --- a/docs/more/self-hosted-dsw/upgrade-guidelines.rst +++ b/docs/more/self-hosted-dsw/upgrade-guidelines.rst @@ -43,6 +43,12 @@ Usually, nothing special is required for the upgrade. Internal structure changes Make sure to stop ``document-worker`` and ``mailer`` before upgrading to the next version. Run ``wizard-server`` first, then run the workers. Otherwise the database migrations might not work correctly. + +4.11.X to 4.12.X +---------------- + +- Document template metamodel version is raised (from 14 to 15) as File Question has been added (no breaking changes), for details check :ref:`document-template-metamodel-versions`. + 4.10.X to 4.11.X ----------------