Skip to content

Commit

Permalink
Merge branch 'release/15.1' into documentation/59798-151-documentatio…
Browse files Browse the repository at this point in the history
…n-multi-level-selection-fields-to-support-custom-hierarchical-attributes
  • Loading branch information
MayaBerd authored Dec 9, 2024
2 parents 1b983ed + 7f84758 commit f604ead
Show file tree
Hide file tree
Showing 32 changed files with 183 additions and 82 deletions.
5 changes: 0 additions & 5 deletions app/helpers/custom_fields_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -204,14 +204,9 @@ def format_value(value, custom_field)

# Return an array of custom field formats which can be used in select_tag
def custom_field_formats_for_select(custom_field)
hierarchy_if_deactivated = lambda do |format|
format.name == "hierarchy" && !OpenProject::FeatureDecisions.custom_field_of_type_hierarchy_active?
end

OpenProject::CustomFieldFormat.all_for_field(custom_field)
.sort_by(&:order)
.reject { |format| format.label.nil? }
.reject(&hierarchy_if_deactivated)
.map do |custom_field_format|
[label_for_custom_field_format(custom_field_format.name), custom_field_format.name]
end
Expand Down
3 changes: 0 additions & 3 deletions config/initializers/feature_decisions.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,6 @@
description: "Allows to generate a PDF document from a work package description. " \
"See #45896 for details."

OpenProject::FeatureDecisions.add :custom_field_of_type_hierarchy,
description: "Allows the use of the custom field type 'Hierarchy'."

# TODO: Remove once the feature flag primerized_work_package_activities is removed altogether
OpenProject::FeatureDecisions.define_singleton_method(:primerized_work_package_activities_active?) do
Rails.env.production? ||
Expand Down
38 changes: 19 additions & 19 deletions config/locales/crowdin/ru.yml
Original file line number Diff line number Diff line change
Expand Up @@ -414,22 +414,22 @@ ru:
will_remove_the_groups_role: "Это удалит роль группы из этого проекта."
however_work_packages_shared_with_user_html:
one: "Однако, %{shared_work_packages_link} также был предоставлен этому пользователю."
few: "However, %{shared_work_packages_link} have also been shared with this user."
many: "However, %{shared_work_packages_link} have also been shared with this user."
few: "Однако, %{shared_work_packages_link} так же были предоставлены этому пользователю."
many: "Однако, %{shared_work_packages_link} так же были предоставлены этому пользователю."
other: "Однако, %{shared_work_packages_link} также был предоставлен этому пользователю."
however_work_packages_shared_with_group_html:
one: "Однако, %{shared_work_packages_link} также был предоставлен этой группе."
few: "However, %{shared_work_packages_link} have also been shared with this group."
many: "However, %{shared_work_packages_link} have also been shared with this group."
other: "Однако, %{shared_work_packages_link} также был предоставлен этой группе."
few: "Однако, %{shared_work_packages_link} так же были предоставлены этой группе."
many: "Однако, %{shared_work_packages_link} так же были предоставлены этой группе."
other: "Однако, %{shared_work_packages_link} так же был предоставлен этой группе."
remove_work_packages_shared_with_user_too: "Пользователь, который был удален как участник по-прежнему может получить доступ к общим пакетам работ. Вы хотели бы также удалить эти доступы?"
remove_work_packages_shared_with_group_too: "Группа, которая была удалена как участник, все еще может получить доступ к общим пакетам работ. Вы хотели бы также удалить эти доступы?"
will_not_affect_inherited_shares: "(Это не повлияет на рабочие пакеты, которыми они делятся со своей группой)."
can_remove_direct_but_not_shared_roles: "Вы можете удалить этого пользователя как непосредственного участника проекта, но группа, в которой он состоит, также является участником этого проекта, поэтому он будет продолжать оставаться участником через группу."
also_work_packages_shared_with_user_html:
one: "Также, %{shared_work_packages_link} был предоставлен этому пользователю."
few: "Also, %{shared_work_packages_link} have been shared with this user."
many: "Also, %{shared_work_packages_link} have been shared with this user."
few: "Также, %{shared_work_packages_link} были предоставлены этому пользователю."
many: "Также, %{shared_work_packages_link} были предоставлены этому пользователю."
other: "Также, %{shared_work_packages_link} был предоставлен этому пользователю."
remove_project_membership_or_work_package_shares_too: "Вы хотите удалить только пользователя как непосредственного участника (и сохранить общие ресурсы) или также удалить общие ресурсы рабочего пакета?"
will_remove_all_user_access_priveleges: "Удаление этого участника удалит все права доступа пользователя к проекту. Пользователь по-прежнему будет существовать как часть системы."
Expand All @@ -441,18 +441,18 @@ ru:
title: "Отменить общий доступ к пакету работ"
shared_with_this_user_html:
one: "%{all_shared_work_packages_link} был предоставлен этому пользователю."
few: "%{all_shared_work_packages_link} have been shared with this user."
many: "%{all_shared_work_packages_link} have been shared with this user."
other: "%{all_shared_work_packages_link} был предоставлен этому пользователю."
few: "%{all_shared_work_packages_link} были предоставлены этому пользователю."
many: "%{all_shared_work_packages_link} были предоставлены этому пользователю."
other: "%{all_shared_work_packages_link} были предоставлены этому пользователю."
shared_with_this_group_html:
one: "%{all_shared_work_packages_link} был предоставлен этой группе."
few: "%{all_shared_work_packages_link} have been shared with this group."
many: "%{all_shared_work_packages_link} have been shared with this group."
other: "%{all_shared_work_packages_link} был предоставлен этой группе."
few: "%{all_shared_work_packages_link} были предоставлены этой группе."
many: "%{all_shared_work_packages_link} были предоставлены этой группе."
other: "%{all_shared_work_packages_link} были предоставлены этой группе."
shared_with_permission_html:
one: "Только %{shared_work_packages_link} был предоставлен общий доступ с правами %{shared_role_name}."
few: "Only %{shared_work_packages_link} have been shared with %{shared_role_name} permissions."
many: "Only %{shared_work_packages_link} have been shared with %{shared_role_name} permissions."
few: "Только %{shared_work_packages_link} был предоставлен общий доступ с правами %{shared_role_name}."
many: "Только %{shared_work_packages_link} был предоставлен общий доступ с правами %{shared_role_name}."
other: "Только %{shared_work_packages_link} был предоставлен общий доступ с правами %{shared_role_name}."
revoke_all_or_with_role: "Хотите ли Вы отменить доступ ко всем общим пакетам работ или только к тем, которые имеют разрешения %{shared_role_name}?"
will_not_affect_inherited_shares: "(Это не повлияет на пакеты работ, разделенные с их группой)."
Expand Down Expand Up @@ -538,8 +538,8 @@ ru:
and_user: "и %{user}"
and_others:
one: и еще 1
few: and %{count} others
many: and %{count} others
few: и еще %{count}
many: и еще %{count}
other: и еще %{count}
reaction_by: "%{reaction} от"
reportings:
Expand Down Expand Up @@ -1355,8 +1355,8 @@ ru:
status: "Статус пакета работ"
token/api:
one: Токен доступа
few: Access tokens
many: Access tokens
few: Токены доступа
many: Токены доступа
other: Токены доступа
type: "Тип"
user: "Пользователь"
Expand Down
2 changes: 1 addition & 1 deletion config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@ en:
follows_description: "The related work package necessarily needs to finish before this one can start"
label_child_singular: "child"
label_child_plural: "children"
child_description: "Makes the related a work package a sub-item of the current (parent) work package"
child_description: "Makes the related work package a sub-item of the current (parent) work package"
label_blocks_singular: "blocks"
label_blocks_plural: "blocks"
blocks_description: "The related work package cannot be closed until this one is closed first"
Expand Down
2 changes: 1 addition & 1 deletion docs/release-notes/15-0-0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -235,4 +235,4 @@ Last but not least, we are very grateful for our very engaged translation contri
- [hmmftg](https://crowdin.com/profile/hmmftg), for a great number of translations into Persian.
- [william](https://crowdin.com/profile/WilliamFromTW), for a great number of translations into Chinese Simplified and Chinese Traditional.

Would you like to help out with translations yourself? Then take a look at our [translation guide](../../contributions-guide/translate-openproject/) and find out exactly how you can contribute. It is very much appreciated!
Would you like to help out with translations yourself? Then take a look at our [translation guide](../../contributions-guide/translate-openproject/) and find out exactly how you can contribute. It is very much appreciated!
2 changes: 1 addition & 1 deletion docs/release-notes/15-0-2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ At the end, you will find a complete list of all changes and bug fixes.
- Bugfix: Storage in copied project does not have the correct Project Folder setting \[[#59344](https://community.openproject.org/wp/59344)\]
- Bugfix: Cannot change limit\_self\_registration for SAML auth providers \[[#59370](https://community.openproject.org/wp/59370)\]
- Bugfix: Option to limit\_self\_registration in SAML provider not respected \[[#59375](https://community.openproject.org/wp/59375)\]
- Bugfix: Migration of SAML auth providers doesn't retain limit\_self\_registration \[[#59403](https://community.openproject.org/wp/59403)\]
- Bugfix: Migration of SAML auth providers doesn't retain limit\_self\_registration \[[#59403](https://community.openproject.org/wp/59403)\]
- Bugfix: OpenID connect does not allow setting custom scopes \[[#59430](https://community.openproject.org/wp/59430)\]

<!-- END AUTOMATED SECTION -->
Expand Down
87 changes: 71 additions & 16 deletions docs/release-notes/15-1-0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,78 @@ title: OpenProject 15.1.0
sidebar_navigation:
title: 15.1.0
release_version: 15.1.0
release_date: 2024-11-28
release_date: 2024-12-11
---

# OpenProject 15.1.0

Release date: 2024-11-28
Release date: 2024-12-11

We released OpenProject [OpenProject 15.1.0](https://community.openproject.org/versions/2122).
The release contains several bug fixes and we recommend updating to the newest version.
In these Release Notes, we will give an overview of important feature changes.
At the end, you will find a complete list of all changes and bug fixes.
We released [OpenProject 15.1.0](https://community.openproject.org/versions/2122). The release contains several bug fixes, and we recommend updating to the newest version.
In these Release Notes, we will give an overview of important feature changes and technical updates. At the end, you will find a complete list of all changes and bug fixes.

## Important feature changes

<!-- Inform about the major features in this section -->
### Custom fields of type hierarchy (Enterprise add-on)

## Important updates and breaking changes
Enterprise customers can now use a new type of custom field that allows **multi-level selections**. This makes it easier for users to organize and navigate complex data in structured, multi-level formats within work packages. The new custom fields of the hierarchy type can be added to work packages and then structured into several lower-level values.

<!-- Remove this section if empty, add to it in pull requests linking to tickets and provide information -->
Each custom field of type hierarchy can be given a short name (e.g. B for Berlin). Here's an example of how custom fields of the hierarchy type look like, using the example of a detailed assignment of workspaces:

![Example screenshot of custom fields of type hierarchy, displaying different cities as main offices](openproject-15-1-custom-field-hierarchy.jpg)

[Read all about custom fields in our system admin guide](../../system-admin-guide/custom-fields/).

### Redesign of the Relations tab in work packages

The Relations tab in work packages has been completely redesigned using Primer design system, including a **new dropdown menu that allows you to directly choose the type of relation**, e.g. if the related work package is a successor and necessarily needs to start after the selected one finishes.

Additionally, you can now add a description to add further information about the relation. Please note that the description will be displayed on both work packages, below the related other work package.

> [!NOTE]
> Important information: With this redesign, **you will no longer be able to create new work packages directly on the Relations tab**. Please tell us if you were using this feature a lot. If it will be missed by many users, we will find a way to bring it back.
![Screenshot showing the new Relations tab in a work package](openproject-15-1-relations.png)

[Read all about work package relations and hierarchies in our user guide](../../user-guide/work-packages/work-package-relations-hierarchies/).

### Redesign of the Meetings index page

The index page of the Meetings module has been redesigned with Primer as well, making it easier to read and have a more modern look. You see your list of meetings in some kind of table view, with the columns being: Title, Date and time, Duration, and Location.

The + Meeting button in the top right corner now offers a dropdown menu where you can directly choose whether you want to add a dynamic or classic meeting.

Here's an example screenshot of the redesigned Meetings index page:

![Example screenshot of the redesigned Meetings index page](openproject-15-1-meetings.png)

[Learn what is possible with OpenProject's Dynamic Meetings to improve collaboration with your colleagues](../../user-guide/meetings/dynamic-meetings/).

### Manual page breaks in PDF work package exports

With our work package export feature, people can generate good-looking PDFs. Sometimes, however, the page break comes at an inconvenient place. With version 15.1, users can now force a manual page break in the work package description. This ensures, for example, that a signature can always be inserted on the correct page.

![Example of a work package description with an employee contract and inserted page breaks](openproject-15-1-page-break-contract-highlighted.png)

[Learn how to export work packages and what options you have](../../user-guide/work-packages/exporting/).

### Zen mode for project lists

Zen mode allows users to focus on a certain page, as all other menu items and elements are hidden, and the page is displayed in full screen. OpenProject already offers zen mode for other modules like Work packages, Boards, Gantt charts or Calendar – and with version 15.1 also for project lists.

Here is how zen mode for project lists looks like:

![Example screenshot of a project list in zen mode](openproject-15-1-zen-mode-highlighted.png)

[Read all about OpenProject's project lists in our user guide](../../user-guide/projects/project-lists/).

## Important technical updates

### Possibility to lock seeded admin users, e.g. when using LDAP

Administrators of automated deployments can now choose to skip the automatically integrated creation of an admin user. This is useful if you have set up an LDAP or SSO integration – such as those used for openDesk environments – and you want to prevent the admin user from logging in. Administrators no longer have to manually disable this automatically created admin user and thus run the risk of forgetting to do so, which would pose a security risk.

Read more about [seeding through environment for OpenProject configuration in our Installation & operations guide](../../installation-and-operations/configuration/#seeding-through-environment)

<!--more-->

Expand Down Expand Up @@ -68,12 +121,14 @@ At the end, you will find a complete list of all changes and bug fixes.
<!-- Warning: Anything above this line will be automatically removed by the release script -->

## Contributions
A very special thank you goes to our sponsors for this release.
Also a big thanks to our Community members for reporting bugs and helping us identify and provide fixes.
Special thanks for reporting and finding bugs go to Frank Long, Claudio Pagnani, Ivan Kuchin, samuel law, Gerrit B..

Last but not least, we are very grateful for our very engaged translation contributors on Crowdin, who translated quite a few OpenProject strings!
Would you like to help out with translations yourself?
Then take a look at our translation guide and find out exactly how you can contribute.
It is very much appreciated!
A very special thank you goes to our sponsors of this release: Deutsche Bahn for sponsoring custom fields of type hierarchy, and City of Cologne for sponsoring custom fields of type hierarchy as well as zen mode for project lists.

Also, a big thanks to our Community members for reporting bugs and helping us identify and provide fixes. Special thanks for reporting and finding bugs go to Bill Bai, Sam Yelman, Knight Chang, Gábor Alexovics, Gregor Buergisser, Andrey Dermeyko, Various Interactive, Clayton Belcher, Александр Татаринцев, and Keno Krewer.

Last but not least, we are very grateful for our very engaged translation contributors on Crowdin, who translated quite a few OpenProject strings! This release we would like to highlight
- [José Helbert Pina](https://crowdin.com/profile/GZTranslations), for a great number of translations into Portuguese.
- [Alexander Aleschenko](https://crowdin.com/profile/top4ek), for a great number of translations into Russian.
- [Adam Siemienski](https://crowdin.com/profile/siemienas), for a great number of translations into Polish.

Would you like to help out with translations yourself? Then take a look at our [translation guide](../../contributions-guide/translate-openproject/) and find out exactly how you can contribute. It is very much appreciated!
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit f604ead

Please sign in to comment.