diff --git a/docs/README.md b/docs/README.md index d2b0789491fb..84d3456a947b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -29,7 +29,6 @@ The guides for [upgrading](./installation-and-operations/operation/upgrading) ar * [Configure incoming mails](./installation-and-operations/configuration/incoming-emails) * [Install custom plugins](./installation-and-operations/configuration/plugins) - ## User Guides Please see our [User Guide pages](./user-guide/) for detailed documentation on the functionality of OpenProject. @@ -38,7 +37,6 @@ Please see our [User Guide pages](./user-guide/) for detailed documentation on t Please see our [Use Cases section](./use-cases/) for detailed how-to guides and step-by-step instruction on how to set up a variety of common cases and views. - ## Development * [Full development environment for developers on Ubuntu](./development/development-environment-ubuntu) and [Mac OS X](./development/development-environment-osx) @@ -48,7 +46,6 @@ Please see our [Use Cases section](./use-cases/) for detailed how-to guides and * [Code review guidelines](./development/code-review-guidelines) * [API documentation](./api) - ## APIv3 documentation sources The documentation for APIv3 is written in the [OpenAPI Format](https://www.openapis.org/) and its sources are being built from the entry point `openapi-spec.yml`. diff --git a/docs/api/apiv3/client-libraries/README.md b/docs/api/apiv3/client-libraries/README.md index 17754793b009..fbcfb5c39046 100644 --- a/docs/api/apiv3/client-libraries/README.md +++ b/docs/api/apiv3/client-libraries/README.md @@ -6,7 +6,6 @@ While we cannot endorse or vet the libraries listed below we encourage their cre If you need help developing a client library you can [contact us](mailto:support@openproject.com). If you want to have a client library listed in the list below you can again [contact us](mailto:support@openproject.com) or simply issue a PR with [changes to the source file](https://github.com/opf/openproject/blob/dev/docs/api/apiv3/client-libraries/README.md). - ## JavaScript / TypeScript * [op-client](https://www.npmjs.com/package/op-client): Client library for OpenProject server. Works both on Node.js and browser. diff --git a/docs/api/apiv3/example/README.md b/docs/api/apiv3/example/README.md index f88046848caa..3c6e740fca48 100644 --- a/docs/api/apiv3/example/README.md +++ b/docs/api/apiv3/example/README.md @@ -188,7 +188,6 @@ The value taken for the `href` in a resource value will always be the `self` lin ![work package create schema self link](./wp-create-form-schema-self-link.png) - *The correct combination of `project` and `type` needs to be chosen. Sometimes a type is not available in every project. In that case, the type either can be added to the project in the UI or a different type needs to be chosen for the project. This is why it sometimes makes sense to first send the project within the form body as this will update the `availableValues` listed for `type`* ### Sending the create request diff --git a/docs/api/faq/README.md b/docs/api/faq/README.md index 368de052f2ea..c5ab0340e0bb 100644 --- a/docs/api/faq/README.md +++ b/docs/api/faq/README.md @@ -18,4 +18,3 @@ That's not possible at the moment. You can only [retrieve](../endpoints/wiki-pag The API v3 currently does not expose categories via the API. Please note that categories might change in the future as they have a lot of limitations, e.g. when filtering. - diff --git a/docs/bim-guide/README.md b/docs/bim-guide/README.md index 3dfc15e2513d..aa847cfca206 100644 --- a/docs/bim-guide/README.md +++ b/docs/bim-guide/README.md @@ -11,14 +11,10 @@ Welcome to the OpenProject user guide for Building Information Modeling (BIM) wi On top of the general project management functionalities, OpenProject BIM enables construction teams to better plan, communicate and collaborate in their building projects. OpenProject BIM includes a 3D model viewer (IFC viewer), support of the BIM collaboration format (BCF) for BIM issue management, and much more powerful features, e.g. a [Revit integration](revit-add-in). - > **Note**: This guide only covers the specific [BIM features and functionalities of OpenProject](https://www.openproject.org/bim-project-management/). To learn more about the core features for project management of OpenProject (which are included in the BIM edition as well), please visit our [User Guide](../user-guide/). - ![BIM Project Management](demo_project_teaser_bim.jpg) - - ## Overview of all topics regarding the OpenProject BIM edition OpenProject BIM edition provides powerful features particular designed for the needs of construction industry. Please choose the topic you want to learn more about. @@ -29,78 +25,54 @@ Upload your IFC building models and show them directly in the internet browser, Details: [IFC-Viewer](ifc-viewer) - - ## BIM issue management Create tasks directly connected to your building model, import tasks or export tasks from any other BIM application. Details: [BIM Issue Management](bim-issue-management) - - ## Revit add-in Stay always connected to OpenProject in realtime, show and create tasks while you're working in the Revit, using the Revit Add-in. Details: [Revit Add-in](revit-add-in) - - ## How to get a free trial You easily can start a new BIM trial on our [OpenProject BIM website](https://www.openproject.org/bim-project-management/). The have a look at the full description of how to start a new trial installation just follow the Link: [Create trial installation](../enterprise-guide/enterprise-cloud-guide/create-cloud-trial/). - - ## How to enable the BCF module The BCF Module and the included IFC viewer can be enabled for every single project. Here you can find the description how to [enable a module](../user-guide/projects/project-settings/modules/) within your ***project settings***. - - ## Reporting bugs You found a bug? Please [report it](../development/report-a-bug) to our [OpenProject community](https://community.openproject.org/projects/revit-add-in). Thank you! - - ## BIM FAQs - - ### Can OpenProject features be used within the OpenProject BIM edition? Yes, you are able to use all known features. Within our BIM edition you get the full functionality and additionally some features only for the building industry. - - ### Is it possible to switch my existing OpenProject installation to the BIM edition? Yes, an existing OpenProject on-premises (self-hosted) installation can easily be switched to the BIM edition without losing your settings and projects. In our [Installation & Upgrade Guide](../installation-and-operations/bim-edition/) you can find a description how to switch. - - ### Is OpenProject BIM compatible to other BIM software? Yes of course. We are of the opinion that the full potential of the BIM method only works through collaboration and the exchange of information (openBIM). For this reason we support the open BCF XML Standard. You are able to import and export all created BCF and stay interoperable with any other BCF software. - - ### Why do I need a Revit add-in? You don't need it, but it makes your BIM Issue Management much easier. The *OpenProject Revit Add-In* allows you to use the open source project management software *OpenProject BIM* directly within your Autodesk Revit environment. It lets you create, inspect and manage issues right in the moment when you can also solve them - when you have your Revit application fired up and the relevant BIM models open. Issues get stored as BIM Issues centrally and are available to every team member in real time - thanks to our browser based IFC viewer even to those team members without expensive Revit licenses. No BCF XML import/export is needed. However, you still can import and export BCF XML as you like and stay interoperable with any other BCF software. - - ### Are there any system requirements for the Revit add-in? The OpenProject Revit Add-In does not have any special system requirements. Only a supported [version of Autodesk Revit](./revit-add-in/#system-requirements) must be installed. - - ### Which versions of Revit are supported? The OpenProject BIM Add-in for Revit supports the following versions: @@ -109,28 +81,20 @@ The OpenProject BIM Add-in for Revit supports the following versions: - REVIT 2020 - REVIT 2021 - - ### Is it possible to use OpenProject BIM without Revit? Yes! The Revit Add-In is just additional to the OpenProject BIM core functionality. It's still possible to import and export BCF XML as you like and stay interoperable with any other Software for BIM Issue Management. - - ### Are integrations with other BIM software planned? Yes, we want to develop some other integrations to stay interoperable with other BIM software and make BIM Issue Management with OpenProject BIM much easier. - - ### How to enable the BCF module The BCF Module and the included IFC viewer can be enabled or disabled for every single project. Here you can find the description how to [enable a module](../user-guide/projects/project-settings/modules/) within the project settings. *The BCF Module is an OpenProject BIM Enterprise add-on. Please make sure, that you are already using the OpenProject BIM edition ([switch to the BIM edition](../installation-and-operations/bim-edition/))* - - ### Why can't I see a building model? There are many potential reasons why you can't see your building model. Please check out the most common reasons and their solution: @@ -141,9 +105,6 @@ There are many potential reasons why you can't see your building model. Please c - IFC file isn't uploaded yet or is invalid (please check the status of the uploaded file within the [IFC Model management area](ifc-viewer/#import-and-export-ifc-models)). - IFC file does not have any geometry (please check if your IFC file has some geometry) - - ### Where to find the version of my Revit add-in? To see which version of the Revit AddIn you are currently using, navigate to the OpenProject tab in the Revit taskbar and open the settings. Here you can see which version you are currently using. - diff --git a/docs/bim-guide/bim-issue-management/README.md b/docs/bim-guide/bim-issue-management/README.md index fd1ff649af97..7c99cf423f24 100644 --- a/docs/bim-guide/bim-issue-management/README.md +++ b/docs/bim-guide/bim-issue-management/README.md @@ -10,8 +10,6 @@ keywords: BIM, BCF, IFC, BIM Issue Management, BCF-Management Within the *BCF-Module* you are able to manage *BIM Issues (BCF)*. All BIM Issues get stored as BCFs centrally and are available to every team member in real time. Below you find the most important features how to use the BCF Module to create, inspect and manage issues. - - ## What is a BIM issue? A BIM Issue is a special kind of work package to communicate directly within the building model. It supports you to solve problems and coordinate the planning phase in a building project. @@ -20,8 +18,6 @@ The BIM Issue is not only a description of a problem, the view of the building m OpenProject BIM supports the standard of the ***BIM Collaboration Format (BCF)***. All BIM Issues which are created within another *Open BIM* Software can be imported to work with this issue within our project management solution. - - ## Create a BIM issue To create a BIM Issue you don't have to configure a new type of work package. Every work package (e.g. Task, Issue, Milestone, … ) can become a BIM Issue only by adding a viewpoint to the work package. @@ -35,12 +31,8 @@ BIM-Issues always belong to a project and a building model. Therefore, you first Then, navigate to the BCF module in the project navigation. - - ![BCF-Module](OpenProject_BCF_Module.png) - - ### Create a new BIM issue To create new BIM Issues, you have to open the Model - Viewer first and create the view you want to save within the BIM Issue (e.g. zoom, [rotate](../ifc-viewer/#how-to-rotate-the-building-model), [slice](../ifc-viewer/#how-to-slice-the-building-model), [select](../ifc-viewer/#how-to-select-elements), [hide](../ifc-viewer/#show-or-hide-models-or-elements-via-model-tree), … ). @@ -49,22 +41,16 @@ Click on the **+ Create new work package** and select the type of work package y ![Create a new BIM Issue](create-a-new-BIM-issue.png) - - Now you can see a detail view of the new Issue. Describe all necessary information to work on that task and add a viewpoint by clicking on the **"+ Viewpoint"**-Button. Now the current Viewpoint of the Building Model is added to the Issue. After saving your new BIM issue is created. *Within the viewpoint the current status of your building model is saved. So please check the view before - is there everything shown within the model viewer?* ![Create a viewpoint](Create-a-viewpoint.png) - - You also have the option of adding multiple viewpoints to a work package. Rotation, selection and visibility can be changed for every viewpoint to get a better model based communication. ![Adding multiple viewpoints](adding-multiple-viewpoints.png) - - ### Add a viewpoint to an existing work package The workflow of adding a viewpoint to an existing work package is similar to creating a new BIM Issue. To switch an existing work package to a BIM Issue just follow the steps: @@ -72,53 +58,32 @@ The workflow of adding a viewpoint to an existing work package is similar to cre Open the **BCF-Module** to see the building model. ![BCF Module](bcf_module.png) - - Make sure the "Model Viewer & Maps" - View or "Model Viewer & Table" - View is selected within the **OpenProject-Toolbar**. ![Model and work package view](model_maps_view.png) - - Now open the **work package Details** by double click on the work package ("my first work-package"). Now you are able to add a viewpoint like it is described above. - - - ## BIM issue handling (details view) The handling of BIM Issues is similar to the handling of work packages (including configuration of the attribute). To jump to a viewpoint of an existing BIM Issue the model viewer has to be activated (visible in the center of your screen) or you have to open the detail view of the work package. - - - ### Jump to a viewpoint with the details view If the Model viewer isn't shown yet, open the Detail - view of the BIM Issue and follow the Cube symbol of the preview. Now the model viewer opens and the viewpoint of the BIM Issue will be displayed. ![Display BIM Issue](display_bim_issue.png) - - - - ### Switch between different viewpoints After creating multiple BIM Issues you are able to jump between different viewpoints easily. The "Viewer and Cards" - Mode shows all of your BIM Issues. With a single click at the preview of the BIM Issue, the model viewer changes immediately. - - ![Switch_Viewpoints](Switch_Viewpoints.gif) - - ### Configuration of BIM issues To create BIM Issues you don't have to configure additional work package types. Every existing work package can become a BIM Issue by adding a viewpoint. Before you can add a viewpoint to a work package, this work package must be enabled for viewpoints in the system administration. - - - ## View and find BIM issues (cards and list view) ### Overview @@ -127,83 +92,50 @@ You can switch between different View modes within the OpenProject toolbar. Just ![Switch View Mode](Swicht_View_Mode.gif) - - - ### Viewer and cards ![Viewer and Cards](Viewer_and_Cards.png) - - The detail view of every work package can be shown by different user actions. To open the viewpoint and see the description in the details view, just double click at the BIM Issue in the card view. After double click your current viewpoint in the model viewer will be reset and the viewpoint of the BIM Issue including all details will be displayed. To view only the detail view of the BIM issue without resetting the current view of the model, you can click on the work package number ("#…") or the "information icon" on the card. - - ### Cards mode Within the cards view you are not able to jump directly to a viewpoint. First you have to open the details view by using the "information icon" or the work package number ("#…") at the card. There you can find the "Cube" which leads you to the viewpoint within the appearing model viewer. ![Cards Mode](Cards-mode.png) - - - - - ### Viewer and table To open the BIM Issue in this mode just click at the work package in the table. By double click at the BIM Issue the viewpoint will be shown and the details will appear. The details of each work package can be shown without changing the current view of the model by single click at the work package ID. ![Viewer and Table](viewer-and-table.png) - - - - ### Table Within the table view you are not able to jump directly to a viewpoint. First you have to open the details view by using the "information icon" or the work package number ("#…") or double click at the work package. At the details view you can find the "Cube" which leads you to the viewpoint within the appearing model viewer. ![Table](table.png) - - - - - ## Filter BIM issues You are able to filter BIM Issues by using the filter button in the **OpenProject toolbar**. The filter is usable in every view. ![OpenProject Toolbar](OpenProject-toolbar.png) - - ![Filter BIM Issue](Filter-BIM-Issue.png) - - - ## BIM issues in work package module BIM Issues are also listed in the work package module. This supports you to manage your building project in the best way and get an overview of all issues. To separate work packages and BIM Issues we created a new filter which enables you to filter BIM Issues. ![BIM Issues and work packages](bim-issues-and-work-packages.png) - - - - - ## Import and export BCF issues using BCF Within the BCF module you are able to upload BIM Issues which are created within other software and download already existing files to manage them within other BIM project management solutions. Just Click on the ***"Import"-Button*** or ***"Export"-Button*** within the OpenProject Toolbar. - - ### Import of attributes After importing a BCF Issue (or multiple Issues at the same time) from another software, OpenProject will match existing attributes and types of the work package. @@ -212,8 +144,6 @@ If attributes of the imported BCF Issue can't be matched automatically (because ![Import BCF](import-bcf.png) - - **Currently the following attributes can be synchronized and matched:** - Title & Description @@ -229,18 +159,12 @@ If attributes of the imported BCF Issue can't be matched automatically (because - Due Date - Comments - - After a successful matching of the attributes the topics will be displayed in OpenProject. ![Successful BCF Import](successfull-bcf-import.png) - - ![Imported BCF Issues](imported-bcf-issues.png) - - ### Outdated BCF issues If there are more recent changes to the work package in OpenProject than in the imported BCF ("ModifiedDate"), the import will be rejected. diff --git a/docs/bim-guide/ifc-viewer/README.md b/docs/bim-guide/ifc-viewer/README.md index 5927c22cf1c2..a71bae4e8617 100644 --- a/docs/bim-guide/ifc-viewer/README.md +++ b/docs/bim-guide/ifc-viewer/README.md @@ -18,69 +18,44 @@ The BCF Module has included a very powerful IFC viewer. Here is a short overview ![IFC Viewer Overview](ifc-viewer-overview.png) - - 1. **IFC Model Viewer** to have a look at the building model directly within OpenProject BIM. 2. **IFC Model Tree** to see the IFC Model Structure and show / hide elements. 3. The **OpenProject toolbar** shows the most important user actions like creating new (BIM) issues, Import & Export BCF files, Change OpenProject View and upload & download IFC-Models 4. The **View Cube** to rotate the building model. 5. The **IFC-Viewer toolbar** to interact with the building model (e.g. change perspective, hide/ show elements, select elements & slice the building model) - - ## Import and export IFC models Within the BCF module you are able to manage your IFC files. You are able to upload new building models and download already existing files. Just Click on the ***"IFC-Models"-Button*** within the OpenProject Toolbar. - - ![Import and Export IFC Models](import-and-export-ifc-models.png) - - To upload your first IFC model click on the green "+ IFC Model" - Button. A new explorer Window will be opened. Just navigate to the folder where your latest building model is saved. ![Import IFC Model](import-ifc-model.png) - - Select the file you want and confirm your upload. You also the choice to set the new model as "Default model". All default models (multiple models can be set as default) are initially shown if you reload the BCF module. You are able to change this setting later as well. ![Set Model as Default](set-model-as-default.png) - - After uploading a building model you get an overview of all models within the "model management". There you are able to see their current upload status, rename the model, delete or download the existing models. ![BIM Model Management](bim-model-management.png) - - If there already exist a model in project, you don't have to open the "model manager" to upload other models. You are able to add more models by clicking the "Add-Button" in the IFC Model Tree. ![Add a new IFC Model](add-a-new-ifc-model.png) - - **Remember:** If there are multiple models you are able to hide the whole model or single elements by using the checkbox within model tree. ![Hide_Model](Hide_Model.gif) - - - - - ## How to rotate the building model To rotate the IFC model you either left-click on the building viewer and ***rotate the building model by panning*** your cursor **or** use the ***View Cube*** in the right bottom corner for navigation. ![Model_Rotation](Model_Rotation.gif) - - - - ## IFC-viewer toolbar The IFC-Viewer toolbar has many functions which are described below. The user actions all relate to the viewer and can be started by clicking on the button. @@ -93,8 +68,6 @@ If your building model (or objects within the model) is rotated, zoomed or cut a ![Reset_view_button](Reset_view_button.gif) - - ### 2D / 3D view ![2D View](2-d-view.png) @@ -103,8 +76,6 @@ If your building model can easily be shown in 2D or 3D. This function is very po ![2D_3D](2D_3D.gif) - - ### Orthographic view ![Orthographic Button](orthographic-button.png) @@ -121,8 +92,6 @@ This function allows you to reset the current zoom level and the position of the ![Fit View](fit-view.gif) - - ### First person perspective ![First Person Button](first-person-button.png) @@ -131,10 +100,6 @@ The first person perspective changes the way you interact with the building mode ![First_Person_Perspective](First_Person_Perspective.gif) - - - - ## How to slice the building model ![Slice Building Model](slice-building-model.png) @@ -143,34 +108,22 @@ To have a deeper look within the building model you are able to slice the whole ![Slice building model](Slice_building.gif) - - ## How to clear slices You are able to clear all slices by using the ***dropdown*** menu next to the "***scissors symbol***" within the ***IFC-Viewer-Toolbar***. ![slice-building-model](slice-building-model.png) - - ![Clear slices](clear_slices.png) - - - - ## How to select elements To select elements within the building model, you have to activate the selection mode by clicking on the highlighted toggle button placed in the ***IFC-Viewer toolbar***. After activating the selection mode you are able to select a single or multiple elements within the viewer by left click. Your individual selection won't be reset after leaving the selection mode. You are able to reset your current selection with the context menu (right click). ![Select Elements Button](select-elements-button.png) - - ![Select Elements](Select_elements.png) - - ## Show properties You are able to see the basic properties of each element (e.g. the UUID) within OpenProject BIM. After using the "information" button a new tab named "Properties" will appear. @@ -179,24 +132,14 @@ You are able to see the basic properties of each element (e.g. the UUID) within ![Show Properties](show-properties.png) - - In order to inspect the information for individual objects, you have to use the context menu and simply select the "Inspect Properties" Menu item. All properties of the object will appear in the new tab. ![Inspect Properties](inspect-properties.png) - - **But be careful!** The properties of the element you just clicked on are displayed. So make sure that there are no unwanted objects (e.g. window panes) in front of your desired object. - - ![Element Properties](element-properties.png) - - - - ## Show or hide elements via viewer There are two options to hide elements via viewer. The **first possibility** is to use the ***IFC-viewer toolbar***. Within the toolbar you will find the **"hide-button"** @@ -207,53 +150,34 @@ After the "Hide-Mode" has been activated, each element you click (left click) on ![Hide_elements_Viewer_rubber](Hide_elements_Viewer_rubber.gif) - - - - The **second possibility** to hide single elements via viewer is to use the context menu. Here you can find the function to hide single elements. ![Hide Elements Context Menu](hide-elements-context-menu.png) - - You are always able to show hidden elements by using the **"Reset-View" Button** in the Viewer toolbar or use the **"Show All"** **Button** in the IFC Model tree. Sometimes it is helpful to see elements in context to other elements but a good view can be disturbed by individual elements. For this case our viewer is able to show your building model in an "X-Ray"-Mode. The mode can be activated via the context menu and enables disturbing elements to be displayed in the context of other elements without covering them. ![XRay](XRay.gif) - - ## Show elements in model tree To be sure if you hide or select the element you want you are able to jump to this element in the IFC Model tree. All you have to do is open the context menu on the desired element and select the "Show in Explorer" function. Now the Model tree folds out to the desired element. - - ![Show in Explorer](show-in-explorer.png) - - ## Show or hide models or elements via model tree If you have uploaded several IFC models of one building (e.g. one for each discipline - Architecture, Structural & MEP) and want to have a look at a single model or just want to hide specific elements, you are able to hide them by changing the status of the ***checkbox within the model tree.*** The model tree can represent the structure of the building model in different ways. This means that entire models, storeys or even similar components can be hidden with a single click. - - ![Hide_Model](Hide_Model.gif) - - ![Hide_building_storey](Hide_building_storey.gif) - - After switching to the "Classes" tab in the model tree, you can see the grouping of all elements by IFC classification. Whole groups can be hidden as well. In the example, all elements of the type "IFCWall" will be hidden. ![Hide_IFC_classes](Hide_IFC_classes.gif) - diff --git a/docs/bim-guide/revit-add-in/README.md b/docs/bim-guide/revit-add-in/README.md index 8d496b65a20a..22ce61813e77 100644 --- a/docs/bim-guide/revit-add-in/README.md +++ b/docs/bim-guide/revit-add-in/README.md @@ -12,11 +12,8 @@ The *OpenProject Revit Add-In* allows you to use the open source project managem To download the latest version (v2.2.3) of our OpenProject Revit AddIn click here: [DOWNLOAD](https://github.com/opf/openproject-revit-add-in/releases/download/v2.3.3/OpenProject.Revit.exe) - - > **Note**: OpenProject BIM Issue Management is an Enterprise add-on and can only be used with [Enterprise cloud](../../enterprise-guide/enterprise-cloud-guide/) or [Enterprise on-premises](../../enterprise-guide/enterprise-on-premises-guide/). An upgrade from the free Community edition is easily possible. - ## Before usage Please check the following steps before using the OpenProject BIM edition. @@ -27,12 +24,8 @@ Please check the following steps before using the OpenProject BIM edition. If you can answer all questions with "yes" you are ready to start using our Revit Add-in. - - ## How to install - - ### System requirements The **OpenProject Revit AddIn** does not have any special system requirements. Autodesk Revit must be installed. The following versions of Revit are supported: @@ -42,16 +35,12 @@ The **OpenProject Revit AddIn** does not have any special system requirements. A - 2021 - 2022 - - ### Download the installer To download the setup application for the **OpenProject Revit AddIn**, click here: [DOWNLOAD](https://github.com/opf/openproject-revit-add-in/releases/download/v2.3.3/OpenProject.Revit.exe) You can find the latest version of our AddIn on [Github](https://github.com/opf/openproject-revit-add-in/releases/latest) as well. - - ### Installation After you have downloaded the file, please run it to start the installation process. @@ -61,132 +50,82 @@ After you have downloaded the file, please run it to start the installation proc ![Installation Step 1](installation-step-01.png) - - 2. **Select Revit Version** Next, select the Revit version you have installed locally and click *Next* to continue. You can select multiple versions: ![Installation Step 02](installation-step-02.png) - - 3. **Start Installation** Verify the installation steps are correct in the next screen and click on *Install* to install the **OpenProject Revit AddIn**: ![Installation Step 03](installation-step-03.png) - - 4. **Ready to use** Please wait a few moments for the installation to complete and then click *Finish* to finish the installation. - - ## How to update from an earlier version If you already have an earlier version installed, simply follow the same steps as for a new installation ([How to install](#how-to-install)). The existing **OpenProject Revit AddIn** will be updated. - - - - ## How to login After Installing the OpenProject BIM AddIn you can find a new tab within the Revit taskbar named "OpenProject". To login you have to open the **settings** first. ![Revit AddIn Settings](RevitAddIn_Settings.png) - - The settings will appear in a new tab. Within this tab you have to insert your own ***OpenProject BIM URL*** and confirm with "Go". Your OpenProject account is now linked to your Revit application and you can close the tab. ![OpenProject BIM Login](OpenProject_BIM_Login.png) - - - - - - ## How to select a project After connecting your OpenProject BIM instance you are able to start working with your BCF Tasks within Revit. Firstly you have to open the **OpenProject Tab** in the taskbar and start the application. ![Start OpenProject BIM Add-in](OpenProject_BIM_Start.png) - - After starting the application a new tab will be created and you are able to select the Project you want to work in. ![OpenProject BIM - Select a Project](OpenProject_BIM_Projects.png) - - ## Working with BIM issues To work with BIM Issues, please open our AddIn and navigate to our BCF Module. ![OpenProject BIM - BCF Module](OpenProject_BIM_BCF_Module.png) - - Within this module all existing work packages are displayed. Within this demo project no work package exist yet. To create a new one, click on the "add new work package"-Button. ![OpenProject BIM - Create BCF](OpenProject_BIM_Create_BCF.png) - - An empty form for new work packages is now displayed. After adding a title and detailed information describing your issue, you have to add a viewpoint. This viewpoint saves your current view & selection of the building model (so check the rotation, selection and zoom of the model before). And the most important thing: **don't forget to save** the work package. ![OpenProject BIM - Add Viewpoint](OpenProject_BIM_Add_Viewpoint.png) - - - - To open a BIM Issue and restore the viewpoint you have to navigate to the BCF Module and just click on the BIM Issue you want to open. The behavior of working with the issues is almost the same like in OpenProject. ![OpenProject BIM - Issues](OpenProject_BIM_Issues.png) - - The handling of BIM Issues within Revit is similar to OpenProject BIM. There are only a few changes to the browser based version: - **Model Viewer**: To show a BIM Issue OpenProject BIM will use your Revit Model instead of the OpenProject BIM Model Viewer. - **Reduced View**: OpenProject BIM is now used in a smaller window. That's why you are currently using a reduced view. - **Missing Browser Toolbar**: The Browser Toolbar is missing, so you might miss some common user actions (e.g. jump to previous page) - - - - ## Synchronize tasks between Revit and OpenProject OpenProject BIM and Revit automatically synchronize all BIM work packages. You don't have to pay attention to anything else and you can manage your entire project directly in OpenProject. Whatever you do, users of OpenProject BIM edition will see any changes in the browser as well. - - ![OpenProject BIM - Synchronization](OpenProject_BIM_Synchronization.png) - - - - - - - - ## How to uninstall the OpenProject Revit add-in To remove the **OpenProject Revit AddIn** remove the AddIn like any other AddIn from Revit. First close any running instance of Revit. Then you'll have to enter the directory `C:\ProgramData\Autodesk\Revit\Addins\`. There you must delete the file `OpenProject.Revit.addin` and the folder `OpenProject.Revit`. After a restart of Revit, the **OpenProject Revit AddIn** is no longer available. - - ## Troubleshooting ### 'Your computer was protected by Windows' Error Message @@ -195,22 +134,16 @@ This is an internal Windows defense mechanism called *Windows SmartScreen*. When ![Installer Windows SmartScreen 1](installer-smart-screen-01.png) - - This can happen when a new release was not yet installed by many users, so internal Microsoft services do not yet know about the trustworthiness of the **OpenProject Revit AddIn** version. To continue, please click on the highlighted part labeled *Additional Information*, then you should see a screen like the following: ![Installer Windows SmartScreen 2](installer-smart-screen-02.png) - - Ensure that publisher says *OpenProject GmbH*. That means the installer was correctly signed by OpenProject and is safe to use. To proceed with the installation, click on *Run Anyway* and the installation will start. - - ## Reporting bugs You found a bug? Please [report it](../../development/report-a-bug) to our [OpenProject community](https://community.openproject.org/projects/revit-add-in). Thank you! diff --git a/docs/development/README.md b/docs/development/README.md index ad686cadb55f..aee88f742be9 100644 --- a/docs/development/README.md +++ b/docs/development/README.md @@ -12,8 +12,6 @@ We are pleased that you are thinking about contributing to OpenProject! This gui Please get in touch with us using our [development forum](https://community.openproject.org/projects/openproject/forums/7) or send us an email to info@openproject.org. - - ## Issue tracking and coordination We eat our own ice cream so we use OpenProject for roadmap planning and team collaboration. Please have a look at the following pages: @@ -28,34 +26,24 @@ We eat our own ice cream so we use OpenProject for roadmap planning and team col - [Submit a feature idea](submit-feature-idea) - - ## Development Environment Take a look at the bottom under Additional resources to see how to setup your development environment. - - ## Highlighting Development Environment To make it easier to distinguish a development instance, it is using a tinted website icon and modified app header. This behavior can be disabled by setting an environment variable `OPENPROJECT_DEVELOPMENT_HIGHLIGHT_ENABLED=false` (see also [documentation on configuration](../installation-and-operations/configuration/)). - - ## Branching model and development flow Please see this separate guide for the [git branching model and core development](git-workflow/). - - ## Development concepts We prepared a set of documentation concepts for an introduction into various backend and frontend related topics of OpenProject. Please see the [concepts main page](concepts/) for more. - - ## Translations If you want to contribute to the localization of OpenProject and its plugins you can do so on the [Crowdin OpenProject page](https://crowdin.com/project/openproject). Once a day we fetch those locales and automatically upload them to GitHub. Contributing there will ensure your language will be up to date for the next release! @@ -100,8 +88,6 @@ Instances of abusive, harassing, or otherwise unacceptable behavior may be repor This code of conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), version 1.0.0, available at [contributor-covenant.org/version/1/0/0/](https://www.contributor-covenant.org/version/1/0/0/) - - ## OpenProject Contributor License Agreement (CLA) If you want to contribute to OpenProject, please make sure to accept our Contributor License Agreement first. The contributor license agreement documents the rights granted by contributors to OpenProject. @@ -110,7 +96,6 @@ If you want to contribute to OpenProject, please make sure to accept our Contrib ## Additional resources - * [Development environment for Ubuntu 18.04](development-environment-ubuntu) * [Development environment for Mac OS X](development-environment-osx) * [Development environment using docker](development-environment-docker) diff --git a/docs/development/code-review-guidelines/README.md b/docs/development/code-review-guidelines/README.md index 36762a8932f6..21b6ef5b7f54 100644 --- a/docs/development/code-review-guidelines/README.md +++ b/docs/development/code-review-guidelines/README.md @@ -2,8 +2,6 @@ This guide serves as a foundation on how to prepare your work for and perform code reviews for OpenProject. - - ## Preparing your pull request ### Coding style @@ -20,8 +18,6 @@ The same is true for eslint. Your editor will likely have support for eslint che For automatically linting your files on committing them, please have a look at [Lefthook](https://github.com/evilmartians/lefthook). You can install these rules by using `bundle exec lefthook install`. - - ### Structure of commit messages - First line: less than 72 characters, this is when GitHub shows ‘…’ @@ -30,16 +26,12 @@ For automatically linting your files on committing them, please have a look at [ See the [Git Book](https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#Commit-Guidelines). - - ### Pull Request description - Provide a clear title, optionally linking to a work package - Add steps necessary to review / reproduce / set up development data for testing - Reference the change in the OpenProject community, if ticket exists. If no ticket exists, double check if one is really optional. - - ### Testing - All GitHub workflow actions must be green on continuous integration @@ -50,8 +42,6 @@ See the [Git Book](https://git-scm.com/book/en/v2/Distributed-Git-Contributing-t - Translations: Never use a specific translation string in a test. We might want to change them in the future and do not want to fix tests when we do. - We are aware that there are some flickering specs in our codebase, that might fail randomly. We are actively trying to fix those. If you encounter test failures in code that you have not touched, try re-running the specs. - - ### Security considerations Every developer and reviewer should read the Rails Security Guide as well as the OWASP top ten. @@ -60,8 +50,6 @@ Every developer and reviewer should read the Rails Security Guide as well as the [OWASP Top 10](https://owasp.org/www-project-top-ten/) - - ### Changelog - All changes made to the OpenProject software are managed and documented via work packages in the [OpenProject project](https://community.openproject.org/projects/openproject/). @@ -69,8 +57,6 @@ Every developer and reviewer should read the Rails Security Guide as well as the - For any nontrivial or pure maintenance changes (Gem bumps etc.), please ensure you have a corresponding ticket you link to in the form of `OP##` or `https://community.openproject.org/work_packages/ID` in your pull request. - To prevent inconsistencies and avoid redundant work there is no additional change log in the source code. Releases will contain a changelog of the publicly visible tickets in the GitHub releases pages, as well as [on our release notes](../../release-notes/). - - ### Marking your code as reviewable Before requesting a review, double check your own changes: @@ -86,22 +72,16 @@ Wait for a reviewer to start. If you get feedback or requested changes, do not t Try to respond to every feedback and resolve feedback that you addressed already. Re-request a review from the same person if you addressed all remarks. - - ## Reviewing You've found a pull request you want to review. Here is how to do it: - - ### Timeliness Reviewing code from your colleagues has higher priority than picking up more work. When you start your day, or in between working on other topics, please check the above link if there is any review requested. If a review is left untouched, feel free to request a review from a group or link the pull request in question in the developers element channel. - - ### Taking a review If you're ready to perform a review for a pull request, do these things: @@ -110,16 +90,12 @@ If you're ready to perform a review for a pull request, do these things: - If there is a linked ticket that has an appropriate status workflow, set it to `in review` and assign yourself - Optionally, request yourself as a reviewer - - ### Correctness As a reviewer, your job is not to make sure that the code is what you would have written – *because it will not be*. Your job as a reviewer of a piece of code is to make sure that the code as written by its author is correct. Try to think of edge cases when testing or evaluating the code, double check the test coverage. But do not frown if you merged the pull request and something broke after all. This is the learning path to avoiding this mistake on the next attempt. Not doing a review in the first place will not move you forward either. - - ### Language Keep in mind that we're all trying to do the correct thing. Be kind and honest to one another, especially since our reviews are public for everyone to see. @@ -127,8 +103,6 @@ Keep in mind that we're all trying to do the correct thing. Be kind and honest t - Prefer questions instead of demands - When in doubt, ask for a meeting to clarify things before assuming someone made a mistake. - - ### Testing Verify that the appropriate tests have been added as documented above. @@ -141,7 +115,6 @@ If possible, add smaller documentation changes right away. If there are breaking changes (e.g., to permissions, code relevant for developers), add them to the release notes draft for the release or create a new draft if none exists yet. - ## Other - For external contributions: Check whether the author has signed a [Contributor License Agreement](../#openproject-contributor-license-agreement-cla) and kindly ask for it if not. @@ -150,8 +123,6 @@ If there are breaking changes (e.g., to permissions, code relevant for developer - Adding Gems: When adding gems, make sure not only the Gemfile is updated, but also the Gemfile.lock. - - ## Readability The reviewer should understand the code without explanations outside the code. @@ -160,8 +131,6 @@ The reviewer should understand the code without explanations outside the code. *You should not rush through a code review – but also, you need to do it promptly. Your coworkers are waiting for you.* - - ## Completing the review Once you've completed the review, you might have left feedback for the developer. In that case: @@ -169,24 +138,18 @@ Once you've completed the review, you might have left feedback for the developer - Publish the review - If any, assign the linked work package back to the developer and set to `in development` - - If there are no change requests, perform these steps: - approve the pull request - merge it using the `Merge pull request` button. - If there is a linked ticket, set it to merged (or closed for an Implementation ticket) and unassign yourself or the developer. - - **Why merge, not squashing?** We do not use squashing to retain any commit information of the original developer, which might contain valuable information. If there are a lot of bogus commits, we squash them on the PR first and then merge them. Having all information about a change is deemed more important than a strictly linear history. The only exception to this rule are single commit pull requests, which can be applied to dev using `Rebase and merge` instead. - - ## Citations [Things everyone should do: code review](https://blog.csdn.net/zhangmike/article/details/30198411) diff --git a/docs/development/concepts/README.md b/docs/development/concepts/README.md index fa6ec0ec7352..e41d5fc66eda 100644 --- a/docs/development/concepts/README.md +++ b/docs/development/concepts/README.md @@ -23,6 +23,3 @@ Please choose an area that you would like to read about: | [Resource changesets](resource-changesets) | How is change tracked to resources in the frontend? How to save the changes. | | [Inline editing](inline-editing) | How does inline editing and the edit field functionality work in OpenProject? | | [Queries and QuerySpace](queries) | What is the Query API concept and how is it used in the frontend? | - - - diff --git a/docs/development/concepts/dynamic-forms/README.md b/docs/development/concepts/dynamic-forms/README.md index dcbdba15ae42..f385c5fab80c 100644 --- a/docs/development/concepts/dynamic-forms/README.md +++ b/docs/development/concepts/dynamic-forms/README.md @@ -25,8 +25,6 @@ Let us take a look at the new projects form API response to get an overview of h With an [access token or other means of API authentication](../../../api/introduction/#authentication), send a `POST` to `/api/v3/projects/form`. This will return a HAL form response that looks something like this: - - ```json5 { "_type": "Form", @@ -70,8 +68,6 @@ With an [access token or other means of API authentication](../../../api/introdu } ``` - - The form has four important segments: - **_embedded.payload**: This is the project being created. When you POST to the form, any payload you post will be applied to that project. It is not yet saved, but will transparently show you what the project _would_ look like if you saved it. @@ -96,4 +92,3 @@ For the most basic use case, simply place the `DynamicFormsModule` into your mod ```html ``` - diff --git a/docs/development/concepts/hal-resources/README.md b/docs/development/concepts/hal-resources/README.md index f01cee807fee..9519c460b82f 100644 --- a/docs/development/concepts/hal-resources/README.md +++ b/docs/development/concepts/hal-resources/README.md @@ -22,8 +22,6 @@ HAL resources are the frontend counterpart to the `HAL+JSON` API of OpenProject. HAL resources on the frontend have no explicit prerequisite on our frontend. You will likely want to take a look at the [API documentation and the section on HAL+JSON](../../../api/introduction). - - ## Primer on HAL JSON The JSON response in HAL standard can contain these things: @@ -32,8 +30,6 @@ The JSON response in HAL standard can contain these things: - Related HAL resources under `_links` that can be individually requested from the API (e.g., the link to a project the resource is contained in). Links often have a `title` attribute that is sufficient to render what the value of the link is. - Embedded HAL resources under `_embedded`. These are link properties themselves, but whose HAL JSON has been embedded into the parent JSON. You can think of this as calling the API and integrating the JSON response into the parent. This saves an additional request for resources that are often needed. - - The following is an example HAL JSON for a work package as it is retrieved by the API. This response is abbreviated, you can see the full response of [#34250 on our community](https://community.openproject.org/api/v3/work_packages/34250). You will see the three sections: 1. Immediate properties within the JSON such as `_type`, `id`, `lockVersion`, `description`. There are more properties like this, they are scalar values of the work package that are not linked to other resources @@ -46,8 +42,6 @@ The following is an example HAL JSON for a work package as it is retrieved by th The frontend cannot decide which resources to embed, this is controlled by the backend and depends on the endpoint used. For example, resource collection endpoints will usually not embed links. - - ```json5 { "_type": "WorkPackage", @@ -131,14 +125,8 @@ The following is an example HAL JSON for a work package as it is retrieved by th } ``` - - In this linked example, only the `status` and `project` links and embedded resources were kept, as well as some work package properties removed. - - - - ## HalResourceService On to loading the JSON resources from the API and turning them into usable class instances. This is the job of the the [`HALResourceService`](https://github.com/opf/openproject/tree/dev/frontend/src/app/features/hal/services/hal-resource.service.ts). It has two responsibilities: @@ -146,20 +134,14 @@ On to loading the JSON resources from the API and turning them into usable class 1. It uses the Angular `HTTPModule` for performing API requests to the APIv3 2. It turns the responses of these requests (or HAL JSON generated in the frontend) into a HAL resource class - - ### Performing requests against HAL API endpoints The service has HTTP `get`, `post`, `put`, etc. methods as well as a generic `request` method that accept an URL and params/payload, and respond with an observable to the JSON transformed into a HAL resource. - - ### Error Handling For errors returned by the HAL API (specific error `_type` response in the JSON) or when erroneous HTTP statuses are being returned, the `HALResourceService` will wrap these into `ErrorResources` for identifying the cause and potentially, additional details to present to the frontend. This is used for example when saving work packages and validation errors occur. The validations are being output in details for individual attributes. - - ## Linked HAL resources The `_links` entries of a HAL resource can have a `url`, `method`, and `title` property. They can also be `templated` if the link needs to be filled out by the frontend (e.g., to set a related ID to pass into it). @@ -209,8 +191,6 @@ Instead of explicitly loading embedded resources, the frontend now usually uses However, there are still use cases where `.$load()` is used and the resource is mutated. - - ## HAL resource builder In order to turn the JSON properties from `_embedded` and `_links` into writable properties on the HAL resource, there is a set of functions called the [`HAL resource builder`](https://github.com/opf/openproject/tree/dev/frontend/src/app/features/hal/helpers/hal-resource-builder.ts). It will take care of: @@ -225,8 +205,6 @@ In order to turn the JSON properties from `_embedded` and `_links` into writable The frontend doesn't really use this anymore due to it boiling down to a large mutable object. Instead, we use `ResourceChangesets` to modify resources and save them. [Click here to see the separate concept on them](../resource-changesets). - - ## 🔗 Code references - [`HALResourceService`](https://github.com/opf/openproject/tree/dev/frontend/src/app/features/hal/services/hal-resource.service.ts) for loading and turning JSON responses into HAL resource classes diff --git a/docs/development/concepts/infrastructure/README.md b/docs/development/concepts/infrastructure/README.md index 2c97dc1f3588..9198b0a5272a 100644 --- a/docs/development/concepts/infrastructure/README.md +++ b/docs/development/concepts/infrastructure/README.md @@ -12,6 +12,4 @@ OpenProject is an open-source core and available for users and customers as thre - the on-premises [Community edition](https://www.openproject.org/download-and-installation/) and [Enterprise on-premises edition with Enterprise support](https://www.openproject.org/enterprise-edition/) which runs on your own hardware - the [Enterprise cloud](https://www.openproject.org/enterprise-edition/#hosting-options) hosted distribution which is hosted and maintained by OpenProject - ## Infrastructure architecture - diff --git a/docs/development/concepts/inline-editing/README.md b/docs/development/concepts/inline-editing/README.md index ab892828e747..3bf93fa68e88 100644 --- a/docs/development/concepts/inline-editing/README.md +++ b/docs/development/concepts/inline-editing/README.md @@ -21,8 +21,6 @@ Inline editing is a core functionality of work packages and other attributes. - can be used for work packages and other HAL resources that have a schema - `DisplayField` and `EditField` are two separate sets of classes to render attributes based on their schema type - - ## Prerequisites In order to understand Inline Editing, you will need the following concepts: @@ -33,14 +31,10 @@ In order to understand Inline Editing, you will need the following concepts: - [Changesets](../resource-changesets) - - ## Components overview In order to understand the different modes of the inline edition functionality, we will first look at the components and code that handle displaying of resource attributes, the display fields. - - ### Display fields The display fields handle showing read-only representation of a resource's attribute. For example, the work package table may contain very different kinds of attributes: A progress bar, bare text fields, formatted date fields and the like. @@ -77,8 +71,6 @@ In the frontend, multiple display field classes exist and the [`DisplayFieldServ With a resource and its schema present, there are multiple ways to render a display field for a given attribute. - - #### Rendering in plain JavaScript: `DisplayFieldRenderer` Since parts of the application are rendered in plain JavaScript (such as the work package table), most display fields are actually rendered explicitly to a DOM element through the [`DisplayFieldRenderer#render`](https://github.com/opf/openproject/blob/dev/frontend/src/app/shared/components/fields/display/display-field-renderer.ts) method. You will only need the resource with its schema loaded and the attribute name. @@ -112,7 +104,6 @@ export class ExampleComponent implements OnInit { } ``` - The third parameter of the `render` method is to provide a changeset. This allows to render the value not from the pristine work package, but from a temporary changeset of the work package: ```typescript @@ -120,8 +111,6 @@ The third parameter of the `render` method is to provide a changeset. This allow const changeset = new WorkPackageChangeset(workPackage); ``` - - #### Rendering as angular component: `DisplayFieldComponent` To render an attribute of a HAL resource explicitly, a display field can be used through the [`DisplayFieldComponent`](https://github.com/opf/openproject/blob/dev/frontend/src/app/shared/components/fields/display/display-field-renderer.ts). In most cases, you will not render the display field alone as it would expect to inline editable. This is why when it's used, it often explicitly disables the writable CSS styles with `writable: false` set. @@ -141,16 +130,12 @@ This will result in the work package status field being rendered including its s The `DisplayFieldComponent` will internally use the `DisplayFieldService` to find the matching field for the `Status` type and manually render the field to an inner HTML element. - - ### Edit fields The editable counterpart to a display field that renders the actual HTML form elements (A text or number input field, a boolean checkbox, or a WYSIWYG editor area). Edit fields are also working on a single attribute of a resource. The schema property `Type` will again determine the component type to render. - - #### `EditFieldComponent` The main component that handles rendering of the actual `` fields of the edit fields is the `EditFieldComponent`. It is subclassed for every type of edit fields, such as the `TextEditFieldComponent` or `FloatEditFieldComponent`, and so on. You can find all edit field types in the [Angular fields module](https://github.com/opf/openproject/tree/dev/frontend/src/app/shared/components/fields/edit/field-types). @@ -165,8 +150,6 @@ Inline-editing is usually connected to not only a single, but multiple fields of The `EditForm` logically groups together multiple field elements very similar to how a `
` tag encapsulates a set of inputs. It is tied to a (HAL) `resource` input. - - It has multiple responsibilities: - receives registration of fields within the form @@ -174,18 +157,12 @@ The `EditForm` logically groups together multiple field elements very similar to - handles submission of changes to the resource - activates erroneous fields after unsuccessfully trying to saving. - - #### EditableAttributeField The `EditableAttributeField` contains the logic to toggle between the *display* and *edit* states of a single attribute for the resource. The field will try to register to a parent form by injecting it through its constructor. Only fields within an `EditForm` parent are editable. - - The EditableAttributeField basically contains only two HTML elements that it wraps. These are used for the `display` and `edit` modes. Each is handled by their own `DisplayField` and `EditField` classes and components, as we will detail in the following. - - #### Editing portals OpenProject often renders Angular components in manually rendered DOM, prominently so in the work package table for improved rendering time. This is from the time the project was still using AngularJS and large scale rendering components was quite slow. @@ -230,8 +207,6 @@ export class ExampleComponent implements OnInit { } ``` - - #### Edit field handler There is one more class involved in this stack, the `EditFieldHandler`. It implements an adapter pattern to break the connection between the input-only characteristics of the `EditFieldComponent` and the handling of events towards an outer wrapper such as the `EditForm`. They are regular classes that handle events from the `EditFieldComponent` to make them reusable in cases where, for example, an `EditForm` does not exist. @@ -240,8 +215,6 @@ Any user event that should trigger saving or resetting of the field is being han An example where this comes into play is the [`CustomText`](https://github.com/opf/openproject/tree/dev/frontend/src/app/shared/components/grids/widgets/custom-text/custom-text.component.ts) widget of the dashboards and my page, which use the `` manually and pass in a handler that handles saving of these widgets without access to an edit form. - - ### 🔗 Code references - [`EditForm`](https://github.com/opf/openproject/blob/dev/frontend/src/app/shared/components/fields/edit/edit-form/edit-form.ts) base class @@ -255,16 +228,10 @@ An example where this comes into play is the [`CustomText`](https://github.com/o - [`WorkPackageFullViewComponent`](https://github.com/opf/openproject/blob/dev/frontend/src/app/features/work-packages/routing/wp-full-view/wp-full-view.html) Work package full view template that uses the `edit-form` attribute to create a form for the work package full view (as seen in the Gif above) - [`ProjectDetailsComponent`](https://github.com/opf/openproject/blob/dev/frontend/src/app/shared/components/grids/widgets/project-details/project-details.component.html) Exemplary widget template that uses the form for project attributes - - - - ## Minimal example The [`ProjectDetailsComponent`](https://github.com/opf/openproject/blob/dev/frontend/src/app/shared/components/grids/widgets/project-details/project-details.component.html) is a very isolated example showing how to use the edit-form together with `EditableAttributeField` component to show the actual inline-editable field. - - On the example of a work package, this following code snippet would create an edit form for a given work package resource and an attribute for the `subject` attribute of that work package. ```html @@ -275,24 +242,16 @@ On the example of a work package, this following code snippet would create an ed ``` - - While this doesn't take care of any labels or styling, it will already provide error handling for the given field and allow proper saving of the changes to the resource. - - ![Minimal example of the edit form](basic-example.gif) - - ## Work package single view The work package single view is the boss fight of inline editing. It combines all the previous concepts with the flexibility of work package attributes and type configuration. The following screenshot is [bug report #34250](https://community.openproject.org/wp/34250), which is a work package of Type `Bug`. The Bug type has a [specific form configuration](../../../system-admin-guide/manage-work-packages/work-package-types/#work-package-form-configuration-enterprise-add-on) defined. This configuration is as follows: - - ![bug-form-configuration](bug-form-configuration.png) The Bug has three attribute groups defined with a set of attributes in it. These attributes correspond to the attribute groups in the `single view`. @@ -309,8 +268,6 @@ The type defines which type of group is being rendered. The attribute group is t The [`WorkPackageSingleViewComponent`](https://github.com/opf/openproject/blob/dev/frontend/src/app/features/work-packages/components/wp-single-view/wp-single-view.component.ts) turns this definition into a template through its method `rebuildGroupedFields`. The template iterates over these and outputs the appropriate attribute or query group. - - ![Work package single view](single-view.png) In the end, each of the attributes in the two groups above are a `EditableAttributeField`, and the entire page wraps these attributes in an `EditFormComponent`. diff --git a/docs/development/concepts/queries/README.md b/docs/development/concepts/queries/README.md index eefc9df0eb75..9dabadfb54b2 100644 --- a/docs/development/concepts/queries/README.md +++ b/docs/development/concepts/queries/README.md @@ -17,10 +17,6 @@ For the work packages table, the query object holds the way the table displays ( A query can be persisted by a user or created dynamically through a set of parameters. It can be published and shared with other users of the project or application. - - - - ## Key takeaways *Queries ...* @@ -30,8 +26,6 @@ A query can be persisted by a user or created dynamically through a set of param - can be created on the fly through URL / body parameters - can be requested through the APIv3 to get the resulting resources collection of the query in a paginated way - - ## Prerequisites The following guides are related: @@ -40,8 +34,6 @@ The following guides are related: - Backend API overview - - ## Query definition A query is an object that revolves about two types of information: @@ -51,9 +43,6 @@ A query is an object that revolves about two types of information: Currently, the Queries endpoint and object is highly specific to work packages, but this is bound to change with more resources becoming queryable. For some other resources such as projects, queries already exists in the backend, but not yet in the frontend application. - - - ## API Backend Queries are regular APIv3 grape endpoints that can be accessed through the `/api/v3/queries` namespace. In general, they can be maintained in two ways: @@ -67,8 +56,6 @@ A number of parameters can be passed to the Query through parameters as elaborat Clients can define a query once, save it and use it later on to load the same set of filters, columns, and so on. When retrieved from the database (a query id is passed), the query has been previously stored. Saved properties may be overridden through URL parameters, which override the existing saved query. - - ### Query collections responses Since queries can be saved and should be listed to the user such as in the work package sidebar, they can also be requested as a collection of resources through `/api/v3/queries`. This endpoint can also be filtered. For more details on that, see the [respective APIv3 Queries filtering section](../../../api/endpoints/queries/#query-filter-instance). @@ -103,12 +90,8 @@ A major, but complex functionality of the query is the `filters` object to deter ![Work package query filters](filters.png) - - These filters are also saved within the queries. Read the [APIv3 filters documentation guide](../../../api/filters/) to know more about how filters and their syntax work. - - ### Exemplary query response Due to the public nature of the OpenProject community, you can check out the following exemplary query response in HAL+JSON: [community.openproject.org/api/v3/queries/2453](https://community.openproject.org/api/v3/queries/2453) @@ -117,16 +100,12 @@ It returns a saved query for the OpenProject 11.0 release, with a type filter `t The resulting work packages will differ based on the visibility of the work packages and your permissions in the projects. For more information, check out [the concept on permissions](../permissions). - - ## Frontend usage As the singular Query JSON object encompasses a large amount of different concerns, the frontend splits this resource up into quite a substantial amount of services for isolating the individual behaviors. This guide will not go into too much detail on the actual components using these services, as they will be subject to change and detailed in another guide. - - ### Isolating query spaces in the frontend The work packages module can load multiple queries on a single page. If for example, you open a query and a work package with an embedded table showing (such as showing related or child work packages), the application will request and render two queries and work package tables. diff --git a/docs/development/concepts/resource-changesets/README.md b/docs/development/concepts/resource-changesets/README.md index 0b14ab41cebf..3e8094265829 100644 --- a/docs/development/concepts/resource-changesets/README.md +++ b/docs/development/concepts/resource-changesets/README.md @@ -18,8 +18,6 @@ Resource changesets allow to edit resources in a transparent way, tracking its c - provide a `Proxy` javascript object `projectedResource` to the resource with the changes applied - encapsulates a temporary schema and form resource for accessing newly added fields and errors - - ## Prerequisites In order to understand Inline Editing, you will need the following concepts: @@ -28,14 +26,10 @@ In order to understand Inline Editing, you will need the following concepts: - [Schemas](../resource-schemas) - - ## Classes overview Let's go over the classes and services used to provide access to changesets. - - ### ResourceChangeset The `ResourceChangeset` class is a temporarily created class whose lifetime is determined by the editing duration of a user to a resource such as work package. It gets created automatically when rendering inline-editable fields and is reset/destroyed/reinstantiated when a change has been submitted to the backend, or when the changes are cancelled. @@ -46,21 +40,16 @@ The changeset maintains references to * The actual `Changeset` object of changes (basically a map of `attribute -> values` of changes) * The `FormResource` for the resource (due to temporary changes such as switching types or projects in work packages) - The changeset provides a high level access to getting and writing changes as well as caching resources around editing to avoid reloading them too often. It also provides access to a `projectedResource`, which is a proxy class on the HAL resource with all overridden values returned from the changeset. It behaves as if the modified resource was saved and returned. The ResourceChangeset is possibly subclassed for specific HAL resource types. For example, by the `WorkPackageChangeset`, a resource changeset specifically for work packages to correctly handle cases like switching types or projects - which will require in a reloading of the `FormResource` and its embedded schema for identifying and showing new attributes. - - ### HalResourceEditingService In order to *create*, *remove* or *saving* changesets for a specific resource, the `HalResourceEditingService` is provided at various hierarchies of the application. The service maintains a store of available resource changesets, whose states and changes can be observed with an RXJS observable. The main entry point for editing changesets is `HalResourceEditingService#changeFor`, which will either continue editing an existing changeset, or create a new one for the given class. - - #### Minimal example on using the changeset ```typescript @@ -96,18 +85,12 @@ console.log(changeset.isEmpty()); // true console.log(changeset2.isEmpty()); // true ``` - - #### Saving the changeset In order to save a changeset, you would simply pass it to `HalResourceEditingService#save`. This will save the changes to the APIv3 and update the resource. It returns a `ResourceChangesetCommit` which is a reference to the changes and resulting resource. - - You will often see other components pushing into the changeset, such as the `EditFieldComponent`. To find out more about the inline editing functionality, see [this guide](../inline-editing). - - #### Temporary editing resources Some components such as the `WorkPackageSingleView` needs to update the view upon changes to a resource under edit. A prominent, but complex example is the work package gaining or losing attribute fields due to the `Type` or `Project` being changed. This is due to custom fields being configurable on a per-project level. @@ -118,11 +101,6 @@ Assume you start creating a new work package of type `Task`, and then switch to For this to work, the `WorkPackageSingleView` needs to have access to the work package *as if it was saved* after the type was changed. But the work package is a new resource and not yet actually saved. That's why `HalResourceEditingService#temporaryEditingResource` returns an observable state that returns either the pristine work package, or the proxied work package by the changeset to transparently access the modified-yet-unsaved work package resource. - - ## Additional resources Changesets are used in several components throughout the application. Notable examples are the [inline editing `EditForm`](../inline-editing). - - - diff --git a/docs/development/concepts/resource-schemas/README.md b/docs/development/concepts/resource-schemas/README.md index 66b5fdc2f721..1064689db7dd 100644 --- a/docs/development/concepts/resource-schemas/README.md +++ b/docs/development/concepts/resource-schemas/README.md @@ -11,8 +11,6 @@ keywords: concept, schemas, resource schemas In OpenProject, editable resources such as work packages or projects can be highly customized by the user. A resource can have an arbitrary number of additional custom fields. In the frontend, the associated schema to a resource needs to be loaded in many cases when rendering attributes of that resource, such as in an [inline-editable field](../inline-editing). - - ## Key takeaways Schema objects are the dictionary for the frontend application to identify the available properties of a resource. @@ -24,8 +22,6 @@ Schema objects are the dictionary for the frontend application to identify the a - Constraints for the authenticated user, i.e., whether the attribute is currently writable - (optional) additional option definitions for the attribute. - - ## Prerequisites The following guides are related: @@ -34,9 +30,6 @@ The following guides are related: - Backend API overview - - - ## API Backend Schemas in the backend are regular Grape endpoints. For example, the schema of all projects is rendered through the [`::API::V3::Projects::Schemas::ProjectsSchemaAPI`](https://github.com/opf/openproject/blob/dev/lib/api/v3/projects/schemas/project_schema_api.rb). This in turn renders the associated [`::API::V3::Projects::Schemas::ProjectsSchemaRepresenter`](https://github.com/opf/openproject/blob/dev/lib/api/v3/projects/schemas/project_schema_representer.rb), which contains the set of schema properties to be rendered. @@ -47,8 +40,6 @@ This results in not a single schema for all work packages, but one schema for ea The resulting schema JSON is an object with properties that look like the following: - - ```json5 { "property": { @@ -65,20 +56,14 @@ The resulting schema JSON is an object with properties that look like the follow } ``` - - ### Schema examples This section describes some of the existing schemas. - - **Projects** For projects, there is a single APIv3 endpoint for their schemas: `/api/v3/projects/schema`. This schema is identical for all projects. You can simply request the OpenProject Community schema for projects [here](https://community.openproject.org/api/v3/projects/schema). It contains a set of static properties (name, identifier, status, etc.), as well as all project-level custom fields. - - **Work packages** The work package schema is more complicated, as work package types can be customized to define what attributes the type should show as part of the [form configuration](../../../system-admin-guide/manage-work-packages/work-package-types/#work-package-form-configuration-enterprise-add-on). Additionally, the visibility of custom fields can be controlled on a per-project level. @@ -89,8 +74,6 @@ An exemplary schema response on the Community for the OpenProject project (`ID=1 The work package schema also contains the reference to the attribute groups from the form configuration in the `_attributeGroups` property. - - ## Frontend usage The OpenProject frontend usually ensure that whenever you get access to a HAL resource, its associated schema (if there is any) is also loaded. This is done through the [`SchemaCacheService`](https://github.com/opf/openproject/blob/dev/frontend/src/app/core/schemas/schema-cache.service.ts). It will request the associated schema unless it has already been cached in the global states object to avoid loading a schema multiple times. @@ -134,8 +117,6 @@ export interface IFieldSchema { } ``` - - ### Form schemas When you try to update a resource such as a work package, you will commonly request a `Form` resource for this work package, which is a temporary resource that will have your changes applied to them, including error handling. In these forms, an embedded schema is output that represents the schema with permissions applied for the current user. @@ -143,4 +124,3 @@ When you try to update a resource such as a work package, you will commonly requ For example, if you try to update a work package type from let's say `Bug` to `Feature`, you would POST to the form with its type link updated, and are returned with a form object. The embedded schema of this form now points to the `Feature` type, and may contain additional attributes to render due to the differing form configuration. These embedded schemas are never globally cached in the frontend, as they are highly dependent on the changes pushed to the form resource. They are always contained within a `ResourceChangeset`. Please see [the separate guide on changesets](../resource-changesets/) for more information. - diff --git a/docs/development/concepts/state-management/README.md b/docs/development/concepts/state-management/README.md index 85b4bbd7fd2a..b1739945efb1 100644 --- a/docs/development/concepts/state-management/README.md +++ b/docs/development/concepts/state-management/README.md @@ -9,8 +9,6 @@ keywords: state management, stores, input states State management in complex frontend applications is a topic that has been heavily evolving over the past years. Redux and stores, one-way data flow are all the rage nowadays. OpenProject is an old application, so its frontend exists way before these concepts were introduced and became popular. - - ## Key takeaways *State management in OpenProject frontend...* @@ -19,8 +17,6 @@ State management in complex frontend applications is a topic that has been heavi - `State` and `InputState` are mostly syntactic sugar over RxJS `Subject` and `BehaviorSubject` - States are used to hold and cache values with their values and non-values being observable - - ## InputState An `InputState` object is a wrapper around RxJS [`BehaviorSubject`](https://rxjs.dev/api/index/class/BehaviorSubject). It provides some syntactic sugar over it to inspect values and provide helpers to observe streams and fill in the underlying `Subject`. @@ -36,8 +32,6 @@ console.log(state.hasValue()); // false console.log(state.value); // undefined ``` - - An InputState will hold exactly one value, that you can fill explicitly: ```typescript @@ -48,16 +42,12 @@ console.log(state.hasValue()); // true console.log(state.value); // 'my value' ``` - - You can find out if a value is older than a specific amount of ms: ```typescript state.isValueOlderThan(60000); // Value is older than 60 seconds? ``` - - The value can be explicitly cleared with `state.clear()`. You can also fill the InputState with the result of a promise request. With `putFromPromiseIfPristine`, the promise will only be requested if the state is empty. This is useful for performing API requests that should not be re-executed while the value is cached. @@ -66,16 +56,12 @@ You can also fill the InputState with the result of a promise request. With `put state.putFromPromiseIfPristine(() => Promise.resolve('my new value')); ``` - - To find out if there is an active promise request, use `state.hasActivePromiseRequest()`. You can also explicitly clear and put from promise in one step: ```typescript state.clearAndPutFromPromise(Promise.resolve('overridden value')); ``` - - You can get an RxJS `Observable` to the value stream with `state.values$()`: ```typescript @@ -92,14 +78,10 @@ state .subscribe(val => console.log("Observed " + (val ? "String value" : "Undefined")); ``` - - ## MultiInputState The `MultiInputState` is basically a map with a string key and an `InputState` as its value. It is used for most of the cache stores in OpenProject. - - To create a `MultiInputState`, use the helper method `multiInput()` . To get an `InputState` member of this map, use the following: ```typescript @@ -131,10 +113,6 @@ multi // CHANGE for my identifier: new ``` - - - - ## StatesGroup The `StatesGroup` aggregates multiple States or MultiInputStates into one class. The only benefit to this is debugging capabilities of the reactivestates library. You can call the following method in development mode to see all changes to states in a StateGroup logged to console: @@ -149,15 +127,12 @@ This might then look like the following, with green color for added objects, and [RS] Changesets.changesets[/api/v3/projects/1] {o=4} "[object Object]" ``` - - ## 🔗 Code references - [`StatesService`](https://github.com/opf/openproject/blob/dev/frontend/src/app/core/states/states.service.ts) Global `States` cache of MultiInputStates - [`IsolatedQuerySpace`](https://github.com/opf/openproject/blob/dev/frontend/src/app/features/work-packages/directives/query-space/isolated-query-space.ts) Query space `StatesGroup`. Is instantiated multiple times whenever a work package query is loaded. See [the separate concept guide](../queries) for more information. - [ReactiveStates](https://github.com/ReactiveStates/reactivestates) library we use for the StatesGroup. This was developed by Roman primarily for us during AngularJS times. - ## Discussions - In contrast to a `Store` concept of redux, the States and state groups do not have any concept of data immutability. As a caller you will need to ensure that. In OpenProject, many of the states are in fact mutable due to historic reasons and the fact that complex class instances are passed around that cannot be easily shallow copied. This will need to be refactored in the future. diff --git a/docs/development/concepts/stimulus/README.md b/docs/development/concepts/stimulus/README.md index 8f735eaf45f0..af7199d220ff 100644 --- a/docs/development/concepts/stimulus/README.md +++ b/docs/development/concepts/stimulus/README.md @@ -13,16 +13,12 @@ In a decision to move OpenProject towards the [Hotwire approach](https://hotwire This guide will outline how to add controllers and the conventions around it. This is _not_ a documentation of stimulus itself. Use their documentation instead: https://stimulus.hotwired.dev - - ## Adding controllers All controllers live under `frontend/src/stimulus/controllers/`. The naming convention is `.controller.ts`, meaning to dasherize the name of the controller. This makes it easier to generate names and classes using common IDEs. If you want to add a common pattern, manually register the controller under `frontend/src/stimulus/setup.ts`. Often you'll want to have a dynamically loaded controller instead though. - - ### Dynamically loaded controllers To dynamically load a controller, it needs to live under `frontend/src/stimulus/controllers/dynamic/.controller.ts`. @@ -33,8 +29,6 @@ In DOM, you'll tell the application the controller is dynamically loaded using t
``` - - #### Namespacing dynamic controllers If you want to organize your dynamic controllers in a subfolder, use the [double dash convention](https://stimulus.hotwired.dev/handbook/installing#controller-filenames-map-to-identifiers) of stimulus. For example, adding a new admin controller `settings`, you'd do the following: @@ -46,12 +40,8 @@ If you want to organize your dynamic controllers in a subfolder, use the [double
``` - - You need to take care to prefix all actions, values etc. with the exact same pattern, e.g., `data-admin--settings-target="foobar"`. - - ### Requiring a page controller If you have a single controller used in a partial, we have added a helper to use in a partial in order to append a controller to the `#content`tag. This is useful if your template doesn't have a single DOM root. For example, to load the dynamic `project-storage-form` controller and provide a custom value to it: @@ -61,4 +51,3 @@ If you have a single controller used in a partial, we have added a helper to use dynamic: true, 'project-storage-form-folder-mode-value': @project_storage.project_folder_mode %> ``` - diff --git a/docs/development/concepts/translations/README.md b/docs/development/concepts/translations/README.md index 333edec6715e..c78edd4f9add 100644 --- a/docs/development/concepts/translations/README.md +++ b/docs/development/concepts/translations/README.md @@ -13,8 +13,6 @@ Not all translations are fully translated, and they will fallback to english str ![Overview of translation and their progress](translations-overview.png) - - ## Key takeaways *Translations in OpenProject...* @@ -22,8 +20,6 @@ Not all translations are fully translated, and they will fallback to english str - depend on the [I18n yaml-based Rails standard](https://guides.rubyonrails.org/i18n.html) for translation files - are split into backend and frontend strings - - ## I18n definitions The OpenProject localizable strings are stored in the [Rails-standard I18n YAML files](https://guides.rubyonrails.org/i18n.html). The core only manages english source strings in `en.yml` and `js-en.yml` files. The can be found at `config/locales/en.yml` and `config/locales/js-en.yml`, respectively. @@ -32,22 +28,16 @@ Additionally, modules can define their own translations, such as `modules/budget The `js-en.yml` are not special on their own, but are simply prefixed with the `js:` key at the beginning of the file. This means all translations within are prefixed with the `js.` key. This is picked up by [`I18n.js`](https://github.com/fnando/i18n-js), a Ruby gem and frontend library that helps outputting javascript objects for the frontend. Only strings that are prefixed with `js.` and some internals will end up in the frontend due to the config we applied in [`config/i18n.yml`](https://github.com/opf/openproject/blob/dev/config/i18n.yml). The translations are output by the rake task `./bin/rails assets:export_locales` to `frontend/src/locales/{language}.js`. - - ## Using I18n in your Rails code You are likely familiar already with the `I18n.t` helper provided by Rails. We simply use this helper to localize strings. Translations are simply loaded by Rails and available everywhere in the application. - - Let's say want to add a specific label to a work package page and use that in a HTML ruby file, you should go through this way: You have to add the below rows to the appropriate `en.yml` file. If you're editing a module, add the string to the module's `config/locales/en.yml` file. You should prefix your string unless its something very generic: - - ```yaml # ... work_packages: @@ -55,34 +45,24 @@ work_packages: my_button: "My localized button label" ``` - - You can then use the `t()` helper method in the Rails erb view to translate the string: ```erb <%= styled_button_tag t('work_packages.my_specific_page.my_button') %> ``` - - Outside of the views and controllers, you need to use the module function `I18n.t` to be used, for example in Ruby tests: ```ruby expect(page).to have_selector('button', text: I18n.t('work_packages.my_specific_page.my_button')) ``` - - The Rails guide on translations will give advanced examples on variable interpolation and the like: [guides.rubyonrails.org/i18n](https://guides.rubyonrails.org/i18n.html) - - ## Using I18n in your frontend code The frontend receives all translations prefixed with `js-` (see above) through compiled javascript files from `frontend/src/locales/{language}.js` folder generated by I18n.js. These locales are loaded early on in the application in [frontend/src/main.ts](https://github.com/opf/openproject/blob/dev/frontend/src/main.ts) to ensure they are present when the page loads. The import happens dynamically so only the language the user has selected is going to be loaded by webpack. - - If you want to create an angular component named ‘news’ and translate the text of a "save news" button and author of the news, you should go through this way: You have to add the below (exemplary) entry to the `js-en.yml` file @@ -95,12 +75,8 @@ js: label_added_by: "Added by %{author}" ``` - - You will then need to access the Angular [`I18nService`](https://github.com/opf/openproject/blob/dev/frontend/src/app/core/i18n/i18n.service.ts) that provides access to the `I18n.js` helper. Right now, there is also a window global `I18n` that works, but it is not recommended to use that wherever you can inject the service instead. - - In the `news.component.ts`, you should import the `I18nService`. Then you have to define a property named ‘text’ used for all text in your component, like below: ```typescript @@ -110,8 +86,6 @@ public text = { }; ``` - - Then you can use them as below in your template: ```html @@ -124,6 +98,4 @@ Then you can use them as below in your template: ``` - - For more information on formatting and other helpers of the `I18n.js` library, see [github.com/fnando/i18n-js](https://github.com/fnando/i18n-js) diff --git a/docs/development/concepts/wysiwyg-editor/README.md b/docs/development/concepts/wysiwyg-editor/README.md index d0d1ede417b1..056c5b9e7ba1 100644 --- a/docs/development/concepts/wysiwyg-editor/README.md +++ b/docs/development/concepts/wysiwyg-editor/README.md @@ -90,7 +90,6 @@ CkEditor comes with a debugger inspector that will make the development process In order to activate it, just import it (```import CKEditorInspector from '@ckeditor/ckeditor5-inspector';```) at the beginning of the ```op-config-customizer.js``` file and then attach it inside the editorClass.create method: - ```javascript return editorClass.create(wrapper, configuration).then(editor => { CKEditorInspector.attach(editor); @@ -147,12 +146,10 @@ Here we basically say that when the ckEditor finds a 'mention' element with the This is defined in the CkEditor plugin (```mentions-caster.js```). - ### 3 - Editing downcast Define how the mention attribute is going to be represented in the ckEditor's UI (Editing View): - ```javascript editor.conversion .for('editingDowncast') diff --git a/docs/development/contribution-documentation/README.md b/docs/development/contribution-documentation/README.md index f1052c75cd02..39055ad8e01f 100644 --- a/docs/development/contribution-documentation/README.md +++ b/docs/development/contribution-documentation/README.md @@ -20,20 +20,14 @@ Current and future users of the application find instructions for the set up and This documentation evolves continuously with new features and improvements to achieve clarity, accuracy, and completeness. - - ## Where to find the OpenProject documentation? The documentation for OpenProject is published [here](https://www.openproject.org/docs/). You can also access the documentation from your OpenProject application under user guides and API documentation below the question mark at the top right in the header menu. - - ## Who can contribute to the documentation? Being proudly open source, we invite anyone in our community to contribute to our software as well as the documentation to improve it even further. - - ## What can you contribute to the documentation? Documentation improvements and changes apply to the documentation described in the section above. Documentation changes are **not** changes or additions to the code of the OpenProject application. For contributions to the code, see our [product development guide](../product-development-handbook/). @@ -52,8 +46,6 @@ We are looking forward to receiving the following contributions from you: - Translations into your mother tongue (coming soon). - - ## Overview | Topic | Content | @@ -62,6 +54,4 @@ We are looking forward to receiving the following contributions from you: | [Documentation style guide](documentation-style-guide) | What are the styles and other requirements to follow when contributing to the documentation? | | [Contribution support](contribution-support) | What to do if you need help regarding your contribution to the documentation? | - - With this guide for contributing to the OpenProject documentation we followed and took inspiration from the [Contribute to GitLab guide](https://about.gitlab.com/community/contribute/). diff --git a/docs/development/contribution-documentation/documentation-process-internal-contributor/README.md b/docs/development/contribution-documentation/documentation-process-internal-contributor/README.md index 775d5b23e5f8..f3d2f091716c 100644 --- a/docs/development/contribution-documentation/documentation-process-internal-contributor/README.md +++ b/docs/development/contribution-documentation/documentation-process-internal-contributor/README.md @@ -10,7 +10,6 @@ keywords: contribution, documentation, documentation process This guide describes how internal team members with write permissions can contribute to the OpenProject documentation. - ## Prerequisites 1. [The contributor has a user account on GitHub.com](../../../development/contribution-documentation/documentation-process/#step-1-create-user-account-on-githubcom) @@ -30,7 +29,6 @@ In the modal window select the repository ""*opf/openproject*"". Also select a f ## Step 2: Update local repository (fetch origin) - > **Important**: Before you make changes always update your local repository. 1. Select the branch you want to work on, e.g. `release/13.0` in the main toolbar. @@ -77,8 +75,6 @@ A pull request is a workflow to ask for a review from the OpenProject team. With ![Create a pull request](create-pull-request-github-desktop.png) - - In the first dropdown select the base branch you want your work to be merged in e.g. `release/13.0`. In the second dropdown select the branch you created in step 3 which contains your changes. ![comparing-changes.png](comparing-changes.png) diff --git a/docs/development/contribution-documentation/documentation-process/README.md b/docs/development/contribution-documentation/documentation-process/README.md index a6fdc296c41e..93b6fc86ab35 100644 --- a/docs/development/contribution-documentation/documentation-process/README.md +++ b/docs/development/contribution-documentation/documentation-process/README.md @@ -10,7 +10,6 @@ keywords: contribution, documentation, documentation process, tool setup This guide describes how to contribute to the OpenProject documentation, including the tool setup. - ## Setup the tools to easily contribute to the OpenProject documentation This guide aims to help users that are new to Git and Markdown to contribute to the OpenProject documentation. There are a two very helpful tools that makes it extremely easy to contribute to OpenProject: @@ -40,8 +39,6 @@ To exchange data between your local repository and remote repositories you need In the next screen click on "Continue with browser". - - ![continue sign in in browser](continue-sign-in-in-browser.png) This opens your browser. To authenticate to type your GitHub.com credentials and click **Sign in**. If you have configured two-factor authentication (2FA) for GitHub enter your 2FA code in the prompt on GitHub and click **Verify**. @@ -92,8 +89,6 @@ Before you can make changes you need to create a local clone of the OpenProject ![clone repository](clone-repository.png) - - In the modal window select the repository you forked in step *Fork the OpenProject repository*. Also select a folder on your computer for the cloned repository. Click **Clone**. ![select repository to be cloned](select-repository-to-be-cloned.png) @@ -116,8 +111,6 @@ After that Publish your branch to the forked remote repository on github.com. ![create new branch - step 3](create-new-branch-step-3.png) - - ## Step 11: Open the files you want to change in Typora In Typora open the files you want to change (File -> Open). In the file picker navigate to the local folder you selected in the step *Clone the forked OpenProject repository in GitHub Desktop*. @@ -172,8 +165,6 @@ Now you can press "Ready for review" button. ... and hopefully it is all LGTM which means "Looks good to me(rge). Congrats to your first contribution to the OpenProject documentation. We appreciate your effort :-) - - ## Appendix A: How to import a new release branch into your fork *(e.g. Release changes from `release/12.2` to `release 12.3`)* @@ -204,10 +195,6 @@ In GitHub Desktop choose menu "Repository -> Push". ![rebase-your-fork-step-4](rebase-your-fork-step-4.png) - - - - ## Appendix B: How to change the Branch of an open Pull Request If a new release branch is generated on the upstream opf/openproject repository, **and the steps in Appendix A were done** to get the new branch to the fork. We still might have open Pull Requests on the old, now outdated, release branch. The following steps show how to re-base your open Pull Requests to the new release branch. It is important, because otherwise your changes will not be synchronized with the online documentation on the webpage diff --git a/docs/development/contribution-documentation/documentation-style-guide/README.md b/docs/development/contribution-documentation/documentation-style-guide/README.md index af301b472079..3f804689d083 100644 --- a/docs/development/contribution-documentation/documentation-style-guide/README.md +++ b/docs/development/contribution-documentation/documentation-style-guide/README.md @@ -383,4 +383,3 @@ Use alert boxes to call attention to information. The alert boxes in the OpenPro ```markdown > **Note**: If you do not have an OpenProject installation yet, please visit our site on [how to create an OpenProject trial installation](../../enterprise-guide/enterprise-cloud-guide/#create-a-new-account). ``` - diff --git a/docs/development/create-omniauth-plugin/README.md b/docs/development/create-omniauth-plugin/README.md index 866a1a5a7dc2..761788897537 100644 --- a/docs/development/create-omniauth-plugin/README.md +++ b/docs/development/create-omniauth-plugin/README.md @@ -119,4 +119,3 @@ The first line in the snippet shown above is only necessary because the `openpro ### Profit That’s it. Now users can authenticate using your own provider. - diff --git a/docs/development/create-openproject-plugin/README.md b/docs/development/create-openproject-plugin/README.md index 31b2707483bf..4300f774b669 100644 --- a/docs/development/create-openproject-plugin/README.md +++ b/docs/development/create-openproject-plugin/README.md @@ -53,6 +53,7 @@ Feel free to ask for help in our [Development Forum](https://community.openproje The following steps are necessary to release a new plugin: ### Code Review + A code review should check the whole code and remove glitches like: - Inappropriate comments diff --git a/docs/development/development-environment-docker/README.md b/docs/development/development-environment-docker/README.md index 905e9b4c1620..5c509b74e3cd 100644 --- a/docs/development/development-environment-docker/README.md +++ b/docs/development/development-environment-docker/README.md @@ -47,7 +47,6 @@ docker compose run --rm backend-test bundle exec rspec spec/features/work_packag More details and options follow in the next section. - > **Note**: docker compose needs access to at least 4GB of RAM. E.g. for Mac, this requires > to [increase the default limit of the virtualized host](https://docs.docker.com/docker-for-mac/). > Signs of lacking memory include an "Exit status 137" in the frontend container. diff --git a/docs/development/git-workflow/README.md b/docs/development/git-workflow/README.md index d2bbe2d3da1f..80426489aef7 100644 --- a/docs/development/git-workflow/README.md +++ b/docs/development/git-workflow/README.md @@ -17,16 +17,12 @@ The OpenProject core is developed fully at our [GitHub repository](https://githu OpenProject works with a git branching model similar to Git Flow to organize development and stable branches. The important branches are: - - - **`dev`**: Contains the current development version of OpenProject. Almost all development is made against this branch, with the exception of [bugfixes and minor changes](#bugs-and-hotfixes) - **`release/X.Y`**: Multiple of these branches may exist, they are maintenance branches or maintained or stale older releases of OpenProject. These branches will include bugfixes and changes for the next patch release of OpenProject. - **`stable/X`**: Multiple of these branches exist containing the latest stable `X.y.z` release of OpenProject. These branches are used for building docker images and packages from and are usually never pushed to directly except during an automated release process. - **`feature/X`**: These are temporary branches used by developers to develop features or other changes that are targeting the dev branch. They are opened as a pull request for reviewing and testing. When they are ready to merge, they will be merged into the `dev` branch. - **`(bug)fix/X`**: These are temporary branches used by developers to provide bug fixes and regression tests. They can be created against `dev` on a new major or minor release during stabilization, but most often, you will want to create a bugfix against a current production release. In this case, open the pull request against the most recent `release/X.Y` branch so that the bugfix will be available in the immediate next patch release. Ensure that the version of the corresponding OpenProject bug ticket matches the release branch version. - - The following is an overview of the processes that happen during the release of a new major release and the bug fixing phase afterwards leading to patch releases being made. ![Overview of the branches](branching-diagram.png) diff --git a/docs/development/kerberos/README.md b/docs/development/kerberos/README.md index 4161f2a522bb..c1e5e9370829 100644 --- a/docs/development/kerberos/README.md +++ b/docs/development/kerberos/README.md @@ -9,20 +9,14 @@ robots: index, follow **Note:** This guide is targeted only at development with OpenProject. For the Kerberos configuration guide, please see this guide: [Kerberos authentication guide](../../system-admin-guide/authentication/kerberos/) - - To test Kerberos, you'll need to setup a local kerberos admin and kdc server. This guide shows you how to do this for debian/ubuntu systems. YMMV on other distributions. - - ## Prerequisites - A debian / ubuntu VM or local machine - A local packaged installation installed using the hostname `openproject.local` - - ## Installing kerberos server First, install kdc and admin server: @@ -33,12 +27,8 @@ apt install krb5-kdc krb5-admin-server krb5-config -y During that installation, you'll be asked to enter the default realm. We'll use `TEST.LOCAL` in the course of this guide. - - ![Defining the default realm](realm.png) - - Next, you'll have to enter the hostnames used for your server. We'll assume this setup: - The development server is running under `openproject.local` @@ -56,24 +46,16 @@ For the administrative server, also enter `kerberos.local` The next dialog, you can simply continue with OK. The configuration will continue, and the krb5-kdc service will fail with a missing database. This is normal. - - ### Adding the realm Next, add the realm with the command `krb5_newrealm`. You'll be prompted for a password. Double-check that it prints this line or similar: `Initializing database '/var/lib/krb5kdc/principal' for realm 'TEST.LOCAL',` - - Enter a password and continue with enter. The realm is now setup. - - Next, you'll restart the kdc server with `systemctl restart krb5-kdc` and confirm it's running with `systemctl status krb5-kdc` - - ### Adding your principal You can now run `kadmin.local` to access the admin CLI for adding principals to kerberos. In that prompt, enter a new user for testing: @@ -104,8 +86,6 @@ Attributes: REQUIRES_PRE_AUTH Policy: [none] ``` - - ### Create a service principal and output as keytab The OpenProject Apache module for kerberos will call the kerberos with its own service principal. That we will have to create and add a keytab for, so that the password can be access by Apache. @@ -131,8 +111,6 @@ chown www-data:www-data /etc/apache2/openproject.keytab chmod 400 /etc/apache2/openproject.keytab ``` - - ## Set up Apache2 kerberos config First, install the GSSAPI apache module with: @@ -141,8 +119,6 @@ First, install the GSSAPI apache module with: apt install libapache2-mod-auth-gssapi ``` - - Add the customization dir `mkdir -p /etc/openproject/addons/apache2/custom/vhost` and create this file: `vim /etc/openproject/addons/apache2/custom/vhost/kerberos.conf` Add the following contents: @@ -176,16 +152,10 @@ Add the following contents: ``` - - Save the file and check the config with `apache2ctl configtest`. If this works fine, restart apache with `systemctl restart apache2`. - - If your OpenProject installation isn't yet running under `openproject.local`, run `openproject reconfigure` to change the hostname. - - ## Configure OpenProject The rest is the same as the production config. You need to tell OpenProject to use header based SSO: @@ -195,22 +165,14 @@ openproject config:set OPENPROJECT_AUTH__SOURCE__SSO_HEADER="X-Authenticated-Use openproject config:set OPENPROJECT_AUTH__SOURCE__SSO_SECRET="MyPassword" ``` - - Afterwards, restart the OpenProject server with `systemctl restart openproject` - - ## Use the integration If you access OpenProject now, you'll see that the SSO login is tried but fails: - - ![image-20220622164045060](image-20220622164045060.png) - - This is expected, as there is no `user1` login with an auth source connected. To fix that, open a console with `openproject run console` and run: ```ruby @@ -219,6 +181,4 @@ auth_source = LdapAuthSource.create! name: 'test', host: 'localhost', attr_login user = User.create! login: 'user1', firstname: 'user', lastname: 'one', mail: 'user1@example.org', admin: true, ldap_auth_source: auth_source ``` - - Now reload the page and you'll be logged in immediately. diff --git a/docs/development/ldap/README.md b/docs/development/ldap/README.md index f89311a09520..ae87ae53ae07 100644 --- a/docs/development/ldap/README.md +++ b/docs/development/ldap/README.md @@ -8,7 +8,6 @@ sidebar_navigation: **Note:** This guide is targeted only at development with OpenProject. For the LDAP configuration guide, please see this [here](../../system-admin-guide/authentication/ldap-authentication/) - OpenProject comes with a built-in LDAP server for development purposes. This server uses [ladle gem](https://github.com/NUBIC/ladle) to run an underlying apacheDS server. diff --git a/docs/development/packaging/README.md b/docs/development/packaging/README.md index 5ea7b5ddae64..98d61fbe0d5d 100644 --- a/docs/development/packaging/README.md +++ b/docs/development/packaging/README.md @@ -21,8 +21,6 @@ The packager.io website observes changes in the repository through webhooks and To see the status of a build, simply follow one of the links and choose a distribution whose logs you want to look at. - - ## Debugging an installed packager integration In some cases, you have an existing packaged installation and would like to debug or change parts of an addon to see if it breaks or works the way you expect it to. diff --git a/docs/development/product-development-handbook/README.md b/docs/development/product-development-handbook/README.md index 1dcfc21862c2..e6c60f96e640 100644 --- a/docs/development/product-development-handbook/README.md +++ b/docs/development/product-development-handbook/README.md @@ -8,8 +8,6 @@ keywords: product development, requirement process, RICE score # OpenProject product development - - ## 1. Overview & objectives OpenProject aims to connect distributed teams and organizations and make project management intuitive and fun. The application is continuously developed and maintained by an active international community to provide a powerful feature set and yet intuitive user interface. The overall purpose is to create customer benefit. To achieve this, OpenProject follows a requirements and product development process that empathizes identifying and building the functionality which most aligns with OpenProject’s product vision and delivers customer value. @@ -104,14 +102,12 @@ Product Managers and UX prepare the work together at least one version (~ 2 mont The specification phase may not be necessary for bug fixes, minor design changes, minor improvements of smaller code maintenance topics. - ### 3.1.1 Evaluation phase 1: Collection | Involved | Output | |----------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------| | - Entire team (incl. PMs, UX researcher, developers, etc.)
- Customers
- Community
- Other stakeholders | - Feature request in Wish List
- Bugs in Bug backlog | - The [OpenProject Wish List](https://community.openproject.org/projects/openproject/work_packages?query_id=180) is used to collect a backlog of potential validation opportunities. Requirements may come from customers, internal usage, support messages, community forums or through other communication channels. Requirements should be captured as a **Feature** or **Epic** (for larger features which we can be broken down into smaller features) and focus on describing the customer’s problem rather than jumping ahead to a solution. @@ -151,7 +147,6 @@ Those features judged positively by the PM: For internal or customer requirements requirements may directly be created, evaluated based on the [RICE framework](#42-rice-score) and assigned to the product backlog. - ### 3.1.4 Evaluation phase 4: Requirement specification | Involved | Output | @@ -365,15 +360,11 @@ A helpful guideline with further information on the RICE framework is provided b The RICE scoring model aims to objectively evaluate requirements (new products, features, add-ons, …) based on four different criteria to determine the RICE Score: - - > RICE Score = **R**each x **I**mpact x **C**onfidence / **E**ffort - The RICE framework is used especially in the early phases of evaluating requirements and provides an easy and fast way to prioritize feature requests. For complex requirements with a low level of confidence (80% or lower) and / or high effort (more than 1 week), an opportunity canvas should be used in addition to the RICE score. - **Reach** The first factor when determining the RICE score is the number of users reached by the feature. @@ -383,8 +374,6 @@ The reach ranges from 0.5 for minimal reach (less than 5% of users) to 10.0 for Data sources to estimate this may include queries and user data of an associated feature (e.g. number of users using the “Work packages” module on community.openproject.org to determine the value for a new work package requirement), qualitative customer interviews, customer requests, comments on work packages, surveys, etc.. - - **Impact** The second numerator is Impact which refers to the benefits for users and customers. Impact can refer to quantitative measures, such as conversion improvements, increased revenue, decreased risk or decreased cost or to qualitative measures, such as increasing customer delight. @@ -394,8 +383,6 @@ Impact ranges from “Minimal” (0.25) to “Massive” (3.0). The higher the impact, the higher the RICE score. - - **Confidence** Especially for more complex requirements it may be unclear what the reach, impact or effort is. The team may rely more on intuition for a factor. To account for this uncertainty, the confidence component is used. @@ -406,8 +393,6 @@ The confidence score ranges from 50% for low confidence to 100% for high confide If you arrive at a confidence level below 50%, consider this requirement a “Moonshot” and focus your energy on other requirements. - - **Effort** The three aforementioned factors (Reach, Impact, Confidence) represent the numerators of the RICE score. The effort score refers to the estimated resources (product, design, engineering, quality assurance, etc.) in person-months needed to implement a feature. @@ -416,56 +401,38 @@ The effort estimate is an approximate measure which uses shirt sizing. The effort score ranges from 0.03 (XS = less than a day of effort) to 20 (XXXL = more than 12 months of effort). - - ### 4.3 Opportunity Canvas One of the main artifacts used in the evaluation phase is the Opportunity Canvas. The Opportunity Canvas - [slightly adapted from GitLab](https://about.gitlab.com/handbook/product-development-flow) - provides a quick overview of a requirement and includes four main sections as well as two supplemental sections: - - **Main sections:** - - **1. Problem** States the problem that the feature request is addressing. This includes the **Customer** information (the affected persona or persona segment that experiences the problem most acutely), a **Problem** description and a description of the customer **Pain**. - - **2. Business Case** The business case is closely aligned with the RICE score. The business case section includes information on the **Reach** (number of affected customers), **Impact** (how much value do customers get from the feature) and **Confidence** (what are the top risk factors that could prevent the delivery of the solution). Additionally, the **Urgency and Priority** section provides information about the relative importance of the requirement compared to other opportunities, deadlines and other time-related information. - - **3. Solution** The solution to the problem can be laid out in this section. Define the **Minimal Viable Change** in a first version, what is **Out of scope** and the **Differentiation** from the current experience and competing solutions. As an outlook, also provide some information on the **Next iteration**. - - **4. Launch and Growth** To get a complete picture of the requirement and its impact, it is essential to consider its marketing message early on.Define how you **Measure** if you solved the problem by specifying important metrics. Additionally, you can formulate a marketing **message** to identify the value proposition as early as possible. Last but not least, briefly outline the **Go to Market** strategy. - - **Supplemental sections:** - - **1. Learnings** The Opportunity Canvas is an iterative work document. As such it is often helpful to collect some assumptions early on and validate them when conducting customer interviews and learning more about the problem and solution. The Learning section provides space to collect assumptions and validate them over time. - - **2. Learning Goals** The Learning Goals space is closely related to the Learning section. It includes assumptions and ways to validate or invalidate assumptions. @@ -474,9 +441,6 @@ The Opportunity Canvas is intended to quickly validate or invalidate ideas and t An Opportunity Canvas may not always be required - especially when a problem is well understood or small in scope. - - **References:** - [Opportunity Canvas Template](https://docs.google.com/document/d/1sgNrEx_PRCwewI9-46mN0qnyzz2AWq_SwFc6gLOcrbI/edit) - diff --git a/docs/development/report-a-bug/README.md b/docs/development/report-a-bug/README.md index e1c9f7a7a652..7b65e3b9bc73 100644 --- a/docs/development/report-a-bug/README.md +++ b/docs/development/report-a-bug/README.md @@ -17,7 +17,6 @@ If you find a bug please create a bug report. 6. Attach a screen-shot or log-file file (optional). 7. Press **Create**. - ## Information you should add to the bug description ### Preconditions to reproduce the bug diff --git a/docs/development/running-tests/README.md b/docs/development/running-tests/README.md index 4f7438fa32d9..3f482e5797eb 100644 --- a/docs/development/running-tests/README.md +++ b/docs/development/running-tests/README.md @@ -29,14 +29,10 @@ The following types of functional tests are used at OpenProject. | [Sanity and regression tests](#sanity-and-regression-tests) | Manual testing of affected or relevant components made after changes or bug fixes to the application. Performed by QA. | e.g., testing the critical path of creating work packages after a bug fix has been made in that data model
Manual execution of test plan defined by QA | | [Acceptance tests](#acceptance-tests) | Final phase of manual testing where the system is evaluated against predefined requirements to ensure it meets user and stakeholder expectations before deployment. | Manual interactions with customers and stakeholders to identify whether we're building the correct part | - - #### Unit tests Unit testing concerns testing of isolating individual components of the application, such as individual methods within a model, service, or library, in order to verify that they perform as expected under various conditions. OpenProject uses RSpec for writing unit tests / specs. - - **Key objectives and effects** 1. **Isolated validation of individual components**: Unit tests isolate the smallest testable parts of an application, often single methods or functions, to validate that they function as intended. @@ -44,8 +40,6 @@ Unit testing concerns testing of isolating individual components of the applicat 3. **Code quality**: Unit tests shape the development of a component, ensuring that it is testable by reducing coupling between components and by that, improves code quality. Unit tests, when well written, serve as a form of documentation. 4. **Ease of maintenance**: Unit tests in an interpreted language like Ruby make it easier and safer to refactor code, add new features, or integrate new changes with confidence, knowing that existing functionality is well-tested and which functionality breaks when moving code. - - **Best practices** - Follow the Arrange-Act-Assert (AAA) Pattern @@ -61,24 +55,18 @@ Unit testing concerns testing of isolating individual components of the applicat - Use `FactoryBot` to set up test data in a structured, but randomized way to prevent brittle tests - Mock external components and services, and ensure you test the boundaries of the associated components - - **References** - https://www.browserstack.com/guide/integration-testing - https://www.codewithjason.com/difference-integration-tests-controller-tests-rails/ - https://guides.rubyonrails.org/testing.html - - #### Integration tests Integration tests focus on the interactions between different components of OpenProject to ensure they work together to deliver a specific functionality. OpenProject uses RSpec to perform integration tests to simulate real-world user behavior. In contrast to system tests, integration tests still leave out some assumptions or characteristics of the application (e.g., not running tests in an instrumented browser instance). In Rails, the difference between integration tests and feature tests can be blurry. At OpenProject, we assume every test that involves an instrumented browser instance is a *feature spec*. Integration tests can be request or controller specs, or specs in other folders explicitly marked as integration, meaning it will not use mocking to separate the involved components. - - **Key objectives and effects** 1. **Verifying interaction of components**: The primary objective of integration testing is to verify that different components or modules of the application work together as intended. @@ -95,14 +83,10 @@ In Rails, the difference between integration tests and feature tests can be blur - Be wary of long-running and brittle tests and how to avoid them. Due to the nature of integration tests, execution of tests may be prone to more flickering results when compared to unit tests. - Know the difference between integration (i.e., requests, controller) tests and system/feature tests and when to use them. - - #### Feature tests Feature tests at OpenProject drive a browser instance to act as if a user was operating the application. This includes logging in, setting session cookies, and navigating/manipulating the browser to interact as the user. - - **Key objectives and effects** 1. **End-to-end testing**: Validate the interaction between the entire stack of the application, including the frontend and backend, to ensure they work as expected. @@ -113,8 +97,6 @@ Feature tests at OpenProject drive a browser instance to act as if a user was op 4. **Responsiveness and compatibility**: Verify that the application's user interface behaves consistently across various browsers, languages, and screen sizes. - - **Best practices** - Happy paths and main errors or permission checks should always be tested with a system test. Avoid testing all edge cases or boundaries using the entire stack, as this will result in slowdown of our CI infrastructure. @@ -124,58 +106,42 @@ Feature tests at OpenProject drive a browser instance to act as if a user was op - While frowned upon in unit tests, test the entire use-case in as few examples as possible to avoid additional overhead (starting the browser, loading factories into database etc.). When using multiple examples, use `let_it_be` / `shared_let` and other improvements from the [test-prof gem](https://github.com/test-prof/test-prof) - Add automated regression tests for bug fixes that are non-trivial - - #### Smoke tests Smoke tests are automated and manual tests to ensure the main application features and happy paths are working as expected. At OpenProject, all installation methods are automatically tested using smoke tests. Packaging processes test all distributions for successful installation of OpenProject. We run the released docker image for setting up and accessing OpenProject. - - **Key objectives and effects** 1. **Verify basic functionality**: Perform a quick check to ensure that the most critical functionalities of the application are working as expected. 2. **Find showstoppers**: Identify critical bugs early in the development process before the stabilization phase. 3. **Early feedback**: Provide quick feedback to the development team. - - **Best practices** - Automate smoke testing on top of manual testing when possible - Run after deployments to the appropriate [environments](../environments), e.g., the edge environment for features of the next release and staging environment for bug fixes to a stable release - Keep smoke tests updated so that they can evolve together with the application - - **References** - https://www.browserstack.com/guide/smoke-testing - - #### Sanity and regression tests Sanity and regression tests are manually performed tests by QA for relevant components on a stabilized version, e.g., the developed new features or components of an OpenProject release. A sanity test is a subset of a regression test, which evaluates the entire application prior to a release or production deployment. - - **Key objectives and effects** 1. **Proper scoping of the test**: For regression test, QA will evaluate the entire application, executing common use-cases of OpenProject. Sanity tests will instead test a subset of the application, e.g., a specific feature in the process of stabilization. 2. **Change impact**: Identify the impact of new code changes, updates, or bug fixes on the relevant functionality or module of OpenProject. 3. **Confidence**: Increases confidence among stakeholders that new or changed functionalities work as expected. - - **Best practices** - Document test plans for regression tests so that they can be executed easily and new QA employees can be onboarded easily - Be very selective about what you test for sanity testing. Focus only on the areas that were affected by recent changes - Stay updated to major code changes so that the regression test plan can be adapted appropriately - - **Usage at OpenProject** For writing and executing manual sanity and regression testing, especially focusing on functional requirements, one of the tools in use at OpenProject is TestLink (https://testlink.org/) to achieve the following goals: @@ -185,24 +151,18 @@ For writing and executing manual sanity and regression testing, especially focus - Test cases are updated with every change of the specifications. - Test cases have precise execution steps and expected results. - - **References** - https://www.browserstack.com/guide/sanity-testing - https://www.browserstack.com/guide/regression-testing - https://medium.com/@Jia_Le_Yeoh/difference-between-regression-sanity-and-smoke-testing-ed2129bf049 - - #### Acceptance tests Acceptance testing is the final phase of testing where the extension to the OpenProject application is evaluated against predefined requirements to ensure it meets user and stakeholder expectations before deployment. Acceptance tests evaluate both functional and non-functional requirements. - - **Key objectives and effects** 1. **Validation of requirements**: Ensure that the defined feature / change meets all specified requirements, as outlined by the stakeholders and defined by the product team. @@ -211,8 +171,6 @@ Acceptance tests evaluate both functional and non-functional requirements. 4. **System behavior**: Confirm that all features and functionalities behave as expected in real-world scenarios. 5. **Data integrity and workflow**: Verify the end-to-end processes, and ensure data consistency and integrity throughout the system. - - **Best practices** 1. Ensure customer provided user stories and acceptance criteria is well defined before development phase is entered, or be clear and open about the scope of what is to be built. @@ -233,22 +191,16 @@ Examples for non-functional test cases: software should be compatible with most | [Usability tests](#usability-testing) | Evaluating the UX of the application as defined and in comparison to the requirements. Involves QA, Product, Customer. | e.g., verifying common use-cases as defined in the requirements in an early development stage (such as a PullPreview deployment), or on a pre-released version of the application. | | [Accessibility tests](#accessibility-tests) | Evaluating the accessibility of the application according to [WCAG AA](https://www.w3.org/WAI/WCAG2AA-Conformance) and similar standards | Performing automated keyboard navigation tests.
Manually executing screen readers to ensure application can be used. | - - #### Performance tests Identify and prevent common causes of bottlenecks in the application. As OpenProject is a software where a lot of information might come together and presented in a very flexible manner, performance is an ever-present concern and consideration for the developers. - - **Key objectives and effects** 1. **Reliability**: Improve the reliability of the application by identifying bottlenecks and performance issues. 2. **Stress testing**: Identify the limits and the breaking points of the application. 3. **User satisfaction**: Ensure that users have a good experience for common use-cases. - - **Best practices** - Include performance tests, automated or manual, in the development of every feature that involves moving a lot of user data @@ -256,14 +208,10 @@ Identify and prevent common causes of bottlenecks in the application. As OpenPro - Establish a performance baseline so that you can compare how code changes impact performance over time. - OpenProject implements monitoring tools for SaaS applications to monitor performance and identify bottlenecks. - - #### Security tests Automated or manual security tests for OpenProject are evaluating common weaknesses of web applications and follow the best practices of the [secure coding guidelines](../concepts/secure-coding/). - - **Key objectives and effects** 1. **Vulnerability assessment**: Identify and prevent common security vulnerabilities in the application, such as SQL injection, CSRF, and XSS vulnerabilities. @@ -271,8 +219,6 @@ Automated or manual security tests for OpenProject are evaluating common weaknes 3. **Risk mitigation**: Early identification of security vulnerabilities helps mitigate risks associated with data breaches and unauthorized access. 4. **Audit and compliance**: Ensure that the application complies with internal security guidelines, as well as any industry-specific security standards. - - **Best practices** - Use statical and dynamical code analysis for automated vulnerability testing. OpenProject uses CodeQL and Brakeman as part of the CI pipeline to give early feedback to common vulnerabilities. @@ -281,16 +227,12 @@ Automated or manual security tests for OpenProject are evaluating common weaknes - If possible, automate security tests for common vulnerabilities for input in your development. - Train on recent vulnerabilities and checklists such as [OWASP Top Ten](https://owasp.org/www-project-top-ten/) or [OWASP cheat sheets](https://cheatsheetseries.owasp.org) to stay up-to-date on security testing and extend our security test suite with new information. - - #### Installation and upgrade tests OpenProject employs a number of automated tests for installation testing. Packaged installation build tests for various distributions, Docker installation smoke tests for verifying correct startup and basic operation of the container. Upgrade tests are manually performed for major code changes and data migrations on pre-release candidates to ensure migrations are working as expected. The [OpenProject Community](https://community.openproject.org) instance also serves as an early release candidate to allow early testing and feedback. - - **Key objectives and effects** 1. **Verify seamless installation**: Ensure that OpenProject can be installed as documented. @@ -300,8 +242,6 @@ Upgrade tests are manually performed for major code changes and data migrations 5. **Technical support**: Reduce the number of support tickets related to installation and upgrade issues. 6. **Operational efficiency**: Minimize downtime and service interruptions during the upgrade process. - - **Best practices** - Use automated testing scripts to simulate various installation and upgrade scenarios. @@ -309,14 +249,10 @@ Upgrade tests are manually performed for major code changes and data migrations - Keep up-to-date documentation for the installation and upgrade procedures, including a list of known issues and workarounds. - Example of test cases would be ensuring that software works in a satisfying manner on major browsers and operating systems which are defined in [system-requirements](../../installation-and-operations/system-requirements/) - - #### Usability testing When new features or changes to the application are available on our [Edge or Community environments](../environments), product team members, customers, and community users can provide usability feedback on how the change is perceived. - - **Key objectives and effects** 1. **User-friendliness**: Evaluate how easily end-users can navigate and perform tasks within the application, focusing on intuitiveness and accessibility. @@ -329,8 +265,6 @@ When new features or changes to the application are available on our [Edge or Co 5. **Reduced support costs**: Intuitive and user-friendly designs decrease the volume of help desk or support questions. - - **Best practices** - Involve actual users in requirements and usability feedback to collect genuine user insights. @@ -338,14 +272,10 @@ When new features or changes to the application are available on our [Edge or Co - **Real-world scenarios**: Test the application by simulating real-world tasks and scenarios that a typical user would encounter. - **Quantitative and qualitative metrics**: Use a mix of metrics like task completion rates, error rates, and user satisfaction surveys to comprehensively assess usability. - - #### Accessibility tests OpenProject strives to be accessible for all users while also retaining a high usability. In web applications, these two requirements can sometimes be a seemingly contradictory requirement, especially when animations or *modern* functionalities of browsers are used. - - **Key objectives and effects** 1. **Compliance with WCAG**: Standards exists to ensure and implement means of accessible interactions for all users. @@ -354,8 +284,6 @@ OpenProject strives to be accessible for all users while also retaining a high u 4. **Navigational ease**: Application can be effectively navigated using only a keyboard, without requiring a mouse. 5. **Contrast and readability**: Test text contrast, size, and spacing to ensure readability for users with visual impairments. - - **Best practices** 1. Make accessibility testing an integral part of the development lifecycle, starting with the requirements. @@ -365,8 +293,6 @@ OpenProject strives to be accessible for all users while also retaining a high u 5. Use [capybara-accessible-selectors](https://github.com/citizensadvice/capybara_accessible_selectors) in [feature tests](#feature-tests) to find UI elements using screen-reader compatible selectors. This ensures the page elements used by feature tests are accessible to assistive technologies. 6. Consult with accessibility experts to conduct audits and provide recommendations for improvements. Alternatively, consult the development colleagues with experience in accessibility testing to evaluate requirements and implementation proposals. - - **References** - https://www.deque.com/axe/browser-extensions/ @@ -389,8 +315,6 @@ A failing status will look like the following on your pull request. You may need ![Exemplary failing github actions test suite](github-broken-tests-pr.png) - - Here you'll see that the *GitHub Actions* check has reported an error, which likely means that your pull request contains errors. It might also result from a [temporary error running the test suite](#tests-failing-on-github-actions-ci-and-passing-locally), or from a test that was broken in the `dev` branch. The test suite is [run in parallel](#parallel-testing) to save time. The overall run time of the test suite is around *15 minutes* on GitHub. @@ -401,8 +325,6 @@ Click on the Details link to see the individual *jobs* that GitHub executes. ![Exemplary failed status details](github-broken-tests-pr-details1.png) - - Click on each job and each step to show the [log output for this job](https://github.com/opf/openproject/pull/9355/checks?check_run_id=2730782867). It will contain more information about how many tests failed and will also temporarily provide a screenshot of the browser during the occurrence of the test failure (only if a browser was involved in testing). In our example, multiple tests are reported as failing: @@ -423,13 +345,10 @@ Once you know which tests are failing, run them locally to try and reproduce the How to do this depends on the kind of job that failed. - **Errors in the npm group** An error in the *npm* group means you likely have broken an existing Angular component spec or added an invalid new one. Please see the [Frontend tests](#frontend-tests) section on how to run them. - - **Errors in the units group** An error in the *units* group means there is a failing ruby unit test. Please see the [Unit tests](#unit-tests) section on how to run these. @@ -438,8 +357,6 @@ An error in the *units* group means there is a failing ruby unit test. Please se You will be able to run failing tests locally in a similar fashion for all errors reported in the `units` and `features` jobs. Please see the [System tests](#system-tests) section for more information. - - **Helper to extract all failing tests** There is a small ruby script that will parse the logs of a GitHub Actions run and output all `rspec` tests that failed for you to run in one command. @@ -504,14 +421,10 @@ As there are multiple ways employed to test OpenProject, you may want to run a s In order to be able to run tests locally, you need to have set up a local development stack. - - #### Verifying your dependencies To ensure your local installation is up to date and prepared for development or running tests, there is a helper script `./bin/setup_dev` that installs backend and frontend dependencies. When switching branches or working on a new topic, it is recommended to run this script again. - - #### Setting up a test database As part of the development environment guides, you will have created a development and test database and specified it under `config/database.yml`: @@ -533,20 +446,14 @@ test: database: openproject_test ``` - - The configuration above determines that a database called `openproject_test` is used for the backend unit and system tests. The entire contents of this database is being removed during every test suite run. - - Before you can start testing, you will often need to run the database migrations first on the development and the test database. You can use the following rails command for this: ```shell RAILS_ENV=development rails db:migrate db:test:prepare ``` - - This migrates the _development_ database, outputting its schema to `db/schema.rb` and will copy this schema to the test database. This ensures your test database matches your current expected schema. ### Frontend tests @@ -589,16 +496,12 @@ System tests are located in `spec/features`. Use the following command to run in RAILS_ENV=test bundle exec rspec spec/features/auth/login_spec.rb ``` - - #### Dependencies For the javascript dependent integration tests, you have to install Chrome and Firefox, to run them locally. Capybara uses Selenium to drive the browser and perform the actions we describe in each spec. We have tests that mostly depend on Chrome and Chromedriver, but some also require specific behavior that works better in automated Firefox browsers. - - #### Running system tests Almost all system tests depend on the browser for testing, you will need to have the Angular CLI running to serve frontend assets. @@ -611,8 +514,6 @@ RAILS_ENV=test bundle exec rspec ./modules/documents/spec/features/attachment_up The tests will generally run a lot slower due to the whole application being run end-to-end, but these system tests will provide the most elaborate tests possible. - - You can also run *all* feature specs locally with this command. This is not recommended due to the required execution time. Instead, prefer to select individual tests that you would like to test and let GitHub Actions CI test the entire suite. ```shell @@ -683,8 +584,6 @@ There is no need to prefix this with the `RAILS_ENV` here since we've exported i Firefox tests through Selenium are run with Chrome as `--headless` by default. This means that you do not see the browser that is being tested. Sometimes you will want to see what the test is doing to debug. To override this behavior and watch the Chrome or Firefox instance set the ENV variable `OPENPROJECT_TESTING_NO_HEADLESS=1`. - - #### Troubleshooting ```text @@ -719,8 +618,6 @@ By default, `parallel_test` will use CPU count to parallelize. This might be a b export PARALLEL_TEST_PROCESSORS=4 ``` - - Adjust `database.yml` to use different databases: ```yaml @@ -848,4 +745,3 @@ Along with the generators, we've bundled some helpful **USAGE** guides for each ```shell ./bin/rails generate open_project:rspec:GENERATOR_NAME -h ``` - diff --git a/docs/development/saml/README.md b/docs/development/saml/README.md index 4978fa9ed161..0d8d040f9c1e 100644 --- a/docs/development/saml/README.md +++ b/docs/development/saml/README.md @@ -8,37 +8,25 @@ sidebar_navigation: **Note:** This guide is targeted only at development with OpenProject. For the SAML configuration guide, please see this [here](../../system-admin-guide/authentication/saml/) - - To test the SAML integration in your development setup, you can use the following repository: [docker-test-saml-idp](https://github.com/kristophjunge/docker-test-saml-idp) - - The following guide will provide insights how to set it up in your OpenProject development instance. - - ## Prerequisites - A working docker installation - A development setup of OpenProject (or any other configurable installation) - - ## Running the SAML idP We need to run the SimpleSAMLphp idP contained in the docker container. We only extend it slightly by giving the user configuration file more attributes so that OpenProject can pick it up. The default users configuration is lacking some of the default attributes OpenProject expects. - - Create a new folder `saml-idp` and switch to it ```shell mkdir saml-idp && cd saml-idp ``` - - Create a file `users.php` with the following content ```shell @@ -70,8 +58,6 @@ $config = array( ); ``` - - You can now run the docker container and the updated configuration with this command. ```shell @@ -86,8 +72,6 @@ docker run \ kristophjunge/test-saml-idp ``` - - If you're not using a development installation of OpenProject, you'll need to change the ENV variables slightly: ```shell @@ -102,18 +86,12 @@ docker run \ kristophjunge/test-saml-idp ``` - - ## Configure OpenProject for SAML On the OpenProject side, you'll have to configure SAML to connect to the just started idP service: - - Here's a minimal configuration that you can put into `config/configuration.yml` - - ```yaml default: saml: @@ -134,12 +112,8 @@ default: last_name: ['sn'] ``` - - Here, again you will have to change the hostname `localhost:3000` with the hostname of your OpenProject installation, and the iDP host name if you're not running both locally. I'd recommend to run both locally though for simplicity. - - Restart OpenProject and you'll see a login button "simplesaml-docker". You will redirected to the simplesaml-php docker container and can login with either: - *login*: user1, *password*: user1pass diff --git a/docs/development/style-guide/frontend/README.md b/docs/development/style-guide/frontend/README.md index 3d999e0461a7..1b2728608c9d 100644 --- a/docs/development/style-guide/frontend/README.md +++ b/docs/development/style-guide/frontend/README.md @@ -1,13 +1,17 @@ # OpenProject development style guide - frontend ## Code format + OpenProject follows the [AirBnB's style guide](https://github.com/airbnb/javascript) regarding to the code format. ## Development patterns + ### Angularized + OpenProject follows the [Angular's style guide](https://angular.io/guide/styleguide) patterns. ### Declarative + Declarative Programming is a paradigm where the code describes **what to do** by encapsulating the **how to do it** (implementation details) under abstractions. The ultimate result of declarative programming is the creation of a new Domain Specific Language (DSL). #### What @@ -40,10 +44,8 @@ const bestProducts = products.filter(function(product) { const bestProducts = getBestProducts(); ``` - An example in OpenProject would be the APIV3Service that encapsulates all the logic to deal with the OpenProject API. - #### Why * Code is easier to understand and reason about. @@ -53,12 +55,12 @@ An example in OpenProject would be the APIV3Service that encapsulates all the lo * Aligns with unidirectional data flow (Stores) and the Components Architecture. * Increases coding pleasure and productivity. - ### Immutable -Not capable of or susceptible to change. An immutable value can’t be changed, when edited a new copy is returned. +Not capable of or susceptible to change. An immutable value can’t be changed, when edited a new copy is returned. #### What + Do not mutate objects, spread the word. * Do not edit object’s, use the immutable alternatives: @@ -90,12 +92,12 @@ splice = (s, c, ...y) => x => [...x.slice(0, s), ...y, ...x.slice(s + c)]; * Enables unidirectional data flow. * Enables performance improvements through ChangeDetectionStrategy.OnPush - ### Unidirectional data flow -The app has a single way to read and to write the state, and both are separated ([Command Query Segregation](https://khalilstemmler.com/articles/oop-design-principles/command-query-segregation/)). +The app has a single way to read and to write the state, and both are separated ([Command Query Segregation](https://khalilstemmler.com/articles/oop-design-principles/command-query-segregation/)). #### State definition + We can differentiate two types of states in our application: * Local: belongs to a single component. Includes mainly UI state. @@ -133,7 +135,6 @@ To reduce server requests, side effects **should be** be calculated in the front **Note:** The proper solution to this problem would be a backend that can push updates for collections and entities that we are requiring. However, implementing and relying on websockets comes with its own challenges. - #### Flow ![data-flow](./data-flow-diagram.png) @@ -142,8 +143,8 @@ To reduce server requests, side effects **should be** be calculated in the front * Store changes the state and emits an updated copy of the state * Component receives the update and renders the new state - #### Unidirectional data flow in the view / component’s tree + Angular also follows the unidirectional data flow pattern in the view to improve the performance and simplify the state distribution: * When the state could have been updated (an async operation happens), Angular performs [Change Detection](https://indepth.dev/posts/1058/a-gentle-introduction-into-change-detection-in-angular) in one way, from top to bottom, from the root component all the tree down checking every child component for changes. @@ -165,11 +166,12 @@ Angular also follows the unidirectional data flow pattern in the view to improve * Code is easier to understand and reason about. * Increases coding pleasure and productivity. - ### Components architecture + Mental mindset to build clearer apps based on the differentiation between Container Components (CC), Presentational Components (PC) and Services. #### Services + Are state and logic containers. ##### What @@ -190,6 +192,7 @@ Are state and logic containers. * Testability: easier to test because there are no side effects (pure). #### Container components (CC) + Represent a feature that interacts with the state. This could be a page (routed component) but also standalone components (e.g. sign-in button (tied to the AuthService)). ##### Responsibilities @@ -204,6 +207,7 @@ Represent a feature that interacts with the state. This could be a page (routed * Could contain presentational logic (show/hide PCs, calculations..), in those cases are named something like Mixed Components. ##### Example + Pages, components that are routed, are usually container components since the need to fetch state to display it. ##### What @@ -220,6 +224,7 @@ Pages, components that are routed, are usually container components since the ne * Increases coding pleasure and productivity. #### Presentational components + Are the building blocks of the UI. ##### Responsibilities @@ -234,13 +239,13 @@ Are the building blocks of the UI. * Presenter Services that encapsulate complex UI logic (computed styles, UI calculations...)). ##### Example + Components from UI libraries are usually Presentational Components (e.g., [material button](https://github.com/angular/components/blob/master/src/material/button/button.ts)). ##### What * Create presentational components to encapsulate UI logic (presentation or interaction). - ##### Why * Reusability: \ @@ -255,6 +260,7 @@ Presentational components are more reusable because: * Are easier to replace. ### Clean + Clean code is easily readable, understandable, changeable, extensible, scalable and maintainable. #### What @@ -270,6 +276,7 @@ Clean code is easily readable, understandable, changeable, extensible, scalable * Increases coding pleasure and productivity. ### BEM CSS + #### What * Do follow BEM directives: diff --git a/docs/development/translate-openproject/README.md b/docs/development/translate-openproject/README.md index ffdfcb8476c0..f41c4c8913e9 100644 --- a/docs/development/translate-openproject/README.md +++ b/docs/development/translate-openproject/README.md @@ -35,22 +35,19 @@ Here is how the translation process works in detail: 3. When the new OpenProject version is released users can use the translations in their own instances with the next OpenProject version. ## How to translate OpenProject via CrowdIn + You can easily help translate OpenProject by creating a (free) CrowdIn account and by joining the [OpenProject CrowdIn project](https://crowdin.com/projects/opf). Once you joined the project, you can provide translations by following these steps: Select the language for which you want to contribute (or vote for) a translation (below the language you can see the progress of the translation). ![Language overview in OpenProject CrowdIn project](crowdin-overview.png "Language overview in OpenProject CrowdIn project") - - You will be shown an overview of translatable files in the `dev` and `release` channel. In the below example, the norwegian project is about 33% translated. Simply click the "Translate All" button to show an editor with all untranslated strings. ![Select OpenProject version to translate in CrowdIn](crowdin-language-overview.png "Language overview of translatable files") ![crowdin-editor](crowdin-editor.png "The crowdin editor view") - - On the left hand side (1), strings ordered by translation status will be shown on the left. You can search for specific strings above that list, and also change the filters. The red square next to an English string shows that a string has not been translated yet. To provide a translation, select a string on the left side, provide a translation in the target language (2) in the text box in the right side and press the save button. Some strings might have pluralization rules, in which case there is a tab that you can enter each value. @@ -61,8 +58,6 @@ As soon as a translation has been provided by another user (green square next to Once a translation has been provided, a proof reader can approve the translation and mark it for use in OpenProject. - - ## Becoming a proof reader If you are interested in becoming a proof reader, please contact one of the project managers in the OpenProject CrowdIn project or send us an email at support@openproject.org. diff --git a/docs/enterprise-guide/README.md b/docs/enterprise-guide/README.md index 26a5ef176967..b366b9a1de25 100644 --- a/docs/enterprise-guide/README.md +++ b/docs/enterprise-guide/README.md @@ -27,7 +27,6 @@ This video (english only) provides an overview of the [Enterprise add-ons](https Find a detailed feature comparison [here](https://www.openproject.org/pricing/#features). - ## Enterprise cloud | Topic | Content | @@ -41,8 +40,6 @@ Find a detailed feature comparison [here](https://www.openproject.org/pricing/#f | [Backups](./enterprise-cloud-guide/backups) | How do backups work in the cloud. | | [GDPR](./enterprise-cloud-guide/gdpr-compliance) | Review and sign a Data Processing Agreement (DPA). | - - ## Enterprise on-premises | Topic | Content | diff --git a/docs/enterprise-guide/enterprise-cloud-guide/README.md b/docs/enterprise-guide/enterprise-cloud-guide/README.md index 591de1db57fa..2bf1e550bc92 100644 --- a/docs/enterprise-guide/enterprise-cloud-guide/README.md +++ b/docs/enterprise-guide/enterprise-cloud-guide/README.md @@ -13,7 +13,6 @@ Welcome to the OpenProject **Enterprise cloud guide**. > **Note**: This guide only describes the management of your Enterprise cloud. The feature descriptions are included in the respective parts of the OpenProject [user guide](../../user-guide). - ## Overview | Topic | Content | diff --git a/docs/enterprise-guide/enterprise-cloud-guide/backups/README.md b/docs/enterprise-guide/enterprise-cloud-guide/backups/README.md index ad6c555b806a..04cf322793ed 100644 --- a/docs/enterprise-guide/enterprise-cloud-guide/backups/README.md +++ b/docs/enterprise-guide/enterprise-cloud-guide/backups/README.md @@ -22,8 +22,6 @@ In this case you cannot check the **Include attachments** check-box like on the ![backup-enterprise-cloud](backup-enterprise-cloud.png) - - ## Backup via GUI For detailed usage of the Backup via GUI, please navigate to the [System admin guide Backup page](../../../system-admin-guide/backup/) diff --git a/docs/enterprise-guide/enterprise-cloud-guide/book-cloud/README.md b/docs/enterprise-guide/enterprise-cloud-guide/book-cloud/README.md index cf1c409a5248..4187d529b2c0 100644 --- a/docs/enterprise-guide/enterprise-cloud-guide/book-cloud/README.md +++ b/docs/enterprise-guide/enterprise-cloud-guide/book-cloud/README.md @@ -13,8 +13,6 @@ Please refer to our website for the Enterprise cloud edition [pricing](https://w You can subscribe to a monthly or yearly plan. The subscription can be **paid via Credit Card or Bank transfer** (only for yearly subscriptions for customers in the EU, Switzerland and the United States). - - To upgrade your trial to the full version, **click on the BUY NOW teaser**, e.g. in the application header or project menu. ![Enterprise cloud edition](Cloud-edition-buy-now-teaser.png) diff --git a/docs/enterprise-guide/enterprise-cloud-guide/create-quote-cloud/README.md b/docs/enterprise-guide/enterprise-cloud-guide/create-quote-cloud/README.md index ae939cbe7070..590ddff86259 100644 --- a/docs/enterprise-guide/enterprise-cloud-guide/create-quote-cloud/README.md +++ b/docs/enterprise-guide/enterprise-cloud-guide/create-quote-cloud/README.md @@ -28,8 +28,6 @@ You will be directed to -> *Administration* -> *Billing*. ![request-a-quote-cloud](request-a-quote-cloud.png) - - You will then be asked to provide your address details. After populating the respective fields please click on **Request a quote**. After that you will receive an **email with the quote**. The email includes a link to accept the quote. Your subscription will be updated once you accept the quote. diff --git a/docs/enterprise-guide/enterprise-cloud-guide/enterprise-cloud-faq/README.md b/docs/enterprise-guide/enterprise-cloud-guide/enterprise-cloud-faq/README.md index 50bca975bccb..c51cdf7742ed 100644 --- a/docs/enterprise-guide/enterprise-cloud-guide/enterprise-cloud-faq/README.md +++ b/docs/enterprise-guide/enterprise-cloud-guide/enterprise-cloud-faq/README.md @@ -20,7 +20,6 @@ You can do this in your OpenProject instance in the administration. The number o Please have a look at [this instruction](../manage-cloud-subscription/) for the Enterprise cloud edition to change your payment details. - ## Does OpenProject comply with GDPR? Yes. The protection of personal data is for OpenProject more than just a legal requirement. We are highly committed to data security and privacy. We are a company based in Berlin, the European Union, and the awareness and importance for data security and privacy actions have always been a major topic for us. OpenProject complies with GDPR and we handle our customer’s data with care. Get more detailed information [here](https://www.openproject.org/security-and-privacy/). diff --git a/docs/enterprise-guide/enterprise-cloud-guide/gdpr-compliance/README.md b/docs/enterprise-guide/enterprise-cloud-guide/gdpr-compliance/README.md index 0f18adf8383a..586ebb668c5e 100644 --- a/docs/enterprise-guide/enterprise-cloud-guide/gdpr-compliance/README.md +++ b/docs/enterprise-guide/enterprise-cloud-guide/gdpr-compliance/README.md @@ -71,6 +71,4 @@ Please navigate to -> Administration -> GDPR and you can now online review and s ![OpenProject DPA](DPA.png) - - Find out more about [OpenProject's security features](../../../security-and-privacy/statement-on-security/#openproject-security-features). diff --git a/docs/enterprise-guide/enterprise-cloud-guide/sign-in/README.md b/docs/enterprise-guide/enterprise-cloud-guide/sign-in/README.md index 266a43f9827f..152a1c2f9d99 100644 --- a/docs/enterprise-guide/enterprise-cloud-guide/sign-in/README.md +++ b/docs/enterprise-guide/enterprise-cloud-guide/sign-in/README.md @@ -24,8 +24,6 @@ Click the green **Sign in button** and you will be logged into your OpenProject ![Sign-in-enter-organization](Sign-in-enter-organization.png) - - ## Forgot organization name of OpenProject Enterprise cloud If you forgot the URL or the organization name of your OpenProject Enterprise cloud edition and need to find your organization, you can click the **Find your organization** link on the Sign in page of the website. @@ -40,8 +38,6 @@ Click the Submit button to get an email with further information. You will receive an email from OpenProject with the installations you are currently member of. - - ![E-Mail-Instances](E-Mail-Instances.png) Click the link in the email to get directed to your installation. If you are member of several OpenProject installations, they will all be listed in this email. diff --git a/docs/enterprise-guide/enterprise-on-premises-guide/activate-enterprise-on-premises/README.md b/docs/enterprise-guide/enterprise-on-premises-guide/activate-enterprise-on-premises/README.md index d8ab6f537b39..b8bcbb996899 100644 --- a/docs/enterprise-guide/enterprise-on-premises-guide/activate-enterprise-on-premises/README.md +++ b/docs/enterprise-guide/enterprise-on-premises-guide/activate-enterprise-on-premises/README.md @@ -19,8 +19,6 @@ Next, select **Enterprise edition** from the menu items (3). ![enterprise-select-menu](image-20210120113056133.png) - - Do you already have an Enterprise on-premises token? Yes: Then you can proceed entering your token as described below. @@ -39,9 +37,6 @@ If you want to **order the Enterprise on-premises edition** click on the **+ Ord ![Order-Enterprise-on-premises](Upgrade-to-Enterprise-on-premises.png) - - Once you purchased an Enterprise on-premises edition token or received a trial token you can [activate it by pasting the token in the designated area of the Enterprise edition section](#activate-the-enterprise-on-premises-edition). You can find pricing options and FAQ regarding pricing, booking and billing on our [pricing website](https://www.openproject.org/pricing/#faq). - diff --git a/docs/enterprise-guide/enterprise-on-premises-guide/enterprise-on-premises-faq/README.md b/docs/enterprise-guide/enterprise-on-premises-guide/enterprise-on-premises-faq/README.md index 12401aa007e8..4dc525f3ed5b 100644 --- a/docs/enterprise-guide/enterprise-on-premises-guide/enterprise-on-premises-faq/README.md +++ b/docs/enterprise-guide/enterprise-on-premises-guide/enterprise-on-premises-faq/README.md @@ -78,7 +78,6 @@ Once in the console update the token like this: Where `...` is the token you have copied earlier. After that you can quit the console by entering `exit`. - ## Do you have a reseller program for OpenProject? We provide a [reseller program](https://www.openproject.org/reseller-program/) exclusively for OpenProject Enterprise on-premises (currently not for the Enterprise cloud) and offer a 25% discount on the regular prices as a part of this. Once you purchased the first Enterprise on-premises license for a client, you receive an Enterprise on-premises license for 25 users free of charge for your internal use. Please refer to the link above for more information and the conditions regarding this offer. diff --git a/docs/faq/README.md b/docs/faq/README.md index caffc0eab575..875f51ede4e4 100644 --- a/docs/faq/README.md +++ b/docs/faq/README.md @@ -19,7 +19,6 @@ Welcome to the central overview of frequently asked questions for OpenProject. | [Other](#other) | Additional questions, e.g. about contribution, training, support | | [Topic-specific FAQ](#topic-specific-faq) | Links to other FAQ sections | - ## Learn more about OpenProject ### How do I get access to the OpenProject Enterprise add-ons? @@ -33,6 +32,7 @@ If you want to run OpenProject on your own server, the OpenProject Enterprise on Have you already installed the [OpenProject Community edition](https://www.openproject.org/download-and-installation/)? If yes, you can request a trial license for the OpenProject Enterprise on-premises edition by clicking on the button "Free trial license" [here](https://www.openproject.org/de/enterprise-edition/) and test the Enterprise on-premises edition for 14 days for free. ### Can I have some users with Enterprise add-ons and some without? + As the Enterprise Enterprise add-ons affect the whole instance (e.g. with Agile Boards and project custom fields) it's not possible to upgrade only some users. ### What are the system requirements? @@ -195,7 +195,6 @@ For portfolio management or custom reporting, you can use either the project lis For more information on portfolio management options in OpenProject please refer to this [Use Case](../use-cases/portfolio-management). - ### Is there an organizational chart in OpenProject? There's no such feature. However, you can use the wiki to add information regarding your departments and employees. Furthermore, you can upload existing org charts as image or e.g. PDF to the wiki or the documents module. @@ -248,7 +247,6 @@ Yes. Take a photo with your camera and save it on your phone. Then open the corr Yes, of course. Within the BCF module you can upload multiple IFC models and create and manage BCF issues. - ## Migration ### How can I migrate from Bitnami to OpenProject? diff --git a/docs/getting-started/README.md b/docs/getting-started/README.md index 9e99d963eded..2322ed4a1c7f 100644 --- a/docs/getting-started/README.md +++ b/docs/getting-started/README.md @@ -44,4 +44,3 @@ Watch a short 3-minute introduction video to get started with OpenProject in 6 e Watch a **comprehensive OpenProject product introduction** video to learn how to work with OpenProject using traditional and agile project management. - diff --git a/docs/getting-started/boards-introduction/README.md b/docs/getting-started/boards-introduction/README.md index 7fc2bf61c3cf..22f62261bbb4 100644 --- a/docs/getting-started/boards-introduction/README.md +++ b/docs/getting-started/boards-introduction/README.md @@ -12,8 +12,6 @@ This document provides an initial introduction to the boards in OpenProject, i.e > **Note**: The basic agile boards are included in the OpenProject Community edition. OpenProject advanced Action boards are an Enterprise add-on and can only be used with [Enterprise cloud](../../enterprise-guide/enterprise-cloud-guide) or [Enterprise on-premises](../../enterprise-guide/enterprise-on-premises-guide). An upgrade from the free Community edition is easily possible. - -
**Boards** in OpenProject enable agile project management, i.e. Kanban. Boards consist of lists (columns) with cards (work packages) on it. They help to visualize work, limit work-in-progress, and maximize efficiency (or flow).
@@ -22,7 +20,6 @@ To find out more about the detailed functionalities of Boards, please visit our Agile boards is only one of OpenProject's features. Find a comprehensive comparison between OpenProject and Trello [here](https://www.openproject.org/project-management-software-alternatives/best-trello-alternative/). - | Topic | Content | |-------------------------------------------------------------|--------------------------------------------| | [What is a Board?](#what-is-a-board) | Find out what a Board in OpenProject is. | @@ -46,6 +43,4 @@ To manage your work in an agile board, open the boards module in the project men 4. You can edit the details of a card by **double click**ing on the card. 5. Finally the arrow brings you back to the boards view. - - ![edit-boards](edit-boards.gif) diff --git a/docs/getting-started/gantt-chart-introduction/README.md b/docs/getting-started/gantt-chart-introduction/README.md index c94934ddb8b5..9aecb6f5ff47 100644 --- a/docs/getting-started/gantt-chart-introduction/README.md +++ b/docs/getting-started/gantt-chart-introduction/README.md @@ -63,4 +63,3 @@ To change the start and end date or the duration of a work package, click direct All changes will also be tracked in the work packages [Activity](../../user-guide/activity). ![edit the project plan](openproject-user-guide-edit-project-plan.gif) - diff --git a/docs/getting-started/invite-members/README.md b/docs/getting-started/invite-members/README.md index 4377091e71a6..82462e165805 100644 --- a/docs/getting-started/invite-members/README.md +++ b/docs/getting-started/invite-members/README.md @@ -16,7 +16,6 @@ In order to see a project and work in it, you have to be a member of a project. > **Note**: If you are not a member of a project, you do not see the project in the Project selection nor in the project list. - | Topic | Content | | ------------------------------------------------------------ | ------------------------------------------------------------ | | [View members](#view-members) | View the list of members in your project. | @@ -85,8 +84,6 @@ You can now collaborate with your team in OpenProject. Newly invited users will > Please note that removing a member who has not accepted the invite from a project yet will lead to the deletion of this user, which can't be reversed. - - ## Behavior of groups as project members Groups have the following impact on a project members list and behave slightly different than individual users: @@ -99,8 +96,6 @@ Groups have the following impact on a project members list and behave slightly d Find out more about the management of groups [here](../../system-admin-guide/users-permissions/groups/). - - ## Behavior of placeholder users as project members Placeholder will look slightly different from regular users in a project member list: diff --git a/docs/getting-started/my-account/README.md b/docs/getting-started/my-account/README.md index 2ed90d97ed05..597acd4227fd 100644 --- a/docs/getting-started/my-account/README.md +++ b/docs/getting-started/my-account/README.md @@ -33,13 +33,13 @@ Choose **My account**. ![my account profile information](openproject_open_my_account_page.png) ## Edit your user information + To change your email address or your name, navigate to **Profile** on the left side menu of **My account** page. Here you can update the information and **save** your changes. If you're changing the email address of your account, you will be requested to confirm your account password before you can continue. (Note: This applies only to internal accounts where OpenProject can verify the password). ![openproject_my_account_profile](openproject_my_account_profile.png) - ## Profile settings Within the **Settings** on **My Account** page you can change the language of OpenProject, adapt the time zone, select which display mode you would like activate and change the order in which comments are displayed in the **Activity list** for work packages. @@ -130,7 +130,6 @@ You can use your mobile phone as a 2FA device. The field *Identifier* will be pr ![Add a new mobile phone as a 2FA device in OpenProject](openproject_my_account_two_factor_authentication_mobile.png) - ### Use your app-based authenticator Register an application authenticator for use with OpenProject using the time-based one-time password authentication standard. Common examples are Google Authenticator or Authy. @@ -156,16 +155,20 @@ If you are unable to access your two-factor devices, you can use a backup code t If you have created backup codes before, they will be invalidated and will no longer work. ## Access tokens + To view and manage your OpenProject access tokens navigate to **My account** and choose **Access tokens** from the menu. Access tokens allow you to grant external applications access to resources in OpenProject. ![openproject_my_account_access_tokens](openproject_my_account_access_tokens.png) ### API + API tokens allow third-party applications to communicate with this OpenProject instance via REST APIs. If you have not yet created an API token, this list will be empty. You may need admin privileges to be able to create an API. You can enable an API token under [*Administration -> API and webhooks*](../../system-admin-guide/api-and-webhooks/). Please note that you can only create a single API token. + ### iCalendar + iCalendar tokens allow users to subscribe to OpenProject calendars and view up-to-date work package information from external clients. This list will be empty if you have no calendar subscriptions yet. Once you [subscribe to a calendar](../../user-guide/calendar/#subscribe-to-a-calendar), a list of all the calendars that you have subscribed to will appear here. The name of the calendar is clickable and will lead you directly to the respective calendar in OpenProject. @@ -187,8 +190,6 @@ If no third-party application integration has been activated yet, this list will ![OpenProject OAuth tokens under My Account](openproject_my_account_access_tokens_oauth.png) - - ### RSS RSS tokens allow users to keep up with the latest changes in this OpenProject instance via an external RSS reader. You can only have one active RSS token. diff --git a/docs/getting-started/my-activity/README.md b/docs/getting-started/my-activity/README.md index 2d6155cd974b..ef8f00942778 100644 --- a/docs/getting-started/my-activity/README.md +++ b/docs/getting-started/my-activity/README.md @@ -23,6 +23,3 @@ You will see two lists by default. >Please note that only activities from projects that have the **Activity** module enabled will be shown. ![My activity page](openproject_my_activity_overview.png) - - - diff --git a/docs/getting-started/my-page/README.md b/docs/getting-started/my-page/README.md index 2be5a69362a6..7ab186cc5187 100644 --- a/docs/getting-started/my-page/README.md +++ b/docs/getting-started/my-page/README.md @@ -28,8 +28,6 @@ As a default, you will see two lists of all **work packages assigned to you** an ![My-page-default-view](My-page-default-view.png) - - ## Configure the My Page ### Add widgets @@ -48,7 +46,6 @@ Once you have chosen the place where to add the new widget on My Page, you can c For a **detailed explanation of the widgets**, visit the section in the [project overview](../../user-guide/project-overview/#available-project-overview-widgets). - ### Change position of the widgets You can change the position of a widget on the dashboard with drag and drop. @@ -61,8 +58,6 @@ Click the dots next to the title and drag it to the new place. If you click the dots on the lower right hand corner in a widget you can change the size of a widget by pulling the widget left and right, up and down with the mouse. - - ### Configure the view of a widget (for work package tables) You can configure the view of a work package widget to have the information included that you need. diff --git a/docs/getting-started/projects/README.md b/docs/getting-started/projects/README.md index 26349e551b6b..758013ffecd0 100644 --- a/docs/getting-started/projects/README.md +++ b/docs/getting-started/projects/README.md @@ -16,7 +16,6 @@ A project in OpenProject can be understood as a project as defined above. Also, > **Note**: In order to see a project and work in it, you have to be a [member of the project](../invite-members). - | Topic | Content | | ------------------------------------------------------- | ------------------------------------------------------------ | | [Open a project](#open-an-existing-project) | Select and open an existing project. | @@ -34,8 +33,6 @@ You can also start typing in a project name to filter by the project's title. ![filter_for_project_in_header_menu](filter_project_header_menu.png) - - Projects and subprojects are displayed according to their hierarchy in the drop-down menu.
@@ -49,8 +46,6 @@ Also, you will see your newest projects on the application landing page in the * ![openproject landing page](openproject-landing-page.png) - - ## Create a new project To create a new project, click the green button **+ Project** directly on the system's home screen in the **Project** section. @@ -89,4 +84,3 @@ You will see a list with all your projects and their details. ## Advanced Project Settings In our detailed user guide you can find out how to configure further [advanced project settings](../../user-guide/projects/) for your projects, e.g. description, project hierarchy or setting it to public. - diff --git a/docs/getting-started/sign-in-registration/README.md b/docs/getting-started/sign-in-registration/README.md index 7c3f5861a7e3..2096961f7a20 100644 --- a/docs/getting-started/sign-in-registration/README.md +++ b/docs/getting-started/sign-in-registration/README.md @@ -12,7 +12,6 @@ This page will give you an overview of how to register or sign in to an existing > **Note**: If you do not have an OpenProject installation yet, please visit our site on [how to create an OpenProject trial installation](../../enterprise-guide/enterprise-cloud-guide/create-cloud-trial/). - | Topic | Content | |-------------------------------------------------------------------------------|--------------------------------------------------------------------| | [Sign in with an existing account](#sign-in-with-an-existing-account) | Sign in with an existing account to an OpenProject installation. | diff --git a/docs/getting-started/work-packages-introduction/README.md b/docs/getting-started/work-packages-introduction/README.md index 101aa864861b..34f7cce06e08 100644 --- a/docs/getting-started/work-packages-introduction/README.md +++ b/docs/getting-started/work-packages-introduction/README.md @@ -86,4 +86,3 @@ You can also insert a comment at the end of the Activity list. To notify other people about changes in your work packages activities, you can comment and type an @" in front of the username you want to inform and when you publish your message the person you have tagged will get a notification in OpenProject. The aggregation of changes in the Activity list can be configured in the [system administration](../../system-admin-guide/calendars-and-dates/#date-format). To find out more about the work package functionalities, please visit our detailed [user guide for work packages](../../user-guide/work-packages). - diff --git a/docs/installation-and-operations/README.md b/docs/installation-and-operations/README.md index 532d36ca7cc7..061a361c7411 100644 --- a/docs/installation-and-operations/README.md +++ b/docs/installation-and-operations/README.md @@ -39,4 +39,3 @@ Compare the features of these versions [on the website](https://www.openproject. For production environments and when using a [supported distribution](system-requirements), we recommend using the [packaged installation](installation/packaged/). This will install OpenProject as a system dependency using your distribution's package manager, and provide updates in the same fashion that all other system packages do. An OUTDATED and OLD [manual installation](installation/manual) option exists, but due to the large number of components involved and the rapid evolution of OpenProject, we cannot ensure that the procedure is either up-to-date or that it will correctly work on your machine. This means that manual installation is NOT recommended NOR supported. - diff --git a/docs/installation-and-operations/configuration/README.md b/docs/installation-and-operations/configuration/README.md index ddcfaa3c5113..b77b0637d13b 100644 --- a/docs/installation-and-operations/configuration/README.md +++ b/docs/installation-and-operations/configuration/README.md @@ -6,16 +6,12 @@ sidebar_navigation: # OpenProject advanced configuration - - OpenProject can be configured via environment variables. These are often helpful for automatically deploying production systems. > **NOTE:** This documentation is for OpenProject on-premises Installations only, if you would like to setup similar in your OpenProject cloud instance, please contact us at support@openproject.com > **NOTE:** Using the configuration file `config/configuration.yml` is deprecated and is **NOT** recommended anymore - - ## Packaged installation The file `/opt/openproject/.env.example` contains some information to learn more. Files stored within `/etc/openproject/conf.d/` are used for parsing the variables and your custom values to your configuration. Whenever you call `openproject config:set VARIABLE=value`, it will end up in this folder. @@ -83,8 +79,6 @@ x-op-app: &app # Please use the file at https://github.com/opf/openproject-deploy/blob/stable/14/compose/docker-compose.yml ``` - - Alternatively, you can also use an env file for docker-compose like so: First, add a `.env` file with some variable: @@ -120,8 +114,6 @@ x-op-app: &app # Please use the file at https://github.com/opf/openproject-deploy/blob/stable/14/compose/docker-compose.yml ``` - - Let's say you have a `.env.prod` file with some production-specific configuration. Then, start the services with that special env file specified. ```shell @@ -143,8 +135,6 @@ services: Configuring OpenProject through environment variables is described in detail [in the environment variables guide](environment/). - - ### Docker all-in-one container installation Environment variables can be either passed directly on the command-line to the @@ -158,8 +148,6 @@ docker run -d --env-file path/to/file ... Configuring OpenProject through environment variables is described in detail [in the environment variables guide](environment/). - - ## Seeding through environment OpenProject allows some resources to be seeded/created initially through configuration variables. @@ -169,8 +157,6 @@ OpenProject allows some resources to be seeded/created initially through configu | [Initial admin user creation](#initial-admin-user-creation) | Changing attributes or passwords of the initially created administrator | | [Seeding LDAP connections](#seeding-ldap-connections) | How to create an LDAP connection through configuration | - - ### Initial admin user creation **Note:** These variables are only applicable during the first initial setup of your OpenProject setup. Changing or setting them later will have no effect, as the admin user will already have been created. @@ -179,8 +165,6 @@ By default, an admin user will be created with the login and password set to `ad In case of automated deployments, you might find it useful to seed an admin user with password and attributes of your choosing. For that, you can use the following set of variables: - - ```shell OPENPROJECT_SEED_ADMIN_USER_PASSWORD="admin" # Password to set for the admin user OPENPROJECT_SEED_ADMIN_USER_PASSWORD_RESET="true" # Whether to force a password reset on first login (true/false) @@ -188,8 +172,6 @@ OPENPROJECT_SEED_ADMIN_USER_NAME="OpenProject Admin" # Name to assign to that us OPENPROJECT_SEED_ADMIN_USER_MAIL="admin@example.net" # Email attribute to assign to that user. Note that in packaged installations, a wizard step will assign this variable as well. ``` - - ### Seeding LDAP connections OpenProject allows you to create and maintain an LDAP connection with optional synchronized group filters. This is relevant for e.g., automated deployments, where you want to trigger the synchronization right at the start. @@ -256,8 +238,6 @@ OPENPROJECT_SEED_LDAP_EXAMPLE_GROUPFILTER_EXAMPLEFILTER_GROUP__ATTRIBUTE="cn" When a filter is defined, synchronization happens directly during seeding for enterprise editions. Be aware of that when you create the connection that e.g., the LDAP connection needs to be reachable. - - ## Examples for common use cases * `attachments_storage_path` @@ -288,8 +268,6 @@ When a filter is defined, synchronization happens directly during seeding for en * [`web`](#web-worker-configuration) (nested configuration) * [`statsd`](#statsd) (nested configuration) - - ### Allowing public access By default, any request to the OpenProject application needs to be authenticated. If you want to enable public unauthenticated access like we do for https://community.openproject.org, you can set the `login_required` to `false`. If not provided through environment variables, this setting is also accessible in the administrative UI. Please see the [authentication settings guide](../../system-admin-guide/authentication/authentication-settings/#general-authentication-settings) for more details. @@ -302,8 +280,6 @@ To disable, set the configuration option: OPENPROJECT_LOGIN__REQUIRED="false" ``` - - ### Setting session options **Delete old sessions for the same user when logging in** @@ -347,8 +323,6 @@ OPENPROJECT_FOG_CREDENTIALS_REGION="eu-west-1" OPENPROJECT_FOG_DIRECTORY="uploads" ``` - - ### Auth source sso Can be used to automatically login a user defined through a custom header sent by a load balancer or reverse proxy in front of OpenProject, for instance in a Kerberos Single Sign-On (SSO) setup via apache. @@ -373,8 +347,6 @@ auth_source_sso: # optional: true ``` - - ### Backups #### Enable backups @@ -406,8 +378,6 @@ OPENPROJECT_BACKUP__INCLUDE__ATTACHMENTS="true" OPENPROJECT_BACKUP__INITIAL__WAITING__PERIOD="86400" ``` - - ### BCrypt configuration OpenProject uses BCrypt to derive and store user passwords securely. BCrypt uses a so-called Cost Factor to derive the computational effort required to derive a password from input. @@ -420,8 +390,6 @@ For more information, see the [Cost Factor guide of the bcrypt-ruby gem](https:/ OPENPROJECT_OVERRIDE__BCRYPT__COST__FACTOR="16" ``` - - ### Database configuration and SSL Please see [this separate guide](./database/) on how to set a custom database connection string and optionally, require SSL/TTLS verification. @@ -440,8 +408,6 @@ presented to the users. OPENPROJECT_DISABLE__PASSWORD__LOGIN="true" ``` - - ### omniauth direct login provider Per default the user may choose the usual password login as well as several omniauth providers on the login page and in the login drop down menu. With this configuration option you can set a specific omniauth provider to be used for direct login. Meaning that the login provider selection is skipped and the configured provider is used directly (non-interactive) instead. @@ -577,8 +543,6 @@ The following example disables all menu items except 'Users', 'Groups' and 'Cust OPENPROJECT_HIDDEN__MENU__ITEMS_ADMIN__MENU="roles types statuses workflows enumerations settings ldap_authentication colors project_types plugins info" ``` - - ### Rate limiting and blocklisting #### Rate limiting diff --git a/docs/installation-and-operations/configuration/database/README.md b/docs/installation-and-operations/configuration/database/README.md index 023b24ab7ef8..1b71e2102f99 100644 --- a/docs/installation-and-operations/configuration/database/README.md +++ b/docs/installation-and-operations/configuration/database/README.md @@ -10,8 +10,6 @@ sidebar_navigation: Simply run `sudo openproject reconfigure`, and when the database wizard is displayed, select the **Use an existing PostgreSQL database** option and fill in the required details ([cf the initial configuration section](../../installation/packaged/#step-2-postgresql-database-configuration)). - - ### Setting a custom database URL In some cases, you need flexibility in how you define the URL (e.g., specifying more options specific to PostgreSQL or using SSL certificates). In that case, you can pass the database URL as an environment variable instead: @@ -20,12 +18,8 @@ In some cases, you need flexibility in how you define the URL (e.g., specifying openproject config:set DATABASE_URL=postgres://user:pass@host:port/dbname ``` - - Then, you need to run `openproject reconfigure` and select "Skip" for the database wizard. Otherwise the wizard will override your DATABASE_URL environment variable again. - - ## Docker-based installation If you run the all-in-one container, you can simply pass a custom `DATABASE_URL` environment variable on the docker command-line, which could @@ -46,8 +40,6 @@ docker-compose up -d In both cases the seeder will be run when you (re)launch OpenProject to make sure that the database gets the migrations and demo data as well. - - ## Setting DATABASE_URL and options separately OpenProject will merge the settings from `DATABASE_URL` with manually specified environment options. Here are the supported options: @@ -62,8 +54,6 @@ OpenProject will merge the settings from `DATABASE_URL` with manually specified | OPENPROJECT_DB_APPLICATION_NAME | openproject | PostgreSQL application name option | https://www.postgresql.org/docs/13/libpq-connect.html#LIBPQ-CONNECT-APPLICATION-NAME | | OPENPROJECT_DB_STATEMENT_TIMEOUT | 90s | Default statement timeout before connection statements are terminated | https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT | - - ## Using SSL/TLS with a PostgreSQL database By default, the packaged installation installs a local database and does not use SSL encryption. If you provide a custom PostgreSQL database that supports SSL/TLS connections for servers and/or clients, you can pass the options as part of the DATABASE_URL. See the above guides on how to set this environment variable for Docker or packaged installations. @@ -86,7 +76,6 @@ Alternatively, for better readability, you can set these parameters with separat | OPENPROJECT_DB_SSLROOTCERT | ~/.postgresql/root.crt | Path to CA | [sslrootcert](https://www.postgresql.org/docs/13/libpq-connect.html#LIBPQ-CONNECT-SSLROOTCERT) | | OPENPROJECT_DB_SSLCRL | ~/.postgresql/root.crl | Path to revocation list | [sslcrl](https://www.postgresql.org/docs/13/libpq-connect.html#LIBPQ-CONNECT-SSLCRL) | - ```text ="prefer" # disable, allow, prefer, require, verify-ca, verify-full ="0" # 0 or 1 diff --git a/docs/installation-and-operations/configuration/incoming-emails/README.md b/docs/installation-and-operations/configuration/incoming-emails/README.md index 5c694b62daa5..2af38b4a39cf 100644 --- a/docs/installation-and-operations/configuration/incoming-emails/README.md +++ b/docs/installation-and-operations/configuration/incoming-emails/README.md @@ -169,8 +169,6 @@ to create work packages, set the option `no_permission_check=1` and specify with If you're used to using mail accounts with suffix support such as Google Mail, where you can specify `account+suffix@googlemail.com`, you will receive mails to that account but respond with your regular account `account@googlemail.com` . To mitigate this, OpenProject by default will expand searching for mail addresses `account@domain` to accounts `account+suffix@domain` through regex searching the mail column. If you do not wish that behavior or want to customize the prefix, alter the setting `mail_suffix_separators` by running `bundle exec rails runner "Setting.mail_suffix_separators = ''"` - - #### Attributes The Attributes you can use in your email are the same whether you create or update a work package. @@ -213,8 +211,6 @@ If you create a work package via email and sent it to another email (to or bcc) In the administrator's setting you can specify lines after which an email will not be parsed anymore. That is useful if you want to reply to an email automatically sent to you from OpenProject. E.g. you could set it to `--Truncate here--` and insert this line into your email below the updates you want to perform. - - ## Error handling In case of receiving errors, the application will try to send an email to the user with some error details. This mail will only be sent if: @@ -225,8 +221,6 @@ In case of receiving errors, the application will try to send an email to the us - The configuration setting `report_incoming_email_errors` is true (which it is by default) - - By returning an email with error details, you can theoretically be leaking information through the error messages. As from addresses can be spoofed, please be aware of this issue and try to reduce the impact by setting up the integration appropriately. If you'd like to disable the reporting of errors to the sender, please set `report_incoming_email_errors=false`: diff --git a/docs/installation-and-operations/configuration/outbound-emails/README.md b/docs/installation-and-operations/configuration/outbound-emails/README.md index 295f506db3ac..dfff551b9bac 100644 --- a/docs/installation-and-operations/configuration/outbound-emails/README.md +++ b/docs/installation-and-operations/configuration/outbound-emails/README.md @@ -24,8 +24,6 @@ You can adjust those settings for other SMTP providers, such as Gmail, Mandrill, etc. Please refer to the documentation of the corresponding provider to see what values should be used. - - ## Configuration through the Admin UI OpenProject allows you to configure your SMTP settings through the administration UI. Using the default admin account created when you first installed OpenProject, go to Administration > Emails and notifications. @@ -50,8 +48,6 @@ These are the options that are available. Please see the [Configuration guide](. | Automatically use STARTTLS | smtp_enable_starttls_auto | `OPENPROJECT_SMTP__ENABLE__STARTTLS__AUTO` | You can enable or disable STARTTLS here in case it doesn't work. Make sure you don't login to a SMTP server over a public network when using this. Recommended to leave this on if your server supports it. Possible values: true / false | | OpenSSL verify mode | smtp_openssl_verify_mode | `OPENPROJECT_SMTP__OPENSSL__VERIFY__MODE` | Define how the SMTP server certificate is validated. Make sure you don't just disable verification here unless both, OpenProject and SMTP servers are on a private network. Possible values: `none`, `peer`, `client_once` or `fail_if_no_peer_cert`.
Note: This setting can only be set through ENV/settings | - - ## Package-based installation (DEB/RPM) If you installed OpenProject with the package-based installation, you can configure the above settings using the config:set helper. Please note that this will disable the settings in the administration UI. @@ -67,8 +63,6 @@ openproject config:set OPENPROJECT_SMTP__USER_NAME="apikey" openproject config:set OPENPROJECT_SMTP__PASSWORD="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" ``` - - ## Docker installation If you installed OpenProject with Docker, here is how you would enable outbound emails through the use of the SMTP environment variables (with SendGrid, the `SMTP_USER_NAME` is always `apikey`. Just replace `SMTP_PASSWORD` with the API key you've generated and you should be good to diff --git a/docs/installation-and-operations/configuration/plugins/README.md b/docs/installation-and-operations/configuration/plugins/README.md index 4f0f689f1da8..09548588f596 100644 --- a/docs/installation-and-operations/configuration/plugins/README.md +++ b/docs/installation-and-operations/configuration/plugins/README.md @@ -47,7 +47,6 @@ openproject config:set RECOMPILE_ANGULAR_ASSETS="true" > **Note**: Re-enabling Angular asset compilation has two implications: It will install all npm packages required for the compilation and in turn cause a higher disk and especially inode consumption. The Angular CLI production build itself then consumes a sometimes absurd amount of RAM with at least 4GB being required to compile successfully. > If you experience any issues with OpenProject not starting after setting this flag, double check that you are not running out of inodes or RAM when calling `openproject configure`. - ## Re-run the installer To re-bundle the application including the new plugins, as well as running migrations and precompiling their assets, simply re-run the installer while using the same configuration as before. @@ -57,4 +56,3 @@ sudo openproject configure ``` Using configure will take your previous decisions in the installer and simply re-apply them, which is an idempotent operation. It will detect the Gemfile config option being set and re-bundle the application with the additional plugins. - diff --git a/docs/installation-and-operations/configuration/repositories/README.md b/docs/installation-and-operations/configuration/repositories/README.md index fa115dab3551..580901ac6548 100644 --- a/docs/installation-and-operations/configuration/repositories/README.md +++ b/docs/installation-and-operations/configuration/repositories/README.md @@ -156,7 +156,6 @@ This functionality is very basic and we hope to make it more robust over the nex * The instructions contain information regarding the capabilities a user has (read, read-write) * The instructions are defined by the SCM vendor implementations themselves, so that the checkout instructions could be extended by some 3rd party SCM vendor plugin - ### Required Disk Storage Information The total required disk space for a project's its repository and attachments are listed in the projects administration pane, as well as the project setting overview. diff --git a/docs/installation-and-operations/configuration/ssl/README.md b/docs/installation-and-operations/configuration/ssl/README.md index 0fff24701f59..64dcedb4135c 100644 --- a/docs/installation-and-operations/configuration/ssl/README.md +++ b/docs/installation-and-operations/configuration/ssl/README.md @@ -55,7 +55,6 @@ This requires your OpenProject server to be reachable using a domain name (e.g. sudo certbot renew --dry-run ``` - ## External SSL termination If you terminate SSL externally1 before the request hits the OpenProject server, you need to let the OpenProject server know that the request being handled is https, even though SSL was terminated before. This is the most common source in problems in OpenProject when using an external server that terminates SSL. @@ -68,16 +67,11 @@ On your outer proxying server, set these commands: - In NginX, use the following value: `proxy_set_header X-Forwarded-Host $host:$server_port;` - - If you're terminating SSL on the outer server, you need to set the `X-Forwarded-Proto https` header to let OpenProject know that the request is HTTPS, even though it has been terminated earlier in the request on the outer server. - In Apache2, use `RequestHeader set "X-Forwarded-Proto" https` - In Nginx, use `proxy_set_header X-Forwarded-Proto https;` - - Finally, to let OpenProject know that it should create links with 'https' when no request is available (for example, when sending emails), you need to set the Protocol setting of OpenProject to `https`. You can set this configuration by setting the ENV `OPENPROJECT_HTTPS="true"`. - _1 In the packaged installation this means you selected "no" when asked for SSL in the configuration wizard but at the same time take care of SSL termination elsewhere. This can be a manual Apache setup on the same server (not recommended) or an external server, for instance._ diff --git a/docs/installation-and-operations/installation-faq/README.md b/docs/installation-and-operations/installation-faq/README.md index fb112d9c2a51..20d2cc876331 100644 --- a/docs/installation-and-operations/installation-faq/README.md +++ b/docs/installation-and-operations/installation-faq/README.md @@ -124,8 +124,6 @@ You can access it using a browser. Please see our [Installation & Upgrades Guide Set a higher number of web workers to allow more processes to be handled at the same time. Find out more [here](../operation/control) and about system requirements [here](../system-requirements/). - - ### I don't receive emails. Test email works fine but not the one for work package updates. What can I do? There are two different types of emails in OpenProject: One sent directly within the request to the server (this includes the test mail) and one sent asynchronously, via a background job from the backend. The majority of mail sending jobs is run asynchronously to facilitate a faster response time for server request. @@ -144,8 +142,6 @@ Another approach would be to restart OpenProject completely, especially after ch This will be done automatically in case the package based installation is used. - - ### The packaged installation cannot be installed or upgraded due to errors. What could cause them? For packaged installations, the openproject package behaves just like every other system package (dpkg or rpm packages, depending on your distribution). If you encounter errors while trying to install or upgrade, please check the following pieces of information first. @@ -154,8 +150,6 @@ For packaged installations, the openproject package behaves just like every othe 2. You have enough inodes on your partitions left. Verify with `df -i` . As OpenProject packages contains a high number of files, these might cause problems with low free inode counts. 3. Make sure you do not have a virus scanner such as Sophos or other pieces of software blocking the installation of packages. - - ### After upgrading I receive the error message "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." What does that mean? For some updates of OpenProject, the database layout needs to be adapted to support new features and fix bugs. These changes need to be carried out as part of the update process. This is why it is important to always run `sudo openproject configure` as part of the update process. diff --git a/docs/installation-and-operations/installation/README.md b/docs/installation-and-operations/installation/README.md index c4a791c915a1..5f3b5be6d3b0 100644 --- a/docs/installation-and-operations/installation/README.md +++ b/docs/installation-and-operations/installation/README.md @@ -19,6 +19,8 @@ OpenProject can be setup in three different ways: > **NOTE: We recommend using the DEB/RPM package installation.** ## Frequently asked questions (FAQ) + ### Do you have a step-by-step guide to installing OpenProject Enterprise on-premises under Active Directory? + We have a guide on [how to use OpenProject with your Active Directory](../../system-admin-guide/authentication/ldap-authentication/). In addition, with the Enterprise on-premises edition it is also possible to [link LDAP groups with groups in OpenProject](../../system-admin-guide/authentication/ldap-authentication/ldap-group-synchronization/). diff --git a/docs/installation-and-operations/installation/manual/README.md b/docs/installation-and-operations/installation/manual/README.md index 91b939cdb108..afc27805685c 100644 --- a/docs/installation-and-operations/installation/manual/README.md +++ b/docs/installation-and-operations/installation/manual/README.md @@ -152,7 +152,6 @@ v20.9.0 We will install the OpenProject Community Edition. It contains the recommended set of plugins for use with OpenProject. For more information, see [github.com/opf/openproject](https://github.com/opf/openproject). - ```shell [openproject@host] cd ~ [openproject@host] git clone https://github.com/opf/openproject.git --branch stable/9 --depth 1 @@ -291,7 +290,6 @@ To do this, continue as the root user: As told by the installer, create the file /etc/apache2/mods-available/passenger.load and add the following line. But before copy&pasting the following lines, check if the content (especially the version numbers!) is the same as the passenger-install-apache2-module installer said. When you're in doubt, do what passenger tells you. - ```apache LoadModule passenger_module /home/openproject/.rbenv/versions/2.1.6/lib/ruby/gems/2.1.0/gems/passenger-5.0.14/buildout/apache2/mod_passenger.so ``` diff --git a/docs/installation-and-operations/installation/misc/README.md b/docs/installation-and-operations/installation/misc/README.md index c854c7f0713e..cb21e997e8a1 100644 --- a/docs/installation-and-operations/installation/misc/README.md +++ b/docs/installation-and-operations/installation/misc/README.md @@ -16,7 +16,6 @@ on different platforms which use either the docker container or the package: * [Synology](../synology) * [Manual (not recommended)](../manual) - ## Community provided installation variants There are additional methods on installing OpenProject, which we will link below for reference. Please note that we do not officially support these methods, and cannot guarantee their stability or correctness. diff --git a/docs/installation-and-operations/installation/packaged/README.md b/docs/installation-and-operations/installation/packaged/README.md index ee99c7bc6e80..3992945ea792 100644 --- a/docs/installation-and-operations/installation/packaged/README.md +++ b/docs/installation-and-operations/installation/packaged/README.md @@ -431,8 +431,6 @@ In that case, you will be shown three additional dialogs to enter the certificat ![02d-ssl](02d-ssl.png) - - Enabling this mode will result in OpenProject only responding to HTTPS requests, and upgrade any non-secured requests to HTTPS. It will also output HTTP Strict Transport Security (HSTS) headers to the client. #### External SSL/TLS termination @@ -484,8 +482,6 @@ Here an example for external SSL/TLS termination with apache (httpd): ``` - - ### Skip Apache2 web server install (not recommended) > **Note:** Skipping step 3 Apache2 web server install will ask later in step 7 for information about the hostname and HTTPS @@ -502,8 +498,6 @@ When installing with an existing Apache2, you can take a look at the source of o > **Please note:** If you reconfigure the OpenProject application and switch to `skip`, you might run into errors with the Apache configuration file, as that will not be automatically remove. Please double-check you removed references to the `openproject.conf` if you do reconfigure. - - ## Step 4: SVN/Git integration server If you have selected to auto-install an Apache2 web server, you will be asked whether you want to install Git and Subversion repository support. In case you do not need it or when in doubt, choose **Skip** for both options. @@ -512,7 +506,6 @@ For more information, [see our help on repositories](../../../user-guide/reposit ![03-repos](03-repos.png) - ## Step 5: Administrator email The wizard will ask you for an administrative email address so that it can create the administrator account with that email for the initial login. Enter your email address to have it tied to the admin account. @@ -533,14 +526,10 @@ First, enter the fully qualified domain where your OpenProject installation will ![Select the OpenProject host name](07a-hostname.png) - - Next, tell OpenProject whether you have SSL termination enabled somewhere in your stack. Please note that you need to set up protocol forwarding by the means mentioned in the [Skip Apache2 Installation](#skip-apache2-web-server-install-not-recommended) at step 3 above. ![HTTPS setting](07b-protocol.png) - - ## Step 8: Default language > **Note:** This step is only shown on the very first installation of OpenProject, as it affects only the initial seeding of the basic and demo data. Changing this value after installation will have no effect. @@ -568,8 +557,6 @@ You can then log in using the default user/password combination: You will be asked to change this password immediately after the first login. - - ## Post-installation configuration Here are some pointers to related documentation that you will need to get started: diff --git a/docs/installation-and-operations/installation/univention/README.md b/docs/installation-and-operations/installation/univention/README.md index 95d910fb3dc7..6cac95aafc75 100644 --- a/docs/installation-and-operations/installation/univention/README.md +++ b/docs/installation-and-operations/installation/univention/README.md @@ -9,7 +9,6 @@ sidebar_navigation: Univention App Center is the marketplace in [Univention Corporate Server (UCS)](https://www.univention.com/products/ucs/), an enterprise operating platform for infrastructure and identity management. OpenProject is available in the [App Center](https://www.univention.com/products/app-catalog/openproject/) and comes integrated with the identity management. Please note that only App Center 5 is receiving updates for OpenProject due to the incompatibility between AppCenter 4.3 and 5.0 for Docker-based installations. - **App Appliance for easy deployment** With the App Appliance you can easily deploy your own OpenProject server in a virtual environment. The App Appliance consists of UCS and OpenProject already pre-installed. The UCS environment is setup with only a few steps. Download the official OpenProject virtual machine image in one of the following formats: diff --git a/docs/installation-and-operations/misc/custom-openid-connect-providers/README.md b/docs/installation-and-operations/misc/custom-openid-connect-providers/README.md index 47d01b085289..ffda2ec0a781 100644 --- a/docs/installation-and-operations/misc/custom-openid-connect-providers/README.md +++ b/docs/installation-and-operations/misc/custom-openid-connect-providers/README.md @@ -48,7 +48,6 @@ options = { } ``` - Just type this into the console and confirm by pressing *Enter*. This assumes that you have configured your application in the respective provider correctly @@ -137,16 +136,12 @@ options = { } ``` - - ### Back-channel logout OpenProject OIDC integration supports [back-channel logouts](https://openid.net/specs/openid-connect-backchannel-1_0.html) if OpenProject is configured for ActiveRecord based sessions (which is the default). On the identity provider side, you need to set `https:///auth//backchannel-logout`. `` is the identifier of the OIDC configuration as provided above. - - #### Respecting self-registration You can configure OpenProject to restrict which users can register on the system with the [authentication self-registration setting](../../../system-admin-guide/authentication/authentication-settings) @@ -160,8 +155,6 @@ options = { } ``` - - ### Claims You can also request [claims](https://openid.net/specs/openid-connect-core-1_0-final.html#Claims) for both the id_token and userinfo endpoint. @@ -215,14 +208,10 @@ more complicated `claims` option above but with `"essential": false`. For all other claims there is no such shorthand. - - ## Instructions for common OIDC providers The following section contains instructions for common OpenID Connect providers. Feel free to contribute your settings through the editing functionality at the bottom of this page. - - ### Keycloak In Keycloak, use the following steps to set up a OIDC integration for OpenProject: @@ -236,23 +225,17 @@ In Keycloak, use the following steps to set up a OIDC integration for OpenProjec - For the **Capability config**, keep Standard flow checked. In our tested version of Keycloak, this was the default. - Click on Save - - You will be forwarded to the settings tab of the new client. Change these settings: - Set **Valid redirect URIs** to `https:///auth/keycloak/*` - Enable **Sign Documents** - If you want to enable [Backchannel logout](https://openid.net/specs/openid-connect-backchannel-1_0.html), set **Backchannel logout URL** to `https:///auth/keycloak/backchannel-logout` - - Next, you will need to create or note down the client secret for that client. - Go to the **Credentials** tab - Click on the copy to clipboard button next to **Client secret** to copy that value - - **OPTIONAL:** By default, OpenProject will map the user's email to the login attribute in OpenProject. If you want to change that, you can do it by providing an alternate claim value in Keycloak: - Go to **Client scopes** @@ -264,8 +247,6 @@ Next, you will need to create or note down the client secret for that client. - Set Token claim name to `preferred_username` - Click on **Save** - - #### Setting up OpenProject for Keycloak integration In OpenProject, these are the variables you will need to set. Please refer to the above documentation for the different ways you can configure these variables: @@ -285,14 +266,10 @@ OPENPROJECT_OPENID__CONNECT_KEYCLOAK_END__SESSION__ENDPOINT="http:// Information" section. - - 7. If everything is fine, you can then remove your older PostgreSQL installation: For Debian/Ubuntu: @@ -264,8 +250,6 @@ Please change the command appropriately for other installation methods. Once con ANALYZE VERBOSE; ``` - - ## Troubleshooting > User "openproject" does not have a valid SCRAM secret - psql: error: FATAL: password authentication failed for user "openproject" diff --git a/docs/installation-and-operations/misc/migration/README.md b/docs/installation-and-operations/misc/migration/README.md index 65ce530c5e17..6426c1dc830c 100644 --- a/docs/installation-and-operations/misc/migration/README.md +++ b/docs/installation-and-operations/misc/migration/README.md @@ -66,7 +66,6 @@ First the dump has to be extracted (unzipped) and then restored. The command use pg_restore -h -u -W --dbname --clean postgresql-dump-20180408095521.pgdump ``` - ### Attachments Your storage path on the old installation can be shown using the following command: @@ -87,8 +86,6 @@ openproject config:get ATTACHMENTS_STORAGE_PATH Simply extract your attachments dump into that folder with `tar -xvzf .tar.gz`, creating it beforehand if needed. Ensure that this is writable by the `openproject` user. - - ### Repositories For repositories, the same approach applies as for the attachments: @@ -107,8 +104,6 @@ openproject config:get GIT_REPOSITORIES Simply extract your respective repository dumps into ech folder, creating it beforehand if needed. The dumps will only be created if you use that feature in your old installation. - - ## Running openproject configure After you restored all data and updated your installer.dat, all you need to do is run through the configuration process of the packaged installation: diff --git a/docs/installation-and-operations/misc/packaged-postgresql-migration/README.md b/docs/installation-and-operations/misc/packaged-postgresql-migration/README.md index e95dcd81e0cd..fe8ef3380462 100644 --- a/docs/installation-and-operations/misc/packaged-postgresql-migration/README.md +++ b/docs/installation-and-operations/misc/packaged-postgresql-migration/README.md @@ -15,7 +15,6 @@ This guide should leave you with a set of archives that you can use to restore, - **Custom env configuration**: conf-<timestamp>.tar.gz - **Repositories**: svn- and git-<timestamp>.tar.gz - ## Installation of pgloader We ship a custom version of pgloader (named `pgloader-ccl`), which embeds some memory optimizations useful when you are migrating from a large MySQL database. This also allows us to provide a unified migration experience for all installation types. This package is available for all the currently supported distributions at [https://packager.io/gh/opf/pgloader-ccl](https://packager.io/gh/opf/pgloader-ccl). @@ -123,7 +122,6 @@ Form the `DATABASE_URL` string to match your selected password and add it to the openproject config:set DATABASE_URL="postgresql://openproject:@localhost/openproject" ``` - **Please note:** Replace `` with the password you provided above. If you used any special characters, [check whether they need to be percent-encoded](https://developer.mozilla.org/en-US/docs/Glossary/percent-encoding) for the database URL. You can use this command to escape any characters in the password: @@ -132,7 +130,6 @@ You can use this command to escape any characters in the password: openproject run ruby -r cgi -e "puts CGI.escape('your-password-here');" ``` - ## Migrating the database You are now ready to migrate from MySQL to PostgreSQL. The OpenProject packages embed a migration script that can be launched as follows: @@ -158,7 +155,6 @@ The following is an exemplary removal of an installed version MySQL 5.7. **Note:** OpenProject still depends on `mysql-common` and other dev libraries of MySQL to build the `mysql2` gem for talking to MySQL databases. Depending on what packages you try to uninstall, `openproject` will be listed as a dependent package to be uninstalled if trying to uninstall `mysql-common`. Be careful here with the confirmation of removal, because it might just remove openproject itself due to the apt dependency management. - ## Running openproject reconfigure After you migrated your data, all you need to do is run through the configuration process of the packaged installation to remove the MySQL configuration @@ -167,9 +163,7 @@ After you migrated your data, all you need to do is run through the configuratio openproject reconfigure ``` - In the database installation screen, make sure to select `skip`. Keep all other values the same by simply confirming them by pressing `enter` . - After the configuration process has run through, your OpenProject installation will be running on PostgreSQL! diff --git a/docs/installation-and-operations/misc/textile-migration/README.md b/docs/installation-and-operations/misc/textile-migration/README.md index 31f9fda92ced..c32e66140799 100644 --- a/docs/installation-and-operations/misc/textile-migration/README.md +++ b/docs/installation-and-operations/misc/textile-migration/README.md @@ -12,7 +12,6 @@ The migration will be performed automatically during your upgrade to 8.0. You wi You need to run this migration on an OpenProject version < 13.0, as the conversion migration is no longer part of OpenProject starting that version. - ## Dependencies We depend on `pandoc` (https://pandoc.org) for the conversion of all formattable fields in OpenProject. It provides automated means to migrate between many input and output formats, in our case from Textile to GitHub-flavored Markdown. @@ -21,22 +20,16 @@ If you do not have an executable pandoc version of at least version 2.0 in your If you want to force a specific version within your path, set the environment variable OPENPROJECT_PANDOC_PATH, e.g., `OPENPROJECT_PANDOC_PATH=/opt/my/pandoc/bin/pandoc`. - - ## CommonMark Our Markdown parsers and formatters operate on the [CommonMark Markdown standard](https://commonmark.org/) with some suggested additions not yet part of the standard formalized in the [GitHub-flavored Markdown spec.](https://github.github.com/gfm/) - - ## Skipping the migration If you want to skip the migration during the upgrade of 8.0. (e.g., because you want it to run asynchronously), please set the environment variable `OPENPROJECT_SKIP_TEXTILE_MIGRATION="true"` . This will print a warning and then continue with the migration. You can manually force the migration with the following command. **Warning:** Be careful not to execute this once you have already migrated to Markdown because the converter does not distinguish between input formats and simply iterates over all values. - - ```shell $> bundle exec rails runner "OpenProject::TextFormatting::Formats::Markdown::TextileConverter.new.run!" ``` @@ -47,19 +40,12 @@ or in a packaged installation: $> openproject run bundle exec rails runner "OpenProject::TextFormatting::Formats::Markdown::TextileConverter.new.run!" ``` - - ## Markdown and WYSIWYG features With the migration of Markdown, we have introduced a quasi-WYSIWYG powered by CKEditor5 that will make editing in all formattable fields of OpenProject much easier. The output format of that editor is still Markdown. - - For information regarding the features of Markdown and the capabilities of the CKEditor WYSIWYG editor built upon it, please see [here](../../../user-guide/wiki/). - - ## Textile in 8.0.0 OpenProject does no longer support Textile in 8.0.0 because it is infeasible to support both variants. Please reach out to us if you're interested in maintaining a Textile format as a plugin. - diff --git a/docs/installation-and-operations/misc/upgrading-older-openproject-versions/README.md b/docs/installation-and-operations/misc/upgrading-older-openproject-versions/README.md index 4d0a2736edb7..5d713f7615f9 100644 --- a/docs/installation-and-operations/misc/upgrading-older-openproject-versions/README.md +++ b/docs/installation-and-operations/misc/upgrading-older-openproject-versions/README.md @@ -10,8 +10,6 @@ All the script needs is docker to be installed. It will start containers as requ ## Usage - - ### Create a backup First, you will need to create a backup to get the MySQL database dump. Please see our separate guide on [Backing up](../../operation/backing-up/). In a packaged installation, the following command will output a full backup to `/var/db/openproject/backup`: @@ -20,18 +18,13 @@ First, you will need to create a backup to get the MySQL database dump. Please s openproject run backup ``` - - This will output a MySQL dump at `/var/db/openproject/backup/mysql-dump-.sql.gz`. You will need to gunzip this: - ```shell cp /var/db/openproject/backup/mysql-dump-.sql.gz /tmp/openproject-mysql.dump.gz gunzip /tmp/openproject/openproject-mysql.dump.gz ``` - - ### Run the docker migration script With docker installed, use the following command to start the upgrade process on your MySQL dump. @@ -44,15 +37,12 @@ You will need to find the docker host IP to connect to the temporary MySQL datab The script will output a `-migrated.dump` pg_dump file which has been migrated and upgraded to the current stable version. You can also pass `sql` as a parameter after the input dump file to have the script output a `.sql` file instead of a `.dump` file. - ## Restoring the migrated database You now have an old packaged installation with an old database, and a separate database dump of the current version migrated to PostgreSQL. To upgrade OpenProject and use this dump, you have two options: - - ### Upgrading your existing installation You can simply upgrade your package first and then switch to a PostgreSQL database. You will basically have to follow our [Upgrading guide](../../operation/upgrading/). @@ -71,8 +61,6 @@ The following command will restore the database. **WARNING:** This will remove t 4. Execute configure script to ensure the migrations are complete and to restart the server - - ### Re-Installing OpenProject The alternative option is to remove your current installation, upgrade the newest package and configure a PostgreSQL database. This will ensure the package wizard will install and maintain a PostgreSQL database for you. @@ -105,16 +93,12 @@ The steps for this option is as follows: `openproject configure` - - ## Problems with the migration? - Please let us know if you have any questions regarding this upgrade path. Reach out to us [through our contact data or form on our website](https://www.openproject.org/contact/) with feedback and issues you experienced. We're very interested in providing a smooth upgrade at all times, and would like to document issues you experience during the upgrade. - ### Known problems **Permission errors when trying to start the OP7 container** diff --git a/docs/installation-and-operations/operation/control/README.md b/docs/installation-and-operations/operation/control/README.md index 7f9af875953a..69c5bab5fd2e 100644 --- a/docs/installation-and-operations/operation/control/README.md +++ b/docs/installation-and-operations/operation/control/README.md @@ -163,4 +163,3 @@ This spawns a bash console. In there, you could for example run a rails console ```shell bundle exec rails console ``` - diff --git a/docs/installation-and-operations/operation/faq/README.md b/docs/installation-and-operations/operation/faq/README.md index 0d2498c50045..b8e898ed224c 100644 --- a/docs/installation-and-operations/operation/faq/README.md +++ b/docs/installation-and-operations/operation/faq/README.md @@ -55,4 +55,3 @@ A closer look at the available branches: ## How can I backup and restore my OpenProject installation? Please refer to the [backup documentation](../backing-up) for the packaged installation. - diff --git a/docs/installation-and-operations/operation/monitoring/README.md b/docs/installation-and-operations/operation/monitoring/README.md index a63d63b54594..9c47269029b2 100644 --- a/docs/installation-and-operations/operation/monitoring/README.md +++ b/docs/installation-and-operations/operation/monitoring/README.md @@ -8,8 +8,6 @@ sidebar_navigation: OpenProject provides different means of monitoring and auditing your application. - - ## Logging information In production, OpenProject uses [Lograge formatter](https://github.com/roidrage/lograge) `key_value` logger by default. Every request will result in the following `info` log level: @@ -37,8 +35,6 @@ This formatter makes it easy to parse and analyze logs. Let's take a look at the | `db=116.50` | Time spent in database (in ms) | | `user=85742` | User ID of the instance | - - ## Displaying and filtering log files ### Packaged installation @@ -54,8 +50,6 @@ sudo openproject logs --tail You can abort this using Ctrl + C. - - **systemd / journalctl** On most distributions, OpenProject does not maintain its own log files, but sends logs directly to `journalctl`. On older distributions that use either sysvinit or upstart, all the logs are stored in `/var/log/openproject/`. @@ -74,8 +68,6 @@ journalctl -u openproject-worker-1 journalctl has flexible filtering options to search for logs. For example, add `--since "1 hour ago"` to show logs printed in the past hour. - - ### Docker-compose In a docker-based installation, all logs are redirected to STDOUT so you can use the normal docker tools to manage your logs. @@ -86,16 +78,12 @@ For instance for the Compose-based installation: docker-compose logs -f --tail 1000 ``` - - ### All-in-one / Slim docker container ```shell docker logs -f --tail 1000 openproject ``` - - ## Raising the log level OpenProject can log at different service levels, the default being `info`. You can set the [environment variable](../../configuration/environment/#environment-variables) `OPENPROJECT_LOG__LEVEL` to any of the following values: @@ -105,8 +93,6 @@ OpenProject can log at different service levels, the default being `info`. You c - `warn`: Operational warnings that might need resolution as well as error messages - `error` Caught or uncaught application errors, as well as fatal errors. - - For example, to set this in the packaged installation, use the following command: ```shell @@ -133,4 +119,3 @@ We provide the following health checks: ### Optional authentication You can optionally provide a setting `health_checks_authentication_password` (`OPENPROJECT_HEALTH__CHECKS__AUTHENTICATION__PASSWORD`) that will add a basic auth challenge to the `/health_checks` endpoint. Please be aware that this might break existing container health services in place in the docker-compose and k8s based deployments, so use with care or prefer to use a network based separation instead on your proxy level. - diff --git a/docs/installation-and-operations/operation/restoring/README.md b/docs/installation-and-operations/operation/restoring/README.md index c0fc45cb6147..82e1ddf22bab 100644 --- a/docs/installation-and-operations/operation/restoring/README.md +++ b/docs/installation-and-operations/operation/restoring/README.md @@ -53,7 +53,6 @@ sudo tar xzf /var/db/openproject/backup/conf-20191119210038.tar.gz -C /etc/openp If you want to change anything in the configuration, you can also inspect the `/etc/openproject` folder afterwards and change them accordingly. To go through all configured wizards steps, use the `openproject reconfigure` option. [See the configuration guide](../reconfiguring) for more information. - Untar the repositories to their destination: ```shell diff --git a/docs/installation-and-operations/operation/upgrading/README.md b/docs/installation-and-operations/operation/upgrading/README.md index c5226a36c58a..050d7c096b70 100644 --- a/docs/installation-and-operations/operation/upgrading/README.md +++ b/docs/installation-and-operations/operation/upgrading/README.md @@ -21,6 +21,7 @@ sidebar_navigation: This section concerns upgrading of your OpenProject installation for packaged-based installation methods. ### Patch and minor releases + Upgrading to a newer patch or minor version of OpenProject is as easy as installing a newer OpenProject package and running the `openproject configure` command. Please follow the steps listed below according to your Linux distribution. @@ -48,7 +49,6 @@ If you get an error like the following: These two messages messages are expected, due to a change in Origin and Label repository metadata, to better explain what the repository is about. You should allow the change, and/or run `sudo apt-get update --allow-releaseinfo-change` for the update to go through. - ### CentOS / RHEL ```shell @@ -87,7 +87,6 @@ After following the steps to update the package source, updating the openproject In case you experience issues, please note the exact steps you took, copy the output of all commands you ran and open a post in our [installation support forum](https://community.openproject.org/projects/openproject/forums/9). - ### Running openproject configure It is important that you run the `openproject configure` command after _every_ upgrade of OpenProject, as this will ensure your installation is being updated and necessary database migrations are being performed. @@ -98,7 +97,6 @@ If you want to perform changes to your configuration or are unsure what steps ar Note that this still takes previous values into consideration. Values that should not change from your previous configurations can be skipped by pressing ``. This also applies for steps with passwords, which are shown as empty even though they may have a value. Skipping those steps equals to re-use the existing value. - ## Compose-based installation When using the Compose-based docker installation, you can simply do the following: diff --git a/docs/release-notes/10/10-0-0/README.md b/docs/release-notes/10/10-0-0/README.md index ab2399b3c6fb..2bdc4a7297d5 100644 --- a/docs/release-notes/10/10-0-0/README.md +++ b/docs/release-notes/10/10-0-0/README.md @@ -14,8 +14,6 @@ Read below to get a detailed overview of what is new in OpenProject 10. ![OpenProject 10](release-teaser.jpg) - - ## Drag & drop (manual sorting) in work package table OpenProject 10 adds drag and drop to the work package table. You can easily change the work package order by simply dragging a work package to a desired place. @@ -26,8 +24,6 @@ When you group the work package table based on an attribute (e.g. the assignee, ![Drag & Drop work packages](drag-drop-1.png) - - ## Card view for work packages The work package view is extended in OpenProject 10. In addition to the list view and the Gantt chart view, it is possible to display work packages in a card format. @@ -36,8 +32,6 @@ This provides an easy visual overview of the tasks in a project. Simply activate ![OpenProject card view](card-view.png) - - ## Updated Project Overview OpenProject 10 introduces an updated project overview page. You can now easily add, edit and remove widgets - directly from the project overview page. @@ -48,8 +42,6 @@ The overview pages of users upgrading from earlier versions to OpenProject 10 wi ![Updated project overview](overview.png) - - ## Graphs on project overview page (Enterprise add-on) As a user of the Enterprise cloud or Enterprise on-premises, you can add graphs to the overview page. This enables you to visualize important project information - directly form the project overview page. @@ -60,8 +52,6 @@ As a result, you quickly see your project's status and can act accordingly. ![Graphs on overview page](graphs.png) - - ## Updated administration menu and structure The administration area is completely remodeled in OpenProject 10. Due to the changes, the administration menu is much more clearly structured. @@ -70,8 +60,6 @@ Additionally, the administration overview page now highlights the different admi ![Updated administration](administration.png) - - ## Checkbox lists You can easily add checkboxes in order to create to do lists to wiki pages, work package descriptions and many other pages which support the wiki syntax. @@ -80,14 +68,10 @@ Afterwards, you can easily check off items which have been completed to keep tra ![Check boxes and sticky header wiki pages](checkbox-lists.png) - - ## Sticky toolbar for WYSIWYG editor The toolbar for wiki pages is now fixed at the top and no longer scrolls along with the page. Thus, you can easily edit even long texts on a wiki page without having to scroll up and down. - - ## Performance improvements OpenProject 10 significantly improves the performance, especially for the work package page. Due to description caching work packages are loaded swiftly. @@ -218,19 +202,16 @@ OpenProject 10 significantly improves the performance, especially for the work p - Fixed: Single Sign on feature is available in Community edition [[#31045](https://community.openproject.org/wp/31045)] - Fixed: Cannot edit comment that was just created [[#31057](https://community.openproject.org/wp/31057)] - ## Support You will find useful information in the OpenProject [FAQ](../../../faq/) or you can post your questions in the [Forum](https://community.openproject.org/projects/openproject/boards). - ### Upgrading your installation to OpenProject 10.0 If you're using the OpenProject Enterprise cloud edition, you are already running on the latest version of OpenProject 10.0. For your local installations, there are some minor changes you need to do in order to perform the upgrade. [Please visit our upgrade guides for more information](../../../installation-and-operations/operation/upgrading). - ## Credits Special thanks go to all OpenProject contributors without whom this release would not have been possible: @@ -239,7 +220,6 @@ Special thanks go to all OpenProject contributors without whom this release woul - Every dedicated user who has reported bugs and supported the community by asking and answering questions in the [forum](https://community.openproject.org/projects/openproject/boards). - All the engaged users who provided translations on [CrowdIn](https://crowdin.com/projects/opf). - ## What's next? We are continuously developing new features and improvements for OpenProject. diff --git a/docs/release-notes/10/10-0-1/README.md b/docs/release-notes/10/10-0-1/README.md index 86e4e9589339..e8d38472f669 100644 --- a/docs/release-notes/10/10-0-1/README.md +++ b/docs/release-notes/10/10-0-1/README.md @@ -11,8 +11,6 @@ release_date: 2019-09-30 We released [OpenProject 10.0.1](https://community.openproject.org/versions/1393). The release contains several bug fixes and we recommend updating to the newest version. - - ## Bug fixes and changes - Fixed: Misaligned checkboxes in text editor [[#31066](https://community.openproject.org/wp/31066)] diff --git a/docs/release-notes/10/10-2-0/README.md b/docs/release-notes/10/10-2-0/README.md index 114090ed4a04..9969d8fe2f67 100644 --- a/docs/release-notes/10/10-2-0/README.md +++ b/docs/release-notes/10/10-2-0/README.md @@ -32,6 +32,4 @@ The release contains several bug fixes and we recommend updating to the newest v ## Contributions - - Thanks to Thanh Nguyen Nguyen from [Fortinet's FortiGuard Labs](https://fortiguard.com/) for identifying and responsibly disclosing the attachment filename stringification issue [#31580](https://community.openproject.org/wp/31580). diff --git a/docs/release-notes/10/10-2-1/README.md b/docs/release-notes/10/10-2-1/README.md index 1a530dbc8b62..461228f7abc2 100644 --- a/docs/release-notes/10/10-2-1/README.md +++ b/docs/release-notes/10/10-2-1/README.md @@ -11,8 +11,6 @@ release_date: 2019-11-13 We released [OpenProject 10.2.1](https://community.openproject.org/versions/1404). The release contains several bug fixes and we recommend updating to the newest version. - - ## Bug fixes and changes - Fixed: Error 500 when clicking on a history version [[#31643](https://community.openproject.org/wp/31643)] diff --git a/docs/release-notes/10/10-2-2/README.md b/docs/release-notes/10/10-2-2/README.md index f572db8ece84..ceb1801faf12 100644 --- a/docs/release-notes/10/10-2-2/README.md +++ b/docs/release-notes/10/10-2-2/README.md @@ -30,6 +30,7 @@ The release contains several bug fixes and fixes server security issues. We thus - Fixed: Tabnabbing on wiki pages \[[#31817](https://community.openproject.org/wp/31817)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. In this release, we would especially like to thank Bartosz Nowicki for responsibly disclosing a severe data leakage \([#31855](https://community.openproject.org/wp/31855)\). Behavior like this helps improving the security for everybody, so thanks a lot Bartosz. And Thanh Nguyen Nguyen of [Fortiguard Labs](https://fortiguard.com/) has once again responsibly disclosed a security issue to us ([#31817](https://community.openproject.org/wp/31817)). Thank you, Nguyen. diff --git a/docs/release-notes/10/10-3-1/README.md b/docs/release-notes/10/10-3-1/README.md index 29d1896a5e0f..5352700e0413 100644 --- a/docs/release-notes/10/10-3-1/README.md +++ b/docs/release-notes/10/10-3-1/README.md @@ -20,6 +20,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Date separator (dash) misplaced \[[#31926](https://community.openproject.org/wp/31926)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/10/10-4-0/README.md b/docs/release-notes/10/10-4-0/README.md index 10df11111675..398bffc4e1f3 100644 --- a/docs/release-notes/10/10-4-0/README.md +++ b/docs/release-notes/10/10-4-0/README.md @@ -71,8 +71,6 @@ In OpenProject you can now manage multiple building models in IFC format in para ![OpenProject-BIM_structural](OpenProject-BIM_structural.png) - - ### IFC viewer integrated in OpenProject OpenProject 10.4 supports to open 3D **models** **and** **visualize** **building** **models** directly in your browser. With this new integrated functionality for construction project management you can now easily **share** **multiple IFC** **files** with your team directly in OpenProject - integrated with all OpenProject functionalities for the project management along the entire building project life-cycle, i.e. BCF management, issue tracking, project planning, documentation. @@ -193,14 +191,10 @@ Here you can find the [Installation guidelines](../../../installation-and-operat Want to upgrade from a Community version to try out the light or dark theme? [Get a 14 days free trial token.](https://www.openproject.org/enterprise-edition/) - - ## How to try the OpenProject BIM edition Try out OpenProject BIM 10.4. right away, create a free trial instance for the [OpenProject BIM edition.](https://start.openproject.com/trial/bim) - - ## What is on the Roadmap? We are continuously developing new features for OpenProject. The next release will include improved scheduling in the Gantt chart. @@ -211,22 +205,16 @@ For the upcoming BIM specific release we are focusing on more building industry - Revit integration to OpenProject. - Further advanced BCF management. - - ## Migrating to OpenProject 10.4 Follow the [upgrade guide for the packaged installation or Docker installation](../../../installation-and-operations/operation/upgrading/) to update your OpenProject installation to OpenProject 10.4. We update hosted OpenProject environments (Enterprise cloud) automatically. - - ## Support You will find useful information in the OpenProject [FAQ](../../../faq/) or you can post your questions in the [Forum](https://community.openproject.org/projects/openproject/boards). - - ## Credits Special thanks go to all OpenProject contributors without whom this release would not have been possible: diff --git a/docs/release-notes/10/10-5-0/README.md b/docs/release-notes/10/10-5-0/README.md index cb05c4359044..b6bf653b7d95 100644 --- a/docs/release-notes/10/10-5-0/README.md +++ b/docs/release-notes/10/10-5-0/README.md @@ -6,6 +6,7 @@ release_version: 10.5.0 release_date: 2020-04-23 --- --- + # Release notes OpenProject 10.5.0 | Release notes | Description | @@ -13,7 +14,6 @@ release_date: 2020-04-23 | [OpenProject 10.5.0](#openproject-1050) | What is new for OpenProject 10.5.0? | | [OpenProject 10.5 BIM edition for construction project management](#openproject-105-bim-edition-for-construction-project-management) | What is new for the construction project management for the building industry in OpenProject 10.5.0? | - # OpenProject 10.5.0 We released [OpenProject 10.5.0](https://community.openproject.org/versions/1386). diff --git a/docs/release-notes/10/10-6-2/README.md b/docs/release-notes/10/10-6-2/README.md index 9d603e64452a..aaa595134a6a 100644 --- a/docs/release-notes/10/10-6-2/README.md +++ b/docs/release-notes/10/10-6-2/README.md @@ -28,6 +28,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Remapping of existing users with `oauth_allow_remapping_of_existing_users' does not work with LDAP users \[[#33620](https://community.openproject.org/wp/33620)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/10/10-6-3/README.md b/docs/release-notes/10/10-6-3/README.md index 3b90c80391cb..698c6bdff12e 100644 --- a/docs/release-notes/10/10-6-3/README.md +++ b/docs/release-notes/10/10-6-3/README.md @@ -22,6 +22,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Changed: Don't poll queries in boards in inactive tabs \[[#33707](https://community.openproject.org/wp/33707)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/10/10-6-4/README.md b/docs/release-notes/10/10-6-4/README.md index 4eba7725e95c..f85fb37e0f8f 100644 --- a/docs/release-notes/10/10-6-4/README.md +++ b/docs/release-notes/10/10-6-4/README.md @@ -13,4 +13,3 @@ The release contains several bug fixes and we recommend updating to the newest v ## Bug fixes and changes - diff --git a/docs/release-notes/10/10-6-5/README.md b/docs/release-notes/10/10-6-5/README.md index 522785802c91..4c8d3f8c67c5 100644 --- a/docs/release-notes/10/10-6-5/README.md +++ b/docs/release-notes/10/10-6-5/README.md @@ -18,6 +18,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Wrong (abusive) translations on avatar change page in russian localization. \[[#33888](https://community.openproject.org/wp/33888)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-0-1/README.md b/docs/release-notes/11/11-0-1/README.md index 78740e6e4a11..a4b070c3abe5 100644 --- a/docs/release-notes/11/11-0-1/README.md +++ b/docs/release-notes/11/11-0-1/README.md @@ -30,6 +30,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Repo Management Not Working \[[#35011](https://community.openproject.org/wp/35011)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-0-2/README.md b/docs/release-notes/11/11-0-2/README.md index 75b3ae75f333..8f019f2a6544 100644 --- a/docs/release-notes/11/11-0-2/README.md +++ b/docs/release-notes/11/11-0-2/README.md @@ -20,6 +20,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Slashes in wiki page titles break "Activity" view \[[#35132](https://community.openproject.org/wp/35132)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-0-4/README.md b/docs/release-notes/11/11-0-4/README.md index 12e42881dfdd..265690787779 100644 --- a/docs/release-notes/11/11-0-4/README.md +++ b/docs/release-notes/11/11-0-4/README.md @@ -21,6 +21,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Internal error (500) on meeting history page when clicking on previous version link \[[#35433](https://community.openproject.org/wp/35433)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-1-0/README.md b/docs/release-notes/11/11-1-0/README.md index 1c6b7d5e3180..31912dc1d67b 100644 --- a/docs/release-notes/11/11-1-0/README.md +++ b/docs/release-notes/11/11-1-0/README.md @@ -46,8 +46,6 @@ Luckily, we now automated this process in order to reduce manual effort on both ![DPA-OpenProject](DPA-OpenProject.png) - - ## Various improvements and bug fixes Furthermore, we have extended the authentication profile with an **OpenID Connect provider.** Also, the printing, e.g. for wiki pages, has been optimized via the browser print function. diff --git a/docs/release-notes/11/11-1-1/README.md b/docs/release-notes/11/11-1-1/README.md index 3aa12b77768f..b79a36442324 100644 --- a/docs/release-notes/11/11-1-1/README.md +++ b/docs/release-notes/11/11-1-1/README.md @@ -20,6 +20,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Newrelic gem incorrectly loaded on installations resulting in unnecessary logs \[[#35776](https://community.openproject.org/wp/35776)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-1-2/README.md b/docs/release-notes/11/11-1-2/README.md index bf0463b00404..ec5631704798 100644 --- a/docs/release-notes/11/11-1-2/README.md +++ b/docs/release-notes/11/11-1-2/README.md @@ -27,6 +27,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Conflicting modifications error when uploading images in WP description \[[#35957](https://community.openproject.org/wp/35957)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-1-3/README.md b/docs/release-notes/11/11-1-3/README.md index 36a2a48eeed4..75d781324835 100644 --- a/docs/release-notes/11/11-1-3/README.md +++ b/docs/release-notes/11/11-1-3/README.md @@ -21,6 +21,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Creating new synchronized groups from filters raises error if group name too long \[[#36081](https://community.openproject.org/wp/36081)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-1-4/README.md b/docs/release-notes/11/11-1-4/README.md index 4cfcf0c4144a..088d58844769 100644 --- a/docs/release-notes/11/11-1-4/README.md +++ b/docs/release-notes/11/11-1-4/README.md @@ -15,4 +15,3 @@ The release contains an important bug fix and we urge you to update to the newes ## Bug fixes and changes - Fixed: Some settings can be written without authorization \[[#36254](https://community.openproject.org/wp/36254)\] - diff --git a/docs/release-notes/11/11-2-1/README.md b/docs/release-notes/11/11-2-1/README.md index 0b3f5ab43dbd..a4571c9c72b5 100644 --- a/docs/release-notes/11/11-2-1/README.md +++ b/docs/release-notes/11/11-2-1/README.md @@ -26,6 +26,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Error message in wrong language \[[#36688](https://community.openproject.org/wp/36688)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-2-2/README.md b/docs/release-notes/11/11-2-2/README.md index 8aebfb3a72fa..8e90c7374cc4 100644 --- a/docs/release-notes/11/11-2-2/README.md +++ b/docs/release-notes/11/11-2-2/README.md @@ -22,6 +22,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Serious Problem: OpenProject not running after Upgrade to 11.2.1 – rake aborted! NoMethodError: undefined method `patch_gem_version' for OpenProject::Patches:Module \[[#36717](https://community.openproject.org/wp/36717)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-2-3/README.md b/docs/release-notes/11/11-2-3/README.md index 50476d214ec9..5e4b43b8fbe6 100644 --- a/docs/release-notes/11/11-2-3/README.md +++ b/docs/release-notes/11/11-2-3/README.md @@ -24,6 +24,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: BIM group seed data is always applied \[[#36796](https://community.openproject.org/wp/36796)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-2-4/README.md b/docs/release-notes/11/11-2-4/README.md index dc0a6da548ba..f6a8b1483250 100644 --- a/docs/release-notes/11/11-2-4/README.md +++ b/docs/release-notes/11/11-2-4/README.md @@ -26,6 +26,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: BIM seeder overrides custom design \[[#37037](https://community.openproject.org/wp/37037)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-3-0/README.md b/docs/release-notes/11/11-3-0/README.md index c426aef82a25..f482a8cecf8f 100644 --- a/docs/release-notes/11/11-3-0/README.md +++ b/docs/release-notes/11/11-3-0/README.md @@ -33,6 +33,7 @@ Add a personal invitation message, e.g. an explanation for the invitation or a b The invite process can be started directly from the new "+" create button in the header navigation. ### Invite new users from work packages drop-down + The **new invite modal for users, groups, and placeholder users** can now be opened directly from the user type drop-down menu in a work package, e.g. to assign a user to a work package who is not yet a member of the project. This way, there is no need anymore to leave the work package to assign a user who is not yet a member of the project. The creation of users and adding them to a project is now much more intuitive. ![invite-user-type-drop-down](invite-user-type-drop-down.png) @@ -60,6 +61,7 @@ We have made **extensions to our API v3** to create, read, update and delete gro - List users of a group ### API V3 endpoints for placeholder users + We have added endpoints to our API v3 for fetching placeholder users so that placeholder users can be managed or read by a machine. ### Copy project via API v3 @@ -82,8 +84,6 @@ For work packages, fields can already be configured as multiple selections for a Users now have the option to **create backups of their OpenProject installation** directly via the web interface. the backup can be triggered via Administration -> Backup. They will receive an email notification with the link to download the backup files with an additional authentication (username/password + 2FA). - - ## All new features, bug fixes and changes - Epic: CRUD operations for groups in API v3 \[[#18812](https://community.openproject.org/wp/18812)\] diff --git a/docs/release-notes/11/11-3-2/README.md b/docs/release-notes/11/11-3-2/README.md index ed46c585ccb4..81936b0ccf07 100644 --- a/docs/release-notes/11/11-3-2/README.md +++ b/docs/release-notes/11/11-3-2/README.md @@ -21,6 +21,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Not possible to invite users via modal if relative url root configured \[[#37618](https://community.openproject.org/wp/37618)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-3-5/README.md b/docs/release-notes/11/11-3-5/README.md index e66327a081e2..31c87cfa9f4b 100644 --- a/docs/release-notes/11/11-3-5/README.md +++ b/docs/release-notes/11/11-3-5/README.md @@ -21,6 +21,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Release notes for 11-3-4 is empty \[[#38678](https://community.openproject.org/wp/38678)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/11/11-4-1/README.md b/docs/release-notes/11/11-4-1/README.md index 9c6638e98402..a9f737623b36 100644 --- a/docs/release-notes/11/11-4-1/README.md +++ b/docs/release-notes/11/11-4-1/README.md @@ -29,6 +29,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Switching from "viewer" to "viewer and cards" fails to load viewer \[[#39184](https://community.openproject.org/wp/39184)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-0-0/README.md b/docs/release-notes/12/12-0-0/README.md index 00b61e9f4ab0..075eedddae3f 100644 --- a/docs/release-notes/12/12-0-0/README.md +++ b/docs/release-notes/12/12-0-0/README.md @@ -29,52 +29,40 @@ The new Notification center shows all notifications about changes within your pr ![notification-center](notification-center.png) - ## Improved notification settings The improved notification settings now allow to fine-tune for which actions and in which projects you want to receive a notification. With 12.0 you can now even add project-specific settings for changes you want to be notified about and override the default settings. ![notification-settings](notification-settings.png) - ## Email summaries In addition to the in-app notifications, also email reminders can be configured to receive important updates in a daily (or more often) email summary. These email reminders can be configured to receive also additional notifications about changes in your projects, e.g. new or updated memberships in a project. ![email-summaries](email-summaries.png) - - ## Improved work packages auto-completer The work package auto-completer for relations now also shows additional information (project name, status, …). It is now much easier to identify the respective work package. ![work-package-auto-completion](work-package-auto-completion.png) - - ## Export of the project list With OpenProject 12.0 it is now possible to export the project list with all project specific information, incl. project custom fields. You can choose between the formats XLS and CSV export. ![project-list-export](project-list-export.png) - - ## Change of roles and permissions settings With 12.0 we have added more granular rights for projects, for example the additional right to configure the project overview page. This way you can even better assign certain permissions to a role in a project. ![project permissions](image-20211111095046645.png) - - ## Drop official support for PostgreSQL < 13 OpenProject 12.0 will deprecate PostgreSQL versions < 13. This will result in a warning about the necessary migration to inform users trying to upgrade with an older version. The warning will be shown on startup and on the Administration > Info page. It will not result in a hard error for now. - - ## All bug fixes and changes in 12.0 - Changed: Send daily email summaries (email digest) \[[#1899](https://community.openproject.org/wp/1899)\] diff --git a/docs/release-notes/12/12-0-1/README.md b/docs/release-notes/12/12-0-1/README.md index 461977e40646..324a48e655f5 100644 --- a/docs/release-notes/12/12-0-1/README.md +++ b/docs/release-notes/12/12-0-1/README.md @@ -22,6 +22,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Auto-unlocking editing of locked wiki pages no longer works (500 server error) \[[#40124](https://community.openproject.org/wp/40124)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-0-2/README.md b/docs/release-notes/12/12-0-2/README.md index f247de6e90e6..707cbbe474a0 100644 --- a/docs/release-notes/12/12-0-2/README.md +++ b/docs/release-notes/12/12-0-2/README.md @@ -26,6 +26,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Changed: Improve error logging of SAML \[[#39899](https://community.openproject.org/wp/39899)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-0-3/README.md b/docs/release-notes/12/12-0-3/README.md index bfe921edc016..5d57a1bb2d97 100644 --- a/docs/release-notes/12/12-0-3/README.md +++ b/docs/release-notes/12/12-0-3/README.md @@ -23,6 +23,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Auth source SSO redirects to my page on login \[[#40248](https://community.openproject.org/wp/40248)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-0-5/README.md b/docs/release-notes/12/12-0-5/README.md index 217e25706684..c5325b2254c7 100644 --- a/docs/release-notes/12/12-0-5/README.md +++ b/docs/release-notes/12/12-0-5/README.md @@ -30,10 +30,9 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Header-based SSO does not allow entering missing attributes \[[#40511](https://community.openproject.org/wp/40511)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to Valentin Ege, Rene Diekstra, Jonas Plum, Frank Schmid - - diff --git a/docs/release-notes/12/12-0-6/README.md b/docs/release-notes/12/12-0-6/README.md index 881bf47539a4..42ce996f0f3c 100644 --- a/docs/release-notes/12/12-0-6/README.md +++ b/docs/release-notes/12/12-0-6/README.md @@ -30,6 +30,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Backup feature does not work with relative URL root \[[#40656](https://community.openproject.org/wp/40656)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-0-7/README.md b/docs/release-notes/12/12-0-7/README.md index 8d292ce57e63..4baf3e484be6 100644 --- a/docs/release-notes/12/12-0-7/README.md +++ b/docs/release-notes/12/12-0-7/README.md @@ -14,6 +14,7 @@ We released [OpenProject 12.0.7](https://community.openproject.org/versions/1506 The release contains several bug fixes and we recommend updating to the newest version. ## API default max page sizes + In previous versions of OpenProject, the max API page size is controlled by the maximum page size in the "Per page options". This is not clear and causes issues when trying to request larger page sizes (such as for autocompleters). For example, larger instances reported missing options for users and projects. There is now a separate setting for the max API size that will be used for these autocompleters. You can find it in Administration > System settings > API. diff --git a/docs/release-notes/12/12-0-8/README.md b/docs/release-notes/12/12-0-8/README.md index bd26036bbe2e..472cc0a0d7c8 100644 --- a/docs/release-notes/12/12-0-8/README.md +++ b/docs/release-notes/12/12-0-8/README.md @@ -21,6 +21,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Small display bug \[[#41034](https://community.openproject.org/wp/41034)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-1-0/README.md b/docs/release-notes/12/12-1-0/README.md index f58e25dee836..104e6e5d8c43 100644 --- a/docs/release-notes/12/12-1-0/README.md +++ b/docs/release-notes/12/12-1-0/README.md @@ -47,16 +47,12 @@ The “Include Projects” filter option makes it easier to add different projec ![openproject-include-projects](openproject-include-projects.gif) - - ## Files tab for work packages We added a new “Files” tab in the work package details. This way, you will have all possible information attached to a work package together in one place. ![openproject-files-tab](openproject-files-tab.png) - - ## Further improvements, changes, and bug fixes - We created global roles for groups to assign these roles to groups and create superuser groups. diff --git a/docs/release-notes/12/12-1-1/README.md b/docs/release-notes/12/12-1-1/README.md index f1a70e4f03b7..b357e24ab46d 100644 --- a/docs/release-notes/12/12-1-1/README.md +++ b/docs/release-notes/12/12-1-1/README.md @@ -30,6 +30,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Roles cannot be edited with french language \[[#42246](https://community.openproject.org/wp/42246)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-1-2/README.md b/docs/release-notes/12/12-1-2/README.md index 5975f4e89ab2..29685a918a14 100644 --- a/docs/release-notes/12/12-1-2/README.md +++ b/docs/release-notes/12/12-1-2/README.md @@ -26,6 +26,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: LDAP User Synchronization doesn't work \[[#42312](https://community.openproject.org/wp/42312)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-1-3/README.md b/docs/release-notes/12/12-1-3/README.md index 66afe44c9146..4195008013c6 100644 --- a/docs/release-notes/12/12-1-3/README.md +++ b/docs/release-notes/12/12-1-3/README.md @@ -31,6 +31,7 @@ To read how to do this, please see [reporting a bug in OpenProject](../../../dev - Fixed: [Packager] configure fails when sendmail was configured for emails \[[#42352](https://community.openproject.org/wp/42352)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-1-4/README.md b/docs/release-notes/12/12-1-4/README.md index c8ce8693532a..f5cbe861a713 100644 --- a/docs/release-notes/12/12-1-4/README.md +++ b/docs/release-notes/12/12-1-4/README.md @@ -30,6 +30,7 @@ This version restores support for OpenProject packages on centos 7. A PostgreSQL - Fixed: Project filter is not applied in embedded table \[[#42397](https://community.openproject.org/wp/42397)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-1-5/README.md b/docs/release-notes/12/12-1-5/README.md index f54ef22ec52d..cc87e95b2a50 100644 --- a/docs/release-notes/12/12-1-5/README.md +++ b/docs/release-notes/12/12-1-5/README.md @@ -31,6 +31,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: OpenID Connect providers can no longer be set via env \[[#42810](https://community.openproject.org/wp/42810)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-1-6/README.md b/docs/release-notes/12/12-1-6/README.md index 011ed8abfb6f..ba3f04f7f538 100644 --- a/docs/release-notes/12/12-1-6/README.md +++ b/docs/release-notes/12/12-1-6/README.md @@ -25,6 +25,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: dots of Ü are missing in notification list \[[#43086](https://community.openproject.org/wp/43086)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-2-0/README.md b/docs/release-notes/12/12-2-0/README.md index 557ff7179e4c..3916e9f25830 100644 --- a/docs/release-notes/12/12-2-0/README.md +++ b/docs/release-notes/12/12-2-0/README.md @@ -173,6 +173,7 @@ For more information, please see the respective installation pages: - Epic: Settings connection between Nextcloud and OpenProject (OAuth) \[[#42072](https://community.openproject.org/wp/42072)\] ## Contributions + A big thanks to community members for reporting bugs, helping us identify issues and providing fixes. - Special thanks for City of Cologne and University of Duisburg-Essen for sponsoring the development of the Nextcloud integration. diff --git a/docs/release-notes/12/12-2-1/README.md b/docs/release-notes/12/12-2-1/README.md index 045f819f7063..a50ffb3b78fd 100644 --- a/docs/release-notes/12/12-2-1/README.md +++ b/docs/release-notes/12/12-2-1/README.md @@ -13,8 +13,6 @@ Release date: 2022-08-18 We released [OpenProject 12.2.1](https://community.openproject.org/versions/1594). The release contains a critical bug fixes that resolves a data corruption issue and we urge updating to the newest version. Please see the details below for more information. - - ## Important bug fix for activity records In OpenProject 12.2.0, a critical bug may randomly corrupt the activity records in the database, controlling @@ -28,8 +26,6 @@ This error manifests itself as: - Being unable to see activities in work package [#43773](https://community.openproject.org/wp/43773). - Getting internal errors trying to update an existing work package. - - The upgrade to 12.2.1 fixes this bug and includes a migration to try and restore the intermediate activities for the records that were affected. **Please note that the newest version was unaffected and all the changes you made in the system are still correct.** However, affected activities had to be restored and may be missing some changes or contain changes from previous or following activities. Any activity that had its record restored contains a note that this has happened. @@ -38,8 +34,6 @@ If you did not yet upgrade your system to 12.2.0., please update to 12.2.1 direc For cloud customers of OpenProject: The records affected by this bug were restored already in the same fashion. If your instance has been affected by this bug, we will reach out to you separately to inform you. - - ## Changes to the HTTPS settings If you are running OpenProject in a docker-based or if you manually integrate the packaged installation into your existing web server, you might need to set a new configuration value if you're not running under HTTPS. @@ -62,8 +56,6 @@ For more information on this setting and how to configure it for your installati - Fixed: Unable to see activities in work package \[[#43773](https://community.openproject.org/wp/43773)\] - Fixed: Timeline shows bar at wrong time after collapsing a group \[[#43775](https://community.openproject.org/wp/43775)\] - - ## Contributions A big thanks to community members for reporting bugs and helping us identifying and providing fixes. diff --git a/docs/release-notes/12/12-2-2/README.md b/docs/release-notes/12/12-2-2/README.md index 745becd6567e..58c496d5ddd7 100644 --- a/docs/release-notes/12/12-2-2/README.md +++ b/docs/release-notes/12/12-2-2/README.md @@ -38,6 +38,7 @@ When you update to OpenProject 12.2.2 and the migration fails again, it will out - Fixed: System 'read only' field \[[#43893](https://community.openproject.org/wp/43893)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-3-0/README.md b/docs/release-notes/12/12-3-0/README.md index 7bdaa0300b97..d489cf0b4579 100644 --- a/docs/release-notes/12/12-3-0/README.md +++ b/docs/release-notes/12/12-3-0/README.md @@ -70,8 +70,6 @@ The new and additional tool tips in the OpenProject application will make the na ![hover over select a project and tool tip view all projects comes up](tool-tip.png) - - ## List of all bug fixes and changes - Epic: Define weekly work schedule (weekends) [#18416](https://community.openproject.org/wp/18416) diff --git a/docs/release-notes/12/12-3-1/README.md b/docs/release-notes/12/12-3-1/README.md index c5b57ee9748e..d1a95d2dd5b6 100644 --- a/docs/release-notes/12/12-3-1/README.md +++ b/docs/release-notes/12/12-3-1/README.md @@ -38,6 +38,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: OpenProject upgrade fails with "column roles.assignable does not exist" error during AddStoragesPermissionsToRoles migration \[[#44616](https://community.openproject.org/wp/44616)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-3-2/README.md b/docs/release-notes/12/12-3-2/README.md index dea8864d4aa5..2b178536ba50 100644 --- a/docs/release-notes/12/12-3-2/README.md +++ b/docs/release-notes/12/12-3-2/README.md @@ -21,6 +21,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: rake assets:precompile fails with NameError: uninitialized constant ActiveRecord::ConnectionAdapters::PostgreSQLAdapter \[[#44635](https://community.openproject.org/wp/44635)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-3-3/README.md b/docs/release-notes/12/12-3-3/README.md index 1ee5ab8279ef..008c45808ed4 100644 --- a/docs/release-notes/12/12-3-3/README.md +++ b/docs/release-notes/12/12-3-3/README.md @@ -23,6 +23,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: OAuth login POST doesn't work on mobile Safari due to CSP \[[#44772](https://community.openproject.org/wp/44772)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-4-0/README.md b/docs/release-notes/12/12-4-0/README.md index b2171987de90..ab3fc42c2bfd 100644 --- a/docs/release-notes/12/12-4-0/README.md +++ b/docs/release-notes/12/12-4-0/README.md @@ -44,8 +44,6 @@ With OpenProject 12.4 users who have OpenProject community edition installed can !See [here](../../../getting-started/my-account/#two-factor-authentication) how to setup the 2FA under My account. - - ## LDAP connection encryption changes In previous versions of OpenProject, there were three connection security modes that were hard to differentiate, especially with regards to actual verification of SSL certificates. @@ -113,9 +111,9 @@ It is now possible to bulk edit the subject field for multiple work packages. Se - Changed: Team planner: add "Work week" option to visible time scale \[[#44702](https://community.openproject.org/wp/44702)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. A gigantic thank you goes out to Sven Kunze for developing the self-tagging feature and the bulk edit option for the subject field. Special thanks for reporting and finding bugs also go to Artur Neumann, Noel Lublovary, Hein Stefans. - diff --git a/docs/release-notes/12/12-4-1/README.md b/docs/release-notes/12/12-4-1/README.md index 61f16a1ddda7..fc8344c0ce16 100644 --- a/docs/release-notes/12/12-4-1/README.md +++ b/docs/release-notes/12/12-4-1/README.md @@ -32,6 +32,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: xeokit-metadata fails to find dotnet-runtime in Ubuntu 22.04 \[[#45442](https://community.openproject.org/wp/45442)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-4-2/README.md b/docs/release-notes/12/12-4-2/README.md index cd1d3d8f1533..ed92707826d7 100644 --- a/docs/release-notes/12/12-4-2/README.md +++ b/docs/release-notes/12/12-4-2/README.md @@ -30,6 +30,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: New custom field with default value breaks comments \[[#45724](https://community.openproject.org/wp/45724)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-4-3/README.md b/docs/release-notes/12/12-4-3/README.md index ffd33db295ff..55fc32f83840 100644 --- a/docs/release-notes/12/12-4-3/README.md +++ b/docs/release-notes/12/12-4-3/README.md @@ -21,6 +21,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Administration: Permissions report page doesn't work in french in 12.4.1 \[[#45892](https://community.openproject.org/wp/45892)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-4-4/README.md b/docs/release-notes/12/12-4-4/README.md index c2a12f3494ce..2c8007cce1c9 100644 --- a/docs/release-notes/12/12-4-4/README.md +++ b/docs/release-notes/12/12-4-4/README.md @@ -22,6 +22,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Click started in modal, but dragged outside closes the modal \[[#46217](https://community.openproject.org/wp/46217)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-5-0/README.md b/docs/release-notes/12/12-5-0/README.md index 44aaab44157b..61e35cb88a8e 100644 --- a/docs/release-notes/12/12-5-0/README.md +++ b/docs/release-notes/12/12-5-0/README.md @@ -55,8 +55,6 @@ Once you have selected or dropped the files you would like to upload, simply sel The ability to upload new files to Nextcloud directly from OpenProject or link existing files to work packages is not reserved only for existing work packages. You can now do both also when creating a new work package. - - ![openproject-nextcloud-upload-files-empty-status](openproject-nextcloud-upload-files-empty-status.png) ### More options for linked Nextcloud files in OpenProject @@ -215,6 +213,7 @@ With OpenProject 12.5, we are happy to announce that another Enterprise add-on w - Epic: Cross-application main menu for dPhoenixSuite/Sovereign Administrative Work Place \[[#44297](https://community.openproject.org/wp/44297)\] ## Credits and contributions + A very special thank you goes to the following sponsors for features and improvements of this release: - **The City of Cologne** for having sponsored the tracking of project changes, adding additional non-working days, and parts of the Nextcloud integration. diff --git a/docs/release-notes/12/12-5-2/README.md b/docs/release-notes/12/12-5-2/README.md index cc893814a89f..b479d94207c9 100644 --- a/docs/release-notes/12/12-5-2/README.md +++ b/docs/release-notes/12/12-5-2/README.md @@ -26,6 +26,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Changed: Add hint if Nextcloud App "OpenProject Integration" needs upgrade for 12.5 \[[#47021](https://community.openproject.org/wp/47021)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-5-3/README.md b/docs/release-notes/12/12-5-3/README.md index 3a024936710f..e664d1dbfc8a 100644 --- a/docs/release-notes/12/12-5-3/README.md +++ b/docs/release-notes/12/12-5-3/README.md @@ -28,6 +28,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: inbound emails uses "move_on_success" and "move_on_failure" error \[[#47633](https://community.openproject.org/wp/47633)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-5-4/README.md b/docs/release-notes/12/12-5-4/README.md index e3d076647077..f0bd2a5711c4 100644 --- a/docs/release-notes/12/12-5-4/README.md +++ b/docs/release-notes/12/12-5-4/README.md @@ -48,4 +48,3 @@ This security related issue was responsibly disclosed by [Vaishnavi Pardeshi](ma A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to Björn Schümann - diff --git a/docs/release-notes/12/12-5-5/README.md b/docs/release-notes/12/12-5-5/README.md index 81e0215b3750..743ba17c63fc 100644 --- a/docs/release-notes/12/12-5-5/README.md +++ b/docs/release-notes/12/12-5-5/README.md @@ -23,6 +23,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Document not listing project name under My Page \[[#48177](https://community.openproject.org/wp/48177)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-5-7/README.md b/docs/release-notes/12/12-5-7/README.md index 490042110914..74c7069ba689 100644 --- a/docs/release-notes/12/12-5-7/README.md +++ b/docs/release-notes/12/12-5-7/README.md @@ -20,6 +20,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Docker linux/arm64 image raise "/app/docker/prod/gosu: cannot execute binary file: Exec format error" \[[#48395](https://community.openproject.org/wp/48395)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/12-5-8/README.md b/docs/release-notes/12/12-5-8/README.md index 0d7333c41bf7..a8db496883d3 100644 --- a/docs/release-notes/12/12-5-8/README.md +++ b/docs/release-notes/12/12-5-8/README.md @@ -30,6 +30,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Changed: Allow internal login even if omniauth direct provider selected \[[#47930](https://community.openproject.org/wp/47930)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/12/README.md b/docs/release-notes/12/README.md index 8cf333d53b5a..249797ddabb1 100644 --- a/docs/release-notes/12/README.md +++ b/docs/release-notes/12/README.md @@ -53,4 +53,3 @@ title: OpenProject Version 12 Release Notes | [OpenProject 12.0.2](12-0-2/) | 2021-11-24 | | [OpenProject 12.0.1](12-0-1/) | 2021-11-17 | | [OpenProject 12.0.0](12-0-0/) | 2021-11-15 | - diff --git a/docs/release-notes/13-0-0/README.md b/docs/release-notes/13-0-0/README.md index 003a3edeee4a..b6ae78c862fe 100644 --- a/docs/release-notes/13-0-0/README.md +++ b/docs/release-notes/13-0-0/README.md @@ -54,6 +54,7 @@ With 13.0 we have added a new global menu to access all global modules for your ![OpenProject global modules overview](openproject-global-modules.png) ## Time tracking button + We added a button that allows you to easily record the time spent on a work package. Pressing the button on the work package will start the timer. Your avatar in the header navigation will show the active time tracking. Clicking the button again will stop the time tracking and you can log the time spent on the work package. ![OpenProject time tracking button](openproject-time-tracking-button.png) diff --git a/docs/release-notes/13-0-1/README.md b/docs/release-notes/13-0-1/README.md index 01031ec3a1fb..e44dbadf1d22 100644 --- a/docs/release-notes/13-0-1/README.md +++ b/docs/release-notes/13-0-1/README.md @@ -28,6 +28,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Chinese zh-CN locale is not up to date \[[#49795](https://community.openproject.org/wp/49795)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/13-0-2/README.md b/docs/release-notes/13-0-2/README.md index f776c9372b3c..62ce32c17f73 100644 --- a/docs/release-notes/13-0-2/README.md +++ b/docs/release-notes/13-0-2/README.md @@ -45,6 +45,7 @@ This only affects those users that have granted OpenProject access to their Next - Changed: Remove the "show" view for a storage's settings page \[[#49676](https://community.openproject.org/wp/49676)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/13-0-4/README.md b/docs/release-notes/13-0-4/README.md index 7b7a0bbb34f4..06b9340d066e 100644 --- a/docs/release-notes/13-0-4/README.md +++ b/docs/release-notes/13-0-4/README.md @@ -24,6 +24,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Work package activity not shown when using Polish language \[[#50197](https://community.openproject.org/wp/50197)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/13-0-5/README.md b/docs/release-notes/13-0-5/README.md index 9f1bef304272..309eef48edc3 100644 --- a/docs/release-notes/13-0-5/README.md +++ b/docs/release-notes/13-0-5/README.md @@ -28,6 +28,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Help text incorrectly cached for non admins \[[#50299](https://community.openproject.org/wp/50299)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/13-0-7/README.md b/docs/release-notes/13-0-7/README.md index aec966ee4b2b..a3c43987846a 100644 --- a/docs/release-notes/13-0-7/README.md +++ b/docs/release-notes/13-0-7/README.md @@ -20,6 +20,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Help icon not shown when having a custom help link setting \[[#50666](https://community.openproject.org/wp/50666)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/13-0-8/README.md b/docs/release-notes/13-0-8/README.md index 63126e1e32e3..57fb5b40720f 100644 --- a/docs/release-notes/13-0-8/README.md +++ b/docs/release-notes/13-0-8/README.md @@ -23,6 +23,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Make Nextcloud synchronization more stable in 13.0. \[[#51265](https://community.openproject.org/wp/51265)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/13-1-0/README.md b/docs/release-notes/13-1-0/README.md index 3fb527455cda..4ce4eb0773c8 100644 --- a/docs/release-notes/13-1-0/README.md +++ b/docs/release-notes/13-1-0/README.md @@ -62,8 +62,6 @@ We continued to work on improving accessibility of OpenProject according to the With OpenProject 13.1 we have continued to integration the [Primer Design system](https://primer.style/). This will especially be noticeable in the new features, such as the new Meetings module. - - ## Discontinued support for Centos7 and SLES12 Support for packaged installations on Centos7 and SUSE Enterprise Linux 12 have been removed in 13.1.0 Both are nearing or have exceeded their EOL and packaged builds were failing prior to the release already. We will not provide additional support for these systems. @@ -72,8 +70,6 @@ Users still required to run on these systems should consider upgrading to a supp For more information, please see [#51333](https://community.openproject.org/projects/openproject/work_packages/51533/activity) and our [installation guides](../../installation-and-operations/installation/). - - ## List of all bug fixes and changes - Epic: Share work packages with external users and groups that are not member of the project team \[[#31150](https://community.openproject.org/wp/31150)\] @@ -144,6 +140,7 @@ For more information, please see [#51333](https://community.openproject.org/proj - Fixed: Overview page suggests some information (e.g. custom fields, status, description) not set when they are hidden \[[#51431](https://community.openproject.org/wp/51431)\] ## Contributions + A very special thank you goes to our sponsors for features and improvements of this release: - **Deutsche Bahn** – for the OneDrive/SharePoint integration diff --git a/docs/release-notes/13-1-1/README.md b/docs/release-notes/13-1-1/README.md index 0255def7a6d8..39bcea391ddf 100644 --- a/docs/release-notes/13-1-1/README.md +++ b/docs/release-notes/13-1-1/README.md @@ -27,6 +27,7 @@ The release contains several bug fixes and we recommend updating to the newest v - Fixed: Pasting into autocompleter does not work initially \[[#51730](https://community.openproject.org/wp/51730)\] ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/13-2-0/README.md b/docs/release-notes/13-2-0/README.md index c777227ae5e6..d1b748b6664c 100644 --- a/docs/release-notes/13-2-0/README.md +++ b/docs/release-notes/13-2-0/README.md @@ -26,7 +26,6 @@ Finally, **several fields were renamed**: As always, this release contains several bug fixes and we recommend updating to the newest version. - ## Manual project folders for OneDrive/SharePoint storages (Enterprise add-on) With OpenProject 13.2, manual project folders have become available for OneDrive/SharePoint storage, further improving access to essential project files. @@ -46,6 +45,7 @@ In 13.2 we improved the functionality of file storages. Even if a file has been This new feature is available for [both file storage integrations](../../user-guide/file-management). ## Filter for roles, groups, and shares in the project members list + With OpenProject 13.2, users can filter the list of project member based on user roles, groups, and shared work packages. This enables project members to promptly identify others with specific roles or individuals outside the project team who have gained access through the newly introduced Sharing feature. ![Project members filter in OpenProject](project-members.png) @@ -75,6 +75,7 @@ Please note that this option is only available if you have selected a Gantt view Read more about [Gantt charts in OpenProject](../../user-guide/gantt-chart/) ## New field names and calculation of work and remaining work + Several field names were changed in OpenProject 13.2. - Estimated time is now called **Work** diff --git a/docs/release-notes/13-2-1/README.md b/docs/release-notes/13-2-1/README.md index 6545e7c6c276..0afaee581c26 100644 --- a/docs/release-notes/13-2-1/README.md +++ b/docs/release-notes/13-2-1/README.md @@ -49,6 +49,7 @@ The release contains several bug fixes and we recommend updating to the newest v ## Contributions + A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to diff --git a/docs/release-notes/14-0-0/README.md b/docs/release-notes/14-0-0/README.md index c4fc04d7e60c..503bd95a139d 100644 --- a/docs/release-notes/14-0-0/README.md +++ b/docs/release-notes/14-0-0/README.md @@ -52,7 +52,6 @@ The following variables have been changed: | primary-color-dark | - | Will now be calculated automatically based on the "primary-button-color" | | link-color | accent-color | Is not only used for links, but for all decently highlighted elements (e.g. the selection state in a datepicker).
The (old) value of "primary-color" was use for this. | - If you have developed a plugin or have custom code that uses these variables, you need to update your code to use the new names. The rest of the variables is unchanged. For more information, see [#53309](https://community.openproject.org/work_packages/53309). diff --git a/docs/release-notes/3/3-0-0/README.md b/docs/release-notes/3/3-0-0/README.md index b09d5861a037..1b5432e5132e 100644 --- a/docs/release-notes/3/3-0-0/README.md +++ b/docs/release-notes/3/3-0-0/README.md @@ -78,7 +78,6 @@ release_date: 2014-03-07 Many bugs have been fixed with the release of OpenProject 3.0. - ## Migration to Ruby 2.1 and Rails 3.2 To ensure better performance, security and support OpenProject has been diff --git a/docs/release-notes/3/3-0-1/README.md b/docs/release-notes/3/3-0-1/README.md index 35790c5c2e43..ab1ff6b0bb1e 100644 --- a/docs/release-notes/3/3-0-1/README.md +++ b/docs/release-notes/3/3-0-1/README.md @@ -14,4 +14,3 @@ Specifically the error in adding a work package process was fixed, as well as the duplication of file content display. [Read more](https://community.openproject.org/versions/296) - diff --git a/docs/release-notes/3/3-0-11/README.md b/docs/release-notes/3/3-0-11/README.md index fc1c300cfb05..6c0c8c7d9875 100644 --- a/docs/release-notes/3/3-0-11/README.md +++ b/docs/release-notes/3/3-0-11/README.md @@ -35,5 +35,3 @@ repositories with OpenProject 4.0 For a complete list of changes, please refer to the [OpenProject 3.0.11 query](https://community.openproject.org/versions/423). - - diff --git a/docs/release-notes/3/3-0-12/README.md b/docs/release-notes/3/3-0-12/README.md index 66c39093deee..6b15e226356b 100644 --- a/docs/release-notes/3/3-0-12/README.md +++ b/docs/release-notes/3/3-0-12/README.md @@ -33,5 +33,3 @@ included in 3.0.12: For a complete list of changes, pleas refer to the [OpenProject 3.0.12 query](https://community.openproject.org/versions/450). - - diff --git a/docs/release-notes/3/3-0-13/README.md b/docs/release-notes/3/3-0-13/README.md index 23c42a859968..07f0c9f92aa2 100644 --- a/docs/release-notes/3/3-0-13/README.md +++ b/docs/release-notes/3/3-0-13/README.md @@ -29,5 +29,3 @@ it will be addressed in the next patch release (3.0.14). For a complete list of changes, please refer to the [OpenProject 3.0.13 query](https://community.openproject.org/versions/466). - - diff --git a/docs/release-notes/3/3-0-14/README.md b/docs/release-notes/3/3-0-14/README.md index eb6049171573..2930ba31b3cc 100644 --- a/docs/release-notes/3/3-0-14/README.md +++ b/docs/release-notes/3/3-0-14/README.md @@ -23,5 +23,3 @@ This has been reported and fixed by [Björn Blissing](https://github.com/bjornbl For a complete list of changes, please refer to the [OpenProject 3.0.14 query](https://community.openproject.org/versions/490). - - diff --git a/docs/release-notes/3/3-0-15/README.md b/docs/release-notes/3/3-0-15/README.md index ea831460248e..2d2852b73d23 100644 --- a/docs/release-notes/3/3-0-15/README.md +++ b/docs/release-notes/3/3-0-15/README.md @@ -20,5 +20,3 @@ properly has been fixed For a complete list of changes, please refer to the [OpenProject 3.0.15 query](https://community.openproject.org/versions/503). - - diff --git a/docs/release-notes/3/3-0-16/README.md b/docs/release-notes/3/3-0-16/README.md index 19b8971bece1..f31a37bdbbcc 100644 --- a/docs/release-notes/3/3-0-16/README.md +++ b/docs/release-notes/3/3-0-16/README.md @@ -29,5 +29,3 @@ For a complete list of changes, please refer to the [Changelog v3.0.16](https://community.openproject.org/versions/544) or have a look at [Github](https://github.com/opf/openproject/tree/v3.0.16). - - diff --git a/docs/release-notes/3/3-0-3/README.md b/docs/release-notes/3/3-0-3/README.md index cb9200db79c8..23c0112ab931 100644 --- a/docs/release-notes/3/3-0-3/README.md +++ b/docs/release-notes/3/3-0-3/README.md @@ -53,5 +53,3 @@ if you want to know how to do that exactly. And here is the full changelog [3.0.3](https://community.openproject.org/versions/313) - - diff --git a/docs/release-notes/3/3-0-8/README.md b/docs/release-notes/3/3-0-8/README.md index 2bcfe1155f94..6b3290bb3b64 100644 --- a/docs/release-notes/3/3-0-8/README.md +++ b/docs/release-notes/3/3-0-8/README.md @@ -44,5 +44,3 @@ falling back from version 5.0.4 to 3.0.8. While this might be confusing, we are convinced that keeping versions in lockstep will convey the intended compatibility much better than every other mechanism. - - diff --git a/docs/release-notes/4/4-0-1/README.md b/docs/release-notes/4/4-0-1/README.md index 6c0129ce93fa..4191d55742d2 100644 --- a/docs/release-notes/4/4-0-1/README.md +++ b/docs/release-notes/4/4-0-1/README.md @@ -22,5 +22,3 @@ Find the current packager version of OpenProject here: For a complete list of changes, please refer to the [OpenProject 4.0.1 query](https://community.openproject.org/versions/530). - - diff --git a/docs/release-notes/4/4-0-10/README.md b/docs/release-notes/4/4-0-10/README.md index 77262cfae883..ed10d37ea0f3 100644 --- a/docs/release-notes/4/4-0-10/README.md +++ b/docs/release-notes/4/4-0-10/README.md @@ -21,4 +21,3 @@ For further information on the release, please refer to the [Changelog v.4.0.10](https://community.openproject.org/versions/704 "Changelog v.4.0.10") or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.0.10 "GitHub"). - diff --git a/docs/release-notes/4/4-0-11/README.md b/docs/release-notes/4/4-0-11/README.md index 0ead73a4aa8e..f5a35f79e492 100644 --- a/docs/release-notes/4/4-0-11/README.md +++ b/docs/release-notes/4/4-0-11/README.md @@ -20,7 +20,3 @@ For further information on the release, please refer to the [Changelog v.4.0.11](https://community.openproject.org/versions/732) or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.0.11). - - - - diff --git a/docs/release-notes/4/4-0-12/README.md b/docs/release-notes/4/4-0-12/README.md index be1fa5a594ea..e6f584ebe100 100644 --- a/docs/release-notes/4/4-0-12/README.md +++ b/docs/release-notes/4/4-0-12/README.md @@ -22,7 +22,3 @@ For further information on the release, please refer to the [Changelog v.4.0.12](https://community.openproject.org/versions/756) or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.0.12). - - - - diff --git a/docs/release-notes/4/4-0-3/README.md b/docs/release-notes/4/4-0-3/README.md index bb0fac62eb86..e3b65ffe29ee 100644 --- a/docs/release-notes/4/4-0-3/README.md +++ b/docs/release-notes/4/4-0-3/README.md @@ -41,5 +41,3 @@ In addition, there has been a small change to the backlogs plugin: For a complete list of changes, please refer to the [Changelog v4.0.3](https://community.openproject.org/versions/543). - - diff --git a/docs/release-notes/4/4-0-4/README.md b/docs/release-notes/4/4-0-4/README.md index 393e0686d5ee..3493ae01a8d7 100644 --- a/docs/release-notes/4/4-0-4/README.md +++ b/docs/release-notes/4/4-0-4/README.md @@ -23,4 +23,3 @@ OpenProject 4.0.4. For a complete list of changes, please refer to the [Changelog v.4.0.4](https://community.openproject.org/versions/559). - diff --git a/docs/release-notes/4/4-0-5/README.md b/docs/release-notes/4/4-0-5/README.md index 4d8538983e00..198a010f7869 100644 --- a/docs/release-notes/4/4-0-5/README.md +++ b/docs/release-notes/4/4-0-5/README.md @@ -43,4 +43,3 @@ For a complete list of changes, please refer to the [Changelog v4.0.5](https://community.openproject.org/versions/566) or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.0.5). - diff --git a/docs/release-notes/4/4-0-6/README.md b/docs/release-notes/4/4-0-6/README.md index cb89b9a7691a..e21c70d10abc 100644 --- a/docs/release-notes/4/4-0-6/README.md +++ b/docs/release-notes/4/4-0-6/README.md @@ -22,5 +22,3 @@ To get an overview of the new version, please refer to the [Changelog v.4.0.6](https://community.openproject.org/versions/592 "Changelog v4.0.6") or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.0.6 "GitHub"). - - diff --git a/docs/release-notes/4/4-0-7/README.md b/docs/release-notes/4/4-0-7/README.md index 2628167eb1e0..3ac7911951e9 100644 --- a/docs/release-notes/4/4-0-7/README.md +++ b/docs/release-notes/4/4-0-7/README.md @@ -37,4 +37,3 @@ To get an overview of the new version, please refer to the [Changelog v.4.0.7](https://community.openproject.org/versions/602 "Changelog v.4.0.7") or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.0.7 "GitHub"). - diff --git a/docs/release-notes/4/4-0-8/README.md b/docs/release-notes/4/4-0-8/README.md index 779745496a2d..3c20d152d7ee 100644 --- a/docs/release-notes/4/4-0-8/README.md +++ b/docs/release-notes/4/4-0-8/README.md @@ -24,5 +24,3 @@ To get an overview of the new version, please refer to the [Changelog v.4.0.8](https://community.openproject.org/versions/615 "Changelog v.4.0.8") or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.0.8 "GitHub OpenProject 4.0.8"). - - diff --git a/docs/release-notes/4/4-0-9/README.md b/docs/release-notes/4/4-0-9/README.md index c77d26770011..1275db398fd5 100644 --- a/docs/release-notes/4/4-0-9/README.md +++ b/docs/release-notes/4/4-0-9/README.md @@ -30,5 +30,3 @@ For further information on the release, please refer to the [Changelog v.4.0.9](https://github.com/opf/openproject/releases/tag/v4.0.9 "Changelog version 4.0.9") or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.0.9 "GitHub"). - - diff --git a/docs/release-notes/4/4-1-1/README.md b/docs/release-notes/4/4-1-1/README.md index c404de006c6b..b9d3916e340d 100644 --- a/docs/release-notes/4/4-1-1/README.md +++ b/docs/release-notes/4/4-1-1/README.md @@ -24,5 +24,3 @@ For further information on the release, please refer to the [Changelog v.4.1.1](https://community.openproject.org/versions/714 "Changelog v.4.0.10") or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.1.1 "GitHub"). - - diff --git a/docs/release-notes/4/4-1-2/README.md b/docs/release-notes/4/4-1-2/README.md index c1338e57237b..e227eb2bc291 100644 --- a/docs/release-notes/4/4-1-2/README.md +++ b/docs/release-notes/4/4-1-2/README.md @@ -61,11 +61,6 @@ have been updated feature has been fixed ([#20149](https://community.openproject.org/work_packages/20149)). - For further information on the release, please refer to the [Changelog v.4.1.2](https://community.openproject.org/versions/726) or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.1.2). - - - - diff --git a/docs/release-notes/4/4-1-3/README.md b/docs/release-notes/4/4-1-3/README.md index def0a32d4419..0c0465f05bb9 100644 --- a/docs/release-notes/4/4-1-3/README.md +++ b/docs/release-notes/4/4-1-3/README.md @@ -31,5 +31,3 @@ has been updated For further information on the release, please refer to the [Changelog v.4.1.3](https://community.openproject.org/versions/733) or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.1.3). - - diff --git a/docs/release-notes/4/4-2-0/README.md b/docs/release-notes/4/4-2-0/README.md index 9443103728f0..74f5822f6715 100644 --- a/docs/release-notes/4/4-2-0/README.md +++ b/docs/release-notes/4/4-2-0/README.md @@ -49,8 +49,6 @@ administration navigation The option “Spent time” has been renamed “Time sheet” ([#20219](https://community.openproject.org/work_packages/20219)). - - ## Improved design OpenProject 4.2 contains various design improvements to provide a better diff --git a/docs/release-notes/4/4-2-1/README.md b/docs/release-notes/4/4-2-1/README.md index f838528c7019..91fd20a55b6a 100644 --- a/docs/release-notes/4/4-2-1/README.md +++ b/docs/release-notes/4/4-2-1/README.md @@ -24,5 +24,3 @@ For further information on the release, please refer to the [Changelog v.4.2.1](https://community.openproject.org/versions/731) or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.2.1). - - diff --git a/docs/release-notes/4/4-2-2/README.md b/docs/release-notes/4/4-2-2/README.md index 5aa11ed8396f..f8ca46026cf5 100644 --- a/docs/release-notes/4/4-2-2/README.md +++ b/docs/release-notes/4/4-2-2/README.md @@ -26,4 +26,3 @@ For further information on the release, please refer to the [Changelog v.4.2.2](https://community.openproject.org/versions/729) or take a look at [GitHub](https://github.com/opf/openproject/tree/v4.2.2). - diff --git a/docs/release-notes/4/4-2-9/README.md b/docs/release-notes/4/4-2-9/README.md index 3724d9323efd..cd3424926f65 100644 --- a/docs/release-notes/4/4-2-9/README.md +++ b/docs/release-notes/4/4-2-9/README.md @@ -17,5 +17,3 @@ To help translate OpenProject, please take a look at the For further information on the release, please take a look at [GitHub](https://github.com/opf/openproject/tree/v4.2.9). - - diff --git a/docs/release-notes/5/5-0-0/README.md b/docs/release-notes/5/5-0-0/README.md index 59c07ad23504..5f24b1e1b2e4 100644 --- a/docs/release-notes/5/5-0-0/README.md +++ b/docs/release-notes/5/5-0-0/README.md @@ -18,8 +18,6 @@ work package split screen Attachments can now be more easily added by using the drag and drop area on the work package split screen. - - ## New work package full screen view The existing work package screen has been replaced by a new responsive @@ -35,8 +33,6 @@ In addition, the behavior for watchers has been changed: Email notifications are sent out immediately when adding a watcher to a work package. - - ## Improved work package split screen - It is possible to edit and comment in one step in the work package @@ -48,8 +44,6 @@ package. package split screen ([#15422](https://community.openproject.org/wp/15422)). - - ## New home screen With OpenProject 5.0, the new home screen of OpenProject instances @@ -59,8 +53,6 @@ references have been added. Optionally, a welcome text block with custom notifications can be added. - - ## Aggregated work package activities and email notifications In order to reduce the amount of activity and email notifications on @@ -73,8 +65,6 @@ aggregated activities ([#20694](https://community.openproject.org/wp/20694), [#21035](https://community.openproject.org/wp/21035)). - - ## Enhanced repository management **Important:** When updating your existing OpenProject installation, @@ -95,8 +85,6 @@ information for their projects. Furthermore, it is possible to see the disk space used by the used repositories in order to get a better overview of the data usage. - - ## Invite project members to OpenProject and add to a project in one step With OpenProject 5.0 users can be invited to a project via email without @@ -111,8 +99,6 @@ project settings and has been added to the project side menu. The create user functionality has been simplified, so that only the most important values have to be entered during creation. - - ## Improved project administration page The project page in the administration not only includes the used disk @@ -124,8 +110,6 @@ date, used disk storage). The project list is paginated in order to reduce loading time when there are a lot of projects. - - ## Restructured my account section The My Account page has been restructured and the settings are spread @@ -134,8 +118,6 @@ out across different sections Profile images can be set in my account section (local avatar plugin). - - ## Simplified project and user creation The project and user creation has been simplified and only shows the @@ -148,8 +130,6 @@ custom fields. Attributes shown on user invitation screen are limited to most important attributes. - - ## Deprecated features In order to reduce complexity, some rarely used OpenProject features @@ -237,4 +217,3 @@ OpenProject Packager edition. A large number of bugs have been fixed with the release of OpenProject 5.0. - diff --git a/docs/release-notes/5/5-0-1/README.md b/docs/release-notes/5/5-0-1/README.md index 4858296ec8a8..aacdff785483 100644 --- a/docs/release-notes/5/5-0-1/README.md +++ b/docs/release-notes/5/5-0-1/README.md @@ -49,5 +49,3 @@ For further information on the release, please refer to the [Changelog v.5.0.1](https://community.openproject.org/versions/774) or take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.1). - - diff --git a/docs/release-notes/5/5-0-10/README.md b/docs/release-notes/5/5-0-10/README.md index 67a931cca3aa..ec8ddffccb86 100644 --- a/docs/release-notes/5/5-0-10/README.md +++ b/docs/release-notes/5/5-0-10/README.md @@ -44,5 +44,3 @@ For further information on the release, please refer to the [Changelog v.5.0.10](https://community.openproject.org/versions/788) or take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.10). - - diff --git a/docs/release-notes/5/5-0-11/README.md b/docs/release-notes/5/5-0-11/README.md index 21806e0d11bf..c2769b81f340 100644 --- a/docs/release-notes/5/5-0-11/README.md +++ b/docs/release-notes/5/5-0-11/README.md @@ -19,5 +19,3 @@ For further information on the release, please refer to the [Changelog v.5.0.11](https://community.openproject.org/versions/798) or take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.11) - - diff --git a/docs/release-notes/5/5-0-12/README.md b/docs/release-notes/5/5-0-12/README.md index 4f6228732cdd..a769792ce155 100644 --- a/docs/release-notes/5/5-0-12/README.md +++ b/docs/release-notes/5/5-0-12/README.md @@ -27,7 +27,3 @@ For further information on the release, please refer to the [Changelog v.5.0.12](https://community.openproject.org/versions/800) or take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.12). - - - - diff --git a/docs/release-notes/5/5-0-13/README.md b/docs/release-notes/5/5-0-13/README.md index a1625ac4ce4f..81524768019d 100644 --- a/docs/release-notes/5/5-0-13/README.md +++ b/docs/release-notes/5/5-0-13/README.md @@ -14,7 +14,3 @@ installation. For further information, please take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.12). - - - - diff --git a/docs/release-notes/5/5-0-15/README.md b/docs/release-notes/5/5-0-15/README.md index fe98886a4aac..ee8acf6b97ee 100644 --- a/docs/release-notes/5/5-0-15/README.md +++ b/docs/release-notes/5/5-0-15/README.md @@ -33,7 +33,3 @@ For further information on the release, please refer to the [Changelog v.5.0.15](https://community.openproject.org/versions/783) or take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.15). - - - - diff --git a/docs/release-notes/5/5-0-17/README.md b/docs/release-notes/5/5-0-17/README.md index 80ab915fd1a9..0c629bc8e141 100644 --- a/docs/release-notes/5/5-0-17/README.md +++ b/docs/release-notes/5/5-0-17/README.md @@ -44,5 +44,3 @@ For further information on the release, please refer to the [Changelog v.5.0.17](https://community.openproject.org/versions/805) or take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.17). - - diff --git a/docs/release-notes/5/5-0-20/README.md b/docs/release-notes/5/5-0-20/README.md index f49025712e33..3bdec8bb5925 100644 --- a/docs/release-notes/5/5-0-20/README.md +++ b/docs/release-notes/5/5-0-20/README.md @@ -19,5 +19,3 @@ We strongly recommend the update to the current version. For further information on the release, please take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.20). - - diff --git a/docs/release-notes/5/5-0-3/README.md b/docs/release-notes/5/5-0-3/README.md index 125ea35358b5..88b18094dac5 100644 --- a/docs/release-notes/5/5-0-3/README.md +++ b/docs/release-notes/5/5-0-3/README.md @@ -18,4 +18,3 @@ For further information on the release, please refer to the [Changelog v.5.0.3](https://community.openproject.org/versions/782) or take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.3). - diff --git a/docs/release-notes/5/5-0-5/README.md b/docs/release-notes/5/5-0-5/README.md index 6bffe1fe9469..0c607ecd2d51 100644 --- a/docs/release-notes/5/5-0-5/README.md +++ b/docs/release-notes/5/5-0-5/README.md @@ -41,5 +41,3 @@ For further information on the release, please refer to the [Changelog v.5.0.5](https://community.openproject.org/versions/780) or take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.5). - - diff --git a/docs/release-notes/5/5-0-6/README.md b/docs/release-notes/5/5-0-6/README.md index c0e456340e51..581b4913466a 100644 --- a/docs/release-notes/5/5-0-6/README.md +++ b/docs/release-notes/5/5-0-6/README.md @@ -44,5 +44,3 @@ For further information on the release, please refer to the [Changelog v.5.0.6](https://community.openproject.org/versions/784) or take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.6). - - diff --git a/docs/release-notes/5/5-0-7/README.md b/docs/release-notes/5/5-0-7/README.md index 78aba127f569..690342485ad0 100644 --- a/docs/release-notes/5/5-0-7/README.md +++ b/docs/release-notes/5/5-0-7/README.md @@ -29,5 +29,3 @@ For further information on the release, please refer to the [Changelog v.5.0.7](https://community.openproject.org/versions/785) or take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.7). - - diff --git a/docs/release-notes/5/5-0-8/README.md b/docs/release-notes/5/5-0-8/README.md index a3957bcf2076..b859f29f51ee 100644 --- a/docs/release-notes/5/5-0-8/README.md +++ b/docs/release-notes/5/5-0-8/README.md @@ -43,5 +43,3 @@ For further information on the release, please refer to the [Changelog v.5.0.8](https://community.openproject.org/versions/786) or take a look at [GitHub](https://github.com/opf/openproject/tree/v5.0.8). - - diff --git a/docs/release-notes/6/6-0-0/README.md b/docs/release-notes/6/6-0-0/README.md index 373d4731a6a8..39645d35388f 100644 --- a/docs/release-notes/6/6-0-0/README.md +++ b/docs/release-notes/6/6-0-0/README.md @@ -17,8 +17,6 @@ OpenProject 6.0 adds the ability to rapidly create a list of work packages (e.g. As a result, you can now easily and swiftly create task table. - - ## Inline edit in work package table With OpenProject 6.0 it is possible to use inline editing to swiftly update work packages (such as tasks, features, milestones) directly from @@ -28,16 +26,12 @@ It is no longer necessary to open a separate split screen view. Note, that all links (except for ID) have been removed from the work package table and form. - - ## Automatic synchronization between work package split screen and work package table The split screen view automatically reflects changes in the work package table. When a work package is created, it is immediately shown in the table. Likewise, the work package table directly displays changes on the split screen. - - ## Configuration of visible work package attributes in OpenProject With OpenProject 6.0 you can configure the attributes shown for each @@ -48,8 +42,6 @@ the start and due date. Users can either completely deactivate or initially hide attributes. (to be shown when clicking on the “Show all” button on work packages). - - ## Extended help menu and onboarding video The help menu in OpenProject has been extended. As a result, it now @@ -59,8 +51,6 @@ information. Additionally, a *First steps* video makes it easier for new users to start working with OpenProject. - - ## Usability improvements Aside from the main features, OpenProject 6.0 includes several smaller @@ -78,8 +68,6 @@ usability improvements: OpenProject 6.0 includes several design improvements. - - ## URL slugs for wiki pages In OpenProject versions prior to 6.0.0., specific characters of wiki @@ -95,12 +83,9 @@ This causes the identifiers of wiki pages with non-ascii characters to be more visually pleasing and easier to link to. When upgrading to 6.0., permalinks for all your pages will be generated automatically. - - ## Substantial number of bug fixes OpenProject 6.0 contains a large number of bugs fixes. For an extensive overview of bug fixes please refer to the [following list](https://community.openproject.org/projects/openproject/work_packages?query_props=%7B%22c%22:%5B%22id%22,%22type%22,%22status%22,%22subject%22,%22assigned_to%22%5D,%22t%22:%22parent:desc%22,%22f%22:%5B%7B%22n%22:%22fixed_version_id%22,%22o%22:%22%253D%22,%22t%22:%22list_optional%22,%22v%22:%22666%22%7D,%7B%22n%22:%22type_id%22,%22o%22:%22%253D%22,%22t%22:%22list_model%22,%22v%22:%221%22%7D,%7B%22n%22:%22subproject_id%22,%22o%22:%22*%22,%22t%22:%22list_subprojects%22%7D%5D,%22pa%22:1,%22pp%22:20%7D). - diff --git a/docs/release-notes/6/6-0-1/README.md b/docs/release-notes/6/6-0-1/README.md index d7339c61edfe..cda6073fcf61 100644 --- a/docs/release-notes/6/6-0-1/README.md +++ b/docs/release-notes/6/6-0-1/README.md @@ -88,4 +88,3 @@ or take a look at For a free 30 day trial create your own OpenProject instance on [OpenProject.org](https://openproject.org/). - diff --git a/docs/release-notes/6/6-0-2/README.md b/docs/release-notes/6/6-0-2/README.md index df2bbbc73566..5a89cab2f6bb 100644 --- a/docs/release-notes/6/6-0-2/README.md +++ b/docs/release-notes/6/6-0-2/README.md @@ -49,4 +49,3 @@ or take a look at You can try OpenProject for free. For a free 30 day trial create your OpenProject instance on [OpenProject.org](https://openproject.org/). - diff --git a/docs/release-notes/6/6-0-3/README.md b/docs/release-notes/6/6-0-3/README.md index e929062694be..93ea41098fbd 100644 --- a/docs/release-notes/6/6-0-3/README.md +++ b/docs/release-notes/6/6-0-3/README.md @@ -42,5 +42,3 @@ For further information on the release, please refer to the [Changelog v.6.0.3](https://community.openproject.org/versions/815) or take a look at [GitHub](https://github.com/opf/openproject/tree/v6.0.3). - - diff --git a/docs/release-notes/6/6-0-4/README.md b/docs/release-notes/6/6-0-4/README.md index ff3df2f5143a..ad4b7ab37d45 100644 --- a/docs/release-notes/6/6-0-4/README.md +++ b/docs/release-notes/6/6-0-4/README.md @@ -59,4 +59,3 @@ or take a look at You can try OpenProject for free. For a free 30 day trial create your OpenProject instance on [OpenProject.org](https://openproject.org/). - diff --git a/docs/release-notes/6/6-0-5/README.md b/docs/release-notes/6/6-0-5/README.md index c1c8a39f5586..ca8a4e627f04 100644 --- a/docs/release-notes/6/6-0-5/README.md +++ b/docs/release-notes/6/6-0-5/README.md @@ -103,4 +103,3 @@ or take a look at You can try OpenProject for free. For a free 30 day trial create your OpenProject instance on [OpenProject.org](https://openproject.org/). - diff --git a/docs/release-notes/6/6-1-0/README.md b/docs/release-notes/6/6-1-0/README.md index 200bb95579b7..29e2d90d4a83 100644 --- a/docs/release-notes/6/6-1-0/README.md +++ b/docs/release-notes/6/6-1-0/README.md @@ -20,8 +20,6 @@ list ([#22859](https://community.openproject.org/wp/22859)). This provides an easy way to quickly find, remove or edit the permissions of project members in large projects. - - ## Improved work package relations The work package relations tab has been improved: It has a clearer @@ -32,8 +30,6 @@ new relation types Hierarchical relationships are immediately clear through a tree-structure. - - ## Improved performance for work packages The work package table is now loaded more quickly and changes can be made diff --git a/docs/release-notes/6/6-1-1/README.md b/docs/release-notes/6/6-1-1/README.md index b2fcc62bc630..64ac37a31ea0 100644 --- a/docs/release-notes/6/6-1-1/README.md +++ b/docs/release-notes/6/6-1-1/README.md @@ -68,4 +68,3 @@ or take a look at You can try OpenProject for free. For a free 30 day trial create your OpenProject instance on [OpenProject.org](https://openproject.org/). - diff --git a/docs/release-notes/6/6-1-2/README.md b/docs/release-notes/6/6-1-2/README.md index 43dff635b221..d5680241e92f 100644 --- a/docs/release-notes/6/6-1-2/README.md +++ b/docs/release-notes/6/6-1-2/README.md @@ -34,5 +34,3 @@ fixes [here.](https://community.openproject.org/versions/822) Special thanks to [Dirk Wiesenthal](https://github.com/dwiesent) from [Univention](https://www.univention.de/) for helping us to improve our users api. - - diff --git a/docs/release-notes/6/6-1-3/README.md b/docs/release-notes/6/6-1-3/README.md index 913bf541e627..5b28d6a2f8d1 100644 --- a/docs/release-notes/6/6-1-3/README.md +++ b/docs/release-notes/6/6-1-3/README.md @@ -22,5 +22,3 @@ For further information on the release, please refer to the [Changelog v.6.1.3](https://community.openproject.org/versions/826) or take a look at [GitHub](https://github.com/opf/openproject/tree/v6.1.3). - - diff --git a/docs/release-notes/6/6-1-4/README.md b/docs/release-notes/6/6-1-4/README.md index 96384fb82f73..38d3eb30b3e9 100644 --- a/docs/release-notes/6/6-1-4/README.md +++ b/docs/release-notes/6/6-1-4/README.md @@ -34,5 +34,3 @@ For further information on the release, please refer to the [Changelog v.6.1.4](https://community.openproject.org/versions/827) or take a look at [GitHub](https://github.com/opf/openproject/tree/v6.1.4). - - diff --git a/docs/release-notes/6/6-1-5/README.md b/docs/release-notes/6/6-1-5/README.md index 780d2c24c347..7d663d63669e 100644 --- a/docs/release-notes/6/6-1-5/README.md +++ b/docs/release-notes/6/6-1-5/README.md @@ -50,5 +50,3 @@ For further information on the release, please refer to the [Changelog v.6.1.5](https://community.openproject.org/versions/828) or take a look at [GitHub](https://github.com/opf/openproject/tree/v6.1.5). - - diff --git a/docs/release-notes/7/7-0-0/README.md b/docs/release-notes/7/7-0-0/README.md index b1f42eb8ac0d..6f683fba2575 100644 --- a/docs/release-notes/7/7-0-0/README.md +++ b/docs/release-notes/7/7-0-0/README.md @@ -21,16 +21,12 @@ work package table ([#13785](https://community.openproject.org/wp/13785)). The new timeline is much more interactive and user-friendly than the old timeline. - - ## Display hierarchies in work package table You can display hierarchies on the work package table and collapse and expand them ([#24647](https://community.openproject.org/wp/24647)). - - ## Attribute group configuration for work package types With OpenProject 7.0 you can configure which attributes @@ -40,8 +36,6 @@ are displayed for a work package type You can therefore control which attributes are shown and which are hidden by default. - - ## Filter based on date in work package table The work package table now supports filtering based on fixed dates. This @@ -49,8 +43,6 @@ affects all date attributes (e.g. start / due date, created on / updated on) ([#22585](https://community.openproject.org/projects/telekom/work_packages/22585)). - - ## New header navigation The header navigation in OpenProject is updated and displays the current @@ -58,16 +50,12 @@ project. Additionally, the logo has been centered and existing menus have been reordered ([#24465](https://community.openproject.org/projects/design/work_packages/24465)). - - ## Archive and delete projects from project settings As an administrator you can archive and delete projects right from the project settings ([#24913](https://community.openproject.org/wp/24913)). - - ## Zen-mode on work package page With the zen mode on the work package table, you can maximize the @@ -76,8 +64,6 @@ available screen real estate by hiding the side and top navigation This provides a cleaner and larger user interface to work with. - - ## Multi-select custom fields (Enterprise add-on) Users of the OpenProject [Enterprise on-premises](https://www.openproject.org/enterprise-edition/) @@ -88,8 +74,6 @@ custom fields With these custom fields you can select multiple values for work package custom fields at once and also filter based on them. - - ## Logo upload and custom color scheme (Enterprise add-on) Users of the OpenProject Enterprise cloud and Enterprise on-premises edition can upload @@ -99,8 +83,6 @@ Additionally, you can change the colors by using a custom color scheme ([#18099](https://community.openproject.org/projects/gmbh/work_packages/18099), [#24460](https://community.openproject.org/projects/gmbh/work_packages/24460)). - - ## Performance improvements The performance – especially for the work package table – has been improved. Loading and displaying work packages is faster. @@ -116,4 +98,3 @@ OpenProject 7.0 contains a large number of bugs fixes. For an extensive overview of bug fixes please refer to the [following list](https://community.openproject.org/projects/openproject/work_packages?query_props=%7B%22c%22:%5B%22id%22,%22subject%22,%22type%22,%22status%22,%22assignee%22%5D,%22p%22:%22openproject%22,%22t%22:%22parent:desc%22,%22f%22:%5B%7B%22n%22:%22version%22,%22o%22:%22%253D%22,%22t%22:%22list_optional%22,%22v%22:%22750%22%7D,%7B%22n%22:%22type%22,%22o%22:%22%253D%22,%22t%22:%22list_model%22,%22v%22:%221%22%7D,%7B%22n%22:%22subprojectId%22,%22o%22:%22*%22,%22t%22:%22list_subprojects%22,%22v%22:%5B%5D%7D%5D,%22pa%22:1,%22pp%22:20%7D). - diff --git a/docs/release-notes/7/7-0-1/README.md b/docs/release-notes/7/7-0-1/README.md index 733045064f4f..cb2e954c334d 100644 --- a/docs/release-notes/7/7-0-1/README.md +++ b/docs/release-notes/7/7-0-1/README.md @@ -58,5 +58,3 @@ For further information on the release, please refer to the [Changelog v7.0.1](https://community.openproject.org/versions/924) or take a look at [GitHub](https://github.com/opf/openproject/tree/v7.0.1). - - diff --git a/docs/release-notes/7/7-0-2/README.md b/docs/release-notes/7/7-0-2/README.md index 7027da9f4f62..a0dc63bee3c8 100644 --- a/docs/release-notes/7/7-0-2/README.md +++ b/docs/release-notes/7/7-0-2/README.md @@ -37,5 +37,3 @@ For further information on the release, please refer to the [Changelog v7.0.2](https://community.openproject.org/versions/837) or take a look at [GitHub](https://github.com/opf/openproject/tree/v7.0.2). - - diff --git a/docs/release-notes/7/7-0-3/README.md b/docs/release-notes/7/7-0-3/README.md index 0303b9de9b48..737ef274f3de 100644 --- a/docs/release-notes/7/7-0-3/README.md +++ b/docs/release-notes/7/7-0-3/README.md @@ -47,5 +47,3 @@ For further information on the release, please refer to the [Changelog v7.0.3](https://community.openproject.org/versions/839) or take a look at [GitHub](https://github.com/opf/openproject/tree/v7.0.3). - - diff --git a/docs/release-notes/7/7-1-0/README.md b/docs/release-notes/7/7-1-0/README.md index 76ef38aea36a..d068f4fab299 100644 --- a/docs/release-notes/7/7-1-0/README.md +++ b/docs/release-notes/7/7-1-0/README.md @@ -94,5 +94,3 @@ For further information on the release, please refer to the [Changelog v7.1.0](https://community.openproject.org/versions/836) or take a look at [GitHub](https://github.com/opf/openproject/tree/v7.1.0). - - diff --git a/docs/release-notes/7/7-2-0/README.md b/docs/release-notes/7/7-2-0/README.md index b0b27675dba0..7e8fddd45fd3 100644 --- a/docs/release-notes/7/7-2-0/README.md +++ b/docs/release-notes/7/7-2-0/README.md @@ -63,4 +63,3 @@ at the label shown next to the *Relations* tab. OpenProject 7.2 contains a large number of bugs fixes. For an extensive overview of bug fixes please refer to the [following list](https://community.openproject.org/projects/openproject/work_packages?query_props=%7B%22c%22:%5B%22id%22,%22subject%22,%22type%22,%22status%22,%22assignee%22%5D,%22tzl%22:%22days%22,%22hi%22:true,%22t%22:%22parent:desc%22,%22f%22:%5B%7B%22n%22:%22version%22,%22o%22:%22%253D%22,%22v%22:%5B%22824%22%5D%7D,%7B%22n%22:%22type%22,%22o%22:%22%253D%22,%22v%22:%5B%221%22%5D%7D,%7B%22n%22:%22subprojectId%22,%22o%22:%22*%22,%22v%22:%5B%5D%7D%5D,%22pa%22:1,%22pp%22:20%7D). - diff --git a/docs/release-notes/7/7-2-1/README.md b/docs/release-notes/7/7-2-1/README.md index ca40388fcdfd..0843d0517d9a 100644 --- a/docs/release-notes/7/7-2-1/README.md +++ b/docs/release-notes/7/7-2-1/README.md @@ -38,5 +38,3 @@ For further information on the release, please refer to the [Changelog v7.2.1](https://community.openproject.org/versions/843) or take a look at [GitHub](https://github.com/opf/openproject/tree/v7.2.1). - - diff --git a/docs/release-notes/7/7-2-2/README.md b/docs/release-notes/7/7-2-2/README.md index f0d6a21f09be..83e36a173225 100644 --- a/docs/release-notes/7/7-2-2/README.md +++ b/docs/release-notes/7/7-2-2/README.md @@ -56,7 +56,3 @@ Installation](https://www.openproject.org/download-and-installation/) page. For more information, please also see ticket \[[#26144](https://community.openproject.org/wp/26144)\] and [this forum post](https://community.openproject.org/topics/8114). - - - - diff --git a/docs/release-notes/7/7-2-3/README.md b/docs/release-notes/7/7-2-3/README.md index 9b9a2b93ffcd..9799e5c0a90e 100644 --- a/docs/release-notes/7/7-2-3/README.md +++ b/docs/release-notes/7/7-2-3/README.md @@ -26,7 +26,3 @@ If you want to filter for this exact behavior, a new filter named group, and any users within Bug reference: [#26207](https://community.openproject.org/wp/26207) - - - - diff --git a/docs/release-notes/7/7-3-0/README.md b/docs/release-notes/7/7-3-0/README.md index f52b5bec912a..2c795cba29cc 100644 --- a/docs/release-notes/7/7-3-0/README.md +++ b/docs/release-notes/7/7-3-0/README.md @@ -25,8 +25,6 @@ example show the progress (in %) and the assignee directly in the Gantt chart without having to include those attributes as separate work package columns. - - ## Auto zoom in Gantt chart Especially for large projects Gantt charts can become difficult to @@ -35,8 +33,6 @@ adjust the zoom level, we implemented an intelligent zoom button. This allows you to immediately switch to the optimal zoom level to see all work packages without zooming out too much. - - ## Notify users with @notations on work package page While working with work packages, you may want to quickly reference a @@ -47,8 +43,6 @@ clear and personal to directly address the person. This is possible with a description), simply enter an *@* sign, followed by the user’s name. The user then receives an email notification. - - ## Resize work package split screen with drag & drop With OpenProject 7.3 you can resize the work package split screen using @@ -57,8 +51,6 @@ the width of the split screen. OpenProject remembers the new size, so you don’t have to resize the split screen whenever you open a new work package. - - ## Breadcrumb on work package page Work packages are often part of a hierarchy which is not immediately @@ -67,8 +59,6 @@ view. In order to make the hierarchy more transparent, OpenProject 7.3 introduces a breadcrumb for work packages (shown in both the fullscreen and split screen view). - - ## Improved usability and design OpenProject 7.3 includes several usability improvements. diff --git a/docs/release-notes/7/7-3-1/README.md b/docs/release-notes/7/7-3-1/README.md index ef9875283499..c541864290b4 100644 --- a/docs/release-notes/7/7-3-1/README.md +++ b/docs/release-notes/7/7-3-1/README.md @@ -41,4 +41,3 @@ For further information on the 7.3.1 release, please refer to the [Changelog v7.3.1](https://community.openproject.org/versions/851) or take a look at [GitHub](https://github.com/opf/openproject/tree/v7.3.1). - diff --git a/docs/release-notes/7/7-4-0/README.md b/docs/release-notes/7/7-4-0/README.md index eca7fecae095..47fc84578e85 100644 --- a/docs/release-notes/7/7-4-0/README.md +++ b/docs/release-notes/7/7-4-0/README.md @@ -38,7 +38,6 @@ can simply navigate to the project list and copy, archive or delete projects from the list view. For more information take a look at [this blog post](https://www.openproject.org/blog/openproject-7-4-project-list-moves-administration-view-projects-page/). - ## Resize Gantt chart with drag & drop A frequent request we received is the ability to easily resize the Gantt @@ -46,8 +45,6 @@ chart. This is possible with OpenProject 7.4. Simply select the handle on the left side of the Gantt chart drag to increase or decrease the width of the Gantt chart. - - ## Work package status more prominent The status of a work package (e.g. task, phase or milestone) is one of @@ -74,8 +71,6 @@ overview page, from the wiki page or from a meeting. It is even possible to set a default type to allow users to rapidly create e.g. bugs or tasks. - - ## Two factor authentication (Enterprise add-on) Users of the OpenProject Enterprise cloud and Enterprise on-premises edition can activate two @@ -121,4 +116,3 @@ OpenProject 7.4 contains a large number of bugs fixes. For an extensive overview of bug fixes please refer to the [following list](https://community.openproject.org/projects/openproject/work_packages?query_props=%7B%22c%22:%5B%22id%22,%22subject%22,%22type%22,%22status%22,%22assignee%22%5D,%22tzl%22:%22days%22,%22hi%22:true,%22g%22:%22%22,%22t%22:%22parent:desc%22,%22f%22:%5B%7B%22n%22:%22version%22,%22o%22:%22%253D%22,%22v%22:%5B%22845%22%5D%7D,%7B%22n%22:%22type%22,%22o%22:%22%253D%22,%22v%22:%5B%221%22%5D%7D,%7B%22n%22:%22subprojectId%22,%22o%22:%22*%22,%22v%22:%5B%5D%7D%5D,%22pa%22:1,%22pp%22:20%7D). - diff --git a/docs/release-notes/7/7-4-1/README.md b/docs/release-notes/7/7-4-1/README.md index aced9267eebc..f90a004235d0 100644 --- a/docs/release-notes/7/7-4-1/README.md +++ b/docs/release-notes/7/7-4-1/README.md @@ -20,5 +20,3 @@ For further information on the 7.4.1 release, please refer to the [Changelog v7.4.1](https://community.openproject.org/versions/855) or take a look at [GitHub](https://github.com/opf/openproject/tree/v7.4.1). - - diff --git a/docs/release-notes/7/7-4-2/README.md b/docs/release-notes/7/7-4-2/README.md index 94cc5dedd127..315da096d381 100644 --- a/docs/release-notes/7/7-4-2/README.md +++ b/docs/release-notes/7/7-4-2/README.md @@ -32,5 +32,3 @@ For further information on the 7.4.2 release, please refer to the [Changelog v7.4.2](https://community.openproject.org/versions/857) or take a look at [GitHub](https://github.com/opf/openproject/tree/v7.4.2). - - diff --git a/docs/release-notes/7/7-4-4/README.md b/docs/release-notes/7/7-4-4/README.md index 723c806504f4..60b1a175bd5a 100644 --- a/docs/release-notes/7/7-4-4/README.md +++ b/docs/release-notes/7/7-4-4/README.md @@ -22,19 +22,14 @@ Version 7.4.4 of OpenProject has been released. This release contains: - The GitHub integration plugin did not properly receive events due to a naming clash ([#27448](https://community.openproject.org/wp/27448)) -- Creating new wiki pages from a wiki link (e.g, *\[\[ - Wiki - page \]\] *) now retains the correct title instead of the generated - URL slug ([#27462](https://community.openproject.org/wp/27462)) +- Creating new wiki pages from a wiki link (e.g, *\[\[Wiki page\]\]*) now retains the correct title instead of the + generated URL slug ([#27462](https://community.openproject.org/wp/27462)) - A subsequent search for documents in the global search disabled the documents search checkbox ([#27479](https://community.openproject.org/wp/27479)) - The reset button for RSS tokens generated a new API token instead ([#27498](https://community.openproject.org/wp/27498)) -- Wiki - start pages - (titled *Wiki*) - could not be renamed back if the name was changed at one point +- Wiki start pages (titled *Wiki*) could not be renamed back if the name was changed at one point ([#27576](https://community.openproject.org/wp/27576)) ## Changes @@ -49,5 +44,3 @@ Version 7.4.4 of OpenProject has been released. This release contains: For more information, please see the [v7.4.4 version in our community](https://community.openproject.org/versions/924) or take a look at [GitHub](https://github.com/opf/openproject/tree/v7.4.4). - - diff --git a/docs/release-notes/7/7-4-5/README.md b/docs/release-notes/7/7-4-5/README.md index f1dfef3a14c1..4976528666c1 100644 --- a/docs/release-notes/7/7-4-5/README.md +++ b/docs/release-notes/7/7-4-5/README.md @@ -53,6 +53,4 @@ and helping us to reproduce them. Users can now be requested to consent into the privacy and usage policies of your instance. To configure consent, enable the setting in -the global administration under *System administration * \> *Users* - - +the global administration under *System administration* \> *Users* diff --git a/docs/release-notes/7/7-4-7/README.md b/docs/release-notes/7/7-4-7/README.md index bfb1d1c3ae4e..d900ff10e120 100644 --- a/docs/release-notes/7/7-4-7/README.md +++ b/docs/release-notes/7/7-4-7/README.md @@ -31,4 +31,3 @@ export modal. - Fixed: \[Styling\] Prevent scrolling body when reaching bottom of project autocompleter \[[#28039](https://community.openproject.org/wp/28039)\] - diff --git a/docs/release-notes/8/8-0-0/README.md b/docs/release-notes/8/8-0-0/README.md index d14aefaa4354..80dd872ab871 100644 --- a/docs/release-notes/8/8-0-0/README.md +++ b/docs/release-notes/8/8-0-0/README.md @@ -40,8 +40,6 @@ around the Markdown format. When migrating to 8.0., your Textile documents will be converted to the new format automatically using pandoc. - - ## New side navigation Navigating within OpenProject is now even easier: The new side @@ -53,8 +51,6 @@ real estate, just hide the entire side navigation. In addition, work package views and wiki pages are now much easier to find and navigate to. - - ## Embedded work package tables With OpenProject 8 you can easily embed work package views and the Gantt @@ -63,8 +59,6 @@ chart in wiki pages This way you can display key project information (such as the current milestone plan) directly in a wiki page or in the project overview page. - - ## Full text search for work package attachments (Enterprise add-on) Looking for a specific document or some text in that document? This is @@ -75,8 +69,6 @@ You can either search by file name of the content of the file from the work package page. This allows you to quickly find all the work packages with certain attachments. - - ## Custom actions (Enterprise add-on) With OpenProject 8 you can model intelligent workflows using custom @@ -88,8 +80,6 @@ a work package with the click of a single button. This gives you a powerful way to easily and quickly update your work packages based on predefined workflows. You save time and avoid errors. - - ## Conditional formatting for work package table (Enterprise add-on) Rows in the work package page page can be highlighted based on the @@ -98,8 +88,6 @@ which tasks are most important or need attention. In addition, the due date can be highlighted so that you see right away which phases, milestones or tasks are due soon or overdue. - - ## Subelement groups for work package types (Enterprise add-on) To quickly add child work packages for an existing work package, you can @@ -108,8 +96,6 @@ small work package table as an attribute group to a work package. You can configure which columns and which types of child work packages are displayed. - - ## Usability improvements OpenProject’s overall usability has been improved. The functionality of @@ -118,8 +104,6 @@ In particular, the work package page configuration has been updated to be usable for embedded tables as well. In addition *Responsible* has been renamed to *Accountable*. - - ## New design With version 8, OpenProject gets a fresh new look: Both the OpenProject diff --git a/docs/release-notes/8/8-0-1/README.md b/docs/release-notes/8/8-0-1/README.md index 4404c48de19b..b1060eb939b6 100644 --- a/docs/release-notes/8/8-0-1/README.md +++ b/docs/release-notes/8/8-0-1/README.md @@ -70,5 +70,3 @@ updating to the newest version. A big thanks to community members for reporting bugs, especially to Marc Vollmer, Frank Schmid, and Nicolas Salguero for their aid in identifying and providing fixes for multiple bug reports. - - diff --git a/docs/release-notes/8/8-0-2/README.md b/docs/release-notes/8/8-0-2/README.md index 2c47403d0efc..c0a074545f09 100644 --- a/docs/release-notes/8/8-0-2/README.md +++ b/docs/release-notes/8/8-0-2/README.md @@ -41,8 +41,6 @@ newest version. files will receive a forced *attachment* content disposition to ensure the file is not loaded in the browser. - - ## Contributions Thanks to Github users @storm2513 and @akasparas for providing bugfixes @@ -50,5 +48,3 @@ as pull requests [on our GitHub project](https://github.com/opf/openproject). A big thanks to community members for reporting bugs and helping us identifying and providing fixes. - - diff --git a/docs/release-notes/8/8-2-0/README.md b/docs/release-notes/8/8-2-0/README.md index b63339c1305a..b56066fdbe46 100644 --- a/docs/release-notes/8/8-2-0/README.md +++ b/docs/release-notes/8/8-2-0/README.md @@ -69,5 +69,3 @@ fixes. For an overview, please take a look at the [list of bug fixes](https://community.openproject.org/projects/openproject/work_packages?query_props=%7B%22c%22%3A%5B%22id%22%2C%22subject%22%2C%22type%22%2C%22status%22%2C%22assignee%22%2C%22version%22%5D%2C%22hi%22%3Atrue%2C%22g%22%3A%22%22%2C%22t%22%3A%22parent%3Aasc%22%2C%22f%22%3A%5B%7B%22n%22%3A%22status%22%2C%22o%22%3A%22*%22%2C%22v%22%3A%5B%5D%7D%2C%7B%22n%22%3A%22version%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%221253%22%5D%7D%2C%7B%22n%22%3A%22type%22%2C%22o%22%3A%22%3D%22%2C%22v%22%3A%5B%221%22%5D%7D%2C%7B%22n%22%3A%22subprojectId%22%2C%22o%22%3A%22*%22%2C%22v%22%3A%5B%5D%7D%5D%2C%22pa%22%3A1%2C%22pp%22%3A20%7D). - - diff --git a/docs/release-notes/8/8-2-1/README.md b/docs/release-notes/8/8-2-1/README.md index b42c0df5dfe2..657c6970b312 100644 --- a/docs/release-notes/8/8-2-1/README.md +++ b/docs/release-notes/8/8-2-1/README.md @@ -16,8 +16,6 @@ newest version. ## Bug fixes and changes - - - Fixed: Long heading in forum overlaps buttons \[[#28839](https://community.openproject.org/wp/28839)\] - Fixed: Wrong error message when updating teaser element on @@ -60,11 +58,7 @@ newest version. requested from our release servers to render the badge. This page also provides means to disable this check. - - ## Contributions A big thanks to community members for reporting bugs and helping us identifying and providing fixes. - - diff --git a/docs/release-notes/8/8-3-0/README.md b/docs/release-notes/8/8-3-0/README.md index 8e1d24d24678..69d98de4a2b6 100644 --- a/docs/release-notes/8/8-3-0/README.md +++ b/docs/release-notes/8/8-3-0/README.md @@ -65,7 +65,6 @@ The OpenProject APIv3 can now be authenticated using the OAuth2 standard. To register an OAuth applications, visit the new module under Administration \> OAuth applications. - ## Bug fixes and changes - Feature: OAuth2 authorization flow diff --git a/docs/release-notes/8/8-3-2/README.md b/docs/release-notes/8/8-3-2/README.md index a946aaab97cd..6762a18e3dac 100644 --- a/docs/release-notes/8/8-3-2/README.md +++ b/docs/release-notes/8/8-3-2/README.md @@ -36,5 +36,3 @@ responsible disclose security related issues to us, please see our Thanks to Thanaphon Soo from the [SEC Consult Vulnerability Lab](https://www.sec-consult.com) for identifying and responsibly disclosing the identified issues. - - diff --git a/docs/release-notes/9/9-0-0/README.md b/docs/release-notes/9/9-0-0/README.md index 2631751a676f..8260de507ed2 100644 --- a/docs/release-notes/9/9-0-0/README.md +++ b/docs/release-notes/9/9-0-0/README.md @@ -14,7 +14,6 @@ Read below to get a detailed overview of what is new in OpenProject 9. ![OpenProject 9](release-teaser.jpg) - ## Board view (Enterprise add-on) The board view is a new module for OpenProject and allows Scrum and Kanban-style agile project management. You can display display a board view with the different statuses shown as columns (similarly to a Kanban board) and quickly update the status. Alternatively, you can define a basic board with custom names or display versions as columns (e.g. to plan your roadmap). @@ -25,7 +24,6 @@ To use boards you need to use either the Enterprise cloud or the Enterprise on-p Learn more about [Boards for Scrum and Agile Project Management](../../../user-guide/agile-boards/). - ## Work package templates You can define templates for work package types. Templates are automatically displayed in the work package description when you create a new type (e.g. a bug) for which a template is defined. This makes it easier to quickly create new work packages with similar information while reducing errors. @@ -34,21 +32,18 @@ Templates can be configured in the work package type configuration. ![Work package templates](template.png) - ## Work package widget on My Page On the My Page, each user can add work package widgets and customize which work packages to display. You can filter and group by work package attributes and also display Gantt charts in the widgets. - ## Updated work package table Assignees are now directly displayed as avatars in the work package page. Additionally, the work package type selection has been updated. ![Improved design](improved-design.png) - ## Improved usability OpenProject is even more user-friendly: You can add attachments (e.g. images) directly to meetings (agenda / minutes). @@ -59,14 +54,12 @@ Filters and work package attributes are improved and support auto-completion. For an overview of all new improvements, take a look at the [feature list](https://community.openproject.org/projects/openproject/work_packages?query_props={"c"%3A["id"%2C"subject"%2C"type"%2C"status"%2C"assignee"%2C"version"]%2C"hi"%3Atrue%2C"g"%3A""%2C"t"%3A"id%3Aasc"%2C"f"%3A[{"n"%3A"status"%2C"o"%3A"!"%2C"v"%3A["6"]}%2C{"n"%3A"version"%2C"o"%3A"%3D"%2C"v"%3A["853"]}%2C{"n"%3A"subprojectId"%2C"o"%3A"*"%2C"v"%3A[]}%2C{"n"%3A"type"%2C"o"%3A"%3D"%2C"v"%3A["6"%2C"8"]}]%2C"pa"%3A1%2C"pp"%3A100}). - ## Substantial number of bug fixes OpenProject 9.0 contains a large number of bugs fixes. For an extensive overview of bug fixes please refer to the [following list](https://community.openproject.org/projects/openproject/work_packages?query_props={"c"%3A["id"%2C"subject"%2C"type"%2C"status"%2C"assignee"]%2C"hi"%3Afalse%2C"g"%3A""%2C"t"%3A"id%3Adesc"%2C"f"%3A[{"n"%3A"version"%2C"o"%3A"%3D"%2C"v"%3A["853"]}%2C{"n"%3A"type"%2C"o"%3A"%3D"%2C"v"%3A["1"]}%2C{"n"%3A"subprojectId"%2C"o"%3A"*"%2C"v"%3A[]}]%2C"pa"%3A1%2C"pp"%3A20}). - ## Upgrading your installation to OpenProject 9.0 If you're using the OpenProject Enterprise cloud edition, you are already running on the latest version of OpenProject 9.0. For your local installations, there are some minor changes you need to do in order to perform the upgrade. diff --git a/docs/release-notes/9/9-0-1/README.md b/docs/release-notes/9/9-0-1/README.md index 52aae578ce26..56469db09052 100644 --- a/docs/release-notes/9/9-0-1/README.md +++ b/docs/release-notes/9/9-0-1/README.md @@ -11,8 +11,6 @@ release_date: 2019-06-07 We released [OpenProject 9.0.1](https://community.openproject.org/versions/1368). The release contains several bug fixes and we recommend updating to the newest version. - - ## Bug fixes and changes - Fixed: Wiki TOC doesn't render headings properly [[#30245](https://community.openproject.org/wp/30245)] @@ -31,4 +29,3 @@ The release contains several bug fixes and we recommend updating to the newest v A big thanks to community members for reporting bugs and helping us identifying and providing fixes. Special thanks for reporting and finding bugs go to Varac Anero - diff --git a/docs/release-notes/9/9-0-2/README.md b/docs/release-notes/9/9-0-2/README.md index c952e1239244..6e2e8153be8e 100644 --- a/docs/release-notes/9/9-0-2/README.md +++ b/docs/release-notes/9/9-0-2/README.md @@ -11,8 +11,6 @@ release_date: 2019-06-13 We released [OpenProject 9.0.2](https://community.openproject.org/versions/1359). The release contains several bug fixes and we recommend updating to the newest version. If you're running OpenProject with a relative URL root (e.g., under domain.example.org/openproject), this update should fix [an installation issue related to Sass compilation](https://community.openproject.org/wp/30372) as well as [an error trying to use create new boards](https://community.openproject.org/wp/30370). - - ## Bug fixes and changes - **Fixed**: Wiki TOC doesn't render headings properly [[#30245](https://community.openproject.org/wp/30245)] @@ -21,4 +19,3 @@ The release contains several bug fixes and we recommend updating to the newest v - **Fixed**: Chrome is logged out when accessing pages with images on S3 storage [[#28652](https://community.openproject.org/wp/28652)] - **Fixed**: OpenProject logo on My page does not redirect to landing page [[#30376](https://community.openproject.org/wp/30376)] - **Fixed**: The PDF export is cut off after the first page [[#29929](https://community.openproject.org/wp/29929)] - diff --git a/docs/release-notes/9/9-0-3/README.md b/docs/release-notes/9/9-0-3/README.md index 8ac2eb3e8dad..04857bade19d 100644 --- a/docs/release-notes/9/9-0-3/README.md +++ b/docs/release-notes/9/9-0-3/README.md @@ -11,8 +11,6 @@ release_date: 2019-07-23 We released [OpenProject 9.0.3](https://community.openproject.org/versions/1376). The release contains several bug fixes and we recommend updating to the newest version. - - ## Bug fixes and changes - Changed: Searching for Custom Fields [[#29756](https://community.openproject.org/wp/29756)] diff --git a/docs/release-notes/README.md b/docs/release-notes/README.md index e0087ca52b32..211fa6628fd0 100644 --- a/docs/release-notes/README.md +++ b/docs/release-notes/README.md @@ -10,7 +10,6 @@ We never stop improving OpenProject. Every year there are several stable release Stay up to date and get an overview of the new features included in the releases. - @@ -20,14 +19,12 @@ Release date: 2024-04-24 [Release Notes](14-0-0/) - ## 13.4.1 Release date: 2024-03-26 [Release Notes](13-4-1/) - ## 13.4.0 Release date: 2024-03-20 @@ -40,7 +37,6 @@ Release date: 2024-02-28 [Release Notes](13-3-1/) - ## 13.3.0 Release date: 2024-02-14 @@ -53,91 +49,78 @@ Release date: 2024-01-31 [Release Notes](13-2-1/) - ## 13.2.0 Release date: 2024-01-17 [Release Notes](13-2-0/) - ## 13.1.2 Release date: 2023-12-22 [Release Notes](13-1-2/) - ## 13.1.1 Release date: 2023-12-20 [Release Notes](13-1-1/) - ## 13.1.0 Release date: 2023-12-13 [Release Notes](13-1-0/) - ## 13.0.8 Release date: 2023-12-05 [Release Notes](13-0-8/) - ## 13.0.7 Release date: 2023-10-23 [Release Notes](13-0-7/) - ## 13.0.6 Release date: 2023-10-13 [Release Notes](13-0-6/) - ## 13.0.5 Release date: 2023-10-10 [Release Notes](13-0-5/) - ## 13.0.4 Release date: 2023-09-26 [Release Notes](13-0-4/) - ## 13.0.3 Release date: 2023-09-12 [Release Notes](13-0-3/) - ## 13.0.2 Release date: 2023-09-07 [Release Notes](13-0-2/) - ## 13.0.1 Release date: 2023-08-29 [Release Notes](13-0-1/) - ## 13.0.0 Release date: 2023-08-21 diff --git a/docs/security-and-privacy/README.md b/docs/security-and-privacy/README.md index a157a16fbc30..99ef713e561d 100644 --- a/docs/security-and-privacy/README.md +++ b/docs/security-and-privacy/README.md @@ -19,4 +19,3 @@ The purpose of this document is to equip users of OpenProject with the necessar * Security documentation: BSI Grundschutzchecks (coming Q1 2024) * Statement on data security: [Statement on data security](./statement-on-security) - diff --git a/docs/security-and-privacy/processing-of-personal-data/README.md b/docs/security-and-privacy/processing-of-personal-data/README.md index c8ee696d5020..70cb7e6724c7 100644 --- a/docs/security-and-privacy/processing-of-personal-data/README.md +++ b/docs/security-and-privacy/processing-of-personal-data/README.md @@ -134,7 +134,6 @@ Depending on the individual use and permissions of the user the following person - Persons mentioned in a project status information - #### Project calendars (cp-02) - Assignment of objects shown in the calendar (meetings, work packages, versions, milestones) to a person @@ -174,7 +173,6 @@ Depending on the individual use and permissions of the user the following person - Person mentioned in a linked file - Person mentioned in a linked pull request (i.e. GitHub or GitLab) - ### D: Logging #### Logged information @@ -351,7 +349,6 @@ flowchart LR #### Overview - ```mermaid %%{init: {'theme':'neutral'}}%% diff --git a/docs/security-and-privacy/statement-on-security/README.md b/docs/security-and-privacy/statement-on-security/README.md index fb5677a1cded..0942ed317ff7 100644 --- a/docs/security-and-privacy/statement-on-security/README.md +++ b/docs/security-and-privacy/statement-on-security/README.md @@ -14,8 +14,6 @@ Automated tests and manual code reviews ensure that these contributions are safe For more information on security and data privacy for OpenProject, please visit: [www.openproject.org/security-and-privacy](https://www.openproject.org/security-and-privacy/). - - ## Security announcements mailing list If you want to receive immediate security notifications via email as we publish them, please sign up to our security mailing list: https://www.openproject.org/security-and-privacy/#mailing-list. @@ -26,14 +24,10 @@ To unsubscribe, you will find a link at the end of every email. Any security related information will also be published on our [blog](https://www.openproject.org/blog/) and in the [release notes](../../release-notes/). - - ## Security advisory list OpenProject uses GitHub to manage and publish security advisory listings: https://github.com/opf/openproject/security/advisories - - ## Security vulnerability processing When we receive vulnerability reports from researchers or through internal identification, the following process is taking place immediately: @@ -47,8 +41,6 @@ When we receive vulnerability reports from researchers or through internal ident 7. A patch release is created, published and distributed for all supported installations 8. The security vulnerability is publicly disclosed on GitHub and communicated through the mailing list - - ## Reporting a vulnerability We take all facets of security seriously at OpenProject. If you want to report a security concerns, have remarks, or contributions regarding security at OpenProject, please reach out to us at [security@openproject.com](mailto:security@openproject.com). @@ -63,7 +55,6 @@ Please include a description on how to reproduce the issue if possible. Our secu > **Please note:** OpenProject currently does not offer a bug bounty program. We will do our best to give you the appropriate credits for responsibly disclosing a security vulnerability to us. We will gladly reference your work, name, website on every publication we do related to the security update. - ## OpenProject security features ### Authentication and password security @@ -98,6 +89,4 @@ Synchronize OpenProject users and groups with your company’s LDAP to update us With the single sign-on feature you can securely access OpenProject. Control and secure access to your projects with the main authentication providers. - - Find out more about our [GDPR compliance](../../enterprise-guide/enterprise-cloud-guide/gdpr-compliance/). diff --git a/docs/system-admin-guide/README.md b/docs/system-admin-guide/README.md index 989d4b31cbd8..b98afd99e6c7 100644 --- a/docs/system-admin-guide/README.md +++ b/docs/system-admin-guide/README.md @@ -17,8 +17,6 @@ Click on one of the categories in order to proceed with the configuration. ![openproject_system_administration_start_page](openproject_system_administration_start_page.png) - - ## Overview | Topic | Content | diff --git a/docs/system-admin-guide/api-and-webhooks/README.md b/docs/system-admin-guide/api-and-webhooks/README.md index 18d02cecac42..a03ff1f31db2 100644 --- a/docs/system-admin-guide/api-and-webhooks/README.md +++ b/docs/system-admin-guide/api-and-webhooks/README.md @@ -58,4 +58,3 @@ You can configure the following options for webhooks: **Note** You have to scroll down to find the create button. There you can also cancel your input. ![create-button-new-webhook](create-button-new-webhook.png) - diff --git a/docs/system-admin-guide/attachments/README.md b/docs/system-admin-guide/attachments/README.md index c02cb1a352b1..98a7aed79ffa 100644 --- a/docs/system-admin-guide/attachments/README.md +++ b/docs/system-admin-guide/attachments/README.md @@ -14,8 +14,6 @@ In OpenProject you can determine the maximum attachment size and activate the vi ![Navigation to attachment settings in OpenProject](openproject_system_adminstration_attachments.png) - - ## Attachment settings 1. Here you can increase or decrease **maximum attachment size** (in kB). @@ -31,8 +29,6 @@ In OpenProject you can determine the maximum attachment size and activate the vi ![attachment settings](openproject_system_adminstration_attachment_settings.png) - - ## Virus scanning (Enterprise-add-on) For information about virus scanning, please see the [documentation on virus scanning](./virus-scanning/). diff --git a/docs/system-admin-guide/attachments/virus-scanning/README.md b/docs/system-admin-guide/attachments/virus-scanning/README.md index 3601c52f71d8..8e265866fa69 100644 --- a/docs/system-admin-guide/attachments/virus-scanning/README.md +++ b/docs/system-admin-guide/attachments/virus-scanning/README.md @@ -9,6 +9,7 @@ keywords: Virus scanning, clamav --- # Virus scanning (Enterprise add-on) +> > **Note**: This functionality is an Enterprise add-on. It is currently not available on the Hosted Enterprise Cloud. You can configure OpenProject to automatically scan uploaded attachments for viruses using the [ClamAV antivirus](https://www.clamav.net/) engine. @@ -27,8 +28,6 @@ On a packaged installation, you can simply install ClamAV locally on your distri When installed as a package on the same server, you can configure OpenProject to use the `ClamAV socket` mode of operation, which uses a local unix socket to communicate with ClamAV. - - **Debian, Ubuntu distributions** ClamAV is part of the standard packages and can be installed as a daemon just like this: @@ -39,8 +38,6 @@ apt-get install clamav clamav-daemon The installer will launch a `clamd` daemon that can be used to transmit files to the daemon for scanning. A `freshclam` daemon is also started to ensure the definitions are kept up-to-date. In any case, double-check the configuration and ensure they are running. - - **RHEL Linux, Centos** On RedHad Enterprise Linux and Centos, you need to install the epel-release packages first, followed by ClamaV @@ -52,8 +49,6 @@ dnf install -y clamav clamd clamav-update For these distributions, you need to manually create the configuration files for `freshclam` and `clamd`. For more information, see https://docs.clamav.net/manual/Installing.html#rpm-packages-for-centos-redhat-fedora-suse-etc - - ### Docker To run ClamAV in Docker, follow this guide: https://docs.clamav.net/manual/Installing/Docker.html. @@ -70,8 +65,6 @@ docker run -it --rm \ This will publish the `clamd` TCP connection on port `3310`. - - **Docker-Compose** On docker compose, you can register clamav as a separate service to have hostname resolution: @@ -92,8 +85,6 @@ services: In both these cases, use the `ClamAV (Host)` option with `clamav:3310` as the host value. - - ## Configuration in OpenProject To enable the virus scanning functionality, visit *Administration > Attachments > Virus scanning*. @@ -136,4 +127,3 @@ If viruses are found, they are treated according to the *Infected file action* s - Quarantine: The files are still visible in the container (e.g., in the work package they were uploaded in), but are no longer accessible. A comment is made to inform users about it. - Delete: The file is deleted straight away. A comment is made to inform the users about it. - diff --git a/docs/system-admin-guide/attribute-help-texts/README.md b/docs/system-admin-guide/attribute-help-texts/README.md index 3f10263a03f5..1598db6006db 100644 --- a/docs/system-admin-guide/attribute-help-texts/README.md +++ b/docs/system-admin-guide/attribute-help-texts/README.md @@ -28,8 +28,6 @@ Navigate to -> *Administration* -> *Attribute help texts* to set up help texts f ![image-20201006165832885](image-20201006165832885.png) - - ## Add Attribute help texts To add an Attribute help texts for custom fields click on the green **+ Attribute help text** button. @@ -41,8 +39,6 @@ To add an Attribute help texts for custom fields click on the green **+ Attribut ![image-20201006171019961](image-20201006171019961.png) - - Be aware that the help text will be visible in all projects. Once you configured the help text for an attribute, project members can see the explanation. The will see a question mark item next to the attribute. @@ -51,8 +47,6 @@ When the users click on it, they see the description for this attribute. ![attribute help text description](image-20200122102249268.png) - - ## Edit or delete Attribute help texts Navigate to -> *Administration* -> *Work packages* -> *Attribute help texts* in order to edit or remove an attribute help text. @@ -68,8 +62,6 @@ The Attribute help texts for work packages will be displayed in the [details vie ![Sys-admin-attribute-help-texts-open](Sys-admin-attribute-help-texts-open.png) - - ## Projects The Attribute help texts for projects will be displayed in the Project details widget in the [Project overview](../../user-guide/project-overview/) (as in the first screenshot below) and in the [Project settings](../../user-guide/projects/project-settings/project-information/) (as in the second screenshot below). @@ -78,12 +70,8 @@ They will help the users (e.g. the project managers) understand what kind of inf ![Attribute help texts project overview](image-20201007112035870.png) - - ![Attribute help texts project information](image-20201007112741049.png) - - ## WYSIWYG editor The Attribute help texts can also be displayed in the WYSIWYG text editor by using a certain syntax. Find out more [here](../../user-guide/wysiwyg/#embedding-of-work-package-attributes-and-project-attributes). diff --git a/docs/system-admin-guide/authentication/README.md b/docs/system-admin-guide/authentication/README.md index 15b012db23dd..82254bffe7c2 100644 --- a/docs/system-admin-guide/authentication/README.md +++ b/docs/system-admin-guide/authentication/README.md @@ -22,4 +22,3 @@ Configure **authentication** settings and authentication providers in OpenProjec | [reCAPTCHA](recaptcha) | How to activate reCAPTCHA in OpenProject. | | [LDAP authentication](ldap-authentication) | How to set up LDAP authentication in OpenProject. | | [LDAP group synchronization](ldap-authentication/ldap-group-synchronization) | How to configure LDAP group synchronization in OpenProject. (Enterprise add-on) | - diff --git a/docs/system-admin-guide/authentication/authentication-faq/README.md b/docs/system-admin-guide/authentication/authentication-faq/README.md index 9e978c489b91..16fbfff15f77 100644 --- a/docs/system-admin-guide/authentication/authentication-faq/README.md +++ b/docs/system-admin-guide/authentication/authentication-faq/README.md @@ -7,6 +7,7 @@ keywords: authentication FAQ, LDAP, SAML, SSO --- # Frequently asked questions (FAQ) for authentication + Additional information regarding the use of LDAP from a user management perspective can be found [in this FAQ section](../../users-permissions/users-permissions-faq). ## How do I set up OAuth / Google authentication in the Enterprise cloud? @@ -19,7 +20,6 @@ Disabling the Google based authentication is currently not possible for cloud ba For on premises installations the functionality can be deactivated the same way it was activated. - ## Can we ensure that passwords are secure / have a high strength? Password parameters for OpenProject can be configured on each OpenProject environment. Typically passwords require 10+ characters, as well as special characters. Please find the respective instruction [here](../authentication-settings/#configure-password-settings). diff --git a/docs/system-admin-guide/authentication/kerberos/README.md b/docs/system-admin-guide/authentication/kerberos/README.md index 8443606aadf6..4513ae82b5d8 100644 --- a/docs/system-admin-guide/authentication/kerberos/README.md +++ b/docs/system-admin-guide/authentication/kerberos/README.md @@ -15,18 +15,12 @@ keywords: Kerberos, authentication This guide will also apply for Docker-based installation, if you have an outer proxying server such as Apache2 that you can configure to use Kerberos. This guide however focuses on the packaged installation of OpenProject. - - ## Step 1: Create Kerberos service and keytab for OpenProject Assuming you have Kerberos set up with a realm, you need to create a Kerberos service Principal for the OpenProject HTTP service. In the course of this guide, we're going to assume your realm is `EXAMPLE.COM` and your OpenProject installation is running at `openproject.example.com`. - - Create the service principal (e.g. using `kadmin`) and a keytab for OpenProject used for Apache with the following commands: - - ```shell # Assuming you're in the `kadmin.local` interactive command @@ -34,8 +28,6 @@ addprinc -randkey HTTP/openproject.example.com ktadd -k /etc/apache2/openproject.keytab HTTP/openproject.example.com ``` - - This will output a keytab file for the realm selected by `kadmin` (in the above example, this would create all users from the default_realm) to `/etc/openproject/openproject.keytab` You still need to make this file readable for Apache. For Debian/Ubuntu based systems, the Apache user and group is `www-data`. This will vary depending on your installation @@ -45,8 +37,6 @@ sudo chown www-data:www-data /etc/apache2/openproject.keytab sudo chmod 400 /etc/apache2/openproject.keytab ``` - - ## Step 2: Configure Apache web server First, ensure that you install the `mod_auth_kerb` apache module. The command will vary depending on your installation. On Debian/Ubuntu based systems, use the following command to install: @@ -100,8 +90,6 @@ We are going to create a new file `/etc/openproject/addons/apache2/custom/vhost/ ``` - - ## Step 3: Configure OpenProject to use Apache header As the last step, you need to tell OpenProject to look for the `X-Authenticated-User` header and the `MyPassword` secret value. The easiest way to do that is using ENV variables @@ -123,22 +111,16 @@ openproject config:set OPENPROJECT_AUTH__SOURCE__SSO_OPTIONAL=true Please note the differences between single underscores (`_`) and double underscores (`__`) in these environment variables, as the single underscore denotes namespaces. - - ## Step 4: Restart the server Once the configuration is completed, restart your OpenProject and Apache2 server with `service openproject restart` and `service apache2 restart` . Again these commands might differ depending on your Linux distribution. - - ## Step 5: Log in From there on, you will be forced to the Kerberos login flow whenever accessing OpenProject. For existing users that will be found by their login attribute provided in the `X-Authenticated-User`, they will be automatically logged in. For non-existing users, if you have an LDAP configured with automatic user registration activated (check out our [LDAP authentication guide](../../../system-admin-guide/authentication/ldap-authentication/) for that), users will be created automatically with the attributes retrieved from the LDAP. - - ## Known issues ### Using the OpenProject REST API @@ -149,7 +131,6 @@ As Kerberos provides its own Basic Auth challenges if configured as shown above, To work around this, you will have to configure a separate route to access the API, bypassing the Kerberos configuration. You can do that by modifying the `/etc/openproject/addons/apache2/custom/vhost/kerberos.conf`as follows: - ```apache # Add a Proxy for a separate route # Replace /openproject/ with your own relative URL root / path prefix diff --git a/docs/system-admin-guide/authentication/ldap-authentication/README.md b/docs/system-admin-guide/authentication/ldap-authentication/README.md index 693a16666257..abe7497a632b 100644 --- a/docs/system-admin-guide/authentication/ldap-authentication/README.md +++ b/docs/system-admin-guide/authentication/ldap-authentication/README.md @@ -22,18 +22,12 @@ You will then be able to specify the LDAP configuration. This can be any direct The following screenshots contain an exemplary configuration for a new LDAP authentication mode. In the following, we will go through all available options. - - ### LDAP connection details and security ![Adding a new LDAP authentication server](ldap-host-and-security.png) - - In the upper section, you have to specify the connection details of your LDAP server as well as the connection encryption to use. - - - **Name:** Arbitrary identifier used to show which authentication source a user is coming from (e.g., in the [Administration > Users view](../../users-permissions/users/)) - **Host:** Full hostname to the LDAP server - **Port :** LDAP port. Will usually be 389 for LDAP and StartTLS and 636 for LDAP over SSL connections. @@ -49,30 +43,21 @@ In the upper section, you have to specify the connection details of your LDAP se - **LDAP server SSL certificate**: If the LDAP server's certificate is not trusted on the system that the OpenProject server runs on, you have the option to specify one or multiple PEM-encoded X509 certificates. This certificate might be the LDAP server's own certificate, or an intermediate or root CA that you trust for the sake of this connection. - ### LDAP system user credentials ![Defining the system user of the connection](ldap-system-user.png) - - Next, you will need to enter a system user that has READ access to the users for identification and synchronization purposes. Note that most operations to the LDAP during authentication will not be using these credentials, but the user-provided credentials in the login form in order to perform a regular user bind to the LDAP. - - - **Account:** The full DN of a system users used for looking up user details in the LDAP. It must have read permissions under the Base DN. This will not be used for the user bind upon authentication. - **Password:** The bind password of the system user’s DN above. - - ### LDAP details ![Defining the details of the connection](ldap-details.png) Next you can define what sections OpenProject will look for in the LDAP and also if users should be created automatically in OpenProject when they are accessing it. Let's look at the available options: - - - **Base DN**: Enter the Base DN to search within for users and groups in the LDAP tree - **Filter string**: Enter an optional [LDAP RFC4515 filter string](https://datatracker.ietf.org/doc/html/rfc4515) to further reduce the returned set of users. This allows you to restrict access to OpenProject with a very flexible filter. For group synchronization, only users matching this filter will be added as well. - **Automatic user creation:** Check to automatically create users in OpenProject when they first login in OpenProject. It will use the LDAP attribute mapping below to fill out required attributes. The user will be forwarded to a registration screen to complete required attributes if they are missing in the LDAP. @@ -95,25 +80,18 @@ The attribute mapping is used to identify attributes of OpenProject with attribu - **Email:** The attribute name in the LDAP that maps to the user’s mail address. This will usually be *mail.* If left empty, user will be prompted to enter upon registration if **automatic user creation** is true. - **Admin:** Specify an attribute that if it has a truthy value, results in the user in OpenProject becoming an admin account. Leave empty to never set admin status from LDAP attributes. - - Lastly, click on *Create* to save the LDAP authentication mode. You will be redirected to the index page with the created authentication mode. Click the *test* button to create a test connection using the system user’s bind credentials. ![LDAP authentication mode created](ldap-index-page.png) - - With the [OpenProject Enterprise edition](https://www.openproject.org/enterprise-edition/) it is possible to [synchronize LDAP and OpenProject groups](./ldap-group-synchronization). - ## Multiple LDAP connections OpenProject supports multiple LDAP connections to source users from. The user's authentication source is remembered the first time it is created (but can be switched in the administration backend). This ensures that the correct connection / LDAP source will be used for the user. Duplicates in the unique attributes (login, email) are not allowed and a second user with the same attributes will not be able to login. Please ensure that amongst all LDAP connections, a unique attribute is used that does not result in conflicting logins. - - ## LDAP connections through seeding / Environment variables OpenProject allows you to define an LDAP connection (and optionally, synchronized group filters for enterprise editions) through a configuration or environment variable. diff --git a/docs/system-admin-guide/authentication/ldap-authentication/ldap-group-synchronization/README.md b/docs/system-admin-guide/authentication/ldap-authentication/ldap-group-synchronization/README.md index 82bb9e446aa6..be22ba16c968 100644 --- a/docs/system-admin-guide/authentication/ldap-authentication/ldap-group-synchronization/README.md +++ b/docs/system-admin-guide/authentication/ldap-authentication/ldap-group-synchronization/README.md @@ -32,7 +32,6 @@ LDAP group synchronization augments the memberships defined by administrators i - Group synchronization have to be enabled by an administrator by creating a *synchronized LDAP group* that ties the OpenProject group to an LDAP entry. - Only synchronized memberships will be removed from the OpenProject group. If you want to add a user outside your LDAP authentication to an OpenProject group, you can safely do so without the membership being removed. - ## Configure LDAP group synchronization filters Instead of manually synchronizing groups from a given DN, you can also create filter objects that will query the LDAP not only for group members, but the groups themselves. @@ -56,8 +55,6 @@ Click on *Create* to finish the creation of the synchronized filter. This filte **Note:** If you manually create a synchronized group that is also found by a filter, its properties (such as the *Sync users* setting) is being overridden by the filter setting. - - ## Configure synchronized LDAP groups In order to get to the LDAP group sync administration pane, expand the LDAP authentication menu item in your administration. @@ -77,8 +74,6 @@ To create a new synchronized group, use the button on the top right of the page - **Sync users:** Check this option if you want members of this group to be automatically created in OpenProject. When unchecked, only members of the group that also are existing users in OpenProject can be synchronized. - **Group:** Select an OpenProject group you want the members of the LDAP group to synchronize to. - - Click on *Create* to finish the creation of the synchronized group. The LDAP memberships of each user will be synchronized hourly through a background job on your packaged installation. Changes and output will be logged to */var/log/openproject/cron-hourly.log*. If you want to trigger the synchronization *manually* you can do so by running the respective rake task directly. @@ -88,13 +83,10 @@ In the packaged installation, for instance, this would work like this: sudo openproject run bundle exec rake ldap_groups:synchronize ``` - - This method of creating synchronized groups is well-suited for a small number of groups, or a very individual set of groups that you need to synchronize. It is very flexible by allowing individual groups to synchronize users into OpenProject. If you need to synchronize a large number of groups that follow a common pattern, consider using the following filter functionality. - ## FAQ ### Are nested / recursive LDAP groups supported? @@ -104,18 +96,12 @@ However, there is a feature ticket for this in the wish list: https://community. If you'd like to voice your interest in this feature, please comment it with your use-case to provide visibility. - - ## Troubleshooting - - ### LDAP groups are not being synchronized Please double check the DN of the groups and the LDAP connection. The base DN of the LDAP connection and the DN must share a common hierarchy. Otherwise, the group DN will not be found by the connection, as the base DN is used for all subsequent queries for the lifetime of the connection. - - ### Users are not being synchronized For users to be automatically synchronized, the following conditions need to be met: diff --git a/docs/system-admin-guide/authentication/oauth-applications/README.md b/docs/system-admin-guide/authentication/oauth-applications/README.md index 79533644d9c2..30da9379863d 100644 --- a/docs/system-admin-guide/authentication/oauth-applications/README.md +++ b/docs/system-admin-guide/authentication/oauth-applications/README.md @@ -116,7 +116,6 @@ The response will look like this: The response contains the bearer token ("access_token") and a refresh token that you will need when working with the API. Please copy the tokens for reference. - ### Perform a request to the OpenProject API with OAuth token With the token that you obtained above you can now make API calls to the OpenProject instance on behalf of the current user. diff --git a/docs/system-admin-guide/authentication/openid-providers/README.md b/docs/system-admin-guide/authentication/openid-providers/README.md index 1a80557a4d7a..6fb9fc175f67 100644 --- a/docs/system-admin-guide/authentication/openid-providers/README.md +++ b/docs/system-admin-guide/authentication/openid-providers/README.md @@ -7,7 +7,6 @@ keywords: OpenID providers --- # OpenID providers - | Topic | Content | | ------------------------------------------------------------ | ------------------------------------------------------------ | | [Google Workspace](#google-workspace) | How to use Google Workspace as an SSO provider for OpenProject? | @@ -33,11 +32,8 @@ You can configure the following options. When checked, users will be created according to the [self-registration setting](../authentication-settings). 6. Press the blue **create** button. - ## Google Workspace - - ### Step 1: Create the OAuth consent screen 1. Navigate to your GCP console. (https://console.cloud.google.com/) @@ -45,8 +41,6 @@ When checked, users will be created according to the [self-registration setting] ![g1-apis-and-services-oauth-consent-screen](g1-apis-and-services-oauth-consent-screen.png) - - 3. Create a new project and a new app or edit an existing project and an existing app, setting the following fields (shall be Internal): 1. **App name** (e.g. EXAMPLE.COM SSO) 2. **User support email** (e.g. user-support@example.com) @@ -60,8 +54,6 @@ When checked, users will be created according to the [self-registration setting] 4. **Scopes** - Press **SAVE AND CONTINUE** 5. **Summary** - Press **SAVE AND CONTINUE** - - ### Step 2: Create the OAuth Client 1. Under **APIs & Services**, go to **Credentials**. @@ -87,8 +79,6 @@ After pressing **CREATE** you will get a pop-up window like the following ![g5-oauth-client-created](g5-oauth-client-created.png) - - ### Step 3: Add Google as an OpenID Provider to OpenProject 1. Login as OpenProject Administrator @@ -105,10 +95,6 @@ After pressing **CREATE** you will get a pop-up window like the following ![g7-successful-creation-google](g7-successful-creation-google.png) - - - - ## Azure Active Directory ### Step 1: Register an App in Azure Active Directory @@ -208,5 +194,4 @@ exit Then, existing users should be able to log in using their Azure identity. Note that this works only if the user is using password-based authentication, and is not linked to any other authentication source (e.g. LDAP) or OpenID provider. - Note that this setting is set to true by default for new installations already. diff --git a/docs/system-admin-guide/authentication/saml/README.md b/docs/system-admin-guide/authentication/saml/README.md index 1141c9c26502..67d3e33962dc 100644 --- a/docs/system-admin-guide/authentication/saml/README.md +++ b/docs/system-admin-guide/authentication/saml/README.md @@ -40,8 +40,6 @@ The configuration can be provided in one of two ways: * for OpenProject version 11 and older in `config/configuration.yml` file (1.3) - - Whatever means are chosen, the plugin simply passes all options to omniauth-saml. See [their configuration documentation](https://github.com/omniauth/omniauth-saml#usage) for further details. The options are mutually exclusive. If you decide to save settings in the database, they will override any ENV variables you might have set. (*For OpenProject version 11 and older:* If settings are already provided via ENV variables, they will overwrite settings in a `configuration.yml` file.) @@ -156,8 +154,6 @@ Setting.plugin_openproject_auth_saml = Hash(Setting.plugin_openproject_auth_saml }) ``` - - #### 1.3 config/configuration.yml file > **NOTE**: ONLY for OpenProject version 11 and older @@ -289,7 +285,6 @@ default: last_name: ['sn'] ``` - #### 2.3 Optional: Set the attribute format By default, the attributes above will be requested with the format `urn:oasis:names:tc:SAML:2.0:attrname-format:basic`. @@ -326,8 +321,6 @@ default: last_name: ['urn:oid:2.5.4.4'] ``` - - #### 2.4 Optional: Request signature and Assertion Encryption Your identity provider may optionally encrypt the assertion response, however note that with the required use of TLS transport security, in many cases this is not necessary. You may wish to use Assertion Encryption if TLS is terminated before the OpenProject application server (e.g., on the load balancer level). @@ -371,8 +364,6 @@ default: With request signing enabled, the certificate will be added to the identity provider to validate the signature of the service provider's request. - - #### 2.5. Optional: Restrict who can automatically self-register You can configure OpenProject to restrict which users can register on the system with the [authentication self-registration setting](../authentication-settings) @@ -387,7 +378,6 @@ default: limit_self_registration: true ``` - #### 2.6. Optional: Set name_identifier_format There are a number of name identifier formats that are relevant, so if you have specific requirements or configuration on the identity provider side, you might need to set the name_identifier_format property. @@ -426,14 +416,10 @@ When you return from the authentication provider, you might be shown one of thes 3. You are being redirected to the account registration modal as user name or email is already taken. In this case, the account you want to authenticate already has an internal OpenProject account. You need to follow the [Troubleshooting](#troubleshooting) guide below to enable taking over that existing account. 4. You are getting an internal or authentication error message. This is often a permission or invalid certificate/fingerprint configuration. Please consult the server logs for any hints OpenProject might log there. - - ## Instructions for common SAML providers In the following, we will provide configuration values for common SAML providers. Please note that the exact values might differ depending on your idP's version and configuration. If you have additions to these variables, please use the "Edit this file" functionality in the "Docs feedback" section of this documentation. - - ### ADFS For ADFS, you need add OpenProject as a "relying part trust" entry within the ADFS management screen. Please follow this guide to be guided through the steps: https://learn.microsoft.com/en-us/windows-server/identity/ad-fs/operations/create-a-relying-party-trust @@ -470,8 +456,6 @@ Add the following Claim rules: | Surname | `sn` | | Given-name | `givenName` | - - #### Export the ADFS public certificate OpenProject needs the certificate or fingerprint of the ADFS to validate the signature of incoming tokens. Here are the steps on how to do that: @@ -483,12 +467,8 @@ OpenProject needs the certificate or fingerprint of the ADFS to validate the sig - Export the file and move it to the OpenProject instance or open a shell - Run the command `awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' ` - - #### Set up OpenProject for ADFS integration - - In OpenProject, these are the variables you will need to set. Please refer to the above documentation for the different ways you can configure these variables OpenProject ```shell @@ -505,8 +485,6 @@ OPENPROJECT_SAML_SAML_ISSUER="https://" OPENPROJECT_SAML_SAML_IDP__CERT="" ``` - - ### Keycloak In Keycloak, use the following steps to set up a SAML integration OpenProject: @@ -529,8 +507,6 @@ You will be forwarded to the settings tab of the new client. Change these setti Go the "Mappers" tab and create the following mappers. Note that the "User attribute" values might differ depending on your LDAP or Keycloak configuration. - - | Mapper Type | User Attribute | Friendly Name | SAML Attribute Name | SAML Attribute NameFormat | | -------------- | -------------- | ------------- | ------------------- | ------------------------- | | User Attribute | uid | uid | uid | Basic | @@ -563,8 +539,6 @@ OPENPROJECT_SAML_SAML_IDP__CERT=" SAML 2.0 Identity Provider Metadata". This will include URLs for the `SingleSignOnService` and `SingleLogoutService`. - - ## Troubleshooting **Q: After clicking on a provider badge, I am redirected to a signup form that says a user already exists with that login.** @@ -584,7 +558,6 @@ Then, existing users should be able to log in using their SAML identity. Note th Note that this setting is set to true by default for new installations already. - **Q: Could the users be automatically logged in to OpenProject if they are already authenticated at the SAML Identity Provider?** A: You are able to chose a default direct-login-provider in the by using environment variables @@ -595,11 +568,8 @@ OPENPROJECT_OMNIAUTH__DIRECT__LOGIN__PROVIDER="saml" [Read more](../../../installation-and-operations/configuration/#omniauth-direct-login-provider) - - **Q:** `"certificate"` **and** `"private key"` **are used in the SAML configuration and openproject logs show a FATAL error after GET "/auth/saml"** `**FATAL** -- : OpenSSL::PKey::RSAError (Neither PUB key nor PRIV key: nested asn1 error):` A1: The given private_key is encrypted. The key is needed without the password (cf., [see](https://github.com/onelogin/ruby-saml/issues/473)) A2: The provided key pair is not an RSA key. ruby-saml might expect an RSA key. - diff --git a/docs/system-admin-guide/backup/README.md b/docs/system-admin-guide/backup/README.md index 4890f5a83767..c4350e223da9 100644 --- a/docs/system-admin-guide/backup/README.md +++ b/docs/system-admin-guide/backup/README.md @@ -29,8 +29,6 @@ The system generates the token which you then fill in where requested in the fie Each time you request a backup this token has to be provided. This also applies when requesting a backup via the API where on top of the API token the _backup token_ will have to be provided as well. - - ## Notifications Each time a _backup token_ is created or reset an email notification will be sent to all administrators take make everyone aware that there is a new user with access to backups. diff --git a/docs/system-admin-guide/custom-fields/README.md b/docs/system-admin-guide/custom-fields/README.md index 958bf081c0f7..65753b750435 100644 --- a/docs/system-admin-guide/custom-fields/README.md +++ b/docs/system-admin-guide/custom-fields/README.md @@ -41,8 +41,6 @@ Depending on the module, for which the new custom field is being created, sligh 9. Specify if the new custom field should be **searchable** via the global search. 10. **Save** the new custom field. - - ## Assign a custom field to a work package type and project > **Note**: Custom fields need to be activated per work package type and per project. Work package custom fields are only visible when two conditions are met: @@ -66,8 +64,6 @@ To **delete** a custom field, click on the delete icon next to the respective cu ![Edit or delete a custom field in OpenProject administration](system-admin-edit-delete-custom-field.png) - - ## Create a multi-select custom field For work package custom fields of type **List** and **User** you may also select **multi-select custom fields** to select more than one value at once. diff --git a/docs/system-admin-guide/design/README.md b/docs/system-admin-guide/design/README.md index ead248f286cb..3da56ca75e90 100644 --- a/docs/system-admin-guide/design/README.md +++ b/docs/system-admin-guide/design/README.md @@ -34,8 +34,6 @@ Press the Save button to apply your changes. The theme will then be changed. ![System-admin-guide_color-theme](System-admin-guide_color-theme.png) - - ## Upload a custom logo To replace the default OpenProject logo with your own logo, make sure that your logo has the dimensions 460 by 60 pixels. Select the *Browse* button and select the file from your hard drive to upload it. @@ -72,4 +70,3 @@ To do this change the color values (entered as color hex code) in the *Advanced ![Advanced color settings in OpenProject](openproject_system_guide_design_advanced_settings_primer.png) As soon as you press the **Save** button your changes are applied and the colors of your OpenProject environment are adjusted accordingly. - diff --git a/docs/system-admin-guide/design/pdf-export-styles/README.md b/docs/system-admin-guide/design/pdf-export-styles/README.md index 6e6bde768ceb..0ab461f0659b 100644 --- a/docs/system-admin-guide/design/pdf-export-styles/README.md +++ b/docs/system-admin-guide/design/pdf-export-styles/README.md @@ -1122,6 +1122,7 @@ subject_level_3: | - | - | - | | … | See [Font properties](#font-properties) | | | … | See [Margin properties](#margin-properties) | | + ## Units available units are diff --git a/docs/system-admin-guide/enumerations/README.md b/docs/system-admin-guide/enumerations/README.md index 153e1d50edc0..055591a30db0 100644 --- a/docs/system-admin-guide/enumerations/README.md +++ b/docs/system-admin-guide/enumerations/README.md @@ -11,9 +11,6 @@ keywords: enumerations, time tracking, priority, document categories **Enumerations** is a menu item in admin settings that allows the configuration of Activities (for time tracking), project status and work package priorities.
- - - To get an overview of existing enumeration values for all of these categories, navigate to *Administration -> Enumerations*. You will see the enumerations overview, divided into respective sections. ![enumerations](image-20200122161732016.png) @@ -40,6 +37,4 @@ You will then be able to name the value, activate it and choose if it should be To **change the color of work package priorities** choose the respective priority in the section Work package priorities. - - > **Note**: To activate the [Activities for time tracking](../../user-guide/projects/project-settings/activities-time-tracking) in a certain project, navigate to *Project settings -> Time tracking activities*. diff --git a/docs/system-admin-guide/file-storages/README.md b/docs/system-admin-guide/file-storages/README.md index 38619db2f8d0..57cdb6a5eaf2 100644 --- a/docs/system-admin-guide/file-storages/README.md +++ b/docs/system-admin-guide/file-storages/README.md @@ -35,4 +35,3 @@ For instructions on using the integration after the setup has been complete plea ## File storage troubleshooting For troubleshooting guidance related to file storages, visit the [File storage troubleshooting](./file-storage-troubleshooting) page. Here you will find possible explanations and suggested solutions. If you encounter any challenges not addressed here, do not hesitate to reach out to the [OpenProject community](https://community.openproject.org/projects/openproject/forums) or [support team](https://www.openproject.org/contact/) for further assistance. - diff --git a/docs/system-admin-guide/initial-setup/README.md b/docs/system-admin-guide/initial-setup/README.md index 985e43933da4..65ec20b338d2 100644 --- a/docs/system-admin-guide/initial-setup/README.md +++ b/docs/system-admin-guide/initial-setup/README.md @@ -11,8 +11,6 @@ keywords: initial setup, initial configuration in frontend This section will guide you through some basic recommendations for setting up your OpenProject instance as a system administrator and for preparing it for its users. For the backend setup and initial technical configurations for on-premise editions please have a look at the [respective section](../../installation-and-operations/installation/packaged/#initial-configuration) in the installation guide. - - Before adding users we recommend to check and configure the following topics: | Topic | What to set up | diff --git a/docs/system-admin-guide/integrations/excel-synchronization/README.md b/docs/system-admin-guide/integrations/excel-synchronization/README.md index e9576ea99dc8..d78bbbbc1a06 100644 --- a/docs/system-admin-guide/integrations/excel-synchronization/README.md +++ b/docs/system-admin-guide/integrations/excel-synchronization/README.md @@ -50,7 +50,6 @@ Unfortunately, there is no way to create relation with translated terms via API - ## Step-by-step guide ### Setting-up the Excel list @@ -73,14 +72,10 @@ Unfortunately, there is no way to create relation with translated terms via API ![Enable-content-and-macros](Enable-content-and-macros-1594297486714.png) - - 7. Enter settings (URL and API-Token) and choose a project (and optional a work package query) which you want to synchronize your data with. ![Choose-project-900x479@2x](Choose-project-900x479@2x.png) - - **URL**: the URL of your OpenProject instance. **API-Token**: can be generated within your OpenProject installation ->*My Account* -> *Access token*. Generate a new API token and copy & paste it to this form. **Project**: this is the project identifier which can be found within the project you want to synchronize -> *Project settings* -> *Information*. It is also shown in the URL if you open a project. @@ -105,14 +100,10 @@ Copy and paste all data accordingly from your existing Excel list to this sheet. ![Select-columns](Select-columns.png) - - 11. Important: **Ctrl + B** will open the synchronization module to choose between the following options: ![Ctrl-B](Ctrl-B.png) - - **Download work packages**: initially downloads all work packages from the selected project (and query). **Upload / update work packages**: makes changes to the work packages, e.g. adding new work packages or changing any information. This option needs to be chosen in order to initially import and existing Excel list. **Show chosen project**: Opens the settings to adapt URL, API key, project or query ID. @@ -121,8 +112,6 @@ Congratulations! You can now synchronize your data between Excel and OpenProject ![Excel-OpenProject-synch-900x630@2x](Excel-OpenProject-synch-900x630@2x.png) - - 12. To synchronize hierarchies (Parent and child relations), insert the column **Parent** within the header of the Excel Sheet as described above (screen 10). To add or edit a new parent-child relation, you have two possibilities: @@ -139,8 +128,6 @@ Click *OK* when the screen for the Search characters (screen 13) appears. The ID ![Search-character-parent](Search-character-parent.png) - - Pressing **Cancel** will ignore the Hierarchy – no matter what has been inserted. This is relevant for option B: **B)** you can edit the IDs in the parent column manually. If you have edited the IDs manually in the parent column, just click *Cancel* when the above Search character option (screen 13) appears. Then, the hierarchy will be updated according to the IDs in the column *Parent*. @@ -149,6 +136,4 @@ Pressing **Cancel** will ignore the Hierarchy – no matter what has been insert ![Parent-child-OpenProject](Parent-child-OpenProject.png) - - Hopefully, this will save you lots of time to import all your old Excel To-Do lists and get started with OpenProject for project management. diff --git a/docs/system-admin-guide/integrations/gitlab-integration/README.md b/docs/system-admin-guide/integrations/gitlab-integration/README.md index d60b037c062b..2dd08e73e522 100644 --- a/docs/system-admin-guide/integrations/gitlab-integration/README.md +++ b/docs/system-admin-guide/integrations/gitlab-integration/README.md @@ -30,9 +30,11 @@ Merge request activities will also show up in the Activity tab when the merge re ![GitLab comments on work package activity tab](openproject-system-guide-gitlab-integration-activity-tab.png) ## Configuration + You will first have to configure both OpenProject and GitLab for the integration to work. ### OpenProject + First you will need to create a user in OpenProject that has the permission to make comments. This role only requires two permissions, *View work packages* and *Add notes*, which you will find in the **Work packages and Gantt charts** section under [**Roles and Permissions**](../../users-permissions/roles-permissions/). ![GitLab role with required permissions in OpenProject](openproject-system-guide-gitlab-integration-role.png) @@ -80,15 +82,17 @@ You will need the API key you copied earlier in OpenProject. Append it to the *U > - Merge request events > - Pipeline events ->**Note**: If you are in a local network you might need to allow requests to the local network in your GitLab instance. ->You can find this settings in the **Outbound requests** section when you navigate to **Admin area -> Settings -> Network**. +> **Note**: If you are in a local network you might need to allow requests to the local network in your GitLab instance. +> You can find this settings in the **Outbound requests** section when you navigate to **Admin area -> Settings -> Network**. We recommend that you enable the **SSL verification** before you **Add webhook**. Now the integration is set up on both sides and you can use it. ## Using GitLab integration + ### Create merge requests + As merge requests are based on branches, a new branch needs to be created first. For that, open the GitLab tab in your OpenProject work package detailed view. Click on **Git snippets** to extend the menu. First, copy the branch name by clicking the corresponding button. ![Copy the branch name for GitLab in OpenProject](openproject-system-guide-gitlab-integration-branch-name.png) diff --git a/docs/system-admin-guide/integrations/nextcloud/README.md b/docs/system-admin-guide/integrations/nextcloud/README.md index f49ae5516dc1..8a8354e94757 100644 --- a/docs/system-admin-guide/integrations/nextcloud/README.md +++ b/docs/system-admin-guide/integrations/nextcloud/README.md @@ -47,7 +47,6 @@ OpenProject makes significant efforts to ensure that the integration works with Watch this video to find out how to set up the Nextcloud integration as an Administrator and as a user. - ### 1. Add the "OpenProject Integration" app in Nextcloud and point it to your OpenProject instance Start by opening your Nextcloud instance as an administrator. @@ -159,7 +158,6 @@ Additional settings on this page also allow you, as an administrator, to define - **Enable navigation link** displays a link to the OpenProject instance in the Nextcloud header - **Enable unified search for tickets** allows users to search for OpenProject work packages via the universal search bar in Nextcloud - ### 6. Add your new Nextcloud file storage to a project Now that the integration is set up, the next step is to make the Nextcloud file storage you just created available to individual projects. @@ -178,7 +176,6 @@ If you wish to reset OAuth values for any reason, you can do so on either side b ![A dialogue asking the user to confirm they want to replace OpenProject OAuth values](3_4_03-OP_Replace_Alert.png) - ## Delete a Nextcloud file storage You can delete a Nextcloud file storage either at a project level or at an instance-level. @@ -193,14 +190,10 @@ Deleting a file storage at an instance level deletes the Nextcloud integration c > **Important:** Deleting a file storage as an instance administrator will also delete all settings and links between work packages and Nextcloud files/folders. This means that should you want to reconnect your Nextcloud instance with OpenProject, will need complete the entire setup process once again. - - ## Using the integration Once the file storage is added and enabled for projects, your users are able to take full advantage of the integration between Nextcloud and OpenProject. For more information on how to link Nextcloud files to work packages in OpenProject and access linked work packages in Nextcloud, please refer to the [Nextcloud integration guide](../../../user-guide/file-management/nextcloud-integration/). - - ## Troubleshooting ### Setting up OpenProject in Nextcloud @@ -254,7 +247,6 @@ If you are facing any of the aforementioned errors while trying to set up the `P - Enable the _OpenProject Integration_ App - Set up the project folders again - If you do care about the `OpenProject` user/group/folder data then the conditions that bring the project folder setup to error state, and its possible solutions are as listed below: - User `OpenProject` doesn't exist. Please check if the user exists, if not create a user named `OpenProject` with username and display name `OpenProject`, some secure random password, email is not necessary. @@ -308,7 +300,6 @@ Some administrators setup Nextcloud using a self signed TLS/SSL certificate with Attention: Please do not confuse the CA for the Nextcloud server's certificate with the CA of the OpenProject server's certificate which you might have provided in the OpenProject installation wizard. They do not necessarily need to be the same. - #### Error message "Host is not fully set up" ![Host is not fully set up](nextcloud_not_fully_set_up.png) @@ -337,7 +328,6 @@ sudo systemctl restart apache2 If that also not work please check the [instructions for setting up pretty URLs in Nextcloud](https://docs.nextcloud.com/server/22/admin_manual/installation/source_installation.html#pretty-urls). This usually also resolves the issue of stripped `Authorization` headers. - #### Project folders are not created or you do not have access You have setup the *Project folder* in both environments (Nextcloud and OpenProject), but you cannot see any folder named `OpenProject` in the root directory of **Files** app in Nextcloud. diff --git a/docs/system-admin-guide/integrations/one-drive/README.md b/docs/system-admin-guide/integrations/one-drive/README.md index 5691ae6e9c85..ad57dc82063d 100644 --- a/docs/system-admin-guide/integrations/one-drive/README.md +++ b/docs/system-admin-guide/integrations/one-drive/README.md @@ -44,8 +44,6 @@ Please note these minimum version requirements for the integration to work with We recommend using the latest versions of both OneDrive/SharePoint and OpenProject to be able to use the latest features. - - ## Set up the integration > **Important**: You need administrator privileges in the Azure portal for your Microsoft Entra ID and in your diff --git a/docs/system-admin-guide/manage-work-packages/README.md b/docs/system-admin-guide/manage-work-packages/README.md index 9dee66c4ad7d..eb5eba3a9afa 100644 --- a/docs/system-admin-guide/manage-work-packages/README.md +++ b/docs/system-admin-guide/manage-work-packages/README.md @@ -18,4 +18,3 @@ Manage work packages in OpenProject. | [Status](work-package-status) | Create and manage work package status. | | [Workflows](work-package-workflows) | Create and manage workflows for work packages in OpenProject. | | [Custom actions](custom-actions) | Create custom actions for work packages (Enterprise add-on) | - diff --git a/docs/system-admin-guide/manage-work-packages/work-packages-faq/README.md b/docs/system-admin-guide/manage-work-packages/work-packages-faq/README.md index 0cb79176c016..87405f53560b 100644 --- a/docs/system-admin-guide/manage-work-packages/work-packages-faq/README.md +++ b/docs/system-admin-guide/manage-work-packages/work-packages-faq/README.md @@ -24,6 +24,3 @@ The work package type that is at the top of the [list](../work-package-types) is ## Why can I not find the option to set a progress percentage for a work package status? You have to activate the progress calculation by status first. Find out [here](../work-package-settings) how to do it. - - - diff --git a/docs/system-admin-guide/projects/project-attributes/README.md b/docs/system-admin-guide/projects/project-attributes/README.md index 6a6ec37cdbdc..3d35913e0032 100644 --- a/docs/system-admin-guide/projects/project-attributes/README.md +++ b/docs/system-admin-guide/projects/project-attributes/README.md @@ -33,6 +33,7 @@ Each project attribute will be displayed in individual rows, which contain: Attributes may also be contained in [sections](#sections). ## Create a project attribute + To create a new project attribute, click on the **+ Project attribute** button in the top right corner. This will display the "New attribute" form with these options: @@ -57,7 +58,6 @@ This will display the "New attribute" form with these options: - **Searchable**: Checking this makes this project attribute (and its value) available to the search engine and filters. - ## Modify project attributes You can edit existing attributes under **Administration settings** → **Projects** → **Project attributes**. @@ -72,7 +72,6 @@ You can also use the drag handles to the left of each project attribute to drag >**Note**: Project admins can chose to enable or disable a project attribute from their project, but they cannot change the order. The order set in this page is the order in which they will appear in all projects. - ## Sections You can group project attributes into sections to better organise them. @@ -86,4 +85,3 @@ You can drag any existing project attribute into a section to move it there. You >**Note:** If a project attribute belongs to a section, it will be displayed within that section in _all_ projects. ![Edit project attribute sections in OpenProject administration](open_project_system_admin_guide_project_attributes_section_more_icon_menu.png) - diff --git a/docs/system-admin-guide/system-admin-guide-faq/README.md b/docs/system-admin-guide/system-admin-guide-faq/README.md index a39a1261c0d2..dff4faf8bf9f 100644 --- a/docs/system-admin-guide/system-admin-guide-faq/README.md +++ b/docs/system-admin-guide/system-admin-guide-faq/README.md @@ -28,7 +28,6 @@ Please have a look at [these instructions](../../installation-and-operations/ope The OpenProject installations do not configure a default timeout for the outer Apache2 web server. Please increase the Apache `Timeout` directive. Please see the Apache web server documentation for more information: [https://httpd.apache.org/docs/2.4/mod/core.html#timeout](https://httpd.apache.org/docs/2.4/mod/core.html#timeout) - ## Further information More FAQ can be found in the respective sections of this System admin guide. diff --git a/docs/system-admin-guide/system-settings/README.md b/docs/system-admin-guide/system-settings/README.md index 85de5a399e35..f862271fe316 100644 --- a/docs/system-admin-guide/system-settings/README.md +++ b/docs/system-admin-guide/system-settings/README.md @@ -13,7 +13,6 @@ To modify these settings, navigate to **Administration → System settings**. ![Administration system settings](system-settings.png) - ## Overview | Topic | Content | @@ -22,4 +21,3 @@ To modify these settings, navigate to **Administration → System settings**. | [Languages](languages) | How to configure languages. | | [Project](../projects) | Settings for new projects. | | [Repositories](repositories) | How to integrate SVN or GIT repositories. | - diff --git a/docs/system-admin-guide/system-settings/general-settings/README.md b/docs/system-admin-guide/system-settings/general-settings/README.md index 21b8c93ee9b4..e3f85afc52a0 100644 --- a/docs/system-admin-guide/system-settings/general-settings/README.md +++ b/docs/system-admin-guide/system-settings/general-settings/README.md @@ -48,4 +48,3 @@ Create a welcome text block to display the most important information to users o 4. Do not forget to **save** your changes. ![image-20211209162118090](image-20211209162118090.png) - diff --git a/docs/system-admin-guide/system-settings/repositories/README.md b/docs/system-admin-guide/system-settings/repositories/README.md index 97398564a2d8..f4cd6746c793 100644 --- a/docs/system-admin-guide/system-settings/repositories/README.md +++ b/docs/system-admin-guide/system-settings/repositories/README.md @@ -24,8 +24,6 @@ To adapt repositories settings, go to System settings on the tab **Repositories* ![image-20211209174118702](image-20211209174118702.png) - - ## Checkout instructions for Subversion and GIT Show checkout instructions for Subversion and GIT. diff --git a/docs/system-admin-guide/users-permissions/README.md b/docs/system-admin-guide/users-permissions/README.md index a6956221c0ee..5fb501a3f7ff 100644 --- a/docs/system-admin-guide/users-permissions/README.md +++ b/docs/system-admin-guide/users-permissions/README.md @@ -19,4 +19,3 @@ In this section of the System Administration guide you can learn how to manage u | [Groups](groups) | View groups, create new groups, add users to groups. | | [Roles and permissions](roles-permissions) | See / manage roles and permissions and add new roles. | | [Avatars](avatars) | Activate / deactivate user avatars (profile pictures). | - diff --git a/docs/system-admin-guide/users-permissions/avatars/README.md b/docs/system-admin-guide/users-permissions/avatars/README.md index c2f303eba4da..519e85078ab0 100644 --- a/docs/system-admin-guide/users-permissions/avatars/README.md +++ b/docs/system-admin-guide/users-permissions/avatars/README.md @@ -14,4 +14,3 @@ You can choose whether to allow user gravatars or enable to upload custom avatar The Avatars can be configured via the [user profile](../users). ![OpenProject avatars](system-guide-avatar.png) - diff --git a/docs/system-admin-guide/users-permissions/groups/README.md b/docs/system-admin-guide/users-permissions/groups/README.md index 0a6ce0cc5992..acd32384ddbd 100644 --- a/docs/system-admin-guide/users-permissions/groups/README.md +++ b/docs/system-admin-guide/users-permissions/groups/README.md @@ -12,7 +12,6 @@ keywords: manage groups A **Group** is defined as a list of users which can be assigned to a project with a selected role. New groups can be defined in **Administration -> Users and permissions -> Groups**. - OpenProject allows creating tailored project member **groups**, which grant additional permissions to individual users within a project. Instead of adding individual users to a project you can add a user group, e.g. Marketing. You can edit existing groups, create new ones, add and remove users or delete groups. ## Add a new group @@ -39,8 +38,6 @@ After clicking on a group's name, you can **change the group name**, **add or re ![edit-groups](image-20210505162541644.png) - - ### Add users to a group Click the **Users** tab. Select the users you want to add to this group from the **New user** drop-down list. Click the blue **Add** button. Users already in the group are not shown in the list. Click the **X** next to a user to remove that user from the group. diff --git a/docs/system-admin-guide/users-permissions/placeholder-users/README.md b/docs/system-admin-guide/users-permissions/placeholder-users/README.md index aa4e8378d269..418c5b3e78e1 100644 --- a/docs/system-admin-guide/users-permissions/placeholder-users/README.md +++ b/docs/system-admin-guide/users-permissions/placeholder-users/README.md @@ -15,15 +15,12 @@ Another use case would be to include customers, vendors or partners in your plan Placeholder users can be managed by system admins and by users with the [role](../roles-permissions/#global-role) "Create, edit and delete placeholder users". - | Topic | Content | |-----------------------------------------------------------------------|------------------------------------------------------| | [Placeholder user list](#placeholder-user-list) | Manage placeholder users in OpenProject. | | [Create placeholder users](#create-placeholder-users) | Add new placeholder users. | | [Manage placeholder user settings](#manage-placeholder-user-settings) | Change names and add placeholders users to projects. | - - ## Placeholder user list To manage placeholder users navigate to **Administration -> Users and permissions -> Placeholder users**. The placeholder user list gives you an overview of all placeholder users with their names and creation dates. From here you can also [add](#create-placeholder-users) placeholder users, [edit](#manage-placeholder-user-settings) them and [delete](#delete-placeholder-users) them. @@ -32,7 +29,6 @@ The column headers can be clicked to toggle sort direction. Arrows indicate sort ![placeholder-users-overview](image-20210305150925563.png) - ### Filter placeholder users The placeholder user list can be filtered by name. @@ -51,6 +47,7 @@ You will then be asked to type in the placeholder user name to confirm the delet > **Note**: Deleting a placeholder user account is an irreversible action and cannot be revoked. The previous activities from this user will still be displayed in the system but reassigned to **Deleted user**. ## Create placeholder users + To add a new placeholder, user click on **+ Placeholder user** in the upper right corner of the [placeholder user list](#placeholder-user-list). Enter a name and click on **Create** to save or on **Create and continue** to save and create another placeholder user. @@ -58,7 +55,6 @@ Enter a name and click on **Create** to save or on **Create and continue** to sa It is not possible to create two placeholder users with the exact same name. - ## Manage placeholder user settings You can change a placeholder user's name and add it to a project if you click on its name in the [placeholder user list](#placeholder-user-list). diff --git a/docs/system-admin-guide/users-permissions/roles-permissions/README.md b/docs/system-admin-guide/users-permissions/roles-permissions/README.md index 8c3943701f92..9d5d360a7ecf 100644 --- a/docs/system-admin-guide/users-permissions/roles-permissions/README.md +++ b/docs/system-admin-guide/users-permissions/roles-permissions/README.md @@ -47,7 +47,6 @@ A user can have one or more roles which grant permissions on different levels. **Administrators** have full access to all settings and all projects in an OpenProject environment. The permissions of the Administrator role can not be changed. - | Scope of the role | Permission examples | Customization options | | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | | Application-level: Full control of all aspects of the application | - Assign administration privileges to other users
- Create and restore backups in the web interface
- Create and configure an OAuth app
- Configure custom fields
- Archive projects/restore projects
- Configure global roles
- Configure project roles | Cannot be changed | @@ -76,12 +75,10 @@ A user can have one or more roles which grant permissions on different levels. **Note:** The *Non-member* role cannot be deleted. - | Scope of the role | Permission examples | Customization options | | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | | Project-level: Permissions scoped to individual projects for users which are logged in | - View work packages for users that are logged in | Assign different permissions to the role *Non-member* | - ### Anonymous OpenProject allows to share project information with **anonymous** users which are not logged in. This is helpful to communicate projects goals and activities with a public community.
diff --git a/docs/system-admin-guide/users-permissions/users-permissions-faq/README.md b/docs/system-admin-guide/users-permissions/users-permissions-faq/README.md index cc905099a20c..ebeb42b320de 100644 --- a/docs/system-admin-guide/users-permissions/users-permissions-faq/README.md +++ b/docs/system-admin-guide/users-permissions/users-permissions-faq/README.md @@ -30,7 +30,6 @@ Starting with OpenProject 11.2 this is also possible for global roles. When a user is deleted his/her change history is preserved. All actions made by him/her are attributed to a user called **Deleted user**. E.g. a work package created by that user or a wiki page updated by him/her will remain unchanged. This means that you can continue to work with all work packages etc.. If you delete at least two users, you will no longer be able to identify which change was made by whom, as everything will be aggregated under the **Deleted user** user. Only information that is stored for the sake of the user alone, e.g. private queries or user preferences, will be deleted. - ## Can I give users the ability to change work package status only? It is possible to give users the ability to change status without that user having the rights to edit the rest of the work package. To do that you need to grant the **Change work package status** permission to the role this user is assigned. diff --git a/docs/system-admin-guide/users-permissions/users/README.md b/docs/system-admin-guide/users-permissions/users/README.md index 5769a9f87a6b..1ae8e263f00f 100644 --- a/docs/system-admin-guide/users-permissions/users/README.md +++ b/docs/system-admin-guide/users-permissions/users/README.md @@ -105,8 +105,8 @@ In the top right, click the **Send invitation** button in order to send the emai ![Send user invitation in OpenProject](openproject_system_guide_send_user_invitation.png) - ### Delete user invitations + To invalidate or revoke a user's invitation click on the user name and then on **Delete** in the upper right corner. This will prevent the invited user from logging in. Please note: this only works for users who haven't logged in yet. If the user is already active this will delete his/her whole profile and account. Deleting users can't be revoked. diff --git a/docs/use-cases/README.md b/docs/use-cases/README.md index c437381a8c11..0b9e21a41e1e 100644 --- a/docs/use-cases/README.md +++ b/docs/use-cases/README.md @@ -13,4 +13,3 @@ keywords: use-cases | [Resource Management](resource-management) | OpenProject does not have the automated functionality to provide detailed resource management or employee work capacity calculations. This guide with detailed step-by-step instructions introduces a workaround that can provide an avenue to accomplish this manually and visually beyond the functionality the Team Planner Module provides. | | [Portfolio Management](portfolio-management) | This guide provides detailed step-by-step instruction on how to set up an overview of your project portfolio and create custom reports using the Project Overview, Wiki and the Rich text (WYSIWYG) editor in OpenProject. | | [Implementing Scaled Agile Framework (SAFe) in OpenProject](safe-framework) | Learn how to set up and configure OpenProject to support the Scaled Agile Framework (SAFe) to successfully deliver value to customers using agile practices at scale. | - diff --git a/docs/use-cases/portfolio-management/README.md b/docs/use-cases/portfolio-management/README.md index 8c6f1f21d381..bc6b9d44b7d0 100644 --- a/docs/use-cases/portfolio-management/README.md +++ b/docs/use-cases/portfolio-management/README.md @@ -45,20 +45,19 @@ If you click on **Edit query** you can adjust the project overview when using th ## Creating custom reports ### Exporting reports + For creating custom project reports you can use the export function in the work packages view. ![Reports export](openproject_export.png) - - You can export the work packages in one of the following formats. ![Export options](export_options.png) To export or print a Gantt chart use the print function (**CTRL+P**) and then save it as PDF. Only information displayed in the main screen area is included. None of the designs or side or top menus are in it. Please see here [how to print a Gantt chart in OpenProject](../../user-guide/gantt-chart/#how-to-print-a-gantt-chart). - ### Project status reporting + You can [display and configure the individual project status](../../user-guide/projects/project-status/) on the project overview page. For more advanced project reporting requirements, using the Wiki module is another powerful tool. The Wiki allows you to build complete custom reports using embedded work package tables, macros and even embedded calculations. diff --git a/docs/use-cases/safe-framework/README.md b/docs/use-cases/safe-framework/README.md index a2570e5e308f..5216fc294fb1 100644 --- a/docs/use-cases/safe-framework/README.md +++ b/docs/use-cases/safe-framework/README.md @@ -22,8 +22,6 @@ This guide contains the following sections: | [Organizing work using table view, Gantt view](#organizing-work-using-table-view-gantt-view) | Using table and Gantt views to visualize, sort, filter and group work packages and save custom views at all levels (agile team, Agile Release Train or Solution Train) | | [Backlogs, Kanban and Team planner](#backlogs-kanban-and-team-planner) | Organizing work and facilitating planning using Backlogs, Kanban boards and Team planner | - - ## Structure and terminology Preparing OpenProject for SAFe involves configuration and access at two levels: @@ -176,7 +174,6 @@ Progress can be viewed at a team label, at an ART-level or at a solution train l > **Demo:** [Progress overview at a PI level](https://safe.openproject.com/projects/safe-demo/work_packages?query_id=78) - ## Organizing work using table view, Gantt view OpenProject is a powerful tool that allows you to view work packages in a variety of different ways. @@ -203,7 +200,6 @@ The [Gantt chart](../../user-guide/gantt-chart/) module allows you to quickly vi > **Demo:** [A Gantt view of a sprint within an ART](https://safe.openproject.com/projects/art-0-test-release-train/work_packages?query_id=39) - ## Backlogs, Kanban and Team planner The **Backlog** and **Kanban** are key tools in a scaled agile environment, not only during PI Planning but during the course of the entire project. diff --git a/docs/user-guide/README.md b/docs/user-guide/README.md index 28971bc9783b..7eda2b792dd7 100644 --- a/docs/user-guide/README.md +++ b/docs/user-guide/README.md @@ -54,4 +54,3 @@ Please choose the module or feature you want to learn more about. | [Time and costs](time-and-costs) | How to track time and costs in OpenProject and report spent time and costs. | | [Wiki](wiki) | How to create and manage a wiki to collaboratively document and share information. | | [Work packages](work-packages) | How to manage your work in a project. | - diff --git a/docs/user-guide/activity/README.md b/docs/user-guide/activity/README.md index bde679c51918..b5759220829b 100644 --- a/docs/user-guide/activity/README.md +++ b/docs/user-guide/activity/README.md @@ -75,14 +75,8 @@ When you open a work package, e.g. by clicking on the ID of the work package in ![work package activity](work-package-activity.png) - There, all changes and activities concerning the work package are documented, e.g. if a user changes the status of the work package, this activity is recorded with the information who, when and what in the Activity area and is visible for other users who have the corresponding authorization. You can also use the Activity area as a chat portal and share messages with other team members there.![Work package activity flag someone](Work-package-activity-flag-someone.png) - - If you want to notify a specific user about something in the Activity section, you can also flag them with an "@" symbol in front of their username so that they receive a notification within OpenProject. - - - diff --git a/docs/user-guide/agile-boards/README.md b/docs/user-guide/agile-boards/README.md index 857717de7773..02c05e6f7848 100644 --- a/docs/user-guide/agile-boards/README.md +++ b/docs/user-guide/agile-boards/README.md @@ -14,7 +14,6 @@ Our Agile boards can be for anything you would like to keep track of within your > **Note**: The basic board is included in the OpenProject Community edition. OpenProject Action boards are an Enterprise add-on and can only be used with [Enterprise cloud](../../enterprise-guide/enterprise-cloud-guide/) or [Enterprise on-premises](../../enterprise-guide/enterprise-on-premises-guide/). An upgrade from the free Community edition is easily possible. - | Topic | Content | |-----------------------------------------------------------|----------------------------------------------------------------------------------| | [Create new boards](#create-a-new-board) | How to create a new Agile board. | @@ -51,6 +50,7 @@ Click on the green **+Board** button to create a new Board view. Next, you need to choose which kind of Agile board you want to create. ## Basic board (Community edition) + The Basic board is included in the OpenProject Community edition. You can freely create lists, name them and order your work packages within. If you move work packages between the lists, there will be **NO changes** to the work package itself. This allows you to create flexible boards for any kind of activity you would like to track, e.g. Management of Ideas. ![Board types basic board](Board-types-basic-board.png) @@ -64,6 +64,7 @@ After [adding lists to your board](#add-lists-to-your-board) they will automatic There are several **types of Action boards** available: ### Status board + Each list represents a status. That means that e.g. all work packages with the status "New" will be automatically displayed in the column "New". When creating a new Status board a list with all work packages in the default status (usually this is the status "New") will be added automatically, while additional lists need to be added manually. Please note: You can't move work packages from or to every status. Please find out more about the work-flow logics restricting this here: [Allowed transitions between status](../../system-admin-guide/manage-work-packages/work-package-workflows/) @@ -71,21 +72,25 @@ Please note: You can't move work packages from or to every status. Please find o ![create status board](create-status-board.png) ### Assignee board + Every list represents one assignee. You can choose regular users, [placeholder users](../../system-admin-guide/users-permissions/placeholder-users) and groups as assignees. When you move a card from one list to another, the assigned user is changed to the user that is selected for the list you moved the card to. ![create assignee board](create-assignee-board.png) ### Version board + Every list represents a version. This board is ideal for product development or planning software releases. When creating a new Version board a list with all work packages in the version(s) belonging to the current project will be added automatically, while additional lists need to be added manually. By moving a card from one list to another, the version for the work package is changed to the version of the corresponding list. ![create version board](create-version-board.png) ### Subproject board + Every list represents a subproject. Within the list you will find the subproject's work packages. By moving a card within a list you can change the order of the cards and if you move a card to another list you change the (sub)project of this work package. ![create subproject board](create-subproject-board.png) ### Parent-child board + Every list represents a parent work package. Within the list you will find the work package's children. Only work packages from the current project can be selected as a list, i.e. can be chosen as the name of the list. The Parent-child board is ideal for depicting a **work breakdown structure (WBS)**. By moving cards to another list you can reorder the work package as a child to another work package. @@ -108,8 +113,6 @@ Choose a meaningful title for your Board so that it is clear, e.g. for other tea ![this-is-a-list-in-a-board](this-is-a-list-in-a-board.png) - - Click **+ add list** to add lists to your board. ![add-list-to-a-board](add-list-to-a-board.png) @@ -148,8 +151,6 @@ You can update cards in the following ways: ![OpenProject-Boards_update-cards](OpenProject-Boards_update-cards.png) - - Apart from the Status board you can **update a work package's status** directly in the card. ![boards-select-status-from-card](boards-select-status-from-card.png) @@ -182,8 +183,6 @@ Verify and **update roles and permissions for boards** in the [system's administ ![roles and permissions](image-20201006120925442.png) - - ## Agile boards examples We would like to show you some examples so that you get an idea on how to use Agile boards. diff --git a/docs/user-guide/backlogs-scrum/README.md b/docs/user-guide/backlogs-scrum/README.md index fdfe78f8bf13..5c96535b1c49 100644 --- a/docs/user-guide/backlogs-scrum/README.md +++ b/docs/user-guide/backlogs-scrum/README.md @@ -16,7 +16,6 @@ OpenProject supports your work with the Scrum methodology by providing a variety A **Backlog** is defined as a plugin that allows to use the backlogs feature in OpenProject. In order to use backlogs in a project, the backlogs module has to be activated in the project settings of a project. - Please note that this user guide does not represent an introduction into scrum methodology, but merely explains the scrum-related functionalities and user instructions in OpenProject. | Topic | Content | diff --git a/docs/user-guide/backlogs-scrum/taskboard/README.md b/docs/user-guide/backlogs-scrum/taskboard/README.md index d7ca9a1b3007..4b7228df40ea 100644 --- a/docs/user-guide/backlogs-scrum/taskboard/README.md +++ b/docs/user-guide/backlogs-scrum/taskboard/README.md @@ -14,8 +14,6 @@ To open the task board view, click on the small arrow next to the respective spr ![User-guide-taskboard](User-guide-taskboard.png) - - You will find user stories in the left column, followed by their individual tasks (as child work packages) which are sorted by status. Therefore, you can immediately see the status of a user story and its associated tasks. Clicking on the ***+***-icon next to a user story opens a window to create a new task. ![User-guide-new-task](User-guide-new-task.png) @@ -35,8 +33,6 @@ On the very top of the table, sprint impediments are documented and assigned to ![sprint impediments](User-guide-add-impediment.png) - - The task colors are different for every team member, making it easy to associate tasks with their respective assignees. ## Configure Backlogs settings under My Account diff --git a/docs/user-guide/backlogs-scrum/work-with-backlogs/README.md b/docs/user-guide/backlogs-scrum/work-with-backlogs/README.md index c4f9d8f09307..06fbad75b4cb 100644 --- a/docs/user-guide/backlogs-scrum/work-with-backlogs/README.md +++ b/docs/user-guide/backlogs-scrum/work-with-backlogs/README.md @@ -60,7 +60,6 @@ This will take you to the filtered work package view of all user stories and tas > **Note**: All tasks created for a user story via the task board view are automatically configured as child work packages of a user story. The task is thus always automatically assigned to the target version of the parent work package (i.e. the user story). - ## Prioritize user stories You can prioritize different work packages within the product backlog using drag & drop and you can assign them to a specific sprint backlog or re-order them within a sprint. @@ -95,7 +94,6 @@ Moreover, you can adjust the start and end date of a backlog in the backlogs vie > **Note**: A backlog version will be shown under [Roadmap](../../roadmap/), but not in a [Gantt chart](../../gantt-chart). If you want to display a sprint in a timeline, you can create a new work package, select a phase as a work package type, give it the same name as to a specific version (for example Sprint 1) and assign the same start and end date. - ## Burndown chart **Burndown charts** are a helpful tool to visualize a sprint’s progress. With OpenProject, you can generate sprint and task burndown charts automatically. As a precondition, the sprint’s start and end date must be entered in the title and the information on story points is well maintained. diff --git a/docs/user-guide/budgets/README.md b/docs/user-guide/budgets/README.md index a4cff28e610e..85fc38f059c9 100644 --- a/docs/user-guide/budgets/README.md +++ b/docs/user-guide/budgets/README.md @@ -104,10 +104,8 @@ You will get and overview of planned as well as spent costs and the available co 6. The **planned labor costs** are displayed for this budget. 7. The **actual labor costs** list all work packages that are [assigned to this budget](#assign-a-work-package-to-a-budget) and have logged time on it. - ![Budgets-details-view](Budgets-details-view.png) - > **Note**: The costs are calculated based on the [configuration for cost types](../../system-admin-guide) and the [configured hourly rate](../time-and-costs/time-tracking/#define-hourly-rate-for-labor-costs) in the user profile. ## Frequently asked questions (FAQ) diff --git a/docs/user-guide/calendar/README.md b/docs/user-guide/calendar/README.md index c04a84d5ef6a..945ee4e00b5c 100644 --- a/docs/user-guide/calendar/README.md +++ b/docs/user-guide/calendar/README.md @@ -19,7 +19,6 @@ You must first enable the Calendar module in your [project settings](../projects | [Use the calendar](#use-the-calendar) | How to view, modify, create and filter work packages in the calendar. | | [Subscribe to a calendar](#subscribe-to-a-calendar) | How to subscribe to and access a calendar from an external client. | - ## Create a new calendar Once enabled, clicking on the **Calendars** entry on the left sidebar takes you to the Calendar module with a list of all existing calendars. Initially, it will be empty. @@ -33,7 +32,6 @@ Once enabled, clicking on the **Calendars** entry on the left sidebar takes you - Any calendar that has the **Public** option checked will be visible to all members of the current project and listed under the **Public** heading in the sidebar to the left. - Any calendar that has the **Public** option unchecked will be considered **private** and displayed under the **Private** heading in the menu bar to the left. - ## Use the calendar ### View work packages diff --git a/docs/user-guide/file-management/README.md b/docs/user-guide/file-management/README.md index 627dfc93bccc..83e4f50b5903 100644 --- a/docs/user-guide/file-management/README.md +++ b/docs/user-guide/file-management/README.md @@ -40,4 +40,3 @@ You can also use OneDrive/SharePoint integration to link OpenProject work packag Please refer to [OneDrive/SharePoint integration user guide](./one-drive-integration) for further instructions on using the integration. For the initial setup please refer to the [OneDrive/SharePoint integration setup guide](../../system-admin-guide/integrations/one-drive/). - diff --git a/docs/user-guide/file-management/file-management-faq/README.md b/docs/user-guide/file-management/file-management-faq/README.md index 8ed5eb93825d..808a427408c6 100644 --- a/docs/user-guide/file-management/file-management-faq/README.md +++ b/docs/user-guide/file-management/file-management-faq/README.md @@ -17,13 +17,13 @@ Another explanation may be that you have been removed from a project in OpenProj It can also be that case, that a project admin revoked your permission to view files on file storages within a project in OpenProject. ## Can I rename a project with an established file storage (Nextcloud or OneDrive/SharePoint) connection? + Yes, that is possible. If you work with automatically managed folders, the corresponding project folder will also be renamed automatically after a few minutes. ## Can I copy a project, including the OneDrive/SharePoint file storage? Yes, you can. If the OneDrive/SharePoint file storage in your project had the automatically managed folders selected during the set-up, the folder with all files will be copied. If the file storage was added with manual managed folders, the new copy of the project will have the same file storage setup and reference the original folder without copying it. Read more about copying projects [here](../../projects/#copy-a-project). - ## Is there a virus scanner for the files attachments in OpenProject? Yes, there is a virus scanner for attachments in OpenProject. At the moment it is only available for on-premises installations and is an Enterprise add-on. Your system administrator will need to [configure it first](../../../system-admin-guide/attachments/virus-scanning). diff --git a/docs/user-guide/file-management/nextcloud-integration/README.md b/docs/user-guide/file-management/nextcloud-integration/README.md index 57d314e87073..ffef5758572d 100644 --- a/docs/user-guide/file-management/nextcloud-integration/README.md +++ b/docs/user-guide/file-management/nextcloud-integration/README.md @@ -28,7 +28,6 @@ It is also possible to automatically create dedicated [project folders](../../pr > **Important note**: To be able to use Nextcloud as a file storage in your project, the administrator of your instance should first have completed the [Nextcloud integration setup](../../../system-admin-guide/integrations/nextcloud). Then a project administrator can activate Nextcloud in the [File storages](../../projects/project-settings/file-storages/) for a project. - | Topic | Description | |-----------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------| | [Connect your OpenProject and Nextcloud accounts](#connect-your-openproject-and-nextcloud-accounts) | How to connect your Nextcloud and OpenProject accounts to be able to use this integration | @@ -63,7 +62,6 @@ To begin using this integration, you will need to first connect your OpenProject 5. The one-time process to connect your two accounts is complete. You will now be directed back to the original work package, where you can view and open any Nextcloud files that are already linked, or start linking new ones. - > **Note**: To disconnect the link between your OpenProject and Nextcloud accounts, head on over to Nextcloud and navigate to _Settings → OpenProject_. There, click *Disconnect from OpenProject* button. To re-link the two accounts, simply follow [the above instructions](#connect-your-openproject-and-nextcloud-accounts) again. ## Link files and folders to work packages @@ -186,6 +184,7 @@ You will be asked to confirm that you want to unlink. Click on **Remove link** t > **Info**: Unlinking a file or folder simply removes the connection with this work package; the original file or folder will _not_ be deleted or affected in any way. The only change is it will no longer appear in the Files tab on OpenProject, and the work package will no longer be listed in the "OpenProject" tab for that file on Nextcloud. ## Nextcloud dashboard + In addition to actions related to individual files, you can also choose to display the OpenProject widget on your Nextcloud dashboard in order to keep an eye on your OpenProject notifications. ![Add widget in Nextcloud](nc_widget_choice.png) @@ -228,7 +227,6 @@ When a Nextcloud file or folder is linked to a work package, an OpenProject user However, all available actions depend on permissions the OpenProject user (or more precisely, the Nextcloud account tied to that user) has in Nextcloud. In other words, a user who does not have the permission to access the file in Nextcloud will also *not* be able to open, download, modify or unlink the file in OpenProject. - ## Possible errors and troubleshooting ### No permission to see this file diff --git a/docs/user-guide/file-management/one-drive-integration/README.md b/docs/user-guide/file-management/one-drive-integration/README.md index 95f0016af590..54230a5d08e6 100644 --- a/docs/user-guide/file-management/one-drive-integration/README.md +++ b/docs/user-guide/file-management/one-drive-integration/README.md @@ -89,8 +89,6 @@ If a file has been deleted on the OneDrive/SharePoint file storage it will still ![A file has been deleted from the OneDrive/SharePoint file storage](oneproject_onedrive_deleted_file.png) - - ## Download, open folders and remove links If you wish to unlink any linked file or folder, hover it in the list of linked files and click on the **Unlink** icon. diff --git a/docs/user-guide/forums/README.md b/docs/user-guide/forums/README.md index 52ed9111f937..97af4c6e1450 100644 --- a/docs/user-guide/forums/README.md +++ b/docs/user-guide/forums/README.md @@ -63,8 +63,6 @@ To add a **reply to an existing message** in a forum, click on the Subject in or Click the blue **Reply** button underneath the forum message. - - ![Forum-message-reply](Forum-message-reply.png)Enter your **Message content** what you want to add as a reply to the existing message. You can choose to also **add a file** if needed. diff --git a/docs/user-guide/gantt-chart/README.md b/docs/user-guide/gantt-chart/README.md index 8e313ed147be..8c979da5cbf0 100644 --- a/docs/user-guide/gantt-chart/README.md +++ b/docs/user-guide/gantt-chart/README.md @@ -12,7 +12,6 @@ keywords: gantt chart, timeline, project plan The **Gantt charts** module in OpenProject displays the work packages in a timeline. You can collaboratively create and manage your project plan, have your project timelines available to all team members and share up-to-date information with stakeholders. You can add start and finish dates and adapt it via drag and drop directly in the Gantt chart. Also, you can add dependencies, predecessors or followers within the Gantt chart. - | Topic | Content | |-----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------| | [Activate the Gantt chart](#activate-the-gantt-chart) | How to activate the Gantt chart in OpenProject. | @@ -24,7 +23,6 @@ The **Gantt charts** module in OpenProject displays the work packages in a timel | [Multi project views](#multi-project-views) | Create project overarching timelines. | | [Aggregation by project](#aggregation-by-project) | How to display an aggregated view of all milestones of multiple projects. | - ## Activate the Gantt chart @@ -63,7 +61,6 @@ Once you opened the Gantt charts module, the default view will show all open wor Once you have selected the Gantt chart view, you can use the quick context menu. To do that, right-click on any of the work packages. > **Note**: if you use the [work packages view](../work-packages/edit-work-package#update-a-work-package-in-a-work-package-table-view) in the **Work packages** module, the options in the quick context menu will differ slightly from the ones in the Gantt chart view. - ![Quick context menu in OpenProject Gantt chart work packages view](gantt-context-menu.png) You can use any of the following options. @@ -111,7 +108,6 @@ Select the item to which you want to create a dependency. The precede and follow The quickest way to remove a relation is to select **Show relations** from the quick context menu and removing the relation in the work package details view. - ![dependencies-gantt-chart](gantt-chart.gif) When work packages have a precedes/follows relationship: @@ -134,8 +130,6 @@ Scheduling modes can also affect work package relations. Read about [automatic a - A **diamond symbol** stands for a milestone. - A **bar** stands for work packages like phases and tasks. - - ## Gantt chart configuration To open the Gantt chart configuration, please open the **settings** icon with the three dots on the upper right of the work package module. @@ -189,8 +183,6 @@ To zoom in and zoom out in the Gantt chart view, click on the button with the ** ![Zooming into a Gantt chart in OpenProject](openproject-user-guide-gantt-charts-zoom.png) - - ### Auto zoom Select the **auto zoom button** on top of the Gantt chart to have the best view of your Gantt chart. @@ -199,15 +191,12 @@ Please note that the **auto zoom button** may not be selectable if it has been p ![auto-zoom-Gantt](openproject-user-guide-gantt-charts-auto-zoom.png) - - ### Zen mode The zen mode gives you more space to focus on the tasks at hand. It's almost like activating the full screen view in your browser. To exit press the *Esc* key or click on the **zen mode** symbol again. ![zen-mode-Gantt-chart](openproject-user-guide-gantt-charts-zen-mode.png) - ## Multi project views With the Gantt charts in OpenProject you can create project overarching timelines. diff --git a/docs/user-guide/gantt-chart/scheduling/README.md b/docs/user-guide/gantt-chart/scheduling/README.md index c4492753205d..52155496e00e 100644 --- a/docs/user-guide/gantt-chart/scheduling/README.md +++ b/docs/user-guide/gantt-chart/scheduling/README.md @@ -16,14 +16,12 @@ To schedule work packages in the Gantt chart there is an **automatic scheduling As the scheduling mode only affects individual work packages you can combine manual scheduling mode (top-down planning) and automatic scheduling mode (bottom-up planning) within the same project. - | Topic | Content | | ------------------------------------------------------- | ------------------------------------------------------------ | | [Automatic scheduling mode](#automatic-scheduling-mode) | What happens to work packages, when you connect them in automatic scheduling mode? | | [Manual scheduling mode](#manual-scheduling-mode) | What happens to work packages, when you connect them in manual scheduling mode? | | [Changing mode](#changing-mode) | How can I change between manual and automatic scheduling mode? | - ## Automatic scheduling mode The automatic scheduling mode is generally set as **the default mode** for new work packages. For [dependencies](../#relations-in-the-gantt-chart) between two work packages this means: @@ -49,7 +47,6 @@ Moving a child work package in the manual scheduling mode will not move the date - ## Changing mode You can **activate the manual scheduling mode** by clicking on the date of a work package and selecting the box next to "Manual scheduling". This will activate the manual scheduling mode only for the respective work package. diff --git a/docs/user-guide/home/global-modules/README.md b/docs/user-guide/home/global-modules/README.md index 05121854d5af..09754ce320d7 100644 --- a/docs/user-guide/home/global-modules/README.md +++ b/docs/user-guide/home/global-modules/README.md @@ -21,7 +21,6 @@ You can also use the grid icon in the top right corner to access the **Global mo You can also use the grid icon in the top right corner to access the **Global modules** side menu. - ## Projects The **Projects** global module will display all projects in your OpenProject instance of which you are a member and/or have the right to see (for example as an administrator), including public projects. @@ -48,8 +47,6 @@ You can adjust the view by using the filters on the left menu and clicking the * >Note: **Changesets** filter comes from repositories that are managed by OpenProject. For example, if you make a commit to a GIT or SVN repository, these changes will be displayed here. At the moment this filter is only relevant for self-hosted editions. - - ## Work packages The **Work packages** global module will show a work packages table from the projects of which you are a member or have the right to view, including public projects. You can select your **Favorite** and **Default** work package filters in the left side menu. Please note that if a view is marked as favorite it will be shown in the **Favorite** section, whether it is also saved as public or private or not. diff --git a/docs/user-guide/meetings/README.md b/docs/user-guide/meetings/README.md index 59138f66ea11..fc2eb976d089 100644 --- a/docs/user-guide/meetings/README.md +++ b/docs/user-guide/meetings/README.md @@ -26,6 +26,3 @@ Meetings in OpenProject allow you to manage and document your project meetings, You can view existing meetings within a project or create a new meeting by selecting the **Meetings** module on the left-hand project menu. Alternatively, you can access the transversal cross-project **Meetings** module from the [global modules](../home/global-modules/) menu. >With OpenProject 13.1.0 there will be two types of meetings that you can create: [dynamic](dynamic-meetings/) and [classic](classic-meetings). Please keep in mind that the ability to create classic meetings will eventually be removed from OpenProject. - - - diff --git a/docs/user-guide/meetings/classic-meetings/README.md b/docs/user-guide/meetings/classic-meetings/README.md index 791b8a7a320b..3ffe529a6464 100644 --- a/docs/user-guide/meetings/classic-meetings/README.md +++ b/docs/user-guide/meetings/classic-meetings/README.md @@ -15,7 +15,6 @@ Meetings in OpenProject allow you to manage and document your project meetings, > *Note:* [Dynamic meetings](../dynamic-meetings) were introduced in OpenProject 13.1. At the moment, the Meetings module lets you create classic or dynamic meetings but please keep in mind that the ability to create classic meetings will eventually be removed from OpenProject. - | Topic | Content | |---------------------------------------------------------------------------|---------------------------------------------| | [Meetings in OpenProject](#meetings-in-openproject) | How to open meetings in OpenProject. | @@ -56,8 +55,6 @@ An edit screen is displayed and the meeting information can be adjusted. Do not forget to save the changes by clicking the blue **Save** button. Cancel will bring you back to the details view. - - ## Add meeting participants You can **add participants** (Invitees and Attendees) to a meeting while being in the [edit mode](#edit-a-meeting). The process is the same whether you are creating a new meeting or editing an existing one. Additionally you can record after the meeting who actually took part in it. @@ -80,7 +77,6 @@ After creating a meeting, you can set up a **meeting agenda**. 4. All changes made to the agenda are tracked. You can click the **History** button to get an overview of all the changes including the persons who made the changes. 7. At the beginning of the meeting, **Close** the agenda to prevent any other changes and provide the same basis for all meeting participants. After closing the agenda, the meeting minutes are displayed to capture the results of the meeting. - ![edit-meeting-agenda](edit-meeting-agenda.png) ## Create or edit meeting minutes @@ -115,8 +111,6 @@ You can now edit the copied meeting and add the new details. Click the **Save** > **Note**: all the settings will be copied, except for the minutes, participants and meeting history. So if you want to keep the minutes as well, you have to copy it separately. - - ## Delete a meeting You can delete a meeting. To do so, click on the three dots in the top right corner, select **Delete meeting** and confirm your choice. diff --git a/docs/user-guide/meetings/dynamic-meetings/README.md b/docs/user-guide/meetings/dynamic-meetings/README.md index ffe1b4f399cd..48ca3bdcbefd 100644 --- a/docs/user-guide/meetings/dynamic-meetings/README.md +++ b/docs/user-guide/meetings/dynamic-meetings/README.md @@ -12,7 +12,6 @@ Introduced in OpenProject 13.1, dynamic meetings offer easier meeting management > **Note:** The **Meetings module needs to be activated** in the [Project Settings](../../projects/project-settings/modules/) to be able to create and edit meetings. - | Topic | Content | | ------------------------------------------------------------ | ---------------------------------------------------------- | | [Meetings in OpenProject](#meetings-in-openproject) | How to open meetings in OpenProject. | @@ -42,6 +41,7 @@ The menu on the left will allow you to filter for upcoming or past meetings. You ![Meetings overview in openproject global modules](openproject_userguide_dynamic_meetings_overview.png) ## Create and edit dynamic meetings + ### Create a new meeting You can either create a meeting from within a project or from the global **Meetings** module. @@ -66,7 +66,6 @@ If you want to change the details of a meeting, for example its time or location An edit screen will be displayed, where you can adjust the date, time, duration and location of the meeting. - ![edit-meeting](openproject_userguide_edit_screen.png) Do not forget to save the changes by clicking the green **Save** button. Cancel will bring you back to the details view. @@ -75,7 +74,6 @@ In order to edit the title of the meeting select the dropdown menu behind the th ![Edit a meeting title in OpenProject](openproject_userguid_dynamic_meeting_edit_title.png) - ### Create or edit the meeting agenda After creating a meeting, you can set up a **meeting agenda**. @@ -116,6 +114,7 @@ You can add a work package to both upcoming or past meetings as long as the work ![OpenProject work packages in meetings agenda](openproject_dynamic_meetings_wp_agenda.png) ## Meeting participants + ### Add meeting participants You will see the list of all the invited project members under **Participants**. You can **add participants** (Invitees and Attendees) to a meeting in [edit mode](#edit-a-meeting). The process is the same whether you are creating a new meeting or editing an existing one. @@ -142,8 +141,6 @@ Added attachments can be added to the Notes section of agenda packages by draggi ![Attachments in OpenProject dynamic meetings](openproject_dynamic_meetings_attachments.png) - - ## Meeting history You can track what changes were made to a meeting and by which user. Select the dropdown by clicking on the three dots in the top right corner and select **Meeting history**. @@ -182,8 +179,6 @@ A screen will open, which will allow you adjust the name, time, location and fur ![Edit details of a copied dynamic meeting in OpenProject](openproject_dynamic_meetings_copy_meeting_details.png) - - ## Delete a meeting You can delete a meeting. To do so, click on the three dots in the top right corner, select **Delete meeting** and confirm your choice. diff --git a/docs/user-guide/members/README.md b/docs/user-guide/members/README.md index 71f30db75f2c..c7e30c2f6349 100644 --- a/docs/user-guide/members/README.md +++ b/docs/user-guide/members/README.md @@ -17,7 +17,7 @@ keywords: members, project participants | [Roles and permissions](#roles-and-permissions) | How to manage roles and permissions for members. | | [Groups](#groups) | How to add members to a group and add groups to a project. | - +![Video](https://openproject-docs.s3.eu-central-1.amazonaws.com/videos/OpenProject-Invite-and-Manage-Members.mp4) ## Project members overview @@ -43,7 +43,6 @@ Standard filters on the left side menu include the following: - **Edit** - returns all users that are permitted to edit a work package that has been shared with them - > Note: users, with whom work packages from a given project have been shared, can not be edited or deleted under **Members**. To edit or revoke their viewing rights you can click on the "Number of work package(s) in the column "Shared" (3 work packages in the example above). This will open an already filtered work package list of all work packages shared with that user. > > Another way is to navigate to **Work packages**, select the **Shared with users** filter and adjust the privileges accordingly. [Read more here](../work-packages/share-work-packages/#remove-sharing-privileges). @@ -74,12 +73,10 @@ Find out [here](../../getting-started/invite-members/#add-existing-users) how to To change the role of a member within a project, select the corresponding project and open the Members module. -To edit an existing member of a project, click the **More** icon in the list next to the member on the right and select **Manage roles**. Add and remove roles, then press the green **Change ** button so save your changes. +To edit an existing member of a project, click the **More** icon in the list next to the member on the right and select **Manage roles**. Add and remove roles, then press the green **Change** button so save your changes. ![Edit project members in OpenProject](edit-project-member.png) - - ## Remove members To remove members from a project, [select the project](../../getting-started/projects/#open-an-existing-project) for which you want to remove the members. In the project menu on the left, select the **Members** module. In the members list, click the **More** icon at the right end of the row with the corresponding member name and select Remove member. @@ -96,7 +93,7 @@ If the project member you are removing has shared work packages, you will also b > Note: please keep in mind that removing project members can only be done if you have correct permissions. -> Note: a project member can be a part of the project either individually, as a member of a group, or both. The role removal will only affect the member's individual roles. All those roles obtained via a group will not be removed. To remove those group roles you can either remove the member from the group or remove the entire group from the project. +> Note: a project member can be a part of the project either individually, as a member of a group, or both. The role removal will only affect the member's individual roles. All those roles obtained via a group will not be removed. To remove those group roles you can either remove the member from the group or remove the entire group from the project. ## Revoke sharing privileges @@ -104,7 +101,7 @@ If a work package has been [shared](../work-packages/share-work-packages), you m ![Remove sharing privileges in OpenProject](openproject_user_guide_members_remove_work_package_shares.png) -> Note: a project member can be a part of the project either individually, as a member of a group, or both. The revoking action will only affect the individual work packages shares. All work package shares with the user as part of a group will not be revoked. To revoke those group shares you can either remove the member from the group or revoke the privileges from the entire group. +> Note: a project member can be a part of the project either individually, as a member of a group, or both. The revoking action will only affect the individual work packages shares. All work package shares with the user as part of a group will not be revoked. To revoke those group shares you can either remove the member from the group or revoke the privileges from the entire group. ## Roles and permissions @@ -116,7 +113,6 @@ A **role** is defined as a set of permissions defined by a unique name. Project To assign work packages to a project member, the respective user's or placeholder user's role needs to be able to be assigned work packages. This is the default setting for default roles. You can check this setting in the [Roles and Permissions section](../../system-admin-guide/users-permissions/roles-permissions/) of the system administration. - ## Groups Users can be added to groups. A group can be added to a project. With this, all users within a group will have the corresponding role in this project. diff --git a/docs/user-guide/news/README.md b/docs/user-guide/news/README.md index 7c6765578301..bc513184390c 100644 --- a/docs/user-guide/news/README.md +++ b/docs/user-guide/news/README.md @@ -80,4 +80,3 @@ You can also include your latest news from a project on the Project overview pag Find out how to [configure your Project overview](../project-overview/#news-widget) page. ![latest-news-project-overview](latest-news-project-overview.png) - diff --git a/docs/user-guide/notifications/notification-settings/README.md b/docs/user-guide/notifications/notification-settings/README.md index 562905be0c47..ed9e5c8461ba 100644 --- a/docs/user-guide/notifications/notification-settings/README.md +++ b/docs/user-guide/notifications/notification-settings/README.md @@ -20,7 +20,6 @@ Notification settings are divided into four sections: | [Non-participating](#non-participating) | Be notified of activities on work packages in which you are not participating. | | [Project-specific](#project-specific-notifications) | Fine-tune your notification settings at the level of individual projects. | - ![A screenshot of the notification settings page](Notification-settings-12.4-overall.png) ## Participating @@ -73,8 +72,6 @@ You can be notified of: > **Info:** Please note that these apply to _all_ work packages in _all_ of your projects. If you enable many of them, you may receive too many irrelevant notifications. Please use this feature with parsimony. - - ## Project-specific notifications In some cases, you may wish to fine-tune your notification settings at a project-level. diff --git a/docs/user-guide/project-overview/README.md b/docs/user-guide/project-overview/README.md index 8aaa51d2e644..25c5c4c3ab10 100644 --- a/docs/user-guide/project-overview/README.md +++ b/docs/user-guide/project-overview/README.md @@ -66,12 +66,10 @@ To add a widget to the project overview, click on the **+ button** on the top ri ![add widget](image-20191112142303373.png) - ## Project status On the project overview page, you can set your project status and give a detailed description. The project status is a widget that you add to your project overview. Find the description [below](#project-status-widget). - ## Available project overview widgets You can add various widgets to your project overview. diff --git a/docs/user-guide/projects/README.md b/docs/user-guide/projects/README.md index e6eee4c95e64..7da08d2a6917 100644 --- a/docs/user-guide/projects/README.md +++ b/docs/user-guide/projects/README.md @@ -44,8 +44,6 @@ Then follow the instructions to [create a new project](../../getting-started/pro ![project settings subproject](project-settings-subproject.png) - - ## Project structure Projects build a structure in OpenProject. You can have parent projects and sub-projects. A project can represent an organizational unit of a company, e.g. to have issues separated: @@ -105,8 +103,6 @@ Press the blue **Save** button to apply your changes. ![project settings information change hierarchy](project-settings-information-change-hierarchy.png) - - ### Set a project to public If you want to set a project to public, you can do so by ticking the box next to "Public" in the [project settings](project-settings) *->Information*. @@ -158,7 +154,6 @@ Then, the project cannot be selected from the project selection anymore. It is s ![project list filter](project-list-filter.png) - ### Delete a project If you want to delete a project, navigate to the [Project settings](project-settings). Click the button **Delete project** on the top right of the page. @@ -168,4 +163,3 @@ If you want to delete a project, navigate to the [Project settings](project-sett Also, you can delete a project via the [projects overview](./project-lists/). **Note**: Deleting projects is only available for System administrators. - diff --git a/docs/user-guide/projects/project-lists/README.md b/docs/user-guide/projects/project-lists/README.md index db9d08b4f753..59b45e6b7b4c 100644 --- a/docs/user-guide/projects/project-lists/README.md +++ b/docs/user-guide/projects/project-lists/README.md @@ -20,7 +20,6 @@ Your projects can be available publicly or internally. OpenProject does not limi | [Export project list](#export-project-lists) | You can export the project list to XLS or CSV. | | [Project overarching reports](#project-overarching-reports) | How to create project overarching reports across multiple projects. | - ## Select project lists There are several ways to get an overview of all your projects. You can press the **Project lists** button at the bottom of the **Select a project** menu in the top left header navigation. @@ -123,8 +122,6 @@ By selecting *Overall activity* you can open a view in which all the latest glob ![overall activity meeting filter](actvity-global-filter.png) - - ## Export project lists You can export a project list by clicking on the three dots in the upper right hand corner and selecting > **Export**. diff --git a/docs/user-guide/projects/project-settings/README.md b/docs/user-guide/projects/project-settings/README.md index 432ef4abd4d9..2d3380ab5eaf 100644 --- a/docs/user-guide/projects/project-settings/README.md +++ b/docs/user-guide/projects/project-settings/README.md @@ -15,7 +15,6 @@ Open a project via the Select a project drop-down menu and navigate to -> *Proje > **Note**: You have to be a project administrator in order to see and access the project settings. - ## Overview | Topic | Content | @@ -31,4 +30,3 @@ Open a project via the Select a project drop-down menu and navigate to -> *Proje | [Activities (time tracking)](activities-time-tracking) | Activate or deactivate Activities (for time tracking) in a project. | | [Backlogs settings](backlogs-settings) | Manage backlogs settings for a project. | | [File storages](file-storages) | Manage the storages connected to the project and add a project folder. | - diff --git a/docs/user-guide/projects/project-settings/activities-time-tracking/README.md b/docs/user-guide/projects/project-settings/activities-time-tracking/README.md index 76b935fa4a5f..2e8cc40825e3 100644 --- a/docs/user-guide/projects/project-settings/activities-time-tracking/README.md +++ b/docs/user-guide/projects/project-settings/activities-time-tracking/README.md @@ -18,4 +18,3 @@ Navigate to *Project settings -> Time tracking activities*. Select the activities which you want to activate for time tracking in your project. Press the blue **Save** button to apply your changes. ![time tracking activities](image-20200211134150920.png) - diff --git a/docs/user-guide/projects/project-settings/backlogs-settings/README.md b/docs/user-guide/projects/project-settings/backlogs-settings/README.md index 7cb1ab2ba389..7b7a13336a2e 100644 --- a/docs/user-guide/projects/project-settings/backlogs-settings/README.md +++ b/docs/user-guide/projects/project-settings/backlogs-settings/README.md @@ -20,4 +20,3 @@ Press the blue **Save** button to apply your changes. ![manage backlogs settings](image-20200211134305495.png) The **Rebuild positions button** for the backlogs re-calculates the position of a work package in the product backlog. - diff --git a/docs/user-guide/projects/project-settings/file-storages/README.md b/docs/user-guide/projects/project-settings/file-storages/README.md index 95477e629bd9..13dc3c5e5bd5 100644 --- a/docs/user-guide/projects/project-settings/file-storages/README.md +++ b/docs/user-guide/projects/project-settings/file-storages/README.md @@ -51,7 +51,6 @@ Here you can choose which kind of OneDrive/SharePoint project folder will be the 2. **New folder with automatically managed permissions**: This will automatically create a folder for this project and manage the access permissions for each project member. Each project member will automatically have access to this folder according to the user permissions defined in [File storages permissions](../../../../system-admin-guide/users-permissions/roles-permissions/#permissions). This option will only be available if the system administrator has [set up the storage with automatically managed folders](../../../../system-admin-guide/integrations/one-drive/). 3. **Existing folder with manually managed permissions**: Once you selected this option, you can designate an existing folder as the project folder for this project using the button **Select folder**. The permissions are however not automatically managed, **instead the folder and its content inherits the permissions as configured in the SharePoint site or drive**. The administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - Click on **Add** to add your new OneDrive/SharePoint file storage to this project. ![SharePoint/OneDrive file storage is added to an OpenProject project](sharepoint-storage-set.png) @@ -60,8 +59,6 @@ The SharePoint file storage is now available to all work packages in this projec > **Note:** Please refer to the [OneDrive/SharePoint user guide](../../../file-management/one-drive-integration) for further instructions on using the integration at a user level. - - ## Add a Nextcloud storage to a project If you have selected the Nextcloud option in the previous step of storage selection, you will now see the **Project folder** options. @@ -88,7 +85,6 @@ If you do not yet have an access token for the file storage in a project, you wi ![OAuth for file storages in OpenProject project settings](file-storages-oauth-nudge-nextcloud.png) - ### Project folder member connection status As a project administrator you can see which of the project members have access to the automatically managed folders for Nextcloud integration. To see the list of users click on the users icon on the right side of the list. diff --git a/docs/user-guide/projects/project-settings/versions/README.md b/docs/user-guide/projects/project-settings/versions/README.md index bfb2af56ae6e..aa1d9c23e016 100644 --- a/docs/user-guide/projects/project-settings/versions/README.md +++ b/docs/user-guide/projects/project-settings/versions/README.md @@ -43,8 +43,6 @@ Please note: You can only edit versions (i.e. edit icon visible) in their origin ![User-guide-project-settings-edit-versions](User-guide-project-settings-edit-versions.png) - - ## Close a version To close a version, open the details view of a version and set the **Status** to *Closed*. diff --git a/docs/user-guide/repository/README.md b/docs/user-guide/repository/README.md index fa91fea23ba7..6610307bf4ec 100644 --- a/docs/user-guide/repository/README.md +++ b/docs/user-guide/repository/README.md @@ -14,7 +14,6 @@ keywords: svn, git, repository management > **Note**: Repositories are currently only available for the packaged-based on-premises installations. In order to use Repository functionality please make sure that the Repository module is [activated in the project settings](../projects/project-settings/modules/). - ## Repository browser view An important part of working on a project as a team is sharing files and source code. Keeping track of the latest versions can sometimes be a challenge. Therefore, OpenProject provides two types of version control systems (Git and Subversion) which – after being properly configured – can be used to store relevant data in the different projects. @@ -31,8 +30,6 @@ You can create a comparison of two versions to see the changes made for specific ![User-guide-repository3](User-guide-repository3.png) - - ## Working with an SVN or Git client The data contained in a project repository can be downloaded to your computer using one of several clients, for example [Tortoise SVN](https://tortoisesvn.net/) for Subversion, and the [git client](https://git-scm.com/) or [one of the recommended GUI clients](https://git-scm.com/downloads/guis) for Git. @@ -47,13 +44,10 @@ In the commit message you can reference a work package ID (e.g. #1234). In the r In any textile field you can reference revisions by putting an "r" in front of the revision number (e.g. r123). - ## Configure Repositories in OpenProject Please see our system admin guide [how to configure repositories in OpenProject](../../system-admin-guide/system-settings/repositories/). - - ## Repository integration See our Installation and operations guide how to [integrate repositories in OpenProject](../../installation-and-operations/configuration/repositories/#repository-integration-in-openproject). diff --git a/docs/user-guide/team-planner/README.md b/docs/user-guide/team-planner/README.md index d867c665013b..ff00bd9c9db0 100644 --- a/docs/user-guide/team-planner/README.md +++ b/docs/user-guide/team-planner/README.md @@ -7,6 +7,7 @@ keywords: team planner, planning, calendar, resource management, assign, team vi --- # Team planner + The team planner module helps you get a complete overview of what each member of your team is working on. You can use it to track the current progress of work packages your team is working on, schedule new tasks, reschedule them or even reassign them to different members. ![Example team planner showing a two-week view of work packages assigned to team members](TeamPlanner-12.4-twoWeeks.png) @@ -25,7 +26,7 @@ To use this module, you must have the work packages module enabled. | [Work package detail view](#work-package-details-view) | View or edit a specific work package | | [Removing a work package](#remove-a-work-package) | Removing (unscheduling) visible work packages | - +![Video](https://openproject-docs.s3.eu-central-1.amazonaws.com/videos/OpenProject-Team-Planner.mp4) ## Module overview @@ -41,7 +42,6 @@ Clicking on the **Team planners** entry on the left sidebar takes you to the tea > **Info**: Both *public* and *private* team planners can be added as **favored** planners; they will then appear under the **Favorite** heading in the menu bar. - ## Team planner basics ![A screenshot of an example team planner with different functions highlighted](TeamPlanner-12.4-oneWeek.png) @@ -93,7 +93,6 @@ A **new work package dialog** will open. The assignee, start and finish dates wi ![An example of the new work package split screen view](TeamPlanner-12.4-newTask-splitScreen.png) - #### Add an existing work package If you would like to take an existing work package and assign it to your team member for a certain start date, the team planner makes it easy to do so. diff --git a/docs/user-guide/time-and-costs/README.md b/docs/user-guide/time-and-costs/README.md index 2a8733ad36a6..bf02fd54a8dc 100644 --- a/docs/user-guide/time-and-costs/README.md +++ b/docs/user-guide/time-and-costs/README.md @@ -24,6 +24,7 @@ Create budgets, log time and costs on specific work packages and create time and Watch this short video to get a first overview about time and cost reporting in OpenProject. + ## Frequently asked questions (FAQ) ### Does OpenProject provide resource management? diff --git a/docs/user-guide/time-and-costs/cost-tracking/README.md b/docs/user-guide/time-and-costs/cost-tracking/README.md index a1e250a46c14..b94b23c6e6ec 100644 --- a/docs/user-guide/time-and-costs/cost-tracking/README.md +++ b/docs/user-guide/time-and-costs/cost-tracking/README.md @@ -16,7 +16,6 @@ You can log unit costs on a work package within a project to keep track on certa | [Edit logged costs](#edit-logged-costs) | How to edit spent costs logged to a work package. | | [Delete logged costs](#delete-logged-costs) | How to delete spent costs logged to a work package. | - ## Log costs to a work package In order to log unit costs, you must first activate the **Time and costs** module and the **Budget** module in the project settings. Then select a budget from the drop-down menu of the work package details and link it to the selected work package![select-budget-work-package-details](select-budget-work-package-details.png) @@ -52,12 +51,8 @@ A new form is opened, where you can log unit costs. You can edit the following i The **spent unit costs** as well as the total amount of **overall costs** are displayed on the work packages details view. - - ![Cost tracking overview](Cost-tracking-overview.png) - - ## Edit logged costs To display and edit the logged costs to a work package, navigate to the work package details view. Here, the total amount of spent costs are displayed. Click on the sum of logged costs on a work package to display the details. diff --git a/docs/user-guide/time-and-costs/progress-tracking/README.md b/docs/user-guide/time-and-costs/progress-tracking/README.md index a50a624905d6..03d719001ebd 100644 --- a/docs/user-guide/time-and-costs/progress-tracking/README.md +++ b/docs/user-guide/time-and-costs/progress-tracking/README.md @@ -69,7 +69,6 @@ This allows you to edit % Complete (by changing status) or Work and get a p >**Note:** In the upcoming version, statuses cannot have an empty % Complete value in status-based progress reporting mode.When upgrading, all statuses that do not have a value will take the default value of 0%. - ## Hierarchy totals OpenProject will automatically show totals for Work, Remaining work and % Complete in a work package hierarchy (any parent with children). These appear in a work package table as a number with a Σ sign next to it, indicating that it is a total of the values of the parent _and_ children. @@ -106,6 +105,3 @@ In Status-based mode, it is possible for work packages to have a % Complete When switching to Work-based mode, OpenProject will retain the value for % Complete that was set with status. It can then be modified by inputing Work and Remaining work, thereby overwriting the previous value with a new computed value: ![Work estimates and progress pop-over with only the previous % Complete value](progress-popover-percentage-complete-only.png) - - - diff --git a/docs/user-guide/time-and-costs/reporting/README.md b/docs/user-guide/time-and-costs/reporting/README.md index 451fb702fb03..5e95ac37ae67 100644 --- a/docs/user-guide/time-and-costs/reporting/README.md +++ b/docs/user-guide/time-and-costs/reporting/README.md @@ -12,7 +12,6 @@ You can easily report spent time and costs in OpenProject and filter, group and > **Note**: To use the time tracking functionality, the **Time and costs module** needs to be activated in the [project settings](../../projects/project-settings/modules/). - | Topic | Content | |---------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------| | [Time and costs report](#time-and-costs-reports) | How to open time and costs reports in OpenProject. | diff --git a/docs/user-guide/time-and-costs/time-tracking/README.md b/docs/user-guide/time-and-costs/time-tracking/README.md index 0bef81db01f9..24336f7c6ba5 100644 --- a/docs/user-guide/time-and-costs/time-tracking/README.md +++ b/docs/user-guide/time-and-costs/time-tracking/README.md @@ -12,7 +12,6 @@ Users can book their time or units spent on an activity within a project directl > **Note**: To use the time tracking functionality, the **Time and costs module** needs to be activated in the [project settings](../../projects/project-settings/modules/). - | Topic | Content | | ------------------------------------------------------------ | ------------------------------------------------------------ | | [Log time in the work package view](#log-time-in-the-work-package-view) | How to log time to a work package. | @@ -27,7 +26,6 @@ Users can book their time or units spent on an activity within a project directl | [TimeCamp integration](./timecamp-integration) | How to track spent time using TimeCamp. | | [Time Tracker integration](./time-tracker-integration) | How to record and log spent time using Time Tracker. | - ## Log time in the work package view In order to log spent hours for a certain activity, open the details of the corresponding work package. Select **Log time** from the **More functions** drop down menu, the icon with the three dots in the top right of the work packages details. Or use the **Log time** icon next to **Spent time**. @@ -135,7 +133,6 @@ A user with permissions to edit time logged by other users can edit each entry a In order to track labor costs, you need to [define an hourly rate](#define-hourly-rate-for-labor-costs) in your user profile first. The labor costs will then be calculated automatically based on your hours booked and your hourly rate. - ## Define hourly rate for labor costs You can define an hourly rate to track labor costs per user. You will need system admin permissions for this. Please navigate to the user profile, e.g. by clicking on a hyper link of the user name on a work package. diff --git a/docs/user-guide/time-and-costs/time-tracking/time-tracker-integration/README.md b/docs/user-guide/time-and-costs/time-tracking/time-tracker-integration/README.md index 41eceb731d94..25335fc1fb8c 100644 --- a/docs/user-guide/time-and-costs/time-tracking/time-tracker-integration/README.md +++ b/docs/user-guide/time-and-costs/time-tracking/time-tracker-integration/README.md @@ -22,7 +22,6 @@ Time Tracker app is available in the Apple [AppStore](https://apps.apple.com/us/ 1. Log in to the Time Tracker app with your administrator account. - 2. Once logged in, open the Administration panel, navigate to the Authentication page and when go to the OAuth applications tab. ![OAuth applications](openProject_OAuth_applications.png) diff --git a/docs/user-guide/time-and-costs/time-tracking/toggl-integration/README.md b/docs/user-guide/time-and-costs/time-tracking/toggl-integration/README.md index 5aa3efdd4c6e..847e06699240 100644 --- a/docs/user-guide/time-and-costs/time-tracking/toggl-integration/README.md +++ b/docs/user-guide/time-and-costs/time-tracking/toggl-integration/README.md @@ -28,16 +28,12 @@ For any other OpenProject Domains you need to exactly add the **Fully Qualified ![toggl-configuration-integrations-openproject](toggl-configuration-integrations-openproject.png) - - ## Track time from OpenProject to Toggl Track If this add-in is installed and the **Integration URL** is configured, a **Start/Stop Timer button** is displayed on the work package details view, which can be used to record times from OpenProject into Toggl: ![toggl button openproject work package detail view](toggl-button-openproject-workpackage-detail-view.png) - - ## Copy time entries from Toggl Track to OpenProject If you would like to use the times tracked in Toggl Track inside of OpenProject, and you are a programmer, you are able to transfer the recorded times back to OpenProject via the API if needed. diff --git a/docs/user-guide/wiki/README.md b/docs/user-guide/wiki/README.md index 1831ad7fba4b..ae7615b4d922 100644 --- a/docs/user-guide/wiki/README.md +++ b/docs/user-guide/wiki/README.md @@ -58,11 +58,11 @@ As CKEditor5 currently does not provide support for code blocks, OpenProject can The GFM extension of the CommonMark specs adds a definition for table syntax which the CKEditor build of OpenProject supports. This definition requires all tables to have a heading row. For tables created with CKEditor without heading rows, a HTML table is output instead. This matches the behavior of, e.g., GitHub. ### Emojis + Starting with OpenProject 13.0 you can add emojis to all text editors. Type a colon and a letter, e.g. **:a** into the wiki editor and get a suggested list of emojis you can use. ![openproject_user_guide_wiki_emoji](openproject_user_guide_wiki_emoji.png) - ### Autoformatting CKEditor5 allows certain CommonMark-like autoformatting keyboard strokes: diff --git a/docs/user-guide/wiki/create-edit-wiki/README.md b/docs/user-guide/wiki/create-edit-wiki/README.md index d4ec33b0d89e..01c4458bc423 100644 --- a/docs/user-guide/wiki/create-edit-wiki/README.md +++ b/docs/user-guide/wiki/create-edit-wiki/README.md @@ -77,4 +77,3 @@ If you want to keep updated about any changes to a wiki page, you can make use o ![watch-wiki](watch-wiki.png) With this function being activated, you will receive an e-mail notification (according to your email preferences) after every page update, including a link to the respective changes. - diff --git a/docs/user-guide/wiki/more-wiki-functions/README.md b/docs/user-guide/wiki/more-wiki-functions/README.md index 55a92290e0ae..30b9f21802e6 100644 --- a/docs/user-guide/wiki/more-wiki-functions/README.md +++ b/docs/user-guide/wiki/more-wiki-functions/README.md @@ -18,15 +18,12 @@ In the wiki you have more functions to edit or configure your wiki page, e.g. to | [Show wiki page history](#show-wiki-page-history) | How to display changes to a wiki page. | | [Export a wiki page](#export-a-wiki-page) | How to export a wiki page. | - To open further configuration settings, navigate to a wiki page and click on the **More** button on top of the wiki page. In the drop down menu, select the corresponding menu item. ![more-wiki-functions](image-20210429094259782.png) - - ## Lock a wiki page To lock an existing wiki page and prevent others from editing the page, select the **More** button on top of the wiki page. @@ -39,8 +36,6 @@ To unlock a wiki page and make it possible for users to edit it again, select th ![unlock-wiki-page](image-20210429101715608.png) - - It is now possible to edit the wiki page again. ## Delete a wiki page diff --git a/docs/user-guide/wiki/wiki-menu/README.md b/docs/user-guide/wiki/wiki-menu/README.md index 492ccfe667a7..10373378cd18 100644 --- a/docs/user-guide/wiki/wiki-menu/README.md +++ b/docs/user-guide/wiki/wiki-menu/README.md @@ -14,8 +14,6 @@ Wiki menu items are marked with the wiki icon to clearly identify the pages in t ![wiki-menu](wiki-menu.png) - - ## Add a wiki page to the project menu To add a wiki page as a menu item to the project menu, select the **More** functions button on top of a wiki page and choose the **Configure menu item** topic. @@ -31,8 +29,6 @@ To add a wiki page as a menu item to the project menu, select the **More** funct 3. **Save** your changes to the wiki page menu. - - ![wiki-menu-item-settings](wiki-menu-item-settings.png) **Visibility** show as menu item in the project navigation: diff --git a/docs/user-guide/work-packages/README.md b/docs/user-guide/work-packages/README.md index 68378d75d03e..2a6259a40a9e 100644 --- a/docs/user-guide/work-packages/README.md +++ b/docs/user-guide/work-packages/README.md @@ -22,7 +22,6 @@ Work packages have a **type**, an **ID**, a **subject** and may have various add **Types** are the different items a work package can represent, such as task, feature, bug, phase, milestone. The work package types can be configured in the system administration. - Work packages can be displayed in a projects timeline, e.g. as a milestone or a phase. In order to use the work packages, the work package module has to be activated in the project settings. ## Overview @@ -41,4 +40,3 @@ Work packages can be displayed in a projects timeline, e.g. as a milestone or a | [Work package relations and hierarchies](work-package-relations-hierarchies) | How to create work package relations and hierarchies. | - diff --git a/docs/user-guide/work-packages/baseline-comparison/README.md b/docs/user-guide/work-packages/baseline-comparison/README.md index 018062e2b44b..bd990ba84fd8 100644 --- a/docs/user-guide/work-packages/baseline-comparison/README.md +++ b/docs/user-guide/work-packages/baseline-comparison/README.md @@ -50,7 +50,6 @@ By default, Baseline will compare to 8 AM local time of the relevant day. You ca >**Note:** These are relative comparison points, which means that _Yesterday_ will always refer to the day before the current day, and not a specific date. You can use these to set up "running" baselines that show you all changes within the past day or week. - ### A specific date ![You can compare the present state to a specific date in the past](13-0_Baseline_specificDate.png) @@ -82,7 +81,6 @@ When Baseline is enabled, you will see a legend at the top of the page which sho - The number of work packages that no longer meet the filter criteria (and were thus removed from view) - The number of work packages that maintained but were modified - ### Change icons #### Now meets filter criteria diff --git a/docs/user-guide/work-packages/create-work-package/README.md b/docs/user-guide/work-packages/create-work-package/README.md index 10348cedc2fa..3f3c9b4fb229 100644 --- a/docs/user-guide/work-packages/create-work-package/README.md +++ b/docs/user-guide/work-packages/create-work-package/README.md @@ -26,7 +26,6 @@ Then, navigate to the Work package module in the project navigation. ![work packages module](1566302949658.png) - ### Create a Work package in the table view To create new Work packages directly in line in the table view, click on the **+ Create new Work package** link below the table. @@ -57,8 +56,6 @@ Starting with OpenProject 13.0 you can add emojis to all text editors, including To find out **how to create a child Work package** please click [here](../work-package-relations-hierarchies/#add-a-child-work-package). - - ## Add attachments to Work packages You can directly add images, e.g. via copy and paste to the **Work package description**. You can also use the toolbar above the Work package description and click the Insert image icon: diff --git a/docs/user-guide/work-packages/edit-work-package/README.md b/docs/user-guide/work-packages/edit-work-package/README.md index b78b5ef90996..fe012ecafd2e 100644 --- a/docs/user-guide/work-packages/edit-work-package/README.md +++ b/docs/user-guide/work-packages/edit-work-package/README.md @@ -69,11 +69,11 @@ You can mention and notify team members via [@notification](../../notifications/ ![comment-work-packages](comment-work-packages.png) ### Emojis + Starting with OpenProject 13.0 you can add emojis to all text editors. Type a colon and a letter, e.g. **:a** into the text editor and get a suggested list of emojis you can use. ![openproject_user_guide_wp_comment_emojis](openproject_user_guide_wp_comment_emojis.png) - ## Attach files to work packages You can manually upload files to work packages directly under the tab **Files** in the work package detailed view. You can either attach files by dragging and dropping or by using the **+Attach files** option. @@ -132,8 +132,6 @@ Then you have the possibility to: ![bulk edit right mouse click](image-20200331133245192.png) - - At the bottom of the page you can decide whether email updates regarding these changes should be sent or not. It makes sense not to tick the box for large updates to prevent users from getting flooded by emails. ![bulk-edit_email-updates](image-20201119163714831.png) diff --git a/docs/user-guide/work-packages/exporting/README.md b/docs/user-guide/work-packages/exporting/README.md index 49c6b7dbd9a8..0a0be067aec7 100644 --- a/docs/user-guide/work-packages/exporting/README.md +++ b/docs/user-guide/work-packages/exporting/README.md @@ -33,6 +33,7 @@ The exported file will display the columns that are activated for the work packa Some formats such as PDF will limit the number of columns available due to limitations of the PDF rendering engine to avoid overflowing the available space. ## Export format options + OpenProject has multiple options of exporting work packages, including PDF, XLS, CSV and Atom. See below what each format entails. ## PDF export @@ -40,11 +41,13 @@ OpenProject has multiple options of exporting work packages, including PDF, XLS, OpenProject has multiple options of exporting work packages in PDF format. ### PDF Table + PDF Table exports the work package table displaying work packages as single rows with the selected columns for the work package table. Work packages IDs are linked to the respective work packages. Clicking on a work package ID will lead you directly to the work package in OpenProject. ![OpenProject PDF Table export](openproject_pdf_table_export.png) ### PDF Report + With PDF Reports you can export detailed up to date work plans for your project in a clean and practical format. It includes a title page, a table of contents (listing all of the work packages), followed by the description of single work packages in a block form. Table of contents is clickable and is linked to the respective pages within the report, making navigation much easier. For each work package a table of attributes is included (attributes correspond to the columns in the work package table). Work package ID attribute is clickable and linked directly to the respective work package in OpenProject. ![OpenProject_pdf_report_export](openproject-pdf-export-work-plans.png) @@ -55,6 +58,7 @@ With PDF Reports you can export detailed up to date work plans for your project ![OpenProject_pdf_report_sum](openproject_wp_report_total_sum.png) ### PDF Report with images + PDF Report with images is the same as PDF Report, but also includes the images from the work package description. > **Note**: Images attached or linked in the work package Files section or in the Activity comments are not included into the PDF Report with images. @@ -68,16 +72,19 @@ PDF Report with images is the same as PDF Report, but also includes the images f OpenProject can export the table for Microsoft Excel with the following options: ### XLS + **XLS** is a plain sheet that matches the OpenProject work packages table with its columns and work packages as rows matching the selected filter(s). ![OpenProject_work_package_export_excel](openproject_export_excel.png) ### XLS with descriptions + **XLS with descriptions** is same as above, but with an additional column for work package descriptions, which cannot be selected in the table. ![OpenProject_work_package_export_excel_description](openproject_pdf_table_export_description.png) ### XLS with relations + **XLS with relations** same as **XLS**, but with additional columns to list each work package relation in a separate row with the relation target and its ID and relation type included in the export. ![OpenProject_work_package_export_excel_relations](openproject_pdf_table_export_relations.png) @@ -95,7 +102,6 @@ OpenProject can export the table into a comma-separated CSV. This file will be U > **Note**: To open CSV exported files into Microsoft Excel, ensure you set the encoding to UTF-8. Excel will not auto-detect the encoding or ask you to specify it, but simply open with a wrong encoding under Microsoft Windows. - ![OpenProject_work_package_export_csv](openproject_export_csv.png) ### Limitations @@ -105,7 +111,6 @@ The OpenProject CSV export currently does not respect all options in the work pa - The order of work packages in a manually sorted query is not respected. This is known limitation ([Ticket](https://community.openproject.org/projects/openproject/work_packages/34971/activity)). - The hierarchy of work packages as displayed in the work package view. The exported CSV is always in "flat" mode. - ## Atom (XML) export OpenProject can export the table into a XML-based atom format. This file will be UTF-8 encoded. @@ -121,4 +126,3 @@ It is also possible to export single work packages in PDF and Atom format. To do An exported PDF file will include all the work package fields that are [configured in the work package form](../../../system-admin-guide/manage-work-packages/work-package-types/#work-package-form-configuration-enterprise-add-on), regardless whether they are filled out or not. Atom Export includes a work package Title, Author, a link to the work package and work package activities. - diff --git a/docs/user-guide/work-packages/set-change-dates/README.md b/docs/user-guide/work-packages/set-change-dates/README.md index 61eef0096765..f138f74395f0 100644 --- a/docs/user-guide/work-packages/set-change-dates/README.md +++ b/docs/user-guide/work-packages/set-change-dates/README.md @@ -33,7 +33,6 @@ You can open the date picker for a work package from a number of different place - By clicking the the date field in the work package [split screen view](../work-package-views/#split-screen-view) (from any other view, including [notification center](../../notifications), [team planner](../../team-planner/), [boards](../../agile-boards)...) - By clicking the start date, finish date or duration fields in [table view](../work-package-views/#table-view) - ### Using the date picker You can enter dates either by typing them in into the start and finish date fields or by clicking on individual dates in the mini calendar below. @@ -66,7 +65,6 @@ Date changes are documented in the work package [Activity](../../activity/). - It is possible to set only one of the two dates. To do this, click on the field you would like to set (start date is selected by default, but you can change this manually to finish date) and click on a date. Then save without selecting a second date. Alternatively, if a a range is already selected, simply remove one of the dates and save. - **Note**: The precedes-follows relation can constrain or affect the dates of work packages. For more information, see [Moving related work packages](../work-package-relations-hierarchies/#moving-related-work-packages). ### One-day events @@ -81,8 +79,6 @@ Certain work package types (such as Milestones) can only span one day and thus h ![Milestones have datepickers with a single date field](milestone-datepicker.png) - - ## Working days and duration Starting with OpenProject 12.3, it is possible to manually input a duration for a work package and decide whether this duration should include working days only or all calendar days. @@ -136,7 +132,6 @@ Setting only duration without start or finish dates is especially useful when yo > > To do so, create a series of work packages that represent the main phases and set the approximate duration for each. Link them all using follow/precedes relationships. Now, when you set a start date on the first work package in the series, the start and end dates for all other work packages will be derived. - ## Scheduling mode ### Manual scheduling diff --git a/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md b/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md index 734cab129267..9df54f1e6f54 100644 --- a/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md +++ b/docs/user-guide/work-packages/work-package-relations-hierarchies/README.md @@ -52,6 +52,7 @@ You can select one of the following relations: The selected relation status will be automatically displayed in the work package that you enter. For example if you select "Blocks" in the current work package A and specify work package B, work package B will automatically show that it is "Blocked by" A. ### Moving related work packages + The precedes/follows relation is the only one that can constrain or affect the dates of work packages. Work packages in a precedes/follows relationship do not need to immediately follow one other; there can be a gap. In this case, you can move either forwards or backwards in time without affecting the other as long as the finish date of the predecessor is before the start date of follower. diff --git a/docs/user-guide/work-packages/work-package-table-configuration/README.md b/docs/user-guide/work-packages/work-package-table-configuration/README.md index 5af7628cd9bd..2837701b77a1 100644 --- a/docs/user-guide/work-packages/work-package-table-configuration/README.md +++ b/docs/user-guide/work-packages/work-package-table-configuration/README.md @@ -23,13 +23,10 @@ You can change the header in the table and add or remove columns, filter and gro Save the view to have it available directly from your project menu. A work package view is the sum of all modifications you made to the default table (e.g. filters you set). - - To open the work package table configuration, open the **Settings** icon with the three dots at the top right of the work package table. ![configure-work-package-table](configure-work-package-table.png) - ## Add or remove columns in the work package table To configure the view of the work package table and have different attributes displayed in the table you can add or remove columns in the work package table. @@ -82,8 +79,8 @@ Multi-select attributes also have one extra options: Other attributes like Status might offer additional criteria like _open_ or _closed_. Required attributes might only offer two options, _is (OR)_ and _is not_, since they cannot be empty. - ### Filter by text + If you want to search for specific text in the subject, description or comments of a work package, type in the **Filter by text** the expression you want to filter for. The results will be displayed accordingly in the work package table. @@ -134,12 +131,8 @@ Use the filter "Attachment content" or "Attachment file name" to filter attached ![advanced-filter-work-package-table](advanced-filter-work-package-table.png) - - For both the file name and the content, you can then differentiate the filtering with the "contains" and "does not contain" options for selected keywords and text passages. To do this, please enter the corresponding text in the field next to it. - - ![advanced-filter-options](advanced-filter-options.png) It will then display the corresponding work package with the attachment. @@ -149,6 +142,7 @@ It will then display the corresponding work package with the attachment. ## Sort the work package table ### Automatic sorting of the work package table + By default, the work package table will be sorted by work package ID.
@@ -164,8 +158,6 @@ Clicking the blue **Apply** button will save your changes and display the result > **Please note**: If you have the hierarchy mode activated, all filtered table results will be augmented with their ancestors. Hierarchies can be expanded and collapsed. - - Therefore, the results may differ if you sort in a flat list or in a hierarchy mode. The same filter applied in the hierarchy mode. @@ -181,7 +173,6 @@ Moving a work package will change its attributes, depending on the kind of table To keep the sorting it is necessary to [save the work package view](#save-work-package-views). Please note: This has no effect on the "All open" view; you have to save your sorting with another name. - ## Flat list, Hierarchy mode and Group by You have three different options to display results in the work package table. @@ -196,8 +187,6 @@ To switch between the different criteria, open the [work package table configura ![display-settings](image-20210426164224748.png) - - When you group the work package table by an attribute or by project a **button to collapse groups** shows up: ![collapse-button](collapse-all-expand-all.png) diff --git a/docs/user-guide/work-packages/work-package-views/README.md b/docs/user-guide/work-packages/work-package-views/README.md index dbef190422fd..30b6dab6d6e6 100644 --- a/docs/user-guide/work-packages/work-package-views/README.md +++ b/docs/user-guide/work-packages/work-package-views/README.md @@ -33,7 +33,6 @@ The containing work packages in any view can be displayed a number of different * [Gantt view](../../gantt-chart) * [Board view](../../../getting-started/boards-introduction/) - ### Table view The table view shows all work packages in a table with selected attributes in the columns. @@ -67,4 +66,3 @@ Then, the work package with all its details will be displayed. The arrow next to the subject will bring you back to the table view. ![back-to-list-view](openproject-user-guide-work-package-full-screen-back-arrow.png) - diff --git a/docs/user-guide/work-packages/work-packages-faq/README.md b/docs/user-guide/work-packages/work-packages-faq/README.md index 35d6dba8e066..6496608bb4bb 100644 --- a/docs/user-guide/work-packages/work-packages-faq/README.md +++ b/docs/user-guide/work-packages/work-packages-faq/README.md @@ -128,8 +128,6 @@ There are two reasons for this: 1. Potentially, a lot of values are displayed in Please increase the number of displayed work packages per page [in the administration](../../../system-admin-guide/system-settings/general-settings/#general-system-settings). Then the probability of this phenomenon happening is lower. This is a known behavior of OpenProject, but not trivial to solve. There's already a feature request for this [here](https://community.openproject.org/wp/34925). - - ## Status and type ### When I create a new work package it's always a "Task". How can I change the default work package type? @@ -162,8 +160,6 @@ You can e.g. create a role “Marketing – Member” and select it as well as t Repeat this step for the other (department) roles (e.g. “IT – Member”) and select the desired status transitions. This way, you can set different status for each department (only the default status is shared (i.e. “New” by default)). Please keep in mind that it may not be possible for a member of a different department to update the status of a work package if it has been updated before by another department (since the workflow may not support this status transition). - - ## Move and copy ### Which permissions are necessary to move a work package from one project to another? @@ -216,7 +212,9 @@ Yes, you can display the sum of custom fields in the work package tables by chec Calculating a sum across different attributes (e.g. Estimated time + added hours) is however not possible. ## Sharing work packages + ### Is it possible to share a work packages with a user outside my project? + Yes, starting with OpenProject 13.1 you can [share a work package](../share-work-packages) with users outside your project or even with user who do not yet have an account on your instance. ## Export @@ -240,8 +238,6 @@ This provides an overview of "worker_backed_up" which shows the number of backgr For a documentation of how to do this, please refer to [these instructions](../../../installation-and-operations/operation/control) (see section "Scaling the number of web workers"). - - ## Versions and backlog ### I cannot change the version of a parent work package or child work package diff --git a/docs/user-guide/wysiwyg/README.md b/docs/user-guide/wysiwyg/README.md index fabc55300a27..971a84c7b5f7 100644 --- a/docs/user-guide/wysiwyg/README.md +++ b/docs/user-guide/wysiwyg/README.md @@ -12,9 +12,6 @@ Starting with version 8.0.0, OpenProject features a quasi-WYSIWYG editor, powere > **Please note:** In some resources such as work packages or comments, the editor does not exhibit all functionality such as macros or image upload. > In the work package split screen view (details view) you may have to use the three vertical dots to access additional features of the editor. - - - | Topic | Content | | ------------------------------------------------------------ | -------------------------------------------------------- | | [Basic formatting](#basic-formatting) | Basic formatting elements in the WYSIWYG editor | @@ -43,7 +40,6 @@ CKEditor uses widgets to display block elements such as images, tables, and othe When you have a widget selected, you can remove or cut it. You can create a newline below it by selecting the widget and pressing `ENTER` or `↓ (ARROW DOWN)`, or a newline above it by pressing `SHIFT+enter` or `↑ (ARROW UP)`. This is especially needed when the widget is the first or last element on the page to insert a line below or above it. - ### Code Blocks As CKEditor5 currently does not provide support for code blocks, OpenProject can display, but not edit code blocks within the CKEditor instance. A code block can be edited through a modal window within a `CodeMirror` editor instance. This has the advantage of providing syntax highlighting and code sensing ([for supported languages](https://codemirror.net/mode/)). @@ -61,7 +57,6 @@ CKEditor5 allows certain CommonMark-like [autoformatting keyboard strokes](https - Create a bulleted list by starting the line with `*` or `-` and a space - Create a numbered list by starting the line with `1.` or `1)` and a space - ## Image handling In supported resources of OpenProject where attachments are allowed, you can add images to the page by either @@ -74,8 +69,6 @@ The image will be automatically uploaded and stored as an attachment. You can ad ![Resize Image](resize-imagesshort.gif) - - ## Keyboard shortcuts CKEditor has a wide variety of keyboard shortcuts you can use. You can find a list of documented shortcuts here: [https://ckeditor.com/docs/ckeditor5/latest/features/keyboard-support.html](https://ckeditor.com/docs/ckeditor5/latest/features/keyboard-support.html). @@ -93,26 +86,18 @@ OpenProject has supported macros on textile formatted pages and continues to do You can find the macros here in the text editor: ![Macros text editor](image-20201109183018255.png) - - ### Table of contents Where applicable, the table of contents (TOC) macro will output a listing of all headings on the current page. - - ### Work package button Configure a button or link to target the work package creation screen in the current project. You can preselect a work package type that should be selected, making it easy to guide the users to the work package creation form. - - ### Include wiki page Include the content of a given wiki page in the current, or another visible project. - - ### Embed work package table and Gantt chart This is the most flexible macro that provides extensive functionality regarding the inclusion of dynamic work package tables with all the potential of the regular work package table. @@ -123,15 +108,10 @@ The rendered page will then fetch the work package table results dynamically, re Use it to embed views in other pages, create reporting of multiple results, or to embed a Gantt chart view. - - - ## Links to OpenProject resources As with the textile formatting syntax, you can link to other resources within OpenProject using the same shortcuts as before. Create links to a: - - - **wiki page**: `[[Wiki page]]` - **wiki page with separate link name**: `[[Wiki page|The text of the link]]` - **wiki page in the Sandbox project**: `[[Sandbox:Wiki page]]` @@ -153,14 +133,10 @@ To avoid processing these items, preceding them with a bang `!` character such a > **Please note**: All these macros need to be written as a new word (i.e., with at least one space before it or at the beginning of a paragraph/sentence. Macros contained within a word such as `somethingmeeting#4` will not be parsed. - - ### Autocompletion for work packages and users For work packages and users, typing `#` or `@` will open an autocompleter for visible work packages and users, respectively. - - ## Embedding of work package attributes and project attributes You can embed specific attributes of work packages or projects using a certain syntax. @@ -172,17 +148,12 @@ Examples: > **Please note**: Referencing a work package by subject results in only looking for work packages with that given subject in the current project (if any). If you need to cross-reference work packages, use their ID to pinpoint the work package you want to reference. - - - ### Embedding attribute help texts -You can also embed attribute values and [their help texts](../../system-admin-guide/attribute-help-texts/) by using `workPackageLabel` instead of: `workPackageLabel:1234:status` which would output the translated label for "Status" and (if exists), the corresponding help text for it. - +You can also embed attribute values and [their help texts](../../system-admin-guide/attribute-help-texts/) by using `workPackageLabel` instead of: `workPackageLabel:1234:status` which would output the translated label for "Status" and (if exists), the corresponding help text for it. > **Please note**: These macros will only be expanded in the frontend. For each individual user, the correct permissions will be checked and the macro will result in an error if the user is not allowed to view the respective resource. - ## Attributes The following lists show the supported attributes for work packages and projects. @@ -231,4 +202,3 @@ The following list contains all supported attribute names for the `projectValue` | Status description | `projectValue:statusExplanation` | | Parent project | `projectValue:parent` | | Project public? (boolean) | `projectValue:public` | -