Skip to content

Commit

Permalink
Update images
Browse files Browse the repository at this point in the history
  • Loading branch information
Chantal committed Dec 19, 2024
1 parent 501843a commit 5a0f982
Show file tree
Hide file tree
Showing 15 changed files with 11 additions and 17 deletions.
Binary file modified docs/assets/img/classes-controller-app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/img/classes-controller-epi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/img/classes-model-app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/img/classes-model-epi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/img/classes-view.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/img/classes-widget-basedocumentmodel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/img/classes-widget-baseframe.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/img/classes-widget-basemodel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/img/epigraf-architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/assets/img/epigraf-use-cases.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/backend/controller.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ User settings in Epigraf are either stored in the user record or in the session.
All controllers extend the `AppController` class (`src/Controller/AppController.php`)
which is derived from the base `Controller` class provided by the CakePHP framework.

![Application controller class hierarchy](../assets/img/classes-controller-app.png){:width="55%"}
![Application controller class hierarchy](../assets/img/classes-controller-app.png)

On the application level, controllers serve the following purposes:

Expand All @@ -189,7 +189,7 @@ The Epi plugin implements an own `Epi\AppController` class (`plugins/Epi/Control
derived from the global AppController, adding functionality for project database handling.
All project database controllers within the Epi plugin extend this class.

![Epi plugin controller class hierarchy](../assets/img/classes-controller-epi.png){:width="60%"}
![Epi plugin controller class hierarchy](../assets/img/classes-controller-epi.png)

They Epi plugin controllers serve the following purposes:

Expand Down
10 changes: 4 additions & 6 deletions docs/backend/model.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ All Tables are derived from `src/Model/Table/BaseTable.php` and all Entities fro
Common methods in the table classes are `findHasParams()` and `findContainFields()`
which are used by the controllers to filter and retrieve data from the database based on query parameters.

![Model class hierarchy (App)](../assets/img/classes-model-app.png){:width="60%"}
![Model class hierarchy (App)](../assets/img/classes-model-app.png)

There are some pecularities in the models. You may need to read the section about project database models
to understand the full picture:
Expand Down Expand Up @@ -64,7 +64,7 @@ Tables classes are usually derived from `plugins/Epi/src/Model/Table/BaseTable.p
and entity classes from `plugins/Epi/src/Model/Entity/BaseEntity.php`.
Both project database level base classes extend the corresponding application's base classes.

![Model class hierarchy (Epi)](../assets/img/classes-model-epi.png){:width="80%"}
![Model class hierarchy (Epi)](../assets/img/classes-model-epi.png)

Some special cases have to be considered:

Expand Down Expand Up @@ -101,8 +101,6 @@ Other mechanisms for shared functionality include:
For example, the ExportTableInterface defines the functions getExportCount() and getExportData()
that are called from the Job classes on different models.

TODO: Explain pagination and the TotalPaginator class.

#### Behaviors
- **ImportBehavior**: Import csv or xml files and transfer data between databases.
Records are mapped using identifiers, allowing patch operations in addition to adding and deleting data.
Expand All @@ -124,13 +122,13 @@ TODO: Explain pagination and the TotalPaginator class.
- **MutateEntityInterface, MutateTableInterface**: Functions for batch operations.
- **ScopedTableInterface**: Scope function, which allow a database table to be used for different entities.

## Types Configuration
## Domain Model Configuration

The Epigraf user interface is highly configurable to support domains such as letter editions or social media corpora.
The configuration defines which fields from a database record are used with which labels in the specific domain.
The configuration is stored in the types table. Each typed entity has access to its type record by the type property.

TODO: Add example. Add better explanation.
See the user documentation for information about how to configure the domain model.

## Retrieving Field Values

Expand Down
6 changes: 1 addition & 5 deletions docs/backend/view.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ different view classes are used.
The ApiView based classes are also used in the export pipelines
to generate TEI-documents and other structured data formats.

![View class hierarchy](../assets/img/classes-views.png){: width="55%"}
![View class hierarchy](../assets/img/classes-view.png)


## Rendering HTML for the Browser
Expand Down Expand Up @@ -48,10 +48,6 @@ Utilities for rendering HTML elements:
- FilesHelper
- TypesHelper

TODO: Briefly explain the purpose of each helper. No need to duplicate documentation from the helper classes.



## Rendering API Data

### JSON, XML, CSV
Expand Down
6 changes: 3 additions & 3 deletions docs/frontend/widgets.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ The base classes of the framework are defined in `htdocs/js/base.js`:
A document consists of several parts such as sections, footnotes and notes.
Document classes hold together the different parts and manage the interaction between them.

![Inheritance hierarchy](../assets/img/classes-widget-basemodel.png){:width="24%"}
![Inheritance hierarchy](../assets/img/classes-widget-basemodel.png)

### The Widget Life Cycle

Expand Down Expand Up @@ -127,7 +127,7 @@ Frames are HTML elements attached to derivates of the `BaseFrame` class that han
- `TabFrame`: Responsible for tab sheets within in sidebars.
- `PopupWindow`: Responsible for popups and dialogs.

![Inheritance hierarchy](../assets/img/classes-widget-baseframe.png){:width="32%"}
![Inheritance hierarchy](../assets/img/classes-widget-baseframe.png)

The frame classes handle dynamic content loading and trigger the respective widget lifecycle methods:
- `loadElement()` displays a DOM element already constructed on the page.
Expand Down Expand Up @@ -215,7 +215,7 @@ Both are descendants of the `BaseForm` class supporting features for saving data
- Handle form validation and the form submission lifecycle.
- Emit events for other widgets reacting to content updates.

![Inheritance hierarchy](../assets/img/classes-widget-basedocumentmodel.png){:width="70%"}
![Inheritance hierarchy](../assets/img/classes-widget-basedocumentmodel.png)

The `EntityWidget` is used for simple entities, usually displayed in a vertical table.
It inherits all methods and properties from the base from widget
Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ MariaDB and the file system is used to store [data](/docs/database). There is on
user accounts and application-wide data. For the research data, multiple project databases are created.
Frontend and database content is cached using Redis. If no Redis server is available, the cache is stored in the file system.

![Epigraf architecture](assets/img/epigraf-architecture.png){:width="90%"}
![Epigraf architecture](assets/img/epigraf-architecture.png)

## Directory structure

Expand Down

0 comments on commit 5a0f982

Please sign in to comment.