From a65b1ff578dffe954fbfebcb51b8870d66805a24 Mon Sep 17 00:00:00 2001 From: Patrick Jentsch Date: Mon, 27 May 2024 16:58:51 +0200 Subject: [PATCH] remove manual modal --- app/static/js/app.js | 22 -- app/static/sass/components/_helpers.scss | 4 + .../_base/_modals/_manual/06_services.html.j2 | 52 ---- ...closer_look_at_the_corpus_analysis.html.j2 | 47 ---- .../_modals/_manual/09_query_builder.html.j2 | 211 --------------- .../_base/_modals/_manual/10_tagsets.html.j2 | 170 ------------ app/templates/_base/_modals/manual.html.j2 | 50 ---- app/templates/_base/modals.html.j2 | 2 - app/templates/_base/sidenav.html.j2 | 2 +- .../_manual/01_introduction.html.j2 | 2 +- .../02_registration_and_log_in.html.j2 | 4 +- .../_manual/03_dashboard.html.j2 | 9 +- .../main/_manual/06_services.html.j2 | 106 ++++++++ .../_manual/08_cqp_query_language.html.j2 | 10 +- .../main/_manual/09_query_builder.html.j2 | 251 ++++++++++++++++++ app/templates/main/_manual/10_tagsets.html.j2 | 184 +++++++++++++ app/templates/main/manual.html.j2 | 53 ++++ 17 files changed, 615 insertions(+), 564 deletions(-) delete mode 100644 app/templates/_base/_modals/_manual/06_services.html.j2 delete mode 100644 app/templates/_base/_modals/_manual/07_a_closer_look_at_the_corpus_analysis.html.j2 delete mode 100644 app/templates/_base/_modals/_manual/09_query_builder.html.j2 delete mode 100644 app/templates/_base/_modals/_manual/10_tagsets.html.j2 delete mode 100644 app/templates/_base/_modals/manual.html.j2 rename app/templates/{_base/_modals => main}/_manual/01_introduction.html.j2 (89%) rename app/templates/{_base/_modals => main}/_manual/02_registration_and_log_in.html.j2 (92%) rename app/templates/{_base/_modals => main}/_manual/03_dashboard.html.j2 (96%) create mode 100644 app/templates/main/_manual/06_services.html.j2 rename app/templates/{_base/_modals => main}/_manual/08_cqp_query_language.html.j2 (97%) create mode 100644 app/templates/main/_manual/09_query_builder.html.j2 create mode 100644 app/templates/main/_manual/10_tagsets.html.j2 create mode 100644 app/templates/main/manual.html.j2 diff --git a/app/static/js/app.js b/app/static/js/app.js index 0cf56a5d..8e291ba9 100644 --- a/app/static/js/app.js +++ b/app/static/js/app.js @@ -159,28 +159,6 @@ nopaque.App = class App { } ); - // Manual modal - M.Modal.init( - document.querySelector('#manual-modal'), - { - onOpenStart: (modalElement, modalTriggerElement) => { - if ('manualModalChapter' in modalTriggerElement.dataset) { - let manualModalTocElement = document.querySelector('#manual-modal-toc'); - let manualModalToc = M.Tabs.getInstance(manualModalTocElement); - manualModalToc.select(modalTriggerElement.dataset.manualModalChapter); - // TODO: Make this work. - // if ('manualModalChapterAnchor' in modalTriggerElement.dataset) { - // let manualModalChapterAnchor = document.querySelector(`#${modalTriggerElement.dataset.manualModalChapterAnchor}`); - // let xCoord = manualModalChapterAnchor.getBoundingClientRect().left; - // let yCoord = manualModalChapterAnchor.getBoundingClientRect().top; - // let modalContentElement = modalElement.querySelector('.modal-content'); - // modalContentElement.scroll(xCoord, yCoord); - // } - } - } - } - ); - // Terms of use modal M.Modal.init( document.querySelector('#terms-of-use-modal'), diff --git a/app/static/sass/components/_helpers.scss b/app/static/sass/components/_helpers.scss index 742f27d7..7d3239ec 100644 --- a/app/static/sass/components/_helpers.scss +++ b/app/static/sass/components/_helpers.scss @@ -8,6 +8,10 @@ cursor: pointer !important; } +.fixed { + position: fixed; +} + .show-if-only-child:not(:only-child) { display: none !important; } diff --git a/app/templates/_base/_modals/_manual/06_services.html.j2 b/app/templates/_base/_modals/_manual/06_services.html.j2 deleted file mode 100644 index 40d9fb53..00000000 --- a/app/templates/_base/_modals/_manual/06_services.html.j2 +++ /dev/null @@ -1,52 +0,0 @@ -

Services

-
-
- Services -
-
-

- nopaque was designed from the ground up to be modular. This modularity - means that the offered workflow provides variable entry and exit points, - so that different starting points and goals can be flexibly addressed. - Each of these modules are implemented in a self-contained service, each of - which represents a step in the workflow. The services are coordinated in - such a way that they can be used consecutively. The order can either be - taken from the listing of the services in the left sidebar or from the - roadmap (accessible via the pink compass in the upper right corner). All - services are versioned, so the data generated with nopaque is always - reproducible. -

-
-
- -

File Setup

-

- The File Setup Service bundles image data, such as scans and photos, - together in a handy PDF file. To use this service, use the job form to - select the images to be bundled, choose the desired service version, and - specify a title and description. Please note that the service sorts the - images into the resulting PDF file based on the file names. So naming the - images correctly is of great importance. It has proven to be a good practice - to name the files according to the following scheme: - page-01.png, page-02.jpg, page-03.tiff, etc. In general, you can assume - that the images will be sorted in the order in which the file explorer of - your operating system lists them when you view the files in a folder - sorted in ascending order by file name. -

- -

Optical Character Recognition (OCR)

-

Coming soon...

- -

Handwritten Text Recognition (HTR)

-

Coming soon...

- -

Natural Language Processing (NLP)

-

Coming soon...

- -

Corpus Analysis

-

- With the corpus analysis service, it is possible to create a text corpus - and then explore it in an analysis session. The analysis session is realized - on the server side by the Open Corpus Workbench software, which enables - efficient and complex searches with the help of the CQP Query Language. -

diff --git a/app/templates/_base/_modals/_manual/07_a_closer_look_at_the_corpus_analysis.html.j2 b/app/templates/_base/_modals/_manual/07_a_closer_look_at_the_corpus_analysis.html.j2 deleted file mode 100644 index db9b6e5f..00000000 --- a/app/templates/_base/_modals/_manual/07_a_closer_look_at_the_corpus_analysis.html.j2 +++ /dev/null @@ -1,47 +0,0 @@ -

A closer look at the Corpus Analysis

-

Create a corpus

-
-
- Create a Corpus -
-
-

- To create a corpus, you - can use the "New Corpus" button, which can be found on both the Corpus - Analysis Service page and the Dashboard below the corpus list. Fill in the input - mask to Create a corpus. After you have completed the input mask, you will - be automatically taken to the corpus overview page (which can be called up - again via the corpus lists) of your new and accordingly still empty corpus. -

-
-
 
-
- Create a Corpus -
-
-

- Now you can add texts in vrt format (results of the NLP service) to your new - corpus. To do this, use the "Add Corpus File" button and fill in the form - that appears. You will get the possibility to add metadata to each text. - After you have added all the desired texts to the corpus, the corpus must be - prepared for the analysis, this process can be initiated by clicking on the - "Build" button. On the corpus overview page you can always see information - about the current status of the corpus in the upper right corner. After the - build process the status should be "built". -

-
-
- -

Analyze a corpus

-

- After you have created and built a corpus, it can be analyzed. To do this, - use the button labeled Analyze. The corpus analysis currently offers two - modules, the Reader and the Concordance module. The reader module can be - used to read your tokenized corpus in different ways. You can select a token - representation option, it determines the property of a token to be shown. - You can for example read your text completly lemmatized. You can also change - the way of how a token is displayed, by using the text style switch. The - concordance module offers some more options regarding the context size of - search results. If the context does not provide enough information you can - hop into the reader module by using the magnifier icon next to a match. -

diff --git a/app/templates/_base/_modals/_manual/09_query_builder.html.j2 b/app/templates/_base/_modals/_manual/09_query_builder.html.j2 deleted file mode 100644 index 31f46f52..00000000 --- a/app/templates/_base/_modals/_manual/09_query_builder.html.j2 +++ /dev/null @@ -1,211 +0,0 @@ -

Query Builder Tutorial

-

Overview

-

The query builder can be accessed via "My Corpora" or "Corpus Analysis" in the sidebar options. -Select the desired corpus and click on the "Analyze" and then "Concordance" -buttons to open the query builder.

-

The query builder uses the Corpus Query Language (CQL) to help you make a query for analyzing your texts. -In this way, it is possible to filter out various types of text parameters, for -example, a specific word, a lemma, or you can set part-of-speech -tags (pos) that indicate the type of word you are looking for (a noun, an -adjective, etc.). In addition, you can also search for structural attributes, -or specify your query for a token (word, lemma, pos) via entity typing. And of -course, the different text parameters can be combined.

-

Tokens and structural attributes can be added by clicking on the "+" button -(the "input marker") in the input field or the labeled buttons below it. Elements -added are shown as chips. These can be reorganized using drag and drop. The input -marker can also be moved in this way. Its position shows where new elements will be added.
-A "translation" of your query into Corpus Query Language (CQL) is shown below.

-

Advanced users can make direct use of the Corpus Query Language (CQL) by switching to "expert mode" via the toggle button.

-

The entire input field can be cleared using the red trash icon on the right.

-
- -
-
Content
-
    -
  1. Add a new token to your query
  2. -
  3. Options for editing your query
  4. -
  5. Add structural attributes to your query
  6. -
  7. General options
  8. -
-
- -{# Add Token Tutorial #} -
-
-

-
-

Add new token to your Query

-

If you are only looking for a specific token, you can click on the left - button and select the type of token you are looking for from the drop-down menu. - By default "Word" is selected.

-
-
Word and Lemma
-

If you want to search for a specific word or lemma and the respective - category is selected in the drop-down menu, you can type in the word or lemma - of your choice in the input field. You can confirm your entry by clicking the - Submit button on the right. You can also use the options below to modify your - token request before pressing the submit button. These options are explained - further here.

- word and lemma explanation -
- -
English pos, german pos or simple_pos
-

You can choose between the options "english pos", "german pos" and - "simple_pos" to search for different parts-of-speech. You can find an overview - of all tags under the "Tagsets" tab.

- part-of-speech-tag explanation -
- -
Empty Token
-

Here you can search for a token with unspecified attributes (also called wildcard token). This - selection should never stand alone and should always be extended with an incidence modifier or stand in a - larger query, because otherwise all possible tokens would be searched for and - the program would crash.

-
-
- -{# Edit Options Tutorial #} -
-
-

-
-

Options for editing your query

-

You have the possibility to extend or specify the token you are searching for with - certain factors. For this the query builder offers some fixed options. You can - find more information about the options in the Corpus Query Language Tutorial.

-
- -
Wildcard Character
-

A wildcard character replaces any character and is represented in the form of a dot.

-
- -
Option Group
-

With an option group you can search for different variants of a token. The - variants are not limited, so you can manually enter more options in the same - format. "Option1" and "option2" must be replaced accordingly.

- option group explanation -
- -
Incidence Modifiers
-

With the Incidence Modifiers you can determine the occurrence of single - tokens. For example you can use "?" to indicate that the token occurs either - not at all or once:
- [word = "is"] [word="it"] [word="your"] [word="litte"]? [word = "dog"]
- Here the word "little" should occur either once or not at all. With - [word="dogs?"] the search is for "dog "or "dogs".

-
- -
Ignore Case
-

With the check mark at Ignore Case the upper and lower case is ignored. - This is marked with a "%c". By default (if not checked) it is case sensitive.

-
- -
"or" & "and"
-

"Or" ( | ) and "and" ( & ) are conditions you can put on a token. With "or" - one of the two conditions must be fulfilled, with "and" both conditions must be - fulfilled. For example, the word must be called "will" AND be a verb, only then - it will be displayed. Note that "and" is not responsible for lining up tokens in - this case. For this you can simply string them together:
- [word="I"] [word="will" & simple_pos="VERB"] [word="go"].

- OR/AND explanation -

Tokens that have already been added can also be modified by clicking on the corresponding - pen icon. Click on the "ignore case" box, for example, and the query builder will - not differentiate between upper- and lower- case letters for that respective token. - New conditions added apply to the most recent token information.

-
-
- -{# Add Structural Attributes Tutorial #} -
-
-

-
-

Add structural attributes to your query

-

You can use structural attributes to search specifically for structures in - the text or to further narrow down your previous search query.

-
- -
Sentence
- With "Sentence" () you can search for sentences within your text. - This search can of course be specified if you search for particular tokens or - entities between the sentence tags (). For example, you can search for - sentences that contain only a noun, verb, and adjective.
- Click on Sentence to add the sentence chips:
Sentence Start
- and
Sentence End
. - These mark where the sentence starts and ends. Use drag-and-drop to place them accordingly. When - the Sentence attribute is added, the input marker will automatically be - moved between the sentence chips. Use drag-and-drop as needed to continue your query - at a different position. -
- -
Entities
-

With entities, i.e. units of meaning, you can search for text sections that - contain more specific information, for example, persons, dates, or events. The - codes for these categories can be selected using the drop-down menus. You can find an explanation of - these abbreviations under the tab "Tagsets".
- You can also search for unspecified entities by selecting "Add entity of any type".

- Click on the Entity button to add the entity chips
Entity Type=
and
Entity End
. -

The entity type can be changed by clicking on the pen symbol on the chip. When - the Entity attribute is added, the input marker will automatically be - moved between the entity chips. Use drag-and-drop as needed to continue your query - at a different position.

- entity explanation -

-
- -
Meta Data (currently unavailable)
-

The meta data function is being worked on and cannot currently be used! -
- With the meta data you can annotate your text and add specific conditions. - You can select a category on the left and enter your desired value on the right. - The selected metadata will apply to your entire request and will be added at the end.

- meta data explanation -

-
- -
- -{# General Options Tutorial #} -
-
-

-
-

General Options of the query builder

-

You have several options to edit your query after adding it to the preview.

-
- -
Editing the elements
-

You can edit your query chips by clicking on the pen icon.

- editing explanation -
- -
Deleting the elements
-

You can delete the added elements from the query by clicking the X behind the respective content.

- delete explanation -
- -
Move the elements of your query
-

You can drag and drop elements to customize your query.

- Drag&Drop explanation -
- -
Setting an incidence modifier
-

With the incidence modifier option, you can specify the amount of - times a token should appear in your query. This is particularly relevant for empty - tokens (tokens with unspecified attributes). Click on a token (blue chip) and - select the desired option from the list to add an incidence modifier. To - close the list without adding anything, click on the token again.

- incidence modifier explanation -
- -
Switching between Query Builder and Expert mode
-

To work with the plain Corpus Query Language instead of using the Query Builder, click on the "expert mode" - switch. Your query can be entered into the input field. All elements previously added will be carried over - into expert mode. Click on the switch again to switch back to the Query Builder if desired. All recognized elements - will be parsed into chips; those not recognized will be deleted from the query.

- expert mode explanation - - -
- - diff --git a/app/templates/_base/_modals/_manual/10_tagsets.html.j2 b/app/templates/_base/_modals/_manual/10_tagsets.html.j2 deleted file mode 100644 index b2a175c1..00000000 --- a/app/templates/_base/_modals/_manual/10_tagsets.html.j2 +++ /dev/null @@ -1,170 +0,0 @@ -
-
simple_pos tagset
- -
- -
-
English ent_type tagset
- -
- -
-
English pos tagset
- -
- -
-
German ent_type tagset
- -
- -
-
German pos tagset
- -
diff --git a/app/templates/_base/_modals/manual.html.j2 b/app/templates/_base/_modals/manual.html.j2 deleted file mode 100644 index 4660db74..00000000 --- a/app/templates/_base/_modals/manual.html.j2 +++ /dev/null @@ -1,50 +0,0 @@ - diff --git a/app/templates/_base/modals.html.j2 b/app/templates/_base/modals.html.j2 index 829fcbb4..69d6cbaf 100644 --- a/app/templates/_base/modals.html.j2 +++ b/app/templates/_base/modals.html.j2 @@ -1,5 +1,3 @@ -{% include "_base/_modals/manual.html.j2" %} - {% if current_user.is_authenticated and not current_user.terms_of_use_accepted %} {% include "_base/_modals/terms_of_use.html.j2" %} {% endif %} diff --git a/app/templates/_base/sidenav.html.j2 b/app/templates/_base/sidenav.html.j2 index fdd2e4f3..343c43f3 100644 --- a/app/templates/_base/sidenav.html.j2 +++ b/app/templates/_base/sidenav.html.j2 @@ -17,7 +17,7 @@ {% endif %}
  • - schoolManual + schoolManual
  • emailNews diff --git a/app/templates/_base/_modals/_manual/01_introduction.html.j2 b/app/templates/main/_manual/01_introduction.html.j2 similarity index 89% rename from app/templates/_base/_modals/_manual/01_introduction.html.j2 rename to app/templates/main/_manual/01_introduction.html.j2 index 0b1d9ad7..45e9fa8a 100644 --- a/app/templates/_base/_modals/_manual/01_introduction.html.j2 +++ b/app/templates/main/_manual/01_introduction.html.j2 @@ -1,4 +1,4 @@ -

    Introduction

    +

    Introduction

    nopaque is a web-based digital working environment. It implements a workflow based on the research process in the humanities and supports its diff --git a/app/templates/_base/_modals/_manual/02_registration_and_log_in.html.j2 b/app/templates/main/_manual/02_registration_and_log_in.html.j2 similarity index 92% rename from app/templates/_base/_modals/_manual/02_registration_and_log_in.html.j2 rename to app/templates/main/_manual/02_registration_and_log_in.html.j2 index 5f05c543..b50d1546 100644 --- a/app/templates/_base/_modals/_manual/02_registration_and_log_in.html.j2 +++ b/app/templates/main/_manual/02_registration_and_log_in.html.j2 @@ -1,8 +1,10 @@ -

    Registration and Log in

    +

    Registration and Log in

    +
    Registration and Log in
    +

    Before you can start using the web platform, you need to create a user diff --git a/app/templates/_base/_modals/_manual/03_dashboard.html.j2 b/app/templates/main/_manual/03_dashboard.html.j2 similarity index 96% rename from app/templates/_base/_modals/_manual/03_dashboard.html.j2 rename to app/templates/main/_manual/03_dashboard.html.j2 index 51d772a3..e53e8877 100644 --- a/app/templates/_base/_modals/_manual/03_dashboard.html.j2 +++ b/app/templates/main/_manual/03_dashboard.html.j2 @@ -1,8 +1,10 @@ -

    Dashboard

    +

    Dashboard

    +
    Dashboard
    +

    The dashboard provides a central overview of all resources assigned to the @@ -12,7 +14,9 @@ the search field displayed above them.

    -
     
    +
    + +
    @@ -28,6 +32,7 @@
    +
    diff --git a/app/templates/main/_manual/06_services.html.j2 b/app/templates/main/_manual/06_services.html.j2 new file mode 100644 index 00000000..907fca6e --- /dev/null +++ b/app/templates/main/_manual/06_services.html.j2 @@ -0,0 +1,106 @@ +

    Services

    +
    +
    +
    + Services +
    + +
    +

    + nopaque was designed from the ground up to be modular. This modularity + means that the offered workflow provides variable entry and exit points, + so that different starting points and goals can be flexibly addressed. + Each of these modules are implemented in a self-contained service, each of + which represents a step in the workflow. The services are coordinated in + such a way that they can be used consecutively. The order can either be + taken from the listing of the services in the left sidebar or from the + roadmap (accessible via the pink compass in the upper right corner). All + services are versioned, so the data generated with nopaque is always + reproducible. +

    +
    +
    + +

    File Setup

    +

    + The File Setup Service bundles image data, such as scans and photos, + together in a handy PDF file. To use this service, use the job form to + select the images to be bundled, choose the desired service version, and + specify a title and description. Please note that the service sorts the + images into the resulting PDF file based on the file names. So naming the + images correctly is of great importance. It has proven to be a good practice + to name the files according to the following scheme: + page-01.png, page-02.jpg, page-03.tiff, etc. In general, you can assume + that the images will be sorted in the order in which the file explorer of + your operating system lists them when you view the files in a folder + sorted in ascending order by file name. +

    + +

    Optical Character Recognition (OCR)

    +

    Coming soon...

    + +

    Handwritten Text Recognition (HTR)

    +

    Coming soon...

    + +

    Natural Language Processing (NLP)

    +

    Coming soon...

    + +

    Corpus Analysis

    +

    + With the corpus analysis service, it is possible to create a text corpus + and then explore it in an analysis session. The analysis session is realized + on the server side by the Open Corpus Workbench software, which enables + efficient and complex searches with the help of the CQP Query Language. +

    + +
    +
    +
    + Create a Corpus +
    + +
    +

    + To create a corpus, you + can use the "New Corpus" button, which can be found on both the Corpus + Analysis Service page and the Dashboard below the corpus list. Fill in the input + mask to Create a corpus. After you have completed the input mask, you will + be automatically taken to the corpus overview page (which can be called up + again via the corpus lists) of your new and accordingly still empty corpus. +

    +
    +
    + +
    +
    +
    + Create a Corpus +
    + +
    +

    + Now you can add texts in vrt format (results of the NLP service) to your new + corpus. To do this, use the "Add Corpus File" button and fill in the form + that appears. You will get the possibility to add metadata to each text. + After you have added all the desired texts to the corpus, the corpus must be + prepared for the analysis, this process can be initiated by clicking on the + "Build" button. On the corpus overview page you can always see information + about the current status of the corpus in the upper right corner. After the + build process the status should be "built". +

    +
    +
    + +

    Analyze a corpus

    +

    + After you have created and built a corpus, it can be analyzed. To do this, + use the button labeled Analyze. The corpus analysis currently offers two + modules, the Reader and the Concordance module. The reader module can be + used to read your tokenized corpus in different ways. You can select a token + representation option, it determines the property of a token to be shown. + You can for example read your text completly lemmatized. You can also change + the way of how a token is displayed, by using the text style switch. The + concordance module offers some more options regarding the context size of + search results. If the context does not provide enough information you can + hop into the reader module by using the magnifier icon next to a match. +

    diff --git a/app/templates/_base/_modals/_manual/08_cqp_query_language.html.j2 b/app/templates/main/_manual/08_cqp_query_language.html.j2 similarity index 97% rename from app/templates/_base/_modals/_manual/08_cqp_query_language.html.j2 rename to app/templates/main/_manual/08_cqp_query_language.html.j2 index 9069d495..0af61dd6 100644 --- a/app/templates/_base/_modals/_manual/08_cqp_query_language.html.j2 +++ b/app/templates/main/_manual/08_cqp_query_language.html.j2 @@ -1,4 +1,4 @@ -

    CQP Query Language

    +

    CQP Query Language

    Within the Corpus Query Language, a distinction is made between two types of annotations: positional attributes and structural attributes. Positional attributes refer to a token, e.g. the word "book" is assigned the part-of-speech tag "NN", the lemma "book" and the simplified part-of-speech tag "NOUN" within the token structure. Structural attributes refer to text structure-giving elements such as sentence and entity markup. For example, the markup of a sentence is represented in the background as follows:

       
    @@ -13,7 +13,7 @@
       
     
    -

    Positional attributes

    +

    Positional attributes

    Before you can start searching for positional attributes (also called tokens), it is necessary to know what properties they contain.

    1. word: The string as it is also found in the original text
    2. @@ -33,7 +33,7 @@
    -
    Searching for positional attributes
    +

    Searching for positional attributes

    Token with no condition on any property (also called wildcard token)
    @@ -118,7 +118,7 @@

             ^             ^ the braces indicate the start and end of an option group
    -

    Structural attributes

    +

    Structural attributes

    nopaque provides several structural attributes for query. A distinction is made between attributes with and without value.

    1. s: Annotates a sentence
    2. @@ -153,7 +153,7 @@
    -
    Searching for structural attributes
    +

    Searching for structural attributes

    <ent> [] </ent>;                       A one token long entity of any type
    <ent_type="PERSON"> [] </ent_type>;     A one token long entity of type PERSON
    <ent_type="PERSON"> []* </ent_type>;    Entity of any length of type PERSON
    diff --git a/app/templates/main/_manual/09_query_builder.html.j2 b/app/templates/main/_manual/09_query_builder.html.j2 new file mode 100644 index 00000000..8d413f0e --- /dev/null +++ b/app/templates/main/_manual/09_query_builder.html.j2 @@ -0,0 +1,251 @@ +

    Query Builder

    + +

    Overview

    +

    + The query builder can be accessed via "My Corpora" or "Corpus Analysis" in the sidebar options. + Select the desired corpus and click on the "Analyze" and then "Concordance" + buttons to open the query builder. +

    + +

    + The query builder uses the Corpus Query Language (CQL) to help you make a query for analyzing your texts. + In this way, it is possible to filter out various types of text parameters, for + example, a specific word, a lemma, or you can set part-of-speech + tags (pos) that indicate the type of word you are looking for (a noun, an + adjective, etc.). In addition, you can also search for structural attributes, + or specify your query for a token (word, lemma, pos) via entity typing. And of + course, the different text parameters can be combined. +

    + +

    + Tokens and structural attributes can be added by clicking on the "+" button + (the "input marker") in the input field or the labeled buttons below it. Elements + added are shown as chips. These can be reorganized using drag and drop. The input + marker can also be moved in this way. Its position shows where new elements will be added.
    + A "translation" of your query into Corpus Query Language (CQL) is shown below. +

    + +

    Advanced users can make direct use of the Corpus Query Language (CQL) by switching to "expert mode" via the toggle button.

    +

    The entire input field can be cleared using the red trash icon on the right.

    + + + +{# Add Token Tutorial #} +
    +
    +
    +

    Add new token to your Query

    +

    + If you are only looking for a specific token, you can click on the left + button and select the type of token you are looking for from the drop-down menu. + By default "Word" is selected. +

    +
    + +

    Word and Lemma

    +

    + If you want to search for a specific word or lemma and the respective + category is selected in the drop-down menu, you can type in the word or lemma + of your choice in the input field. You can confirm your entry by clicking the + Submit button on the right. You can also use the options below to modify your + token request before pressing the submit button. These options are explained + further here. +

    + word and lemma explanation +
    + +

    English pos, german pos or simple_pos

    +

    + You can choose between the options "english pos", "german pos" and + "simple_pos" to search for different parts-of-speech. You can find an overview + of all tags under the "Tagsets" tab. +

    + part-of-speech-tag explanation +
    + +

    Empty Token

    +

    + Here you can search for a token with unspecified attributes (also called wildcard token). This + selection should never stand alone and should always be extended with an incidence modifier or stand in a + larger query, because otherwise all possible tokens would be searched for and + the program would crash. +

    +
    +
    + +{# Edit Options Tutorial #} +
    +
    +
    +

    Options for editing your query

    +

    + You have the possibility to extend or specify the token you are searching for with + certain factors. For this the query builder offers some fixed options. You can + find more information about the options in the Corpus Query Language Tutorial. +

    +
    + +

    Wildcard Character

    +

    A wildcard character replaces any character and is represented in the form of a dot.

    +
    + +

    Option Group

    +

    + With an option group you can search for different variants of a token. The + variants are not limited, so you can manually enter more options in the same + format. "Option1" and "option2" must be replaced accordingly. +

    + option group explanation +
    + +

    Incidence Modifiers

    +

    + With the Incidence Modifiers you can determine the occurrence of single + tokens. For example you can use "?" to indicate that the token occurs either + not at all or once:
    + [word = "is"] [word="it"] [word="your"] [word="litte"]? [word = "dog"]
    + Here the word "little" should occur either once or not at all. With + [word="dogs?"] the search is for "dog "or "dogs". +

    +
    + +

    Ignore Case

    +

    + With the check mark at Ignore Case the upper and lower case is ignored. + This is marked with a "%c". By default (if not checked) it is case sensitive. +

    +
    + +

    "or" & "and"

    +

    + "Or" ( | ) and "and" ( & ) are conditions you can put on a token. With "or" + one of the two conditions must be fulfilled, with "and" both conditions must be + fulfilled. For example, the word must be called "will" AND be a verb, only then + it will be displayed. Note that "and" is not responsible for lining up tokens in + this case. For this you can simply string them together:
    + [word="I"] [word="will" & simple_pos="VERB"] [word="go"]. +

    + OR/AND explanation + +

    + Tokens that have already been added can also be modified by clicking on the corresponding + pen icon. Click on the "ignore case" box, for example, and the query builder will + not differentiate between upper- and lower- case letters for that respective token. + New conditions added apply to the most recent token information. +

    +
    +
    + +{# Add Structural Attributes Tutorial #} +
    +
    +
    +

    Add structural attributes to your query

    +

    + You can use structural attributes to search specifically for structures in + the text or to further narrow down your previous search query. +

    +
    + +

    Sentence

    +

    + With "Sentence" (<s></s>) you can search for sentences within your text. + This search can of course be specified if you search for particular tokens or + entities between the sentence tags (<s></s>). For example, you can search for + sentences that contain only a noun, verb, and adjective.
    + Click on Sentence to add the sentence chips: Sentence Start + and Sentence End. + These mark where the sentence starts and ends. Use drag-and-drop to place them accordingly. When + the Sentence attribute is added, the input marker will automatically be + moved between the sentence chips. Use drag-and-drop as needed to continue your query + at a different position. +

    +
    + +

    Entities

    +

    + With entities, i.e. units of meaning, you can search for text sections that + contain more specific information, for example, persons, dates, or events. The + codes for these categories can be selected using the drop-down menus. You can find an explanation of + these abbreviations under the tab "Tagsets".
    + You can also search for unspecified entities by selecting "Add entity of any type". +

    + +

    + Click on the Entity button to add the entity chips Entity Type= + and Entity End. +

    + +

    + The entity type can be changed by clicking on the pen symbol on the chip. When + the Entity attribute is added, the input marker will automatically be + moved between the entity chips. Use drag-and-drop as needed to continue your query + at a different position. +

    + entity explanation +
    + +

    Meta Data (currently unavailable)

    +

    + The meta data function is being worked on and cannot currently be used!
    + With the meta data you can annotate your text and add specific conditions. + You can select a category on the left and enter your desired value on the right. + The selected metadata will apply to your entire request and will be added at the end. +

    + meta data explanation +
    +
    + +{# General Options Tutorial #} +
    +
    +
    +

    General Options of the query builder

    +

    You have several options to edit your query after adding it to the preview.

    +
    + +

    Editing the elements

    +

    You can edit your query chips by clicking on the pen icon.

    + editing explanation +
    + +

    Deleting the elements

    +

    You can delete the added elements from the query by clicking the X behind the respective content.

    + delete explanation +
    + +

    Move the elements of your query

    +

    You can drag and drop elements to customize your query.

    + Drag&Drop explanation +
    + +

    Setting an incidence modifier

    +

    + With the incidence modifier option, you can specify the amount of + times a token should appear in your query. This is particularly relevant for empty + tokens (tokens with unspecified attributes). Click on a token (blue chip) and + select the desired option from the list to add an incidence modifier. To + close the list without adding anything, click on the token again. +

    + incidence modifier explanation +
    + +

    Switching between Query Builder and Expert mode

    +

    + To work with the plain Corpus Query Language instead of using the Query Builder, click on the "expert mode" + switch. Your query can be entered into the input field. All elements previously added will be carried over + into expert mode. Click on the switch again to switch back to the Query Builder if desired. All recognized elements + will be parsed into chips; those not recognized will be deleted from the query. +

    + expert mode explanation +
    + + diff --git a/app/templates/main/_manual/10_tagsets.html.j2 b/app/templates/main/_manual/10_tagsets.html.j2 new file mode 100644 index 00000000..09b55511 --- /dev/null +++ b/app/templates/main/_manual/10_tagsets.html.j2 @@ -0,0 +1,184 @@ +

    Tagsets

    + +
      +
    • +
      simple_pos
      +
      +
        +
      • ADJ: adjective
      • +
      • ADP: adposition
      • +
      • ADV: adverb
      • +
      • AUX: auxiliary verb
      • +
      • CONJ: coordinating conjunction
      • +
      • DET: determiner
      • +
      • INTJ: interjection
      • +
      • NOUN: noun
      • +
      • NUM: numeral
      • +
      • PART: particle
      • +
      • PRON: pronoun
      • +
      • PROPN: proper noun
      • +
      • PUNCT: punctuation
      • +
      • SCONJ: subordinating conjunction
      • +
      • SYM: symbol
      • +
      • VERB: verb
      • +
      • X: other
      • +
      +
      +
    • + +
    • +
      English ent_type
      +
      +
        +
      • CARDINAL: Numerals that do not fall under another type
      • +
      • DATE: Absolute or relative dates or periods
      • +
      • EVENT: Named hurricanes, battles, wars, sports events, etc.
      • +
      • FAC: Buildings, airports, highways, bridges, etc.
      • +
      • GPE: Countries, cities, states
      • +
      • LANGUAGE: Any named language
      • +
      • LAW: Named documents made into laws.
      • +
      • LOC: Non-GPE locations, mountain ranges, bodies of water
      • +
      • MONEY: Monetary values, including unit
      • +
      • NORP: Nationalities or religious or political groups
      • +
      • ORDINAL: "first" "second" etc.
      • +
      • ORG: Companies, agencies, institutions, etc.
      • +
      • PERCENT: Percentage, including "%"
      • +
      • PERSON: People, including fictional
      • +
      • PRODUCT: Objects, vehicles, foods, etc. (not services)
      • +
      • QUANTITY: Measurements, as of weight or distance
      • +
      • TIME: Times smaller than a day
      • +
      • WORK_OF_ART: Titles of books, songs, etc.
      • +
      +
      +
    • + +
    • +
      English pos
      +
      +
        +
      • ADD: email
      • +
      • AFX: affix
      • +
      • CC: conjunction, coordinating
      • +
      • CD: cardinal number
      • +
      • DT: determiner
      • +
      • EX: existential there
      • +
      • FW: foreign word
      • +
      • HYPH: punctuation mark, hyphen
      • +
      • IN: conjunction, subordinating or preposition
      • +
      • JJ: adjective
      • +
      • JJR: adjective, comparative
      • +
      • JJS: adjective, superlative
      • +
      • LS: list item marker
      • +
      • MD: verb, modal auxiliary
      • +
      • NFP: superfluous punctuation
      • +
      • NN: noun, singular or mass
      • +
      • NNP: noun, proper singular
      • +
      • NNPS: noun, proper plural
      • +
      • NNS: noun, plural
      • +
      • PDT: predeterminer
      • +
      • POS: possessive ending
      • +
      • PRP: pronoun, personal
      • +
      • PRP$: pronoun, possessive RB: adverb
      • +
      • RBR: adverb, comparative
      • +
      • RBS: adverb, superlative
      • +
      • RP: adverb, particle
      • +
      • SYM: symbol
      • +
      • TO: infinitival "to"
      • +
      • UH: interjection
      • +
      • VB: verb, base form
      • +
      • VBD: verb, past tense
      • +
      • VBG: verb, gerund or present participle
      • +
      • VBN: verb, past participle
      • +
      • VBP: verb, non-3rd person singular present
      • +
      • VBZ: verb, 3rd person singular present
      • +
      • WDT: wh-determiner
      • +
      • WP: wh-pronoun, personal
      • +
      • WP$: wh-pronoun, possessive
      • +
      • WRB: wh-adverb
      • +
      • XX: unknown
      • +
      • ``: opening quotation mark
      • +
      • $: symbol, currency
      • +
      • "": closing quotation mark
      • +
      • : punctuation mark, comma
      • +
      • -LRB-: left round bracket
      • +
      • -RRB-: right round bracket
      • +
      • .: punctuation mark, sentence closer
      • +
      • :: punctuation mark, colon or ellipsis
      • +
      +
      +
    • + +
    • +
      German ent_type
      +
      +
        +
      • LOC: Non-GPE locations, mountain ranges, bodies of water
      • +
      • MISC: Miscellaneous entities, e.g. events, nationalities, products or works of art
      • +
      • ORG: Companies, agencies, institutions, etc.
      • +
      • PER: Named person or family.
      • +
      +
      +
    • + +
    • +
      German pos
      +
      +
        +
      • ADJA: adjective, attributive
      • +
      • ADJD: adjective, adverbial or predicative
      • +
      • ADV: adverb
      • +
      • APPO: postposition
      • +
      • APPR: preposition; circumposition left
      • +
      • APPRART: preposition with article
      • +
      • APZR: circumposition right
      • +
      • ART: definite or indefinite article
      • +
      • CARD: cardinal number
      • +
      • FM: foreign language material
      • +
      • ITJ: interjection
      • +
      • KOKOM: comparative conjunction
      • +
      • KON: coordinate conjunction
      • +
      • KOUI: subordinate conjunction with \zu\ and infinitive
      • +
      • KOUS: subordinate conjunction with sentence
      • +
      • NE: proper noun
      • +
      • NN: noun, singular or mass
      • +
      • NNE: proper noun
      • +
      • PDAT: attributive demonstrative pronoun
      • +
      • PDS: substituting demonstrative pronoun
      • +
      • PIAT: attributive indefinite pronoun without determiner
      • +
      • PIS: substituting indefinite pronoun
      • +
      • PPER: non-reflexive personal pronoun
      • +
      • PPOSAT: attributive possessive pronoun
      • +
      • PPOSS: substituting possessive pronoun
      • +
      • PRELAT: attributive relative pronoun
      • +
      • PRELS: substituting relative pronoun
      • +
      • PRF: reflexive personal pronoun
      • +
      • PROAV: pronominal adverb
      • +
      • PTKA: particle with adjective or adverb
      • +
      • PTKANT: answer particle
      • +
      • PTKNEG: negative particle
      • +
      • PTKVZ: separable verbal particle
      • +
      • PTKZU: "zu" before infinitive
      • +
      • PWAT: attributive interrogative pronoun
      • +
      • PWAV: adverbial interrogative or relative pronoun
      • +
      • PWS: substituting interrogative pronoun
      • +
      • TRUNC: word remnant
      • +
      • VAFIN: finite verb, auxiliary
      • +
      • VAIMP: imperative, auxiliary
      • +
      • VAINF: infinitive, auxiliary
      • +
      • VAPP: perfect participle, auxiliary
      • +
      • VMFIN: finite verb, modal
      • +
      • VMINF: infinitive, modal
      • +
      • VMPP: perfect participle, modal
      • +
      • VVFIN: finite verb, full
      • +
      • VVIMP: imperative, full
      • +
      • VVINF: infinitive, full
      • +
      • VVIZU: infinitive with "zu" full
      • +
      • VVPP: perfect participle, full
      • +
      • XY: non-word containing non-letter
      • +
      • $(: other sentence-internal punctuation mark
      • +
      • $,: comma
      • +
      • $.: sentence-final punctuation mark
      • +
      +
      +
    • +
    diff --git a/app/templates/main/manual.html.j2 b/app/templates/main/manual.html.j2 new file mode 100644 index 00000000..8f5602a8 --- /dev/null +++ b/app/templates/main/manual.html.j2 @@ -0,0 +1,53 @@ +{% extends "base.html.j2" %} + +{% block page_content %} +
    +
    +
    +

    {{ title }}

    +
    + +
    +
    + {% include "main/_manual/01_introduction.html.j2" %} +
    + +
    + {% include "main/_manual/02_registration_and_log_in.html.j2" %} +
    + +
    + {% include "main/_manual/03_dashboard.html.j2" %} +
    + +
    + {% include "main/_manual/06_services.html.j2" %} +
    + +
    + {% include "main/_manual/08_cqp_query_language.html.j2" %} +
    + +
    + {% include "main/_manual/09_query_builder.html.j2" %} +
    + +
    + {% include "main/_manual/10_tagsets.html.j2" %} +
    +
    + + +
    +
    +{% endblock page_content %}