Upgrading your openproject installation

Введение

OpenProject был разработан в 2007 году вместе с предком проекта ChiliProject. Первоначальная мотивация для этой вилки была требования к производительности, безопасности и доступности основателей OPF, которые не могли быть легко достигнуты с помощью плагинов для Redmine или ChiliProject.

Пользователям предоставляются платные услуги по хостингу, установке, обслуживанию, поддержке и консультированию OpenProject как для частных пользователей, так и для сложных организационных структур.

Эта бизнес-модель помогает обеспечить финансирование проекта. В случае если пользователь обладает специальными навыками, он может самостоятельно и бесплатно установить OpenProject на свой сервер.

Работа с проектами и задачами, таймлайны проектов, Agile- и Scrum-методологии командной работы, создание и управление Wiki-разделами, трекинг времени и стоимости работ в проекте – все функции, которые есть в привычных похожих инструментах управления проектами, как Asana, – здесь доступны по лицензии GNU General Public License version 3 для использования в том числе на собственных серверах.

Раздел сайта по возможностям OpenProject включает подробное описание доступных элементов, а раздел Open Source имеет всю информацию по установке и использованию OpenProject.

После того, как программный продукт приобрела компания Serena, поддержка OpenProj была прекращена из-за возможности появления судебных исков и претензий со стороны Microsoft. Проект получил продолжение благодаря сообществу Linux. В рамках разработки Libre Office группа волонтёров занялась работой над продуктом, переименованным в ProjectLibre.

Программный продукт от Serena Software представлен в двух вариантах:

  • платный вариант – Projects On Demand (POD) – позволяет осуществлять многопользовательское управление (его стоимость – порядка 20$ в месяц);
  • бесплатный вариант – собственно OpenProj – устанавливается на один компьютер и предназначен для личного использования (версия включена также в состав Star Office).

Бесплатными аналогами исходной версии OpenProj считаются Trello и GanttProject. Платными аналогами можно назвать JIRA и Microsoft Project, однако в данный момент возможности OpenProj сравнимы с возможностями Ms Project только в самых простых конфигурациях программы Microsoft.

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.
Choose Configure view … and select the tab Gantt chart.

Here you can adapt the Zoom level, or choose Auto zoom which will select a Zoom level which best fits to your browser size to have optimal results on a page.

Also, you have Label Configuration for your Gantt chart. You can add up to three additional labels within the chart: On the left, on the right and on the far right. Just select which additional information you would need to have in the Gantt chart. This can be especially relevant if you want to print your Gantt chart.

Click the Apply button to save your changes.

To export the data from your Gantt chart there are several possibilities:

  • <-> MS Project

How to print a Gantt chart?

The Gantt chart can be printed via the browser’s printing function. It is optimized for Chrome.

First, make sure to add the labels you will need in the Gantt chart, e.g. Start date, Finish date, Subject, in the .

Choose the Auto zoom by clicking on the Auto zoom button on top of the Gantt chart.

Optimize the screen by dragging the Gantt chart to the far left so that only the Gantt chart is seen.

Then, press CTRL + P to print the Gantt chart view.

Make sure you select Landscape as a print layout.

In the settings, enable the Background graphics for printing.

Press the Print button.

For other browsers, please simply follow the browser’s printing instruction to optimize results.

Help and feedback

If you did not find what you were looking for

If you need help from the community or want to support others

If you are eligible for professional support and have more questions

If you find an easily fixable error or need for improvement in the documentation for the stable release

If you would like to suggest bigger updates or improvements to this documentation

If you want to contribute to translate this documentation to another language

If there’s something you don’t like or understand about this feature

If you want to propose a new feature that OpenProject does not offer yet

To further help OpenProject to shape and test new features

To view OpenProject premium features and pricing

If you want to try all premium features in the OpenProject Cloud Edition 14 days for free

If you want to try all premium features in your on premise Community installation 14 days for free

OpenProject::Notification listeners

The relevant files for notification listeners are:

lib/open_project/proto_plugin/engine.rb — proto_plugin.notifications initializer

Although OpenProject has inherited hooks (see next section) from Redmine, it also employs its own mechanism for simple event callbacks. Their return values are ignored.

For example, you can be notified whenever a user has been invited to OpenProject by subscribing to the event. Add the following to the file:

Events

Currently the supported events (block parameters in parenthesis) to which you can subscribe are:

  • user_invited (token)
  • user_reinvited (token)
  • project_updated (project)
  • project_renamed (project)
  • project_deletion_imminent (project)
  • member_updated (member)
  • member_removed (member)
  • journal_created (payload)
  • watcher_added (payload)

Setting Events

Whenever a given setting changes, an event is triggered passing the previous and new values. For instance:

setting.host_name.changed (value, old_value)

Where is the name of the setting. You can find out all setting names simply by inspecting the relevant setting input field in the admin area in your browser or by listing them all on the rails console through . Also have a look at where all the default values for settings are defined by their name.

Ошибки

OpenProj не поддерживается более 10 лет. Программное обеспечение Serena ранее выдавало предупреждение и предлагало пользователям использовать ProjectLibre. Начиная с версии 1.4, ошибки в программном обеспечении обычно проявляются только для пользователей, которые пытаются использовать более продвинутые функции. Например, задачи могут таинственным образом запускаться в определенное время (они ведут себя так, как будто у них есть ограничение «Начать не раньше, чем», даже если его нет, и дата начала проекта не является ограничением), ссылки показывают пробелы, фиксированная стоимость для сводки задачи не суммируются, не редактируются и т. д. Иногда эти ошибки решаются перезапуском программы, но другие сохраняются.

По сравнению с Microsoft Project, который он полностью имитирует, OpenProj имеет аналогичный пользовательский интерфейс (UI) и похожий подход к построению плана проекта: создание списка задач с отступом или иерархической структуры работ (WBS), установка продолжительности, создание ссылок ( либо (а) перетаскивая мышью, (б) выбирая, а затем нажимая кнопку, или (в) вручную набирая столбец «предшественник»), назначьте ресурсы. Столбцы (поля) такие же, как в Microsoft Project. Пользователи одного из программ должны в целом чувствовать себя комфортно при использовании другого. Затраты такие же: оплата труда, почасовая оплата, использование материалов и постоянные затраты: все это предусмотрено.

Однако есть небольшие различия в пользовательском интерфейсе (комментарии относятся к версии 1.4), которые требуют некоторой адаптации для тех, кто знаком с Microsoft Project, т.е. OpenProj не может подключаться вверх с методом (c), вставка задач сложнее, чем в Microsoft Project , и OpenProj не может создавать ресурсы «на лету» (их нужно сначала создать на листе ресурсов). У OpenProj также есть несколько более серьезных ограничений, главным из которых является отсутствие более подробных представлений и отчетов, типичных для Microsoft Project. Например, хотя поля существуют для стоимости, нет быстрого способа показать их, кроме как вручную вставить их. Для этого требуется относительно продвинутый пользователь: кто-то, кто знает, как могут называться поля и как их использовать.

Help and feedback

If you did not find what you were looking for

If you need help from the community or want to support others

If you are eligible for professional support and have more questions

If you find an easily fixable error or need for improvement in the documentation for the stable release

If you would like to suggest bigger updates or improvements to this documentation

If you want to contribute to translate this documentation to another language

If there’s something you don’t like or understand about this feature

If you want to propose a new feature that OpenProject does not offer yet

To further help OpenProject to shape and test new features

To view OpenProject premium features and pricing

If you want to try all premium features in the OpenProject Cloud Edition 14 days for free

If you want to try all premium features in your on premise Community installation 14 days for free

Result

With this last step confirmed, the OpenProject wizard will complete, and apply all the configuration options that you have just selected. This might take a few minutes depending on your machine and internet connection, as OpenProject might need to install additional packages (such as the web server, database) depending on your selections.

In case this process crashes or exits with an obvious error, please keep the output and send your configuration from (removing any passwords from it) to us at support@openproject.com , or reach out to the community forums.

When this process completes, it will have started the internal application and web servers, the background jobs to process work-intensive jobs, and set up the connection to the database.

You should be able to reach the OpenProject instance by visiting your installation at .

You can then log in using the default user/password combination:

  • username =
  • password =

Help and feedback

If you did not find what you were looking for

If you need help from the community or want to support others

If you are eligible for professional support and have more questions

If you find an easily fixable error or need for improvement in the documentation for the stable release

If you would like to suggest bigger updates or improvements to this documentation

If you want to contribute to translate this documentation to another language

If there’s something you don’t like or understand about this feature

If you want to propose a new feature that OpenProject does not offer yet

To further help OpenProject to shape and test new features

To view OpenProject premium features and pricing

If you want to try all premium features in the OpenProject Cloud Edition 14 days for free

If you want to try all premium features in your on premise Community installation 14 days for free

Preliminary Setup

In the remainder of this document, we assume that you run OpenProject using a separate process, which listens for requests on http://localhost:3000 that you serve over Apache using a proxy.

We let Apache serve Subversion and git repositories (with the help of some modules) and
authenticate against the OpenProject user database.

Therefore, we use an authentication perl script located in .
This script needs to be in your Apache perl path (for example it might be sym-linked into /etc/apache2/Apache).

To work with the authentication, you need to generate a secret repository API key, generated in your
OpenProject instance at .
On that page, enable “Enable repository management web service” and generate an API key (do not
forget to save the settings). We need that API key later in our Apache configuration.

You also need a distinct filesystem path for Subversion and Git repositories.
In this guide, we assume that you put your svn repositories in /srv/openproject/svn and your git repositories in /srv/openproject/git .

Возможности

Для начала работы надо бесплатно скачать Microsoft Project и ознакомиться с принципами проектирования, чтобы корректно использовать инструменты. Менеджеру понадобятся умения:

  • разделять крупные сценарии на части;
  • закладывать и учитывать риски;
  • следить за командной работой;
  • применять приёмы мотивации.

В процессе проектирования MSProject предоставляет юзерам интеллект-подсказки разных уровней сложности:

  • Если речь идёт о номерах задач, всплывают пиктограммы, оповещающие о доппараметрах — подсказки разворачиваются при наведении курсора.
  • Прогресс выполнения плана отображается на временной шкале, если активирован клиент «Онлайн».

Создавая цели и задачи и указывая сроки, можно получить модель, довольно сильно приближенную к реальности.

С помощью сетевой диаграммы проекта назначаются связи задач и их приоритетов. Ресурсы плавно распределяются так, чтобы их хватило на выполнение всего сценария.

Точечные инструменты:

  • коды иерархии для структурных объектов;
  • аналитика совместных проектов и базы ресурсов;
  • расчёт критического пути;
  • выявление проблемных задач;
  • смена периода реализации;
  • анализ текущего положения дел и тенденций;
  • создание шаблонов;
  • добавление VBA и макросов;
  • анализ последствий.

В качестве ресурса рассматривается любая назначенная единица — от сотрудника до нематериальных объектов, устройств и материалов.

Представление задач обеспечивают инструменты Ганта, формы, листы и графики ресурсов. Для представления комбинированных задач используется специальный режим вывода (через установку флажка). Тогда экран разбивается по горизонтали и можно визуализировать 2 варианта.

Работы из разных проектов допустимо представлять по-разному:

  • Отдельной/суммарной задачей.
  • Опорной/повторяющейся.

Add lists to your board

Lists usually represent a status workflow, assignees, a version or anything that you would like to track within your project. You can add as many lists that you need to a Board.

Action boards lists: The available lists depend on the . Remember: if you change a card between the lists, the respective attribute (e.g. status) will be updated automatically.
Basic board lists: You can create any kind of list and name them to your needs. Remember: No updates to the attributes will happen when moving cards between the lists.

Click + add list to add lists to your board.

Basic board lists: Give the list any meaningful name.
Action board lists: The list’s name will depend on the type of Action board you chose, e.g. “New”, “In Progress”, etc. for the Status board.

Assigning the 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:
1. Custom field has been added to the work package type (form configuration).
2. Custom field is activated for the project.

  1. (Form configuration). You can do this directly via the link in the custom field overview.

  1. Activate the custom field for a project in the project settings. This is not relevant if the setting For all projects has been configured for the custom field.

With these additional settings, you have absolute freedom which custom fields are relevant for your projects and types. You can customize only those types that are relevant and create a whole set of custom attributes for your work packages.

Calendar overview

To display the calendar in a project, the module Calendar needs to be activated in the .

When you open the calendar, all work packages within the current project are displayed on the calendar, displaying the title of the work package. The colors represent the different .

The current month is automatically selected. You can change the date range between month or week and navigate through the views with the arrows on the left. The today button brings you back to the current date.

Hovering over one item displays more information to a work package, such as the type, status, start and finish date, assignee and priority, as well as the project to which the work package belongs.

Click on one item to open the work package details or to edit an item.

Загрузка и установка OpenProject

Данная программа рекомендуется для установки и изучения в образовательных учреждениях из-за её простоты и свободного распространения.

Инсталляционный пакет

  • устанавливает все необходимые библиотеки и зависимости
  • устанавливает MySQL или настраивает подключение базы данных к существующей базе данных, например PostgreSQL
  • настройка веб-сервера Apache
  • настройка репозиториев (Git / SVN)
  • настройка шифрования SSL (Secure Sockets Layer)
  • настройка параметров электронной почты
  • Подробная информация об инсталляторе.

Шаги по установке OpenProject на CentOS 7

Все шаги выполняются с sudoдля выполнения в качестве пользователя root.

  1. Добавьте источник пакета OpenProject
  2. Установка пакета Openproject Community Edition

Используя следующую команду, yum установит пакет и все необходимые зависимости.

Конфигурация пакетов

Последним шагом установки OpenProject является мастер настройки. Он настроит подключение к базе данных и настроит приложение в соответствии с вашей средой.

Мастер установки OpenProject в настоящее время поддерживает автоматическую установку только для баз данных MySQL. Однако OpenProject поддерживает MySQL и PostgreSQL. Чтобы настроить пакет для использования существующей базы данных, см. раздел ниже. Чтобы установить или настроить базу данных MySQL, перейдите к конфигурации .

Пакет OpenProject настраивается с помощью параметров ENV, которые передаются openprojectпользователю. Вы можете прочитать текущие параметры ENV openproject run env. Для записи / чтения отдельных параметров используйте openproject config:set PARAMETER=VALUE и openproject config:get PARAMETER.

Установка плагинов

  1. Добавление пользовательского файла Gemfile;
  2. Распространите Gemfile к пакету;
  3. Повторный запуск программы установки.

Relations in the Gantt chart

In the Gantt chart you can track dependencies of work packages (e.g. phases, milestones, tasks). This way you can get an easy overview of what needs to be done in which order, e.g. what tasks need to be completed to achieve a milestone.

To add a dependency right-click on an element in the Gantt chart.

In the menu, choose Add predecessor or Add follower.

Select the item to which you want to create a dependency. The precede and follow relation is marked with a small blue line in the Gantt chart.

OpenProject does not yet include a baseline feature to compare scheduled versions. However, we are aware of the need for it and documented it. Please check here https://community.openproject.com/projects/openproject/work_packages/26448/activity for an update.

To find out about how work packages behave, when you move their predecessor or follower or change the date of a child work package please read our guide for the Automatic and manual scheduling mode.

Overview of modules in OpenProject

A module in OpenProject encapsulates a specific set of collaboration functionality. Modules can be individually enabled or disabled within the settings of a project.

Please choose the module or topic you want to learn more about.

Topic Content
Project overview page How to create a project overview dashboard with important project information?
Activity How to find out about the latest activities in a project?
Roadmap How to create a product roadmap with OpenProject?
Work packages How to manage your work in a project?
Gantt chart How to create and manage a project plan in a Gantt chart?
Boards How to work with Agile boards for agile project management, e.g. Kanban?
Backlogs (Scrum) How to manage a Scrum team in OpenProject with a product backlog and taskboard?
Calendar How to display your work in a calendar in OpenProject?
News How to create and manage News for your projects?
Forums How to manage forums to discuss and comment on topics?
Wiki How to create and manage a wiki to collaboratively document and share information?
Time and costs How to track time and costs in OpenProject and report spent time and costs?
Budgets How to create and manage a project budget?
Members How to manage Members in a project?
Documents How to upload and share documents in OpenProject?
Meetings How to manage meetings to create and share meeting agenda and meeting minutes?
Manage projects Edit, create, copy, delete projects and change project settings.

Available project overview widgets

You can add various widgets to your project overview.

Calendar widget

The calendar widget displays your current work packages in a calendar. It shows work packages that are being worked on at the current date.

Custom text widget

Within the custom text widget you can add any project information which you want to share with your team, e.g. links to important project resources or work packages, filters, specifications.

You can also add files to be displayed or attached to your project overview.

Project members widget

You can add a widget which displays all project members and their corresponding role for this project at the project overview page.

With the green button you can add members to your project.

The View all members button brings you to the list of project members.

Display the latest project news in the news widget on the project overview page.

Project description

The project description widgets adds the project description to your project overview.

The description can be added or changed in the project settings.

Project details widget

The project details widget displays all custom fields for projects, e.g. project owner, project due date, project number, or any other custom field for this project.

The custom fields can be adapted in the project settings. As a system administrator you can create new custom fields for projects.

New custom fields for projects can be created in the system administration.

Project status widget

Add your project status as a widget to display at a glance whether your project is on track, off track or at risk.

First, select your project status from the drop-down. You can choose between:

ON TRACK (green)

OFF TRACK (red)

AT RISK (yellow)

NOT SET (grey)

Add a project status description and further important information, such as project owner, milestones and other important links or status information.

Spent time widget

The spent time widget lists the spent time in this project for the last 7 days.

Time entries link to the respective work package and can be edited or deleted. To have a detailed view on all spent time and costs, go to the module.

Subprojects

The subprojects widget lists all subproject of the respective project on the overview. You can directly open a subproject via this link.

The widget only links the first subproject hierarchy and not the children of a subproject.

To edit the project hierarchy, go to the project settings.

Work package graph widgets (Premium feature)

The work package graph widgets displays information about the work packages within a project. They can be displayed in different graph views, such as a bar graph or a pie chart.

Configure the work package graph

You can filter the work packages to be displayed in the graph according to the work packages table configuration.

To configure the work package graph, click on the three dots in the top right corner and select Configure view…

Select the Axis criteria which shall be displayed on the axis of the graph, e.g. Accountable, Priority, Status, Type.

Next, select the Chart type how the work package information shall be displayed, e.g. as a bar graph, a line, a pie chart.

Filter the work packages for your chart.

Click on the Filter tab in order to configure the work packages which shall be displayed, e.g. only work packages with high priority.

Click the blue Apply button to save your changes.

Work package overview widget

The work package over widget displays all work packages in a project differentiated by a certain criteria.

You can display the graph according to the following criteria:

  • Type
  • Status
  • Priority
  • Author
  • Assignee

The widget lists all open and all closed work packages according to this criteria.

Work package table widget

The work package table widget includes a work package table to the project overview. The work package table can be filtered, grouped, sorted according to the work package table configuration, e.g. display only work packages with Priority High.

Run OpenProject through foreman

You can run all required workers of OpenProject through , which combines them in a single tab. This is useful for starting out,
however most developers end up running the tasks in separate shells for better understanding of the log output, since foreman will combine all of them.

The application will be available at . To customize bind address and port copy the provided in the root of this
project as and as required.

echo “concurrency: web=1,assets=1,worker=0” » .foreman

For more information refer to Foreman documentation section on .

You can access the application with the admin-account having the following credentials:

Understanding the colours and lines in the Gantt chart

  • A blue line connects two work packages, they are predecessor and follower.
  • The vertical red dotted line indicates today’s date.
  • A black clamp indicates the duration from the start date of a work packages earliest starting child until the end date of a work packages latest ending child.
  • A red clamp indicates the same as the black clamp, with an important difference: The clamp turns red if the dates derived from the children are before or after the manually scheduled dates (of this parent work package).
    The clambs are black in case the derived dates are within the set dates (of this parent).
  • A diamond symbol stands for a milestone.
  • A bar stands for work packages like phases and tasks.

Просмотр Репозитория Прошивки OpenWrt/LEDE

Эти ссылки переносят вас в каталог загрузки текущего оборудования, сгруппированный по типу процессора.

Программное обеспечение OpenWrt/LEDE имеет две разные ветви: стабильную версию Release которая подходит для использования в производстве, и сборку Разработки которая содержит постоянно развивающийся набор улучшений.

Стабильные версии релизов Создание моментальных снимков
В сборках Release было проведено значительное тестирование. Используйте их для производства или для вашего дома, где ваша семья будет полагаться на функционирующий маршрутизатор. Больше… Получите последнюю версию с помощью сборки Разработки . TОни содержат новейшие технологии, но могут не работать хорошо или вообще. Будьте готовы предоставить отчеты об ошибках и.т.Д. Подробнее …

Agile boards examples

We would like to show you some examples so that you get an idea on how to use Agile boards.
Also, once you have set up your custom boards, you can easily copy them along with your (whole) project to use them as a basis for new ones. Please note: The subprojects in the Subproject board won’t be copied.

Basic board

Freely create any kind of list you need to organize your team in OpenProject. If it is organizing tasks for a department, planning a team event, collecting feedback for different topics, coordinating tasks in different locations, generating ideas and many more. Every team member can add tasks to this board and thus the board will be growing over time. It allows you to always know what tasks need to be done without using an Excel file and one coordinator. Everyone has access to the information at any time from anywhere.

Action boards

Status board

The Status Action board is probably the most used Agile board. Start with the three basic status “new”, “in progress” and “closed” and see what status you might need according to your way of working. With a status action board, you can implement the KANBAN principle, continuously improving the flow of work.
If you would for example like to map your order process in a board, you can use the status board to pass the tickets through the status. From an incoming order (new), to when it is being handled (in progress) to when it is done (closed). Accompanying work packages to the actual order process would also be shown in this board to give a good overview, e.g. adding a new payment option. Different people from different departments can work together and are up to date on where every work package stands without having to ask.

Assignee board

Know who is working on what. If a cross-functional team is e.g. developing a product together, you would like to know who is working on what and if everything is on track. The assignee board gives you the opportunity to get an overview of responsibilities, how busy the teams are and if all tasks are distributed. It gives the teams clear responsibilities. The marketing team knows that the finance team is doing the product calculation but they have to check the overall product profitability themselves.
Of course you don’t need to use groups as assignees, you can also use individual team members in the list.

Version board

The Version board facilitates the planning of a product development in several iterations. With every iteration you can add and improve features and let your product become the best version for your customers. If a certain feature is e.g. too complex to be developed in one specific version because you have other features to develop with higher priority, just drag it to the next version and it will update automatically. This board gives you a perfect overview of what is coming and you can see at a glance if it fits your priorities. If not, adjust with drag and drop.

Особенности

Функционал программы позволяет управлять проектами с помощью инструментария, в состав которого входят (Данный инструментарий показан на Рисунке 4.):

  • калькуляция стоимости;
  • диаграмма ганта;
  • сетевой график;
  • отчеты об использовании задач;
  • ресурсы;
  • поддержка импорта/экспорта документов Microsoft Project.

Рисунок 4 — Инструментарий

В программе можно отдельно учитывать ресурсы, задействованные в проекте, и ресурсы свободные, которые можно при необходимости подключать. Освоенные ресурсы, а также объёмы работ и фактические затраты можно выводить на экран в виде диаграмм. Кроме того, диаграммами представляются задачи-предшественники и задачи-последователи.

Embedding of work package attributes and project attributes

You can embed specific attributes of work packages or projects using a certain syntax.
Examples:

  • Linking to the subject of work package with id #1234:
  • Linking to the current project’s status:
  • Linking to the subject of work package with subject “Project start”:

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 by using instead: would output the translated label for “Status” and (if exists), the corresponding help text for it.

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.
</div>

Available attributes for work packages

The following list contains all supported attribute names for the and macros, where stands for the work package ID.

Attribute Usage example
Custom Fields
Assigned user
Author
Category
Creation date
Finish date
Estimated time
Parent work package
Priority
Project
Remaining hours (sic!)
Responsible user
Spent time
Start date
Status
Subject / Title
Work package type
Date of last update
Version

Available attributes for projects

The following list contains all supported attribute names for the and macros. The examples all show references to the current project the document is rendered in. They can also reference another project with .

Subversion Integration

Apache provides the module to serve Subversion repositories through HTTP(s).

This method requires some apache modules to be enabled and installed. The following commands are required for Debian / Ubuntu, please adjust accordingly for other distributions:

  apt-get install subversion libapache2-mod-perl2 libapache2-svn
  a2enmod proxy proxy_http dav dav_svn

Permissions

Important: If Apache and OpenProject run under separate users, you need to ensure OpenProject remains the owner of the repository in order to browse and delete it, when requsted through the user interface.

Due to the implementation of , we have no way to influence the permissions determined by apache when changing repositories (i.e., by committing changes).
Without correcting the permissions, the following situation will occur:

  • The run user of OpenProject can correctly create and manage repository under the managed path with appropriate permissions set
  • As soon as a user checks out the repository and commits new data
  • If the user decides to delete the repository through the frontend
    • Altered files are not / no longer owned or writable by the OpenProject user
    • The deletion fails

The following workarounds exist:

Apache running and OpenProject must be run with the same user

Use Filesystem ACLs

You can define ACLs on the managed repository root (requires compatible FS).
You’ll need the the package and define the ACL.

Assuming the following situation:

  • Apache run user / group:

  • OpenProject run user:

  • Repository path for SCM vendor X:

On many file systems, ACLS are enabled by default. On others, you might need to remount affected filesystems with the option set.

Note that this issue applies to mod_dav_svn only.

Use the Apache wrapper script

Similar to the integration we use ourselves for the packager-based installation, you can set up Apache to manage repositories using the remote hook in OpenProject.

For more information, see the section ‘Managing Repositories Remotely’.

We provide an example apache configuration. Some details are explained inline as comments.

Package-based installation (DEB/RPM)

Assuming you have a backup of all the OpenProject files at hand (see the Backing up guide), here is how you would restore your OpenProject installation from that backup.

As a reference, we will assume you have the following dumps on your server, located in :

Restoring assets

Go into the backup directory:

Untar the attachments to their destination:

Untar the configuration files to their destination:

Untar the repositories to their destination:

Restoring the database

Note: in this section, the , and variables that appear below have to be replaced with
the values that are contained in the setting of your
installation.

First, ensure the connection details about your database is the one you want to restore

Then, to restore the PostgreSQL dump please use the command utility. WARNING: The command is used and it will drop objects in the database and you will lose all changes in this database! Double-check that the database URL above is the database you want to restore to.

This is necessary since the backups of OpenProject does not clean statements to remove existing options and will lead to duplicate index errors when trying to restore to an existing database. The alternative is to drop/recreate the database manually, if you have the permissions to do so.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий