Skip to content

Commit cd5d573

Browse files
author
Jakob Jünger
committed
Update links
1 parent 25245b3 commit cd5d573

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+107
-107
lines changed

docs/devel/backend/controller.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ Epigraf maps URLs to action methods in controller classes.
77
These methods perform three primary functions:
88

99
1. Parameter parsing: Extract and validate URL parameters that control the data retrieval and view rendering.
10-
2. Data Handling: Retrieve and store data using the [model](devel/backend/model) based on URL parameters and posted payloads.
11-
3. View Rendering: Pass data to [views](devel/backend/view) for the browser (HTML) or API responses (e.g. JSON).
10+
2. Data Handling: Retrieve and store data using the [model](/epigraf/devel/backend/model) based on URL parameters and posted payloads.
11+
3. View Rendering: Pass data to [views](/epigraf/devel/backend/view) for the browser (HTML) or API responses (e.g. JSON).
1212

1313
## URL Mapping and Routing
1414

@@ -180,7 +180,7 @@ User settings in Epigraf are either stored in the user record or in the session.
180180
All controllers extend the `AppController` class (`src/Controller/AppController.php`)
181181
which is derived from the base `Controller` class provided by the CakePHP framework.
182182

183-
![Application controller class hierarchy](devel/assets/img/classes-controller-app.png)
183+
![Application controller class hierarchy](/epigraf/devel/assets/img/classes-controller-app.png)
184184

185185
On the application level, controllers serve the following purposes:
186186

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

202-
![Epi plugin controller class hierarchy](devel/assets/img/classes-controller-epi.png)
202+
![Epi plugin controller class hierarchy](/epigraf/devel/assets/img/classes-controller-epi.png)
203203

204204
They Epi plugin controllers serve the following purposes:
205205

docs/devel/backend/model.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ All Tables are derived from `src/Model/Table/BaseTable.php` and all Entities fro
3030
Common methods in the table classes are `findHasParams()` and `findContainFields()`
3131
which are used by the controllers to filter and retrieve data from the database based on query parameters.
3232

33-
![Model class hierarchy (App)](devel/assets/img/classes-model-app.png)
33+
![Model class hierarchy (App)](/epigraf/devel/assets/img/classes-model-app.png)
3434

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

67-
![Model class hierarchy (Epi)](devel/assets/img/classes-model-epi.png)
67+
![Model class hierarchy (Epi)](/epigraf/devel/assets/img/classes-model-epi.png)
6868

6969
Some special cases have to be considered:
7070

docs/devel/backend/view.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ different view classes are used.
1313
The ApiView based classes are also used in the export pipelines
1414
to generate TEI-documents and other structured data formats.
1515

16-
![View class hierarchy](devel/assets/img/classes-view.png)
16+
![View class hierarchy](/epigraf/devel/assets/img/classes-view.png)
1717

1818

1919
## Rendering HTML for the Browser

docs/devel/database/datamodel.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ The tables include:
1111
- *databanks*: The configured project databases.
1212
- *users*: User data, including contact information and settings
1313
- *permissions*: User permissions,
14-
see [Authentication and authorization](devel/backend/controller/#authentication-and-authorization).
14+
see [Authentication and authorization](/epigraf/devel/backend/controller/#authentication-and-authorization).
1515
- *files*: Metadata for files managed by Epigraf.
1616
- *docs*: Wiki, help and public pages.
1717
- *pipelines*: Export pipeline configurations.
18-
- *jobs*: Each [batch operation](devel/database/batch-operations) generates a job.
18+
- *jobs*: Each [batch operation](/epigraf/devel/database/batch-operations) generates a job.
1919

2020
See the entity classes in `src/model/Entity` for further information about the available fields in each table.
2121

@@ -49,7 +49,7 @@ which includes the following tables:
4949
See below and see the entity classes in `plugins/Epi/src/model/Entity` for further information
5050
about the available fields in each table.
5151

52-
![Graphic illustration of the data model](devel/assets/img/epigraf-data-model.png)
52+
![Graphic illustration of the data model](/epigraf/devel/assets/img/epigraf-data-model.png)
5353

5454
## Structure of the Project Databases
5555

docs/devel/frontend/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ For interactive trees, tables and other widgets, Epigraf implements an own EpiWi
1313
Bundling JavaScript files, CSS files, language resources and images is done using Webpack.
1414
All bundles can be generated at once by calling `npm run build`.
1515

16-
![Epigraf Editor](devel/assets/img/epigraf-editor.png)
16+
![Epigraf Editor](/epigraf/devel/assets/img/epigraf-editor.png)

docs/devel/frontend/templates.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,4 @@ The application object implements methods...
118118

119119
The `App` object is expanded by functions in widgets.js
120120
that attach JavaScript classes to HTML elements.
121-
See the [widget documentation](devel/frontend/widgets).
121+
See the [widget documentation](/epigraf/devel/frontend/widgets).

docs/devel/frontend/widgets.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ permalink: 'devel/frontend/widgets/'
44
---
55

66
Epigraf uses a widget system to connect HTML elements with JavaScript classes.
7-
The widget HTML elements are generated in the [backend](devel/backend/view) by helper classes derived from CakePHP helpers.
7+
The widget HTML elements are generated in the [backend](/epigraf/devel/backend/view) by helper classes derived from CakePHP helpers.
88

99
Each JavaScript widget class registers a CSS class and the framework instantiates and attaches the widget classes
1010
to the found elements. For example, a table with the class `widget-table` is supplemented by a `TableWidget` class.
@@ -31,7 +31,7 @@ The base classes of the framework are defined in `htdocs/js/base.js`:
3131
A document consists of several parts such as sections, footnotes and notes.
3232
Document classes hold together the different parts and manage the interaction between them.
3333

34-
![Inheritance hierarchy](devel/assets/img/classes-widget-basemodel.png)
34+
![Inheritance hierarchy](/epigraf/devel/assets/img/classes-widget-basemodel.png)
3535

3636
### The Widget Life Cycle
3737

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

130-
![Inheritance hierarchy](devel/assets/img/classes-widget-baseframe.png)
130+
![Inheritance hierarchy](/epigraf/devel/assets/img/classes-widget-baseframe.png)
131131

132132
The frame classes handle dynamic content loading and trigger the respective widget lifecycle methods:
133133
- `loadElement()` displays a DOM element already constructed on the page.
@@ -162,7 +162,7 @@ Layout widgets provide extended functionality for the page layout (see `layout.j
162162
## Collections: Tables, Trees And Their Supplemental Widgets
163163

164164
Collections are used to display lists of items, for example in tables or trees.
165-
The HTML elements are generated by the collection views in the [backend](devel/backend/view)
165+
The HTML elements are generated by the collection views in the [backend](/epigraf/devel/backend/view)
166166
and are supplemented by JavaScript widgets.
167167

168168
### TableWidget
@@ -215,7 +215,7 @@ Both are descendants of the `BaseForm` class supporting features for saving data
215215
- Handle form validation and the form submission lifecycle.
216216
- Emit events for other widgets reacting to content updates.
217217

218-
![Inheritance hierarchy](devel/assets/img/classes-widget-basedocumentmodel.png)
218+
![Inheritance hierarchy](/epigraf/devel/assets/img/classes-widget-basedocumentmodel.png)
219219

220220
The `EntityWidget` is used for simple entities, usually displayed in a vertical table.
221221
It inherits all methods and properties from `BaseForm`
@@ -232,7 +232,7 @@ Parts of a document may be distributed on the page. Two cases are distinguished
232232
The main document and the satellites both derive from `BaseDocumentPart`
233233
that provides some basic common methods on the frontend view layer.
234234
- **Subordinate** data contained within the main document widget or its satellite widgets
235-
comprise, for example, sections and items (see the [model layer in the backend](devel/backend/model)).
235+
comprise, for example, sections and items (see the [model layer in the backend](/epigraf/devel/backend/model)).
236236
Both data types have model classes and a corresponding widget class that directly derive
237237
from `BaseDocument` which mainly allows accessing their parent documents, table names and ID attributes.
238238

docs/devel/index.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
#
88
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
99
title: Welcome Developers!
10-
permalink: 'devel/'
10+
permalink: '/epigraf/devel/'
1111
---
1212

1313
*Note: You are currently reading the developer documentation.
14-
For information about how to use and configure Epigraf, see the [user documentation](user/).*
14+
For information about how to use and configure Epigraf, see the [user documentation](/epigraf/user/).*
1515

1616
Epigraf has a history.
1717
You will find archeological layers and legacy code from former development epochs
@@ -23,7 +23,7 @@ Look out for the flowers that are in bloom and help nurture the garden.
2323
## Getting Started
2424

2525
Epigraf is a classical web application.
26-
The [server infrastructure](devel/servers) to run Epigraf consists of an Apache web server,
26+
The [server infrastructure](/epigraf/devel/servers) to run Epigraf consists of an Apache web server,
2727
a MariaDB database server, file storage, and optionally a Redis cache server.
2828
You can use the prepared docker compose setup to run the application:
2929

@@ -58,18 +58,18 @@ You can use the prepared docker compose setup to run the application:
5858
with the username `admin` and the password `admin`.
5959

6060
What's next?
61-
Before you proceed, get familiar with the [core concepts](user/coreconcepts/) of Epigraf.
62-
Then learn how to [adapt Epigraf](user/configuration/) to your use case.
61+
Before you proceed, get familiar with the [core concepts](/epigraf/user/coreconcepts/) of Epigraf.
62+
Then learn how to [adapt Epigraf](/epigraf/user/configuration/) to your use case.
6363

6464
## Architecture
6565

66-
The [frontend](devel/frontend) is rendered in the browser using HTML, CSS, and JavaScript. Frontend logic is based on the EpiWidJs framework.
67-
The [backend](devel/backend) is implemented using the CakePHP framework and contains the application logic.
68-
MariaDB and the file system is used to store [data](devel/database). There is one application database for managing
66+
The [frontend](/epigraf/devel/frontend) is rendered in the browser using HTML, CSS, and JavaScript. Frontend logic is based on the EpiWidJs framework.
67+
The [backend](/epigraf/devel/backend) is implemented using the CakePHP framework and contains the application logic.
68+
MariaDB and the file system is used to store [data](/epigraf/devel/database). There is one application database for managing
6969
user accounts and application-wide data. For the research data, multiple project databases are created.
7070
Frontend and database content is cached using Redis. If no Redis server is available, the cache is stored in the file system.
7171

72-
![Epigraf architecture](devel/assets/img/epigraf-architecture.png)
72+
![Epigraf architecture](/epigraf/devel/assets/img/epigraf-architecture.png)
7373

7474
## Directory structure
7575

docs/devel/tast/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ toc: false
66

77
Throughout the development process, Epigraf code is tested in three ways:
88

9-
- [Backend tests](devel/tests/backend) use PHPUnit. They call endpoints and test whether the output
9+
- [Backend tests](/epigraf/devel/tests/backend) use PHPUnit. They call endpoints and test whether the output
1010
matches the expectations. This tests model, view, and controllers of the backend at the same.
1111
Unit tests are performed by the same method as integration tests,
1212
but check the functionality of specific model and utility classes.
1313
Unit tests compare function outputs (and database content modified by functions) with the expected results.
14-
- [Frontend tests](devel/tests/frontend) use Jest and check JavaScript code from the widgets.
15-
- [Acceptance tests](devel/tests/acceptance) use Codeception. They check the appearance and interactivity of the frontend
14+
- [Frontend tests](/epigraf/devel/tests/frontend) use Jest and check JavaScript code from the widgets.
15+
- [Acceptance tests](/epigraf/devel/tests/acceptance) use Codeception. They check the appearance and interactivity of the frontend
1616
by performing actions in a real browser. This includes testing the backend code since
1717
the frontend is generated by the backend.
1818

docs/user/administration/databases.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Database Administration
3-
permalink: 'user/administration/databases/'
3+
permalink: '/epigraf/user/administration/databases/'
44
---
55

66
Epigraf manages separate databases for different projects.

0 commit comments

Comments
 (0)