commit
e11c1eec03
@ -0,0 +1,77 @@ |
|||||||
|
#-- copyright |
||||||
|
# OpenProject is an open source project management software. |
||||||
|
# Copyright (C) 2012-2020 the OpenProject GmbH |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License version 3. |
||||||
|
# |
||||||
|
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||||
|
# Copyright (C) 2006-2017 Jean-Philippe Lang |
||||||
|
# Copyright (C) 2010-2013 the ChiliProject Team |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License |
||||||
|
# as published by the Free Software Foundation; either version 2 |
||||||
|
# of the License, or (at your option) any later version. |
||||||
|
# |
||||||
|
# This program is distributed in the hope that it will be useful, |
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
# GNU General Public License for more details. |
||||||
|
# |
||||||
|
# You should have received a copy of the GNU General Public License |
||||||
|
# along with this program; if not, write to the Free Software |
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||||
|
# |
||||||
|
# See docs/COPYRIGHT.rdoc for more details. |
||||||
|
#++ |
||||||
|
|
||||||
|
# Validates both the wiki page as well as its associated wiki content. The two are |
||||||
|
# considered to be one outside of this contract. |
||||||
|
module WikiPages |
||||||
|
class BaseContract < ::ModelContract |
||||||
|
attribute :wiki |
||||||
|
attribute :title |
||||||
|
attribute :slug |
||||||
|
attribute :parent |
||||||
|
attribute :text |
||||||
|
attribute :protected |
||||||
|
|
||||||
|
validate :validate_author_is_set |
||||||
|
validate :validate_wiki_is_set |
||||||
|
validate :validate_content_is_set |
||||||
|
validate :validate_user_edit_allowed |
||||||
|
validate :validate_user_protect_permission |
||||||
|
|
||||||
|
private |
||||||
|
|
||||||
|
def validate_user_edit_allowed |
||||||
|
if model.project && !user.allowed_to?(:edit_wiki_pages, model.project) || |
||||||
|
(model.protected_was && !user.allowed_to?(:protect_wiki_pages)) |
||||||
|
errors.add :base, :error_unauthorized |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
def validate_author_is_set |
||||||
|
errors.add :author, :blank if model.content&.author.nil? |
||||||
|
end |
||||||
|
|
||||||
|
def validate_wiki_is_set |
||||||
|
errors.add :wiki, :blank if model.wiki.nil? |
||||||
|
end |
||||||
|
|
||||||
|
def validate_content_is_set |
||||||
|
errors.add :content, :blank if model.content.nil? |
||||||
|
end |
||||||
|
|
||||||
|
def validate_user_protect_permission |
||||||
|
if model.protected_changed? && !user.allowed_to?(:protect_wiki_pages, model.project) |
||||||
|
errors.add :protected, :error_unauthorized |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
def changed_attributes |
||||||
|
model.changed + (model.content&.changed || []) |
||||||
|
end |
||||||
|
end |
||||||
|
end |
@ -0,0 +1,37 @@ |
|||||||
|
#-- copyright |
||||||
|
# OpenProject is an open source project management software. |
||||||
|
# Copyright (C) 2012-2020 the OpenProject GmbH |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License version 3. |
||||||
|
# |
||||||
|
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||||
|
# Copyright (C) 2006-2017 Jean-Philippe Lang |
||||||
|
# Copyright (C) 2010-2013 the ChiliProject Team |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License |
||||||
|
# as published by the Free Software Foundation; either version 2 |
||||||
|
# of the License, or (at your option) any later version. |
||||||
|
# |
||||||
|
# This program is distributed in the hope that it will be useful, |
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
# GNU General Public License for more details. |
||||||
|
# |
||||||
|
# You should have received a copy of the GNU General Public License |
||||||
|
# along with this program; if not, write to the Free Software |
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||||
|
# |
||||||
|
# See docs/COPYRIGHT.rdoc for more details. |
||||||
|
#++ |
||||||
|
|
||||||
|
module WikiPages |
||||||
|
class CopyContract < CreateContract |
||||||
|
# Disable check for edit_wiki_pages permission |
||||||
|
def validate_user_edit_allowed; end |
||||||
|
|
||||||
|
# Disable check for protect_wiki_pages permission |
||||||
|
def validate_user_protect_permission; end |
||||||
|
end |
||||||
|
end |
@ -0,0 +1,39 @@ |
|||||||
|
#-- copyright |
||||||
|
# OpenProject is an open source project management software. |
||||||
|
# Copyright (C) 2012-2020 the OpenProject GmbH |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License version 3. |
||||||
|
# |
||||||
|
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||||
|
# Copyright (C) 2006-2017 Jean-Philippe Lang |
||||||
|
# Copyright (C) 2010-2013 the ChiliProject Team |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License |
||||||
|
# as published by the Free Software Foundation; either version 2 |
||||||
|
# of the License, or (at your option) any later version. |
||||||
|
# |
||||||
|
# This program is distributed in the hope that it will be useful, |
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
# GNU General Public License for more details. |
||||||
|
# |
||||||
|
# You should have received a copy of the GNU General Public License |
||||||
|
# along with this program; if not, write to the Free Software |
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||||
|
# |
||||||
|
# See docs/COPYRIGHT.rdoc for more details. |
||||||
|
#++ |
||||||
|
|
||||||
|
module WikiPages |
||||||
|
class CreateContract < BaseContract |
||||||
|
validate :validate_user_current_user |
||||||
|
|
||||||
|
private |
||||||
|
|
||||||
|
def validate_user_current_user |
||||||
|
errors.add :author, :not_current_user if model.content&.author != user |
||||||
|
end |
||||||
|
end |
||||||
|
end |
@ -0,0 +1,120 @@ |
|||||||
|
#-- encoding: UTF-8 |
||||||
|
|
||||||
|
#-- copyright |
||||||
|
# OpenProject is an open source project management software. |
||||||
|
# Copyright (C) 2012-2020 the OpenProject GmbH |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License version 3. |
||||||
|
# |
||||||
|
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||||
|
# Copyright (C) 2006-2017 Jean-Philippe Lang |
||||||
|
# Copyright (C) 2010-2013 the ChiliProject Team |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License |
||||||
|
# as published by the Free Software Foundation; either version 2 |
||||||
|
# of the License, or (at your option) any later version. |
||||||
|
# |
||||||
|
# This program is distributed in the hope that it will be useful, |
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
# GNU General Public License for more details. |
||||||
|
# |
||||||
|
# You should have received a copy of the GNU General Public License |
||||||
|
# along with this program; if not, write to the Free Software |
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||||
|
# |
||||||
|
# See docs/COPYRIGHT.rdoc for more details. |
||||||
|
#++ |
||||||
|
|
||||||
|
class Notifications::JournalWikiMailService |
||||||
|
class << self |
||||||
|
def call(journal, send_mails) |
||||||
|
new(journal) |
||||||
|
.call(send_mails) |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
attr_reader :journal |
||||||
|
|
||||||
|
def initialize(journal) |
||||||
|
@journal = journal |
||||||
|
end |
||||||
|
|
||||||
|
def call(send_mails) |
||||||
|
return unless send_mail?(send_mails) |
||||||
|
|
||||||
|
if journal.initial? |
||||||
|
send_content_added_mail |
||||||
|
else |
||||||
|
send_content_updated_mail |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
private |
||||||
|
|
||||||
|
def send_mail?(send_mails) |
||||||
|
send_mails && ::UserMailer.perform_deliveries && !journal.noop? |
||||||
|
end |
||||||
|
|
||||||
|
def send_content_added_mail |
||||||
|
send_content(create_recipients, :wiki_content_added) |
||||||
|
end |
||||||
|
|
||||||
|
def send_content_updated_mail |
||||||
|
send_content(update_recipients, :wiki_content_updated) |
||||||
|
end |
||||||
|
|
||||||
|
def notification_disabled?(name) |
||||||
|
!Setting.notified_events.include?(name) |
||||||
|
end |
||||||
|
|
||||||
|
# Returns the mail addresses of users that should be notified |
||||||
|
def recipients |
||||||
|
project |
||||||
|
.notified_users |
||||||
|
.select { |user| wiki_content.visible?(user) } |
||||||
|
end |
||||||
|
|
||||||
|
def send_content(recipients, method) |
||||||
|
return if notification_disabled?(method.to_s) |
||||||
|
|
||||||
|
recipients.uniq.each do |user| |
||||||
|
UserMailer |
||||||
|
.send(method, user, wiki_content, journal_user) |
||||||
|
.deliver_later |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
def create_recipients |
||||||
|
recipients + |
||||||
|
wiki.watcher_recipients |
||||||
|
end |
||||||
|
|
||||||
|
def update_recipients |
||||||
|
recipients + |
||||||
|
wiki.watcher_recipients + |
||||||
|
page.watcher_recipients |
||||||
|
end |
||||||
|
|
||||||
|
def wiki_content |
||||||
|
journal.journable |
||||||
|
end |
||||||
|
|
||||||
|
def page |
||||||
|
wiki_content.page |
||||||
|
end |
||||||
|
|
||||||
|
def wiki |
||||||
|
page.wiki |
||||||
|
end |
||||||
|
|
||||||
|
def project |
||||||
|
wiki.project |
||||||
|
end |
||||||
|
|
||||||
|
def journal_user |
||||||
|
journal.user || DeletedUser.first |
||||||
|
end |
||||||
|
end |
@ -0,0 +1,74 @@ |
|||||||
|
#-- encoding: UTF-8 |
||||||
|
|
||||||
|
#-- copyright |
||||||
|
# OpenProject is an open source project management software. |
||||||
|
# Copyright (C) 2012-2020 the OpenProject GmbH |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License version 3. |
||||||
|
# |
||||||
|
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||||
|
# Copyright (C) 2006-2017 Jean-Philippe Lang |
||||||
|
# Copyright (C) 2010-2013 the ChiliProject Team |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License |
||||||
|
# as published by the Free Software Foundation; either version 2 |
||||||
|
# of the License, or (at your option) any later version. |
||||||
|
# |
||||||
|
# This program is distributed in the hope that it will be useful, |
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
# GNU General Public License for more details. |
||||||
|
# |
||||||
|
# You should have received a copy of the GNU General Public License |
||||||
|
# along with this program; if not, write to the Free Software |
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||||
|
# |
||||||
|
# See docs/COPYRIGHT.rdoc for more details. |
||||||
|
#++ |
||||||
|
|
||||||
|
module Projects::Concerns |
||||||
|
module NewProjectService |
||||||
|
private |
||||||
|
|
||||||
|
def after_perform(attributes_call) |
||||||
|
new_project = attributes_call.result |
||||||
|
|
||||||
|
set_default_role(new_project) unless user.admin? |
||||||
|
notify_project_created(new_project) |
||||||
|
|
||||||
|
super |
||||||
|
end |
||||||
|
|
||||||
|
# Add default role to the newly created project |
||||||
|
# based on the setting ('new_project_user_role_id') |
||||||
|
# defined in the administration. Will either create a new membership |
||||||
|
# or add a role to an already existing one. |
||||||
|
def set_default_role(new_project) |
||||||
|
role = Role.in_new_project |
||||||
|
|
||||||
|
return unless role && new_project.persisted? |
||||||
|
|
||||||
|
# Assuming the members are loaded anyway |
||||||
|
user_member = new_project.members.detect { |m| m.principal == user } |
||||||
|
|
||||||
|
if user_member |
||||||
|
Members::UpdateService |
||||||
|
.new(user: user, model: user_member, contract_class: EmptyContract) |
||||||
|
.call(roles: user_member.roles + [role]) |
||||||
|
else |
||||||
|
Members::CreateService |
||||||
|
.new(user: user, contract_class: EmptyContract) |
||||||
|
.call(roles: [role], project: new_project, principal: user) |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
def notify_project_created(new_project) |
||||||
|
OpenProject::Notifications.send( |
||||||
|
OpenProject::Events::PROJECT_CREATED, |
||||||
|
project: new_project |
||||||
|
) |
||||||
|
end |
||||||
|
end |
||||||
|
end |
@ -0,0 +1,79 @@ |
|||||||
|
#-- encoding: UTF-8 |
||||||
|
|
||||||
|
#-- copyright |
||||||
|
# OpenProject is an open source project management software. |
||||||
|
# Copyright (C) 2012-2020 the OpenProject GmbH |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License version 3. |
||||||
|
# |
||||||
|
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||||
|
# Copyright (C) 2006-2017 Jean-Philippe Lang |
||||||
|
# Copyright (C) 2010-2013 the ChiliProject Team |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License |
||||||
|
# as published by the Free Software Foundation; either version 2 |
||||||
|
# of the License, or (at your option) any later version. |
||||||
|
# |
||||||
|
# This program is distributed in the hope that it will be useful, |
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
# GNU General Public License for more details. |
||||||
|
# |
||||||
|
# You should have received a copy of the GNU General Public License |
||||||
|
# along with this program; if not, write to the Free Software |
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||||
|
# |
||||||
|
# See docs/COPYRIGHT.rdoc for more details. |
||||||
|
#++ |
||||||
|
|
||||||
|
class WikiPages::CopyService |
||||||
|
include ::Shared::ServiceContext |
||||||
|
include Contracted |
||||||
|
|
||||||
|
attr_accessor :user, |
||||||
|
:model, |
||||||
|
:contract_class |
||||||
|
|
||||||
|
def initialize(user:, model:, contract_class: WikiPages::CreateContract) |
||||||
|
self.user = user |
||||||
|
self.model = model |
||||||
|
self.contract_class = contract_class |
||||||
|
end |
||||||
|
|
||||||
|
def call(send_notifications: true, **attributes) |
||||||
|
in_context(model, send_notifications) do |
||||||
|
copy(attributes) |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
protected |
||||||
|
|
||||||
|
def copy(attribute_override) |
||||||
|
attributes = copied_attributes(attribute_override) |
||||||
|
|
||||||
|
create(attributes) |
||||||
|
end |
||||||
|
|
||||||
|
def create(attributes) |
||||||
|
WikiPages::CreateService |
||||||
|
.new(user: user, |
||||||
|
contract_class: contract_class) |
||||||
|
.call(attributes.symbolize_keys) |
||||||
|
end |
||||||
|
|
||||||
|
# Copy the wiki page attributes together with the wiki page content attributes |
||||||
|
def copied_attributes(override) |
||||||
|
model |
||||||
|
.attributes |
||||||
|
.merge(model.content.attributes) |
||||||
|
.slice(*writable_attributes) |
||||||
|
.merge(override) |
||||||
|
end |
||||||
|
|
||||||
|
def writable_attributes |
||||||
|
instantiate_contract(model, user) |
||||||
|
.writable_attributes |
||||||
|
end |
||||||
|
end |
@ -0,0 +1,72 @@ |
|||||||
|
#-- encoding: UTF-8 |
||||||
|
|
||||||
|
#-- copyright |
||||||
|
# OpenProject is an open source project management software. |
||||||
|
# Copyright (C) 2012-2020 the OpenProject GmbH |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License version 3. |
||||||
|
# |
||||||
|
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||||
|
# Copyright (C) 2006-2017 Jean-Philippe Lang |
||||||
|
# Copyright (C) 2010-2013 the ChiliProject Team |
||||||
|
# |
||||||
|
# This program is free software; you can redistribute it and/or |
||||||
|
# modify it under the terms of the GNU General Public License |
||||||
|
# as published by the Free Software Foundation; either version 2 |
||||||
|
# of the License, or (at your option) any later version. |
||||||
|
# |
||||||
|
# This program is distributed in the hope that it will be useful, |
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||||
|
# GNU General Public License for more details. |
||||||
|
# |
||||||
|
# You should have received a copy of the GNU General Public License |
||||||
|
# along with this program; if not, write to the Free Software |
||||||
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||||
|
# |
||||||
|
# See docs/COPYRIGHT.rdoc for more details. |
||||||
|
#++ |
||||||
|
|
||||||
|
# Handles setting the attributes of a wiki page. |
||||||
|
# The wiki page is treated as one single entity although the data layer separates |
||||||
|
# between the page and the content. |
||||||
|
# |
||||||
|
# In the long run, those two should probably be unified on the data layer as well. |
||||||
|
# |
||||||
|
# Attributes for both the page as well as for the content are accepted. |
||||||
|
class WikiPages::SetAttributesService < ::BaseServices::SetAttributes |
||||||
|
private |
||||||
|
|
||||||
|
def set_attributes(params) |
||||||
|
content_params, page_params = split_page_and_content_params(params.with_indifferent_access) |
||||||
|
|
||||||
|
set_page_attributes(page_params) |
||||||
|
|
||||||
|
set_default_attributes(params) if model.new_record? |
||||||
|
|
||||||
|
set_content_attributes(content_params) |
||||||
|
end |
||||||
|
|
||||||
|
def set_page_attributes(params) |
||||||
|
model.attributes = params |
||||||
|
end |
||||||
|
|
||||||
|
def set_default_attributes(_params) |
||||||
|
change_by_system do |
||||||
|
model.build_content author: user |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
def set_content_attributes(params) |
||||||
|
model.content.attributes = params |
||||||
|
end |
||||||
|
|
||||||
|
def split_page_and_content_params(params) |
||||||
|
params.partition { |p, _| WikiContent.column_names.include?(p) }.map(&:to_h) |
||||||
|
end |
||||||
|
|
||||||
|
def changed_attributes |
||||||
|
super + (model.content&.changed || []) |
||||||
|
end |
||||||
|
end |
@ -0,0 +1,16 @@ |
|||||||
|
# API v3 client libraries |
||||||
|
|
||||||
|
We encourage developers from the community to develop client libraries for the OpenProject API in as many languages as possible and publish them for access by the public. That way, the grunt work of establishing the connectivity between a client and OpenProject can be reused and ideally, that work can be shouldered by many, freeing everybody to focus more on their specific features. |
||||||
|
|
||||||
|
While we cannot endorse or vet the libraries listed below we encourage their creation and acknowledge the value they add to OpenProject. |
||||||
|
|
||||||
|
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." |
||||||
|
|
||||||
|
## Excel |
||||||
|
|
||||||
|
* [OpenProjectExcel](https://github.com/opf/OpenProjectExcel): Synchronization between Excel-sheets and OpenProject. |
@ -0,0 +1,81 @@ |
|||||||
|
--- |
||||||
|
sidebar_navigation: |
||||||
|
title: Changing to BIM Edition |
||||||
|
priority: 100 |
||||||
|
--- |
||||||
|
|
||||||
|
# Changing to BIM Edition |
||||||
|
|
||||||
|
An existing OpenProject on-premises (self hosted) installation can easily be switched to the BIM Edition. |
||||||
|
The BIM Edition extends the capabilities of a normal OpenProject installation with special features |
||||||
|
for the construction industry. |
||||||
|
|
||||||
|
Switching to the BIM Edition will not affect your existing data. Your team will be able to continue |
||||||
|
working just as before. By switching to the BIM edition additional features will become available |
||||||
|
when you activate the "BCF" module a project's settings. |
||||||
|
|
||||||
|
## Instructions |
||||||
|
|
||||||
|
### Backup and upgrade |
||||||
|
|
||||||
|
First, backup your data and update your installation to the latest OpenProject version as described in [Upgrading](../operation/upgrading). |
||||||
|
|
||||||
|
### Switching to BIM Edition |
||||||
|
|
||||||
|
Now that your OpenProject instance is up to date, you can _reconfigure_ it |
||||||
|
to be a BIM Edition. |
||||||
|
|
||||||
|
On the command line of your server run the following command. It will open a wizard that |
||||||
|
guides you through through the most important installation settings of your instance. |
||||||
|
On the first screen it will ask you to select the edition. Please select _bim_ and click _next_. |
||||||
|
You can keep the screens that follow just as they are. You don't need to change any setting. |
||||||
|
Your current settings will be preselected for you. You can simply click "next" in every step |
||||||
|
until the end of the wizard. Finally, this will also |
||||||
|
trigger the installation of the necessary libraries and tools for 3D model conversion. |
||||||
|
|
||||||
|
`sudo openproject reconfigure` |
||||||
|
|
||||||
|
Congratulations, you've successfully switched to the BIM Edition. However, for the best |
||||||
|
experience you might consider also the next configuration. |
||||||
|
|
||||||
|
You can check that all tools for the IFC model conversion were installed by going to |
||||||
|
_-> Administration -> Information_ and check that _IFC conversion pipeline available_ |
||||||
|
has a check icon (✓) to the right. |
||||||
|
|
||||||
|
### Activating the BCF module per default for every new project (optional) |
||||||
|
|
||||||
|
You can enable the BCF module per default for all new projects in the future. |
||||||
|
|
||||||
|
Go to _-> Administration -> System settings -> Projects_ and within the section |
||||||
|
_Settings for new projects_ activate the checkbox for _BCF_. |
||||||
|
|
||||||
|
### Add typical work package types and statuses for BCF management (optional) |
||||||
|
|
||||||
|
For BCF management process you might want to add special work package types to your |
||||||
|
installation. |
||||||
|
|
||||||
|
In freshly created OpenProject BIM instances those types are already present. However, |
||||||
|
as you have just switched from a normal OpenProject installation you will need to create |
||||||
|
those work package types by hand. Please find detailed instructions on how to add work |
||||||
|
package types in [Manage Work Package Types](../../system-admin-guide/manage-work-packages/work-package-types/). |
||||||
|
|
||||||
|
You might consider adding the following typical work package types: |
||||||
|
|
||||||
|
- Issue (color `indigo-7`) |
||||||
|
- Clash (color `red-8`) |
||||||
|
- Remark (color `GREEN (DARK)`) |
||||||
|
- Request (color `cyan-7`) |
||||||
|
|
||||||
|
We recommend that each type has the following status options: |
||||||
|
|
||||||
|
- New (color `blue-6`) |
||||||
|
- In progress (color `orange-6`) |
||||||
|
- Resolved (color `'green-3`) |
||||||
|
- Closed (color `'gray-3`) |
||||||
|
|
||||||
|
### Activating the "OpenProject BIM" theme (optional) |
||||||
|
|
||||||
|
OpenProject installations with a valid Enterprise Edition token can switch to the BIM |
||||||
|
theme. |
||||||
|
|
||||||
|
Go to _-> Administration -> Design_ and from the _Themes_ drop down menu chose _OpenProject BIM_. |
@ -0,0 +1,27 @@ |
|||||||
|
--- |
||||||
|
title: OpenProject 11.0.2 |
||||||
|
sidebar_navigation: |
||||||
|
title: 11.0.2 |
||||||
|
release_version: 11.0.2 |
||||||
|
release_date: 2020-11-06 |
||||||
|
--- |
||||||
|
|
||||||
|
# OpenProject 11.0.2 |
||||||
|
|
||||||
|
We released [OpenProject 11.0.2](https://community.openproject.com/versions/1454). |
||||||
|
The release contains several bug fixes and we recommend updating to the newest version. |
||||||
|
|
||||||
|
<!--more--> |
||||||
|
#### Bug fixes and changes |
||||||
|
|
||||||
|
- Fixed: Typos / missing words in German translation when deleting user \[[#35072](https://community.openproject.com/wp/35072)\] |
||||||
|
- Fixed: Default docker-compose.yml is has tag 10 \[[#35093](https://community.openproject.com/wp/35093)\] |
||||||
|
- Fixed: Copied wiki attachments have original author while it should be the copying user \[[#35126](https://community.openproject.com/wp/35126)\] |
||||||
|
- Fixed: Slashes in wiki page titles break "Activity" view \[[#35132](https://community.openproject.com/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 |
||||||
|
|
||||||
|
Le Samuel Alviola |
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue