@ -57,7 +57,7 @@ A response that is fully controlled by Rails but extended by some Angular compon
Historically, OpenProject has been forked from [Redmine](https://www.redmine.org/) and modified from a primarily software-development focused flow into a general project management application suite. A Ruby on Rails monolith was used to serve the entire application, frontend and API. Javascript was used to extend some of the functionality with Prototype.js and jQuery on existing, Rails-rendered pages.
The monolith was turned into a hybrid application with semi-separated JavaScript frontend by the [introduction of AngularJS in 2014](https://github.com/opf/openproject/pull/913) for a redesign of the [work package table](../../../user-guide/work-packages/work-package-views/#work-packages-views). The Rails monolith was and is still rendering a large potion of the frontend however. The AngularJS frontend was served from within Rails and not separated. Therefore, the application frontend is not a single-page application yet.
The monolith was turned into a hybrid application with semi-separated JavaScript frontend by the [introduction of AngularJS in 2014](https://github.com/opf/openproject/pull/913) for a redesign of the [work package table](../../../user-guide/work-packages/work-package-views/#work-packages-views). The Rails monolith was and is still rendering a large portion of the frontend however. The AngularJS frontend was served from within Rails and not separated. Therefore, the application frontend is not a single-page application yet.
Due to performance issues with AngularJS digest cycles and a large number of components, the work package table was [refactored into a plain JavaScript renderer](https://github.com/opf/openproject/pull/5117) end of 2016. Finally, in early 2018, the application frontend was [migrated from AngularJS to Angular](https://github.com/opf/openproject/pull/5984) during the course of a few releases.
@ -90,7 +90,7 @@ When accessing a singular query resource, the response will always contain the s
- `_links.project` to the project it is saved in (if project-scoped)
- `_links.user` reference to the user that saved or requested the query
- Properties regarding the **displaying of the query** results such as `timelineVisible` (show the gantt chart), `highlightingMode` and `showHierarchies`
- **Embedded HAL links**und `_embedded` related to how the results are to be fetched
- **Embedded HAL links**and `_embedded` related to how the results are to be fetched
- `filters` selected filters array
- `columns` embedded array of selected `columns`
- `sortBy` array of one or multiple sort criteria.
@ -175,7 +175,7 @@ In practice, you will likely not only access the query resource itself, but rath
The `WorkPackagesListService` can also update and save existing queries passed to it. This flow will often happen in the [`PartitionedQuerySpaceComponent`](https://github.com/opf/openproject/blob/dev/frontend/src/app/features/work-packages/routing/partitioned-query-space-page/partitioned-query-space-page.component.ts), which is the basis for the modules showing work packages as a table or grid such as the [`WorkPackageViewPageComponent`](https://github.com/opf/openproject/blob/dev/frontend/src/app/features/work-packages/routing/wp-view-page/wp-view-page.component.ts) or the [`IfcViewerPageComponent`](https://github.com/opf/openproject/blob/dev/frontend/src/app/features/bim/ifc_models/pages/viewer/ifc-viewer-page.component.ts).
`PartionedQuerySpaceComponent` instances will be instantiated by the router and listen to URL params to load the corresponding query object. The most prominent example of such a page is the work packages module such as [community.openproject.com/work_packages](https://community.openproject.com/work_packages).
`PartitionedQuerySpaceComponent` instances will be instantiated by the router and listen to URL params to load the corresponding query object. The most prominent example of such a page is the work packages module such as [community.openproject.com/work_packages](https://community.openproject.com/work_packages).
The partitioning comes from showing a work package table (or cards view) on one side, and a details view of a single work package on another side, splitting the page in two. The width of the split areas can be customized by the user through a drag-handle.
The OpenProject product team is very interested in your feedback. So if you want to contribute or comment on the style definitions, components or documentation currently created in Figma please contact us by email to [info@openproject.com](mailto:info@openproject.com). Alternatively you can create a work package in the [OpenProject community plattform](https://community.openproject.org).
The OpenProject product team is very interested in your feedback. So if you want to contribute or comment on the style definitions, components or documentation currently created in Figma please contact us by email to [info@openproject.com](mailto:info@openproject.com). Alternatively you can create a work package in the [OpenProject community platform](https://community.openproject.org).
@ -277,7 +277,7 @@ If you cancel your subscription for Enterprise on-premises you will be downgrade
### How can I migrate from an old version of OpenProject to the latest version?
OpenProject changed the database from MySQL (rarely also MariaDB) in older Versions and used PostgreSQL 10 afterwards. With the relase of version 12 OpenProject introduced the PostgreSQL 13 database. For further information on several database migrations, please have a look at [this section](../installation-and-operations/misc).
OpenProject changed the database from MySQL (rarely also MariaDB) in older Versions and used PostgreSQL 10 afterwards. With the release of version 12 OpenProject introduced the PostgreSQL 13 database. For further information on several database migrations, please have a look at [this section](../installation-and-operations/misc).
In docker installations, there is a default `statement_timeout` of 90s set for the docker image. To override this value in case you're getting statement timeout errros such as "ERROR: canceling statement due to statement timeout", use the environment variable `POSTGRES_STATEMENT_TIMEOUT`
In docker installations, there is a default `statement_timeout` of 90s set for the docker image. To override this value in case you're getting statement timeout errors such as "ERROR: canceling statement due to statement timeout", use the environment variable `POSTGRES_STATEMENT_TIMEOUT`
@ -460,7 +460,7 @@ If you wish to install OpenProject under a server path prefix, such as `yourdoma
#### SSL/TLS configuration
> **Note:** With OpenProject version 12.2 **HTTPS confugration** was set to be **default** for every installation. **Now best practice is to proceed by selecting `yes` for using HTTPS (SSL/TLS)** and generating the needed certificates, otherwise you will have to manually deactivate HTTPS on the command line.
> **Note:** With OpenProject version 12.2 **HTTPS configuration** was set to be **default** for every installation. **Now best practice is to proceed by selecting `yes` for using HTTPS (SSL/TLS)** and generating the needed certificates, otherwise you will have to manually deactivate HTTPS on the command line.
OpenProject can configure Apache to support HTTPS (SSL/TLS). If you have SSL certificates and want to use SSL/TLS (recommended), select **Yes**.
@ -239,7 +239,7 @@ SAML responses by identity providers are required to be signed. You can configur
Use the key `attribute_statements` to provide mappings for attributes returned by the SAML identity provider's response to OpenProject internal attributes.
**a) Attribute mapping example for configration.yml**
**a) Attribute mapping example for configuration.yml**
Once you hava entered the client ID and client secrets on this page, click on **Save and complete setup**. In the next screen, click on **Yes, I have copied these values**. At this point, your instance configuration is complete and you should see a green banner confirming this.
Once you have entered the client ID and client secrets on this page, click on **Save and complete setup**. In the next screen, click on **Yes, I have copied these values**. At this point, your instance configuration is complete and you should see a green banner confirming this.
![Integration successfully completed on the OpenProject end](Nextcloud-set-up-in-OP.png)
### Is it possible to copy a wiki or a wiki page from one project into another project?
Yes, you can do both, you have to export the wiki or the wiki page as a Markdown (or Atom), than copy the Mardown from the text editor. Now you have to create a new wiki in the project you want to copy the old one (or the page). In the section paragrah you have to change into the markdown modus, then paste the text from you have copied. Unforunally pictures cannot be copied this way. You have to add them manually.
Yes, you can do both, you have to export the wiki or the wiki page as a Markdown (or Atom), than copy the Mardown from the text editor. Now you have to create a new wiki in the project you want to copy the old one (or the page). In the section paragraph you have to change into the markdown modus, then paste the text from you have copied. Unforunally pictures cannot be copied this way. You have to add them manually.
### Which image formats can be used to include them on a wiki page?
@ -44,7 +44,7 @@ You can enter dates either by typing them in into the start and finish date fiel
You can also click on the **Today** link below the start and finish date fields to use today's date.
A more intuitive way to select start and end dates is to simply click on two different dates in the mini calendars below. Two calendar months are displayed for better visibilty.
A more intuitive way to select start and end dates is to simply click on two different dates in the mini calendars below. Two calendar months are displayed for better visibility.
Start by clicking on a start date. This will enter the selected date as the start date, mark it with a dark color on the mini calendar below and move the focus to the finish date field. Hovering on different finish dates will give you a preview of the date range for the work packakge if you click this second date. Once you have decided on a finish date, click on it. This will enter the finish date in the date field and mark that date with another dark color. The dates in between will be highlighted with a lighter colour.
@ -127,7 +127,7 @@ For example, if you set the start date to *Wednesday, 12 October* and enter a du
It is possible for a work package to have only duration without any start or finish dates set.
> **Note:** If you add even one date to a work package with duration, the other date is automatically derived; ot is not possible to have just one date (start *or* finish) and duration set. Please note also that if a work package with only duration derives its start date via a relation, the finish date is then also derived.
> **Note:** If you add even one date to a work package with duration, the other date is automatically derived; it is not possible to have just one date (start *or* finish) and duration set. Please note also that if a work package with only duration derives its start date via a relation, the finish date is then also derived.
Setting only duration without start or finish dates is especially useful when you have a general estimation of how long different tasks or phases of a project will take, but do not have exact dates defined quite yet.
@ -69,7 +69,7 @@ A toolbar that can and should be used for actions on the current view. Initially
</li>
</ul>
</div>
<p class="subtitle">now with extremeley long subtitle: Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste consequatur doloribus suscipit nemo temporibus deserunt alias incidunt doloremque officia rerum, nobis fuga, recusandae voluptatibus voluptatem tenetur repellendus itaque et. Eum.</p>
<p class="subtitle">now with extremely long subtitle: Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste consequatur doloribus suscipit nemo temporibus deserunt alias incidunt doloremque officia rerum, nobis fuga, recusandae voluptatibus voluptatem tenetur repellendus itaque et. Eum.</p>
</div>
```
@ -138,6 +138,6 @@ A toolbar that can and should be used for actions on the current view. Initially
</li>
</ul>
</div>
<p class="subtitle">now with extremeley long subtitle: Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste consequatur doloribus suscipit nemo temporibus deserunt alias incidunt doloremque officia rerum, nobis fuga, recusandae voluptatibus voluptatem tenetur repellendus itaque et. Eum.</p>
<p class="subtitle">now with extremely long subtitle: Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iste consequatur doloribus suscipit nemo temporibus deserunt alias incidunt doloremque officia rerum, nobis fuga, recusandae voluptatibus voluptatem tenetur repellendus itaque et. Eum.</p>
@ -23,7 +23,7 @@ There are four button styles and a disabled one.
**Basic**
The basic style is grey by defualt. Use it for secondary actions or in a group of buttons where there are no primary actions (for exmaple, in a toolbar).
The basic style is grey by default. Use it for secondary actions or in a group of buttons where there are no primary actions (for example, in a toolbar).
> Example: Open in Nextcloud with right icon, Settings with left icon, More with right icon
@ -49,7 +49,7 @@ The danger style should also be used sparingly to draw attention to actions that
A button can be *enabled* or *disabled*. The disabled style is the same for all of the above-described styles.
> Example: Disabled Open in Nextcloud buttin with right icon, disabled Settings button with left icon, disabled More icon with right button
> Example: Disabled Open in Nextcloud button with right icon, disabled Settings button with left icon, disabled More icon with right button
## Options
@ -126,4 +126,4 @@ If space allows, the button can have a max-width setting, so that it can first s
## Margin and Spacing
The width of the button is generally set by the contents (notably by the length of the text and the precense of icons). In certain situations, the button might have a fixed length.
The width of the button is generally set by the contents (notably by the length of the text and the presence of icons). In certain situations, the button might have a fixed length.
@ -39,7 +39,7 @@ Although it is best to avoid layering beyond two levels (a base screen + an over
We use different shadows to communicate depth and allow the user to intuitively understand what is "on top".
Our shadows definitions divided between Light and Hard and three levels of elevation. The shadow is always based on a black #000000 transparancy level, a X and Y px value and a spread px value.
Our shadows definitions divided between Light and Hard and three levels of elevation. The shadow is always based on a black #000000 transparency level, a X and Y px value and a spread px value.
@ -57,7 +57,7 @@ This is really an alias of _Body Small/Bold_ when this style is used as a header
## Body Big
Used occassionally (where?)
Used occasionally (where?)
> Code example here
@ -83,7 +83,7 @@ The bold version is used in:
## Caption
The caption is used for indications and auxillery information that usually adds context to a view, but are not primary elements. They are also used on elements where space is limited (like the date information on Team planner or Board cards).
The caption is used for indications and auxiliary information that usually adds context to a view, but are not primary elements. They are also used on elements where space is limited (like the date information on Team planner or Board cards).
The regular version is used, among other places, in: