mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
Merge branch 'release/17.2' into dev
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
<%#-- copyright
|
||||
OpenProject is an open source project management software.
|
||||
Copyright (C) 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-2013 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 COPYRIGHT and LICENSE files for more details.
|
||||
|
||||
++#%>
|
||||
|
||||
<%=
|
||||
render(Primer::OpenProject::InputGroup.new(input_width: :large)) do |input_group|
|
||||
input_group.with_text_input(
|
||||
name: :server_url,
|
||||
label: t(".label"),
|
||||
visually_hide_label: false,
|
||||
value: server_url
|
||||
)
|
||||
|
||||
input_group.with_trailing_action_clipboard_copy_button(
|
||||
value: server_url,
|
||||
aria: {
|
||||
label: I18n.t("button_copy_to_clipboard")
|
||||
}
|
||||
)
|
||||
|
||||
input_group.with_caption do
|
||||
t(".caption")
|
||||
end
|
||||
end
|
||||
%>
|
||||
+8
-6
@@ -23,15 +23,17 @@
|
||||
#
|
||||
# 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.
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# See COPYRIGHT and LICENSE files for more details.
|
||||
#++
|
||||
|
||||
module ProjectHelper
|
||||
def project_creation_wizard_name(project)
|
||||
I18n.t(project.project_creation_wizard_artifact_name,
|
||||
default: :project_initiation_request,
|
||||
scope: "settings.project_initiation_request.name.options")
|
||||
module McpConfigurations
|
||||
class ServerUrlComponent < ApplicationComponent
|
||||
include OpPrimer::ComponentHelpers
|
||||
|
||||
def server_url
|
||||
url_helpers.api_mcp_url
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
class Projects::CreationWizardStatusComponent < ApplicationComponent
|
||||
include ApplicationHelper
|
||||
include ProjectHelper
|
||||
include ProjectsHelper
|
||||
|
||||
attr_reader :project, :current_user,
|
||||
:artifact_id, :artifact_work_package
|
||||
|
||||
@@ -34,7 +34,7 @@ module Projects
|
||||
include OpPrimer::ComponentHelpers
|
||||
include OpTurbo::Streamable
|
||||
include ApplicationHelper
|
||||
include ProjectHelper
|
||||
include ProjectsHelper
|
||||
|
||||
def initialize(project:, custom_fields_by_section:, current_section:)
|
||||
super
|
||||
|
||||
@@ -345,13 +345,4 @@ class ProjectsController < ApplicationController
|
||||
def login_back_url_params
|
||||
params.permit(:parent_id, :template_id, :step, :next_section)
|
||||
end
|
||||
|
||||
def portfolio_management_feature_required? = params[:workspace_type].in?(%w[portfolio program])
|
||||
|
||||
def portfolio_management_feature_missing?
|
||||
portfolio_management_feature_required? && !EnterpriseToken.allows_to?(:portfolio_management)
|
||||
end
|
||||
|
||||
helper_method :supported_export_formats,
|
||||
:portfolio_management_feature_missing?
|
||||
end
|
||||
|
||||
@@ -39,6 +39,10 @@ module McpConfigurations
|
||||
)
|
||||
|
||||
if server_enabled?
|
||||
f.html_content do
|
||||
render(McpConfigurations::ServerUrlComponent.new)
|
||||
end
|
||||
|
||||
f.text_field(
|
||||
name: :title,
|
||||
label: McpConfiguration.human_attribute_name(:title),
|
||||
|
||||
@@ -93,4 +93,20 @@ module ProjectsHelper
|
||||
def projects_query_params
|
||||
safe_query_params(PROJECTS_QUERY_PARAM_NAMES)
|
||||
end
|
||||
|
||||
def supported_export_formats
|
||||
::Exports::Register.list_formats(Project).map(&:to_s)
|
||||
end
|
||||
|
||||
def project_creation_wizard_name(project)
|
||||
I18n.t(project.project_creation_wizard_artifact_name,
|
||||
default: :project_initiation_request,
|
||||
scope: "settings.project_initiation_request.name.options")
|
||||
end
|
||||
|
||||
def portfolio_management_feature_required? = params[:workspace_type].in?(%w[portfolio program])
|
||||
|
||||
def portfolio_management_feature_missing?
|
||||
portfolio_management_feature_required? && !EnterpriseToken.allows_to?(:portfolio_management)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
#++
|
||||
|
||||
class ProjectArtifactsMailer < ApplicationMailer
|
||||
include ProjectHelper
|
||||
include ProjectsHelper
|
||||
include Exports::PDF::Common::Macro
|
||||
|
||||
def creation_wizard_submitted(user, project, artifact_work_package)
|
||||
|
||||
@@ -60,21 +60,20 @@ module Exports::PDF::Common::Attachments
|
||||
def attachment_image_filepath(src)
|
||||
# images are embedded into markup with the api-path as img.src
|
||||
attachment = attachment_by_api_content_src(src)
|
||||
return nil if attachment.nil? || !pdf_embeddable?(attachment.content_type)
|
||||
return if attachment.nil? || !pdf_embeddable?(attachment.content_type)
|
||||
|
||||
local_file = attachment_image_local_file(attachment)
|
||||
return nil if local_file.nil?
|
||||
return if local_file.nil?
|
||||
|
||||
filename = local_file.path
|
||||
filename = convert_gif_to_png(filename) if attachment.content_type == "image/gif"
|
||||
filename = convert_webp_to_png(filename) if attachment.content_type == "image/webp"
|
||||
|
||||
resize_image(filename)
|
||||
filename ? resize_image(filename) : nil
|
||||
end
|
||||
|
||||
def temp_image_file(extension)
|
||||
tmp_file = Tempfile.new(["temp_image", extension])
|
||||
@resized_images = [] if @resized_images.nil?
|
||||
@resized_images ||= []
|
||||
@resized_images << tmp_file
|
||||
tmp_file.path
|
||||
end
|
||||
@@ -90,14 +89,60 @@ module Exports::PDF::Common::Attachments
|
||||
def convert_webp_to_png(filename)
|
||||
tmp_file = temp_image_file(".png")
|
||||
|
||||
image = MiniMagick::Image.open(filename)
|
||||
image.format("png")
|
||||
image.write(tmp_file)
|
||||
# ImageMagick loads ALL frames of an animated WebP into its pixel cache even
|
||||
# when only frame 0 is needed, which can exhaust memory or even cache for large animations.
|
||||
# Instead, parse the RIFF/WEBP binary to extract the first ANMF frame as a
|
||||
# standalone single-frame WebP, then convert only that.
|
||||
source = extract_first_webp_frame(filename) || filename
|
||||
|
||||
image = MiniMagick::Image.open(source)
|
||||
image.frames.first.write(tmp_file)
|
||||
tmp_file
|
||||
end
|
||||
|
||||
# Parses the RIFF/WEBP container and extracts the first animation frame
|
||||
# (ANMF chunk) as a standalone single-frame WebP written to a temp file.
|
||||
# Returns nil if the file is not an animated WebP.
|
||||
#
|
||||
# Each ANMF frame in animated WebP is independently encoded (no inter-frame
|
||||
# references), so the raw frame chunk is a valid standalone WebP image.
|
||||
def extract_first_webp_frame(filename) # rubocop:disable Metrics/AbcSize, Metrics/PerceivedComplexity
|
||||
data = File.binread(filename)
|
||||
return unless data.bytesize > 12 && data[0, 4] == "RIFF".b && data[8, 4] == "WEBP".b
|
||||
|
||||
webp_type = %W[VP8\x20 VP8L VP8X]
|
||||
pos = 12
|
||||
while pos + 8 <= data.bytesize
|
||||
chunk_id = data[pos, 4]
|
||||
chunk_size = data[pos + 4, 4].unpack1("V")
|
||||
break if pos + 8 + chunk_size > data.bytesize
|
||||
|
||||
if chunk_id == "ANMF".b && chunk_size > 16
|
||||
# ANMF payload: 16 bytes of frame metadata (position, size, duration, flags)
|
||||
# followed by the frame image data as a VP8 / VP8L / VP8X chunk.
|
||||
# Wrap it in a minimal RIFF/WEBP container to create a single-frame WebP.
|
||||
frame_chunk = data[pos + 8 + 16, chunk_size - 16]
|
||||
# Reject frames whose payload isn't a recognised WebP bitstream type
|
||||
next unless webp_type.map(&:b).include?(frame_chunk[0, 4])
|
||||
|
||||
riff_size = 4 + frame_chunk.bytesize # "WEBP" + frame data
|
||||
tmp_frame = temp_image_file(".webp")
|
||||
File.binwrite(tmp_frame, "RIFF".b + [riff_size].pack("V") + "WEBP".b + frame_chunk)
|
||||
return tmp_frame
|
||||
end
|
||||
|
||||
# RIFF chunks are padded to even byte offsets; use & 1 to get the padding.
|
||||
pos += 8 + chunk_size + (chunk_size & 1)
|
||||
end
|
||||
|
||||
nil
|
||||
rescue StandardError => e
|
||||
Rails.logger.error "Failed to extract first webp frame: #{e}"
|
||||
nil
|
||||
end
|
||||
|
||||
def attachment_by_api_content_src(src)
|
||||
return nil if src.empty?
|
||||
return if src.empty?
|
||||
|
||||
# we accept absolut linked images
|
||||
# (but not hot-linked from elsewhere: https://example.com/another_api/attachments/1/somefile.png)
|
||||
@@ -106,12 +151,12 @@ module Exports::PDF::Common::Attachments
|
||||
# #{api_url_helpers.root_path}attachments/:id/filename.ext (e.g. inserted by drag and drop from the files tab)
|
||||
|
||||
attachment_regex = %r{/attachments/(\d+)/}
|
||||
return nil unless src.start_with?(api_url_helpers.root_path) && src.match?(attachment_regex)
|
||||
return unless src.start_with?(api_url_helpers.root_path) && src.match?(attachment_regex)
|
||||
|
||||
attachments_id = src.scan(attachment_regex).first.first
|
||||
attachment = Attachment.find_by(id: attachments_id.to_i)
|
||||
return nil if attachment.nil?
|
||||
return nil unless attachment.visible?
|
||||
return if attachment.nil?
|
||||
return unless attachment.visible?
|
||||
|
||||
attachment
|
||||
rescue StandardError
|
||||
|
||||
@@ -39,7 +39,7 @@ class Project::PDFExport::ProjectInitiation < Exports::Exporter
|
||||
include Project::PDFExport::Common::ProjectAttributes
|
||||
include Project::PDFExport::ProjectInitiation::Cover
|
||||
include Project::PDFExport::ProjectInitiation::Styles
|
||||
include ProjectHelper
|
||||
include ProjectsHelper
|
||||
|
||||
attr_accessor :pdf
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
module Projects::CreationWizard
|
||||
class CreateArtifactWorkPackageService < ::BaseServices::BaseContracted
|
||||
include Contracted
|
||||
include ProjectHelper
|
||||
include ProjectsHelper
|
||||
include ArtifactExporter
|
||||
include Rails.application.routes.url_helpers
|
||||
prepend Projects::Concerns::UpdateDemoData
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@
|
||||
module Projects::CreationWizard
|
||||
class ReuploadArtifactOnStatusChangesService
|
||||
include Contracted
|
||||
include ProjectHelper
|
||||
include ProjectsHelper
|
||||
include ArtifactExporter
|
||||
include Rails.application.routes.url_helpers
|
||||
prepend Projects::Concerns::UpdateDemoData
|
||||
|
||||
@@ -286,7 +286,7 @@ af:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ af:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ af:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ af:
|
||||
title: "Pasgemaakte aksies"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -310,7 +310,7 @@ ar:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -621,6 +621,10 @@ ar:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "أو"
|
||||
errors:
|
||||
@@ -2893,7 +2897,7 @@ ar:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2972,7 +2976,7 @@ ar:
|
||||
title: "إجراءات مخصصة"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ az:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ az:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ az:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ az:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -298,7 +298,7 @@ be:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -609,6 +609,10 @@ be:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2783,7 +2787,7 @@ be:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2862,7 +2866,7 @@ be:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ bg:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ bg:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "или"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ bg:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ bg:
|
||||
title: "Персонализирани действия"
|
||||
description: "Потребителските действия са преки пътища с едно кликване до набор от предварително дефинирани действия, които можете да направите достъпни за определени работни пакети въз основа на статус, роля, тип или проект."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ ca:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -594,6 +594,10 @@ ca:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "o"
|
||||
errors:
|
||||
@@ -2670,7 +2674,7 @@ ca:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2749,7 +2753,7 @@ ca:
|
||||
title: "Accions personalitzades"
|
||||
description: "Les accions personalitzades són accessos ràpids d'un sol clic que et permeten crear accions predefinides en els paquets de treball que desitgis basat en estat, rol, estil o projecte."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ ckb-IR:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ ckb-IR:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ ckb-IR:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ ckb-IR:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -298,7 +298,7 @@ cs:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -609,6 +609,10 @@ cs:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "nebo"
|
||||
errors:
|
||||
@@ -2783,7 +2787,7 @@ cs:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2862,7 +2866,7 @@ cs:
|
||||
title: "Vlastní akce"
|
||||
description: "Vlastní akce jsou zkratky jedním kliknutím na sadu předem definovaných akcí, které můžete zpřístupnit na základě stavu některých pracovních balíčků. role, typ nebo projekt."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ da:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -595,6 +595,10 @@ da:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "eller"
|
||||
errors:
|
||||
@@ -2671,7 +2675,7 @@ da:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2750,7 +2754,7 @@ da:
|
||||
title: "Brugerdefinerede handlinger"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ de:
|
||||
title: "Projekte auswählen"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "Das Model Context Protocol ermöglicht es KI-Agenten, ihren Nutzern Tools und Ressourcen bereitzustellen, die diese OpenProject-Instanz zur Verfügung stellt."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Ressourcen"
|
||||
resources_description: "OpenProject stellt die folgenden Ressourcen bereit. Jede Ressource kann nach Wunsch aktiviert, umbenannt und beschrieben werden. Weitere Informationen finden sich in der [Dokumentation zu MCP-Ressourcen](docs_url)."
|
||||
resources_submit: "Ressourcen aktualisieren"
|
||||
@@ -594,6 +594,10 @@ de:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "Die Schaltfläche zum Fortfahren ist nun aktiv."
|
||||
confirmation_live_message_unchecked: "Die Schaltfläche zum Fortfahren ist inaktiv. Sie müssen das Kontrollkästchen ankreuzen, um fortzufahren."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "oder"
|
||||
errors:
|
||||
@@ -2665,7 +2669,7 @@ de:
|
||||
edit_attribute_groups: Attributgruppen bearbeiten
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP-Benutzer- und Gruppensynchronisation
|
||||
mcp_server: MCP-Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On für Nextcloud-Speicher
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint-Datei-Speicher
|
||||
@@ -2744,7 +2748,7 @@ de:
|
||||
title: "Benutzerdefinierte Aktionen"
|
||||
description: "Selbstdefinierte Aktionen sind Verknüpfungen zu einer Reihe von vordefinierten Aktionen, die Sie für bestimmte Arbeitspakete je nach Status, Rolle, Typ oder Projekt mit nur einem Klick auf einen Button auslösen."
|
||||
mcp_server:
|
||||
description: "Integrieren Sie KI-Agenten mit Ihrer OpenProject-Instanz über MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ el:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -593,6 +593,10 @@ el:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "ή"
|
||||
errors:
|
||||
@@ -2669,7 +2673,7 @@ el:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2748,7 +2752,7 @@ el:
|
||||
title: "Προσαρμοσμένες ενέργειες"
|
||||
description: "Οι προσαρμοσμένες ενέργειες είναι συντομεύσεις με ένα κλικ προς ένα σύνολο προκαθορισμένων ενεργειών που μπορείτε να διαθέσετε σε συγκεκριμένα πακέτα εργασίας με βάση την κατάσταση, ρόλος, τύπος ή έργο."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ eo:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ eo:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "aŭ"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ eo:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ eo:
|
||||
title: "Adaptitaj agoj"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ es:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "El protocolo de contexto de modelo (MCP, por sus siglas en inglés) permite a los agentes de IA proporcionar a sus usuarios herramientas y recursos expuestos por esta instancia de OpenProject."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Recursos"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Actualizar recursos"
|
||||
@@ -595,6 +595,10 @@ es:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "El botón para continuar ya está activo."
|
||||
confirmation_live_message_unchecked: "El botón para continuar ya está inactivo. Debe marcar la casilla para continuar."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "o"
|
||||
errors:
|
||||
@@ -2670,7 +2674,7 @@ es:
|
||||
edit_attribute_groups: Editar grupos de atributos
|
||||
gantt_pdf_export: Exportación de Gantt a PDF
|
||||
ldap_groups: Usuarios de LDAP y sincronización de grupos
|
||||
mcp_server: Servidor MCP
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Inicio de sesión único para almacenamiento en la nube
|
||||
one_drive_sharepoint_file_storage: Almacenamiento de archivos OneDrive/SharePoint
|
||||
@@ -2749,7 +2753,7 @@ es:
|
||||
title: "Acciones personalizadas"
|
||||
description: "Las acciones personalizadas son accesos directos con un solo clic a un conjunto de acciones predefinidas que puede mostrar en determinados paquetes de trabajo según el estado, rol, tipo o proyecto."
|
||||
mcp_server:
|
||||
description: "Integre agentes de IA con su instancia de OpenProject a través del protocolo de contexto de modelo (MCP)."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ et:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ et:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "või"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ et:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ et:
|
||||
title: "Kohandatud toimingud"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ eu:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ eu:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ eu:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ eu:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ fa:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ fa:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "یا"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ fa:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ fa:
|
||||
title: "اقدامات سفارشی"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ fi:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ fi:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "tai"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ fi:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ fi:
|
||||
title: "Mukautetut toiminnot"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ fil:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ fil:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ fil:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ fil:
|
||||
title: "Mga custom aksyon"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ fr:
|
||||
title: "Sélectionner des projets"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "Le protocole de contexte de modèle permet aux agents d'intelligence artificielle de fournir à leurs utilisateurs les outils et les ressources exposés par cette instance d'OpenProject."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Ressources"
|
||||
resources_description: "OpenProject met en œuvre les ressources suivantes. Chacune d'entre elles peut être activée, renommée et décrite comme vous le souhaitez. Pour plus d'informations, veuillez vous référer à la [documentation sur les ressources MCP](docs_url)."
|
||||
resources_submit: "Mettre à jour les ressources"
|
||||
@@ -597,6 +597,10 @@ fr:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "Le bouton pour continuer est maintenant actif."
|
||||
confirmation_live_message_unchecked: "Le bouton pour continuer est maintenant inactif. Vous devez cocher la case pour continuer."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "ou"
|
||||
errors:
|
||||
@@ -2671,7 +2675,7 @@ fr:
|
||||
edit_attribute_groups: Modifier les groupes d'attributs
|
||||
gantt_pdf_export: Exportation PDF de diagramme de Gantt
|
||||
ldap_groups: Synchronisation des utilisateurs LDAP et des groupes
|
||||
mcp_server: Serveur MCP
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Modèles de réunion réutilisables
|
||||
nextcloud_sso: Authentification unique pour le stockage Nextcloud
|
||||
one_drive_sharepoint_file_storage: Stockage de fichiers OneDrive/SharePoint
|
||||
@@ -2750,7 +2754,7 @@ fr:
|
||||
title: "Actions personnalisées"
|
||||
description: "Les actions personnalisées sont des raccourcis en un clic vers un ensemble d'actions prédéfinies que vous pouvez rendre disponibles sur certains lots de travaux en fonction de l'état, du rôle, du type ou du projet."
|
||||
mcp_server:
|
||||
description: "Intégrez des agents d'intelligence artificielle à votre instance OpenProject grâce à MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Définissez des modèles de réunion avec une structure d'ordre du jour définie et gagnez du temps en les réutilisant lors de la création de nouvelles réunions."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -298,7 +298,7 @@ he:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -609,6 +609,10 @@ he:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "או"
|
||||
errors:
|
||||
@@ -2783,7 +2787,7 @@ he:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2862,7 +2866,7 @@ he:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ hi:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ hi:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "या"
|
||||
errors:
|
||||
@@ -2671,7 +2675,7 @@ hi:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2750,7 +2754,7 @@ hi:
|
||||
title: "विशेष या कस्टम क्रियाएँ"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -292,7 +292,7 @@ hr:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -603,6 +603,10 @@ hr:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2728,7 +2732,7 @@ hr:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2807,7 +2811,7 @@ hr:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ hu:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -596,6 +596,10 @@ hu:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "vagy"
|
||||
errors:
|
||||
@@ -2672,7 +2676,7 @@ hu:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2751,7 +2755,7 @@ hu:
|
||||
title: "Egyéni műveletek"
|
||||
description: "Az egyéni műveletek egy kattintással elérhető parancsikonok előre meghatározott műveletek csoportjához, amelyeket állapot, szerep, típus vagy projekt alapján elérhetővé tehet bizonyos munkacsomagokon."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -280,7 +280,7 @@ id:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -587,6 +587,10 @@ id:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "atau"
|
||||
errors:
|
||||
@@ -2614,7 +2618,7 @@ id:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2693,7 +2697,7 @@ id:
|
||||
title: "Tindakan khusus"
|
||||
description: "Tindakan kustom adalah pintasan sekali klik ke serangkaian tindakan yang ditentukan sebelumnya yang dapat Anda sediakan pada paket kerja tertentu berdasarkan status, peran, jenis, atau proyek."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ it:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "Il protocollo di contesto del modello consente agli agenti di intelligenza artificiale di fornire ai propri utenti strumenti e risorse esposti da questa istanza di OpenProject."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Risorse"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Aggiorna risorse"
|
||||
@@ -595,6 +595,10 @@ it:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "Il pulsante per procedere è ora attivo."
|
||||
confirmation_live_message_unchecked: "Il pulsante per procedere è ora inattivo. Devi spuntare la casella per continuare."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "oppure"
|
||||
errors:
|
||||
@@ -2670,7 +2674,7 @@ it:
|
||||
edit_attribute_groups: Modifica proprietà gruppo
|
||||
gantt_pdf_export: Esportazione PDF Gantt
|
||||
ldap_groups: Utenti LDAP e sincronizzazione di gruppo
|
||||
mcp_server: Server MCP
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Accesso singolo per Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: Archiviazione file OneDrive/SharePoint
|
||||
@@ -2749,7 +2753,7 @@ it:
|
||||
title: "Azioni personalizzate"
|
||||
description: "Le azioni personalizzate sono scorciatoie che con un clic ti consentono di eseguire una serie di azioni predefinite che è possibile rendere disponibili su determinate macro-attività in base a stato, ruolo, tipo o progetto."
|
||||
mcp_server:
|
||||
description: "Integra gli agenti IA con l'istanza OpenProject tramite MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -280,7 +280,7 @@ ja:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -589,6 +589,10 @@ ja:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "または"
|
||||
errors:
|
||||
@@ -2617,7 +2621,7 @@ ja:
|
||||
edit_attribute_groups: 属性グループを編集
|
||||
gantt_pdf_export: ガントPDFをエクスポート
|
||||
ldap_groups: LDAP ユーザーとグループ同期
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Nextcloudストレージのシングルサインオン。
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePointファイルストレージ
|
||||
@@ -2696,7 +2700,7 @@ ja:
|
||||
title: "カスタムアクション"
|
||||
description: "カスタムアクションは、ステータスに基づいて特定のワークパッケージで利用できる、事前に定義されたアクションです。"
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ ka:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ ka:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "ან"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ ka:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ ka:
|
||||
title: "მორგებული ქმედებები"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ kk:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ kk:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ kk:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ kk:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -280,7 +280,7 @@ ko:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "모델 컨텍스트 프로토콜을 통해 AI 에이전트는 이 OpenProject 인스턴스에 의해 노출된 도구와 리소스를 사용자에게 제공할 수 있습니다."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "리소스"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "리소스 업데이트"
|
||||
@@ -591,6 +591,10 @@ ko:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "진행 버튼이 이제 활성화되었습니다."
|
||||
confirmation_live_message_unchecked: "진행 버튼이 이제 비활성화되었습니다. 계속하려면 확인란을 선택해야 합니다."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "또는"
|
||||
errors:
|
||||
@@ -2618,7 +2622,7 @@ ko:
|
||||
edit_attribute_groups: 특성 그룹 편집
|
||||
gantt_pdf_export: Gantt PDF 내보내기
|
||||
ldap_groups: LDAP 사용자 및 그룹 동기화
|
||||
mcp_server: MCP 서버
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Nextcloud 저장소용 Single Sign-On
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint 파일 저장소
|
||||
@@ -2697,7 +2701,7 @@ ko:
|
||||
title: "사용자 지정 작업"
|
||||
description: "사용자 지정 작업은 상태, 역할, 유형 또는 프로젝트를 기반으로 특정 작업 패키지에서 사용할 수 있도록 미리 정의된 작업 세트에 대한 원클릭 바로 가기입니다."
|
||||
mcp_server:
|
||||
description: "MCP를 통해 AI 에이전트를 OpenProject 인스턴스와 통합합니다."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -298,7 +298,7 @@ lt:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -606,6 +606,10 @@ lt:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "arba"
|
||||
errors:
|
||||
@@ -2780,7 +2784,7 @@ lt:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2859,7 +2863,7 @@ lt:
|
||||
title: "Pasirinktiniai veiksmai"
|
||||
description: "Savo veiksmai yra vieno paspaudimo kombinacijos, leidžiančios nustatyti veiksmus, kuriuos galite padaryti preinamais kai kuriuose darbo paketuose pagal jų būseną, rolę, tipą ar projektą."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -292,7 +292,7 @@ lv:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -603,6 +603,10 @@ lv:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "vai"
|
||||
errors:
|
||||
@@ -2728,7 +2732,7 @@ lv:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2807,7 +2811,7 @@ lv:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ mn:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ mn:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "эсвэл"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ mn:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ mn:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -280,7 +280,7 @@ ms:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -590,6 +590,10 @@ ms:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "atau"
|
||||
errors:
|
||||
@@ -2616,7 +2620,7 @@ ms:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2695,7 +2699,7 @@ ms:
|
||||
title: "Tindakan tersuai"
|
||||
description: "Tindakan tersuai adalah pintasan satu klik ke satu set tindakan yang telah ditetapkan yang anda boleh sediakan untuk pakej kerja tertentu berdasarkan status, peranan, jenis atau projek."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ ne:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ ne:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ ne:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ ne:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ nl:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -594,6 +594,10 @@ nl:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "of"
|
||||
errors:
|
||||
@@ -2669,7 +2673,7 @@ nl:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2748,7 +2752,7 @@ nl:
|
||||
title: "Aangepaste acties"
|
||||
description: "Aangepaste acties zijn met één klik snelkoppelingen naar een aantal vooraf gedefinieerde acties die u op bepaalde werkpakketten op basis van status beschikbaar kunt maken rol, type of project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "eller"
|
||||
errors:
|
||||
@@ -2672,7 +2676,7 @@
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2751,7 +2755,7 @@
|
||||
title: "Tilpassede handlinger"
|
||||
description: "Egendefinerte handlinger er snarveier med ett klikk til en rekke forhåndsdefinerte handlinger som du kan gjøre tilgjengelige på visse arbeidspakker basert på status, rolle, type eller prosjekt."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -298,7 +298,7 @@ pl:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "Protokół kontekstu modelu umożliwia agentom AI dostarczanie użytkownikom narzędzi i zasobów udostępnianych przez to wystąpienie OpenProject."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Zasoby"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Zaktualizuj zasoby"
|
||||
@@ -606,6 +606,10 @@ pl:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "Przycisk kontynuowania jest już aktywny."
|
||||
confirmation_live_message_unchecked: "Przycisk kontynuowania jest teraz nieaktywny. Aby kontynuować, zaznacz pole wyboru."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "lub"
|
||||
errors:
|
||||
@@ -2779,7 +2783,7 @@ pl:
|
||||
edit_attribute_groups: Edytuj grupy atrybutów
|
||||
gantt_pdf_export: Eksport wykresu Gantta w formacie PDF
|
||||
ldap_groups: Synchronizacja użytkowników i grup LDAP
|
||||
mcp_server: Serwer MCP
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Logowanie jednokrotne do magazynu Nextcloud
|
||||
one_drive_sharepoint_file_storage: Magazyn plików OneDrive/SharePoint
|
||||
@@ -2858,7 +2862,7 @@ pl:
|
||||
title: "Działania niestandardowe"
|
||||
description: "Akcje niestandardowe są skrótami do zestawu predefiniowanych akcji, które można udostępnić w określonych pakietach roboczych na podstawie statusu, roli, typu lub projektu."
|
||||
mcp_server:
|
||||
description: "Zintegruj agentów AI ze swoim wystąpieniem OpenProject za pomocą usługi MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ pt-BR:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "O protocolo de contexto do modelo permite que agentes de IA forneçam aos seus usuários ferramentas e recursos disponibilizados por esta instância do OpenProject."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Recursos"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Atualizar recursos"
|
||||
@@ -596,6 +596,10 @@ pt-BR:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "O botão para prosseguir agora está ativo."
|
||||
confirmation_live_message_unchecked: "O botão para prosseguir está desativado. É necessário marcar a caixa de seleção para continuar."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "ou"
|
||||
errors:
|
||||
@@ -2670,7 +2674,7 @@ pt-BR:
|
||||
edit_attribute_groups: Editar atributo de grupos
|
||||
gantt_pdf_export: Exportar diagrama de Gantt para PDF
|
||||
ldap_groups: Sincronização de usuários e grupos LDAP
|
||||
mcp_server: Servidor MCP
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Autenticação única para o armazenamento do Nextcloud
|
||||
one_drive_sharepoint_file_storage: Armazenamento de Arquivos OneDrive/SharePoint
|
||||
@@ -2749,7 +2753,7 @@ pt-BR:
|
||||
title: "Ações personalizadas"
|
||||
description: "As ações personalizadas são atalhos de clique único para um conjunto de ações pré-definidas que você pode disponibilizar em certos pacotes de trabalho com base no estado, função, tipo ou projeto."
|
||||
mcp_server:
|
||||
description: "Integre agentes de IA à sua instância do OpenProject por meio do MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ pt-PT:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "O protocolo de contexto do modelo permite que os agentes de IA forneçam aos seus utilizadores ferramentas e recursos expostos por esta instância do OpenProject."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Recursos"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Atualizar recursos"
|
||||
@@ -595,6 +595,10 @@ pt-PT:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "O botão para prosseguir está agora ativo."
|
||||
confirmation_live_message_unchecked: "O botão para prosseguir está agora inativo. Tem de assinalar a caixa de verificação para continuar."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "ou"
|
||||
errors:
|
||||
@@ -2670,7 +2674,7 @@ pt-PT:
|
||||
edit_attribute_groups: Editar grupos de atributos
|
||||
gantt_pdf_export: Exportação de PDF de Gantt
|
||||
ldap_groups: Sincronização de utilizadores e grupos LDAP
|
||||
mcp_server: Servidor MCP
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Início de sessão único para armazenamento Nextcloud
|
||||
one_drive_sharepoint_file_storage: Armazenamento de ficheiros no OneDrive/SharePoint
|
||||
@@ -2749,7 +2753,7 @@ pt-PT:
|
||||
title: "Ações personalizadas"
|
||||
description: "As ações personalizadas são atalhos de um clique para um conjunto de ações predefinidas que pode disponibilizar em determinados pacotes de trabalho com base no estado, função, tipo ou projeto."
|
||||
mcp_server:
|
||||
description: "Integre agentes de IA com a sua instância do OpenProject através de MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -292,7 +292,7 @@ ro:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -603,6 +603,10 @@ ro:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "sau"
|
||||
errors:
|
||||
@@ -2728,7 +2732,7 @@ ro:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2807,7 +2811,7 @@ ro:
|
||||
title: "Acțiuni personalizate"
|
||||
description: "Acțiunile personalizate sunt comenzi rapide cu un singur clic către un set de acțiuni predefinite pe care le puteți face disponibile pentru anumite pachete de lucru în funcție de statut, rol, tip sau proiect."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -298,7 +298,7 @@ ru:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "Протокол модели контекста позволяет агентам ИИ предоставлять своим пользователям инструменты и ресурсы, открытые данным экземпляром OpenProject."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Ресурсы"
|
||||
resources_description: "OpenProject реализует следующие ресурсы. Каждый из них может быть включен, переименован и описан по Вашему желанию. Для получения дополнительной информации обратитесь к [документации по ресурсам MCP](docs_url)."
|
||||
resources_submit: "Обновить ресурсы"
|
||||
@@ -608,6 +608,10 @@ ru:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "Кнопка для продолжения активна."
|
||||
confirmation_live_message_unchecked: "Кнопка для продолжения неактивна. Чтобы продолжить, поставьте галочку."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "или"
|
||||
errors:
|
||||
@@ -2781,7 +2785,7 @@ ru:
|
||||
edit_attribute_groups: Редактирование атрибутов групп
|
||||
gantt_pdf_export: Экспорт диаграммы Ганта в PDF
|
||||
ldap_groups: Синхронизация пользователей LDAP и групп
|
||||
mcp_server: MCP-сервер
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Единый вход для Nextcloud хранения
|
||||
one_drive_sharepoint_file_storage: Файловое хранилище OneDrive/SharePoint
|
||||
@@ -2860,7 +2864,7 @@ ru:
|
||||
title: "Пользовательские действия"
|
||||
description: "Пользовательские действия являются ярлыками к набору заранее определенных действий, которые вы можете сделать доступными для определенных пакетов работ на основе статуса, роли, типа или проекта."
|
||||
mcp_server:
|
||||
description: "Интегрируйте агентов искусственного интеллекта в Ваш OpenProject с помощью MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ rw:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ rw:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ rw:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ rw:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ si:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ si:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "හෝ"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ si:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ si:
|
||||
title: "අභිරුචි ක්රියාමාර්ග"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -298,7 +298,7 @@ sk:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -609,6 +609,10 @@ sk:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "alebo"
|
||||
errors:
|
||||
@@ -2783,7 +2787,7 @@ sk:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2862,7 +2866,7 @@ sk:
|
||||
title: "Vlastné akcie"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -298,7 +298,7 @@ sl:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -608,6 +608,10 @@ sl:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "ali"
|
||||
errors:
|
||||
@@ -2782,7 +2786,7 @@ sl:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2861,7 +2865,7 @@ sl:
|
||||
title: "Dejanja po meri"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -292,7 +292,7 @@ sr:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -603,6 +603,10 @@ sr:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2728,7 +2732,7 @@ sr:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2807,7 +2811,7 @@ sr:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ sv:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ sv:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "Knappen för att fortsätta är nu aktiv."
|
||||
confirmation_live_message_unchecked: "Knappen för att fortsätta är nu inaktiv. Du måste markera kryssrutan för att fortsätta."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "eller"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ sv:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ sv:
|
||||
title: "Anpassade åtgärder"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -280,7 +280,7 @@ th:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -591,6 +591,10 @@ th:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2618,7 +2622,7 @@ th:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2697,7 +2701,7 @@ th:
|
||||
title: "การกระทำ กำหนดเอง"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ tr:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "MCP (Model Bağlam Protokolü), AI ajanlarının bu OpenProject sisteminde sunulan araç ve kaynakları kullanıcılara erişilebilir kılmasını sağlar."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Kaynaklar"
|
||||
resources_description: "OpenProject aşağıdaki araçları destekler. Her biri etkinleştirilebilir, adı ve açıklaması değiştirilebilir. Daha fazla bilgi için [documentation on MCP tools](docs_url)."
|
||||
resources_submit: "Kaynakları güncelle"
|
||||
@@ -598,6 +598,10 @@ tr:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "Devam etmek için düğme artık aktif."
|
||||
confirmation_live_message_unchecked: "Devam etmek için düğme artık aktif değil. Devam etmek için işratlemeniz gerekli."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "ya da"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ tr:
|
||||
edit_attribute_groups: Özellik Grubunu Düzenleme
|
||||
gantt_pdf_export: Gantt PDF Dışa Aktarma
|
||||
ldap_groups: LDAP kullanıcıları ve grup senkronizasyonu
|
||||
mcp_server:
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Nextcloud Storage için Tek Oturum Açma
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint Dosya Depolama
|
||||
@@ -2752,7 +2756,7 @@ tr:
|
||||
title: "Özel eylemler"
|
||||
description: "Özel eylemler, duruma, role, türe veya projeye göre belirli iş paketlerinde kullanıma sunabileceğiniz bir dizi önceden tanımlanmış eylemin tek tıkla kısayollarıdır."
|
||||
mcp_server:
|
||||
description: "Yapay zeka aracılarını MCP aracılığıyla OpenProject örneğinizle entegre edin."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -298,7 +298,7 @@ uk:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "Протокол контексту моделі дає змогу агентам ШІ надавати своїм користувачам інструменти й ресурси, доступні в цьому екземплярі OpenProject."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Ресурси"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Оновити ресурси"
|
||||
@@ -606,6 +606,10 @@ uk:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "Кнопка для продовження активна."
|
||||
confirmation_live_message_unchecked: "Кнопка для продовження зараз неактивна. Щоб продовжити, поставте прапорець."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "або"
|
||||
errors:
|
||||
@@ -2777,7 +2781,7 @@ uk:
|
||||
edit_attribute_groups: Редагування груп атрибутів
|
||||
gantt_pdf_export: Експорт діаграми Ґантта в PDF
|
||||
ldap_groups: Синхронізація користувачів і груп LDAP
|
||||
mcp_server: Сервер MCP
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Єдиний вхід для сховища Nextcloud
|
||||
one_drive_sharepoint_file_storage: Сховище файлів OneDrive / SharePoint
|
||||
@@ -2856,7 +2860,7 @@ uk:
|
||||
title: "Користувацькі дії"
|
||||
description: "Користувацькі дії – це ярлики набору попередньо визначених дій, які ви можете включати в певні пакети робіт залежно від статусу, ролі, типу або проєкту."
|
||||
mcp_server:
|
||||
description: "Інтегруйте ШІ-агентів у свій екземпляр OpenProject за допомогою MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -286,7 +286,7 @@ uz:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -597,6 +597,10 @@ uz:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2673,7 +2677,7 @@ uz:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2752,7 +2756,7 @@ uz:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -280,7 +280,7 @@ vi:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "Giao thức bối cảnh mô hình cho phép các tác nhân AI cung cấp cho người dùng của mình các công cụ và tài nguyên được cung cấp bởi phiên bản OpenProject này."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Tài nguyên"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Cập nhật tài nguyên"
|
||||
@@ -591,6 +591,10 @@ vi:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "Nút để tiếp tục hiện đang hoạt động."
|
||||
confirmation_live_message_unchecked: "Nút để tiếp tục hiện không hoạt động. Bạn cần đánh dấu vào hộp kiểm để tiếp tục."
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "hoặc"
|
||||
errors:
|
||||
@@ -2616,7 +2620,7 @@ vi:
|
||||
edit_attribute_groups: Chỉnh sửa nhóm thuộc tính
|
||||
gantt_pdf_export: Xuất PDF Gantt
|
||||
ldap_groups: Đồng bộ hóa nhóm và người dùng LDAP
|
||||
mcp_server: Máy chủ MCP
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Đăng nhập một lần để lưu trữ Nextcloud
|
||||
one_drive_sharepoint_file_storage: Lưu trữ tệp OneDrive/SharePoint
|
||||
@@ -2695,7 +2699,7 @@ vi:
|
||||
title: "Hành động tùy chỉnh"
|
||||
description: "Hành động tùy chỉnh là các phím tắt bằng một cú nhấp chuột tới một tập hợp các hành động được xác định trước mà bạn có thể cung cấp trên các gói công việc nhất định dựa trên trạng thái, vai trò, loại hoặc dự án."
|
||||
mcp_server:
|
||||
description: "Tích hợp các tác nhân AI với phiên bản OpenProject của bạn thông qua MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -280,7 +280,7 @@ zh-CN:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "Model Context Protocol 允许 AI 智能体向其用户提供此 OpenProject 实例所公开的工具和资源。"
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "资源"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "更新资源"
|
||||
@@ -588,6 +588,10 @@ zh-CN:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "继续按钮现已激活。"
|
||||
confirmation_live_message_unchecked: "继续按钮现已失效。您需要勾选复选框才能继续。"
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "或"
|
||||
errors:
|
||||
@@ -2614,7 +2618,7 @@ zh-CN:
|
||||
edit_attribute_groups: 编辑属性组
|
||||
gantt_pdf_export: 甘特图 PDF 导出
|
||||
ldap_groups: LDAP 用户和群组同步
|
||||
mcp_server: MCP 服务器
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Nextcloud存储的单点登录(SSO)
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint 文件存储
|
||||
@@ -2693,7 +2697,7 @@ zh-CN:
|
||||
title: "自定义操作"
|
||||
description: "自定义操作是一键快捷方式,指向一组预定义的操作,您可以根据状态、角色、类型或项目在某些工作包上使用这些操作。"
|
||||
mcp_server:
|
||||
description: "通过 MCP 将 AI 智能体与 OpenProject 实例集成。"
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -280,7 +280,7 @@ zh-TW:
|
||||
title: "Select projects"
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "模型上下文協定允許 AI 代理向其使用者提供此 OpenProject 實體所揭露的工具與資源。"
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "資源"
|
||||
resources_description: "OpenProject 實作下列資源。每個資源都可以依您的需求啟用、重新命名及描述。如需詳細資訊,請參閱 [關於 MCP 資源的文件](docs_url)。"
|
||||
resources_submit: "更新資源"
|
||||
@@ -590,6 +590,10 @@ zh-TW:
|
||||
danger_dialog:
|
||||
confirmation_live_message_checked: "繼續的按鈕現已啟用。"
|
||||
confirmation_live_message_unchecked: "繼續的按鈕現在沒有作用。您需要勾選核取方塊才能繼續。"
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
op_dry_validation:
|
||||
or: "或"
|
||||
errors:
|
||||
@@ -2614,7 +2618,7 @@ zh-TW:
|
||||
edit_attribute_groups: 編輯群組屬性
|
||||
gantt_pdf_export: 以PDF匯出甘特圖
|
||||
ldap_groups: 同步LDAP使用者與群組
|
||||
mcp_server: MCP 伺服器
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Nextcloud 儲存空間的單一登入(SSO)
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint 檔案儲存
|
||||
@@ -2693,7 +2697,7 @@ zh-TW:
|
||||
title: "自訂動作"
|
||||
description: "自訂動作是一系列預先定義動作的單鍵捷徑,您可以根據狀態、角色、類型或專案,在特定工作套件上使用這些動作。"
|
||||
mcp_server:
|
||||
description: "透過 MCP 將 AI 代理與您的 OpenProject 實例整合。"
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -296,7 +296,7 @@ en:
|
||||
|
||||
mcp_configurations:
|
||||
index:
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance."
|
||||
description: "The model context protocol allows AI agents to provide its users with tools and resources exposed by this OpenProject instance. This feature is still in beta."
|
||||
resources_heading: "Resources"
|
||||
resources_description: "OpenProject implements the following resources. Each can be enabled, renamed and described as you want. For more information, please refer to the [documentation on MCP resources](docs_url)."
|
||||
resources_submit: "Update resources"
|
||||
@@ -635,6 +635,11 @@ en:
|
||||
confirmation_live_message_checked: "The button to proceed is now active."
|
||||
confirmation_live_message_unchecked: "The button to proceed is now inactive. You need to tick the checkbox to continue."
|
||||
|
||||
mcp_configurations:
|
||||
server_url_component:
|
||||
caption: "The URL at which the OpenProject MCP server will be reachable. Required for setting up MCP clients."
|
||||
label: "Server URL"
|
||||
|
||||
op_dry_validation:
|
||||
or: "or"
|
||||
errors:
|
||||
@@ -2800,7 +2805,7 @@ en:
|
||||
edit_attribute_groups: Edit Attribute Groups
|
||||
gantt_pdf_export: Gantt PDF Export
|
||||
ldap_groups: LDAP users and group sync
|
||||
mcp_server: MCP Server
|
||||
mcp_server: Model Context Protocol (MCP)
|
||||
meeting_templates: Reusable meeting templates
|
||||
nextcloud_sso: Single Sign-On for Nextcloud Storage
|
||||
one_drive_sharepoint_file_storage: OneDrive/SharePoint File Storage
|
||||
@@ -2880,7 +2885,7 @@ en:
|
||||
title: "Custom actions"
|
||||
description: "Custom actions are one-click shortcuts to a set of pre-defined actions that you can make available on certain work packages based on status, role, type or project."
|
||||
mcp_server:
|
||||
description: "Integrate AI agents with your OpenProject instance through MCP."
|
||||
description: "Bring OpenProject into your AI workflows with a secure MCP server."
|
||||
meeting_templates:
|
||||
description: "Define meeting templates with a set agenda structure and save time by reusing them when creating new meetings."
|
||||
nextcloud_sso:
|
||||
|
||||
@@ -54,6 +54,13 @@ properties:
|
||||
Whether the storage has the application password to use for the Nextcloud storage.
|
||||
|
||||
Ignored if the provider type is not Nextcloud.
|
||||
forbiddenFileNameCharacters:
|
||||
type: string
|
||||
description: |-
|
||||
A string with all the characters forbidden to be used for file and folder names in the storage. Used by OpenProject to avoid
|
||||
creating files with unsupported names (e.g. when creating project folders).
|
||||
|
||||
Only supported for provider type Nextcloud so far.
|
||||
createdAt:
|
||||
type: string
|
||||
format: date-time
|
||||
|
||||
@@ -29,6 +29,13 @@ properties:
|
||||
|
||||
If a string is provided, the password is set and automatic management is enabled for the storage.
|
||||
If null is provided, the password is unset and automatic management is disabled for the storage.
|
||||
forbiddenFileNameCharacters:
|
||||
type: string
|
||||
description: |-
|
||||
A string with all the characters forbidden to be used for file and folder names in the storage. Used by OpenProject to avoid
|
||||
creating files with unsupported names (e.g. when creating project folders).
|
||||
|
||||
Only supported for provider type Nextcloud so far.
|
||||
_links:
|
||||
type: object
|
||||
required:
|
||||
|
||||
@@ -18,22 +18,30 @@ OpenProject allows AI agents and similar tools to integrate through an API calle
|
||||
This allows these agents to access information from your OpenProject instance into their responses. Right now OpenProject only offers
|
||||
read-only tools, tools to manipulate data might be added in the future.
|
||||
|
||||
## Configuring authentication
|
||||
## Configuration
|
||||
|
||||
In your MCP client, you have to configure the endpoint of the OpenProject MCP server, which is available under `/mcp`, so for example:
|
||||
|
||||
```
|
||||
https://your-openproject.example.com/mcp
|
||||
```
|
||||
|
||||
### Authentication
|
||||
|
||||
Authentication with MCP can happen in the ways that authentication for regular API endpoints can happen as well. The two distinct
|
||||
use cases for authentication are authentication for a single user via personal API tokens or authentication for different users
|
||||
sharing the same (web) application through OAuth.
|
||||
|
||||
### Personal access with API tokens
|
||||
#### Personal access with API tokens
|
||||
|
||||
This way of authentication requires no further setup on the administration side of OpenProject.
|
||||
The only requirement is that the ["Enable REST web service"](../../api-and-webhooks/) setting is enabled.
|
||||
The only requirement is that the ["Enable API tokens"](../../api-and-webhooks/) setting is enabled.
|
||||
|
||||
Afterwards users that want to make use of MCP on a personal basis, can create a personal API token and configure an MCP client with that
|
||||
token. However, this only works properly with locally running MCP clients that are only used by a single user and it requires the user
|
||||
to configure the MCP endpoint themselves.
|
||||
|
||||
### Shared access via OAuth
|
||||
#### Shared access via OAuth
|
||||
|
||||
If multiple users shall be able to use information from the same OpenProject instance and when using web-based MCP clients, the typical
|
||||
configuration will involve an admin setting up the MCP client and OpenProject once, so that regular users can then utilize the
|
||||
@@ -47,8 +55,33 @@ by OpenProject already, namely:
|
||||
|
||||
In case OpenProject is used as the authentication provider, the configuration for the client has to be prepared by the administrator.
|
||||
Go to *Administration -> Authentication -> OAuth applications* and create an application with the `mcp` scope, entering
|
||||
the "Redirect URI" according to the instructions of your MCP client. Make sure that the application is marked as confidential.
|
||||
the "Redirect URI" according to the instructions of your MCP client.
|
||||
|
||||
## Customization
|
||||
> [!IMPORTANT]
|
||||
>
|
||||
> Make sure that the application is marked as confidential.
|
||||
|
||||
TODO: What can be customized in the Admin UI
|
||||

|
||||
|
||||
|
||||
|
||||
### Customization
|
||||
|
||||
You can customize the MCP server further under *Administration -> Artificial Intelligence (AI) -> Model Context Protocol (MCP)*.
|
||||
|
||||
Here you can enable or disable the entire MCP server and change the MCP server titles and descriptions indicated towards MCP clients. If you think that your MCP client is passing duplicated information to the language model, you can also change the response format, though for most purposes the default should work well.
|
||||
|
||||
The available response format options are:
|
||||
|
||||
- **Full**: The most compatible option. Tool responses will include both regular and structured content, allowing MCP clients to choose which format they want to read. This may increase the number of tokens that the language model has to process, potentially increasing cost and decreasing performance.
|
||||
- **Structured content only**: Choose this if you are certain that MCP clients connecting to this instance support structured content. Tool responses will only include structured content and leave out its text representation.
|
||||
- **Content only**: Choose this if MCP clients connecting to this instance do not support structured content. Tool responses will only contain plain text content and leave out the structured version.
|
||||
|
||||

|
||||
|
||||
|
||||
You can also disable individual tools and resources provided via MCP. This can be useful if you want to introduce alternative naming for certain entities or limit available functionality.
|
||||
|
||||
For example if work packages are called "work items" in your day-to-day language, it can be helpful to rename *Search work packages* to *Search work items*, so that users interacting with the MCP client understand what a tool does and the language model has an additional cue that there is an alias for "work packages".
|
||||
|
||||

|
||||
Binary file not shown.
|
After Width: | Height: | Size: 121 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 123 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 242 KiB |
@@ -33,7 +33,7 @@ module Overviews
|
||||
extend Dry::Initializer
|
||||
|
||||
include ApplicationHelper
|
||||
include ProjectHelper
|
||||
include ProjectsHelper
|
||||
include Redmine::I18n
|
||||
|
||||
option :project
|
||||
|
||||
+14
-2
@@ -23,7 +23,7 @@
|
||||
#
|
||||
# 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.
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# See COPYRIGHT and LICENSE files for more details.
|
||||
#++
|
||||
@@ -39,7 +39,7 @@ module Storages
|
||||
end
|
||||
|
||||
def name
|
||||
"#{@project.name.tr('/', '|')} (#{@project.id})"
|
||||
"#{filter_restricted_characters(@project.name)} (#{@project.id})"
|
||||
end
|
||||
|
||||
def path
|
||||
@@ -49,6 +49,18 @@ module Storages
|
||||
def location
|
||||
path
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def filter_restricted_characters(name)
|
||||
# slashes have historically always been replaced with |
|
||||
# hardcoding slash and backslash instead of making them configurable also prevents project names to be usable
|
||||
# for directory-escape attempts (e.g. "../project name")
|
||||
name = name.tr("/\\", "|")
|
||||
|
||||
# other forbidden characters are replaced with _, consistent with other storages
|
||||
name.tr(@storage.forbidden_file_name_characters, "_")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#
|
||||
# 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.
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# See COPYRIGHT and LICENSE files for more details.
|
||||
#++
|
||||
@@ -50,6 +50,10 @@ module Storages
|
||||
store_attribute :provider_fields, :storage_audience, :string
|
||||
store_attribute :provider_fields, :token_exchange_scope, :string
|
||||
|
||||
# Default has been chosen to maximize compatibility with Windows-based Nextcloud clients
|
||||
# also see https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions
|
||||
store_attribute :provider_fields, :forbidden_file_name_characters, :string, default: "<>:\"\\/|?*"
|
||||
|
||||
def self.short_provider_name = :nextcloud
|
||||
|
||||
def self.non_confidential_provider_fields
|
||||
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
#-- copyright
|
||||
# OpenProject is an open source project management software.
|
||||
# Copyright (C) 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-2013 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 COPYRIGHT and LICENSE files for more details.
|
||||
#++
|
||||
|
||||
class SetNextcloudDefaultProhibitedCharacters < ActiveRecord::Migration[8.0]
|
||||
disable_ddl_transaction!
|
||||
|
||||
def up
|
||||
execute <<~SQL.squish
|
||||
UPDATE storages
|
||||
SET provider_fields = provider_fields || '{ "forbidden_file_name_characters": "<>:\\"\\\\/|?*" }'::jsonb
|
||||
WHERE provider_type = 'Storages::NextcloudStorage' AND NOT provider_fields ? 'forbidden_file_name_characters'
|
||||
SQL
|
||||
end
|
||||
|
||||
def down
|
||||
# we'll not delete any JSONB data on rollback
|
||||
# though there's also no need to artificially block rollbacks past this version
|
||||
end
|
||||
end
|
||||
@@ -140,6 +140,13 @@ module API::V3::Storages
|
||||
end,
|
||||
setter: ->(*) {}
|
||||
|
||||
property :forbiddenFileNameCharacters,
|
||||
skip_render: ->(represented:, **) { !represented.provider_type_nextcloud? },
|
||||
getter: ->(represented:, **) do
|
||||
represented.forbidden_file_name_characters if represented.provider_type_nextcloud?
|
||||
end,
|
||||
setter: ->(fragment:, represented:, **) { represented.forbidden_file_name_characters = fragment }
|
||||
|
||||
date_time_property :created_at
|
||||
|
||||
date_time_property :updated_at
|
||||
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
#-- copyright
|
||||
# OpenProject is an open source project management software.
|
||||
# Copyright (C) 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-2013 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 COPYRIGHT and LICENSE files for more details.
|
||||
#++
|
||||
|
||||
require "spec_helper"
|
||||
|
||||
RSpec.describe Storages::Adapters::Providers::Nextcloud::ManagedFolderIdentifier do
|
||||
let(:managed_folder_identifier) { described_class.new(project_storage) }
|
||||
|
||||
let(:project_storage) { create(:project_storage, project:, storage:) }
|
||||
let(:project) { create(:project, name: project_name) }
|
||||
let(:project_name) { "My great Demo project" }
|
||||
let(:storage) { create(:nextcloud_storage) }
|
||||
|
||||
describe "#path" do
|
||||
subject { managed_folder_identifier.path }
|
||||
|
||||
it { is_expected.to eq("/OpenProject/My great Demo project (#{project.id})/") }
|
||||
|
||||
context "when the project name contains a slash" do
|
||||
let(:project_name) { "My great/awesome project" }
|
||||
|
||||
it { is_expected.to eq("/OpenProject/My great|awesome project (#{project.id})/") }
|
||||
|
||||
context "when the pipe character is prohibited by the storage" do
|
||||
let(:storage) { create(:nextcloud_storage, forbidden_file_name_characters: "|") }
|
||||
|
||||
it { is_expected.to eq("/OpenProject/My great_awesome project (#{project.id})/") }
|
||||
end
|
||||
end
|
||||
|
||||
context "when the project name contains a backslash" do
|
||||
let(:project_name) { "My great\\awesome project" }
|
||||
|
||||
it { is_expected.to eq("/OpenProject/My great|awesome project (#{project.id})/") }
|
||||
|
||||
context "when the pipe character is prohibited by the storage" do
|
||||
let(:storage) { create(:nextcloud_storage, forbidden_file_name_characters: "|") }
|
||||
|
||||
it { is_expected.to eq("/OpenProject/My great_awesome project (#{project.id})/") }
|
||||
end
|
||||
end
|
||||
|
||||
context "when the project name contains special characters" do
|
||||
let(:project_name) { "My $pecia| project: The ☃" }
|
||||
|
||||
it { is_expected.to eq("/OpenProject/My $pecia| project: The ☃ (#{project.id})/") }
|
||||
|
||||
context "and when certain characters are prohibited by the storage" do
|
||||
let(:storage) { create(:nextcloud_storage, forbidden_file_name_characters: "$:") }
|
||||
|
||||
it { is_expected.to eq("/OpenProject/My _pecia| project_ The ☃ (#{project.id})/") }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -93,6 +93,7 @@ FactoryBot.define do
|
||||
sequence(:host) { |n| "https://host#{n}.example.com/" }
|
||||
authentication_method { "two_way_oauth2" }
|
||||
storage_audience { nil }
|
||||
forbidden_file_name_characters { "" }
|
||||
|
||||
trait :with_oauth_configured do
|
||||
after(:create) do |storage, _evaluator|
|
||||
|
||||
@@ -227,11 +227,19 @@ RSpec.describe API::V3::Storages::StorageRepresenter, "rendering" do
|
||||
let(:oauth_application) { build_stubbed(:oauth_application) }
|
||||
let(:storage) { build_stubbed(:nextcloud_storage, oauth_application:, oauth_client: oauth_client_credentials) }
|
||||
|
||||
it "fulfills the documented schema" do
|
||||
expect(generated).to match_json_schema.from_docs("storage_read_model")
|
||||
end
|
||||
|
||||
it_behaves_like "common file storage properties"
|
||||
|
||||
context "if file storage is not completely configured" do
|
||||
let(:storage) { build_stubbed(:nextcloud_storage, oauth_client: nil) }
|
||||
|
||||
it "fulfills the documented schema" do
|
||||
expect(generated).to match_json_schema.from_docs("storage_read_model")
|
||||
end
|
||||
|
||||
it_behaves_like "property", :configured do
|
||||
let(:value) { false }
|
||||
end
|
||||
@@ -357,11 +365,19 @@ RSpec.describe API::V3::Storages::StorageRepresenter, "rendering" do
|
||||
context "if file storage has provider type OneDrive" do
|
||||
let(:storage) { build_stubbed(:one_drive_storage, oauth_client: oauth_client_credentials) }
|
||||
|
||||
it "fulfills the documented schema" do
|
||||
expect(generated).to match_json_schema.from_docs("storage_read_model")
|
||||
end
|
||||
|
||||
it_behaves_like "common file storage properties"
|
||||
|
||||
context "if file storage is not completely configured" do
|
||||
let(:storage) { build_stubbed(:one_drive_storage, drive_id: nil, oauth_client: oauth_client_credentials) }
|
||||
|
||||
it "fulfills the documented schema" do
|
||||
expect(generated).to match_json_schema.from_docs("storage_read_model")
|
||||
end
|
||||
|
||||
it_behaves_like "property", :configured do
|
||||
let(:value) { false }
|
||||
end
|
||||
|
||||
@@ -32,7 +32,7 @@ require "rails_helper"
|
||||
|
||||
RSpec.describe Projects::CreationWizardStatusComponent, type: :component do
|
||||
include ApplicationHelper
|
||||
include ProjectHelper
|
||||
include ProjectsHelper
|
||||
include Rails.application.routes.url_helpers
|
||||
|
||||
let(:current_user) { build_stubbed(:user) }
|
||||
|
||||
@@ -37,7 +37,9 @@ RSpec.describe "Persisted lists on projects index page",
|
||||
shared_let(:user) { create(:user) }
|
||||
|
||||
shared_let(:manager) { create(:project_role, name: "Manager") }
|
||||
shared_let(:developer) { create(:project_role, name: "Developer") }
|
||||
# The permission is not necessary for any of the tests. But it enables one more code path
|
||||
# where a regression occured before (#72362).
|
||||
shared_let(:developer) { create(:project_role, name: "Developer", permissions: %i(export_projects)) }
|
||||
|
||||
shared_let(:custom_field) { create(:text_project_custom_field) }
|
||||
shared_let(:invisible_custom_field) { create(:project_custom_field, admin_only: true) }
|
||||
|
||||
Vendored
BIN
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
@@ -99,4 +99,11 @@ RSpec.describe ProjectsHelper do
|
||||
])
|
||||
end
|
||||
end
|
||||
|
||||
describe "#supported_export_formats" do
|
||||
it "returns the supported export formats" do
|
||||
expect(helper.supported_export_formats)
|
||||
.to match_array(%w[xls csv pdf])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,443 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
#-- copyright
|
||||
# OpenProject is an open source project management software.
|
||||
# Copyright (C) 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-2013 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 COPYRIGHT and LICENSE files for more details.
|
||||
#++
|
||||
|
||||
require "spec_helper"
|
||||
|
||||
RSpec.describe Exports::PDF::Common::Attachments do
|
||||
let(:helper) do
|
||||
obj = Object.new
|
||||
obj.extend(described_class)
|
||||
# api_url_helpers is defined in Exports::PDF::Common::Common, not in
|
||||
# Attachments. Provide a minimal implementation so the module methods work.
|
||||
obj.define_singleton_method(:api_url_helpers) { API::V3::Utilities::PathHelper::ApiV3Path }
|
||||
obj
|
||||
end
|
||||
|
||||
describe "#pdf_embeddable?" do
|
||||
%w[image/jpeg image/png image/gif image/webp].each do |type|
|
||||
it "returns true for #{type}" do
|
||||
expect(helper.pdf_embeddable?(type)).to be true
|
||||
end
|
||||
end
|
||||
|
||||
%w[application/pdf text/plain image/svg+xml application/binary].each do |type|
|
||||
it "returns false for #{type}" do
|
||||
expect(helper.pdf_embeddable?(type)).to be false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#temp_image_file" do
|
||||
after { helper.delete_all_resized_images }
|
||||
|
||||
it "returns a string path ending with the given extension" do
|
||||
path = helper.temp_image_file(".png")
|
||||
expect(path).to end_with(".png")
|
||||
end
|
||||
|
||||
it "registers the temp file so delete_all_resized_images can clean it up" do
|
||||
helper.temp_image_file(".png")
|
||||
expect { helper.delete_all_resized_images }.not_to raise_error
|
||||
end
|
||||
|
||||
it "accumulates multiple temp files" do
|
||||
helper.temp_image_file(".png")
|
||||
helper.temp_image_file(".jpg")
|
||||
expect { helper.delete_all_resized_images }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
describe "#delete_all_resized_images" do
|
||||
it "does not raise when no images have been created yet" do
|
||||
expect { helper.delete_all_resized_images }.not_to raise_error
|
||||
end
|
||||
|
||||
it "calls close! on each registered temp file" do
|
||||
tmp1 = instance_double(Tempfile)
|
||||
tmp2 = instance_double(Tempfile)
|
||||
allow(tmp1).to receive(:close!)
|
||||
allow(tmp2).to receive(:close!)
|
||||
|
||||
helper.instance_variable_set(:@resized_images, [tmp1, tmp2])
|
||||
helper.delete_all_resized_images
|
||||
|
||||
expect(tmp1).to have_received(:close!)
|
||||
expect(tmp2).to have_received(:close!)
|
||||
end
|
||||
|
||||
it "resets the list to an empty array" do
|
||||
tmp = instance_double(Tempfile)
|
||||
allow(tmp).to receive(:close!)
|
||||
helper.instance_variable_set(:@resized_images, [tmp])
|
||||
helper.delete_all_resized_images
|
||||
expect(helper.instance_variable_get(:@resized_images)).to eq([])
|
||||
end
|
||||
end
|
||||
|
||||
describe "#resize_image" do
|
||||
let(:png_fixture) { Rails.root.join("spec/fixtures/files/image.png").to_s }
|
||||
|
||||
after { helper.delete_all_resized_images }
|
||||
|
||||
it "returns a path string" do
|
||||
result = helper.resize_image(png_fixture)
|
||||
expect(result).to be_a(String)
|
||||
end
|
||||
|
||||
it "writes the resized image to the returned path" do
|
||||
result = helper.resize_image(png_fixture)
|
||||
expect(File.exist?(result)).to be true
|
||||
expect(File.size(result)).to be > 0
|
||||
end
|
||||
|
||||
it "writes a file with image/png MIME type" do
|
||||
result = helper.resize_image(png_fixture)
|
||||
expect(Marcel::MimeType.for(Pathname.new(result))).to eq("image/png")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#convert_gif_to_png" do
|
||||
# Use the PNG fixture as a stand-in; MiniMagick handles it fine.
|
||||
let(:source_fixture) { Rails.root.join("spec/fixtures/files/image.png").to_s }
|
||||
|
||||
after { helper.delete_all_resized_images }
|
||||
|
||||
it "returns a path ending with .png" do
|
||||
result = helper.convert_gif_to_png(source_fixture)
|
||||
expect(result).to end_with(".png")
|
||||
end
|
||||
|
||||
it "writes a non-empty file to the returned path" do
|
||||
result = helper.convert_gif_to_png(source_fixture)
|
||||
expect(File.exist?(result)).to be true
|
||||
expect(File.size(result)).to be > 0
|
||||
end
|
||||
|
||||
it "writes a file with image/png MIME type" do
|
||||
result = helper.convert_gif_to_png(source_fixture)
|
||||
expect(Marcel::MimeType.for(Pathname.new(result))).to eq("image/png")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#convert_webp_to_png" do
|
||||
let(:webp_fixture) { Rails.root.join("spec/fixtures/files/image.webp").to_s }
|
||||
|
||||
after { helper.delete_all_resized_images }
|
||||
|
||||
it "returns a path ending with .png" do
|
||||
result = helper.convert_webp_to_png(webp_fixture)
|
||||
expect(result).to end_with(".png")
|
||||
end
|
||||
|
||||
it "writes a non-empty PNG file" do
|
||||
result = helper.convert_webp_to_png(webp_fixture)
|
||||
expect(File.exist?(result)).to be true
|
||||
expect(File.size(result)).to be > 0
|
||||
end
|
||||
|
||||
it "writes a file with image/png MIME type" do
|
||||
result = helper.convert_webp_to_png(webp_fixture)
|
||||
expect(Marcel::MimeType.for(Pathname.new(result))).to eq("image/png")
|
||||
end
|
||||
|
||||
it "falls back to the source file when extract_first_webp_frame returns nil" do
|
||||
allow(helper).to receive(:extract_first_webp_frame).and_return(nil)
|
||||
result = helper.convert_webp_to_png(webp_fixture)
|
||||
expect(result).to end_with(".png")
|
||||
expect(File.exist?(result)).to be true
|
||||
expect(Marcel::MimeType.for(Pathname.new(result))).to eq("image/png")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#attachment_image_local_file" do
|
||||
let(:attachment) { instance_double(Attachment, id: 42) }
|
||||
let(:file_uploader) { instance_double(LocalFileUploader) }
|
||||
let(:local_file) { instance_double(File, path: "/some/path/image.png") }
|
||||
|
||||
context "when the file is accessible" do
|
||||
before do
|
||||
allow(attachment).to receive(:file).and_return(file_uploader)
|
||||
allow(file_uploader).to receive(:local_file).and_return(local_file)
|
||||
end
|
||||
|
||||
it "returns the local file object" do
|
||||
expect(helper.attachment_image_local_file(attachment)).to eq(local_file)
|
||||
end
|
||||
end
|
||||
|
||||
context "when accessing the file raises an error" do
|
||||
before do
|
||||
allow(attachment).to receive(:file).and_return(file_uploader)
|
||||
allow(file_uploader).to receive(:local_file).and_raise(StandardError, "disk error")
|
||||
allow(Rails.logger).to receive(:error)
|
||||
end
|
||||
|
||||
it "returns nil" do
|
||||
expect(helper.attachment_image_local_file(attachment)).to be_nil
|
||||
end
|
||||
|
||||
it "logs the error including the attachment id" do
|
||||
helper.attachment_image_local_file(attachment)
|
||||
expect(Rails.logger).to have_received(:error).with(/42/)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#attachment_by_api_content_src" do
|
||||
# api_url_helpers returns the ApiV3Path class; stub root_path on the class itself.
|
||||
before do
|
||||
allow(API::V3::Utilities::PathHelper::ApiV3Path).to receive(:root_path).and_return("/")
|
||||
end
|
||||
|
||||
it "returns nil for an empty src" do
|
||||
expect(helper.attachment_by_api_content_src("")).to be_nil
|
||||
end
|
||||
|
||||
it "returns nil when src does not start with root_path" do
|
||||
expect(helper.attachment_by_api_content_src("https://evil.example.com/attachments/1/file.png")).to be_nil
|
||||
end
|
||||
|
||||
it "returns nil when src does not contain the attachments pattern" do
|
||||
expect(helper.attachment_by_api_content_src("/api/v3/some_other_path")).to be_nil
|
||||
end
|
||||
|
||||
context "when src matches a valid attachment path" do
|
||||
let(:attachment) { instance_double(Attachment, id: 7) }
|
||||
|
||||
before { allow(Attachment).to receive(:find_by).with(id: 7).and_return(attachment) }
|
||||
|
||||
context "when the attachment is visible" do
|
||||
before { allow(attachment).to receive(:visible?).and_return(true) }
|
||||
|
||||
it "returns the attachment for the api/v3 path" do
|
||||
result = helper.attachment_by_api_content_src("/api/v3/attachments/7/content")
|
||||
expect(result).to eq(attachment)
|
||||
end
|
||||
|
||||
it "returns the attachment for the drag-and-drop path format" do
|
||||
result = helper.attachment_by_api_content_src("/attachments/7/filename.ext")
|
||||
expect(result).to eq(attachment)
|
||||
end
|
||||
end
|
||||
|
||||
context "when the attachment is not visible" do
|
||||
before { allow(attachment).to receive(:visible?).and_return(false) }
|
||||
|
||||
it "returns nil" do
|
||||
result = helper.attachment_by_api_content_src("/api/v3/attachments/7/content")
|
||||
expect(result).to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context "when no attachment with that id exists" do
|
||||
before { allow(Attachment).to receive(:find_by).and_return(nil) }
|
||||
|
||||
it "returns nil" do
|
||||
expect(helper.attachment_by_api_content_src("/attachments/999/file.png")).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context "when an unexpected error is raised" do
|
||||
before do
|
||||
allow(Attachment).to receive(:find_by).and_raise(StandardError, "db error")
|
||||
allow(Rails.logger).to receive(:error)
|
||||
end
|
||||
|
||||
it "returns nil" do
|
||||
expect(helper.attachment_by_api_content_src("/attachments/1/file.png")).to be_nil
|
||||
end
|
||||
|
||||
it "logs the error" do
|
||||
helper.attachment_by_api_content_src("/attachments/1/file.png")
|
||||
expect(Rails.logger).to have_received(:error)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#attachment_image_filepath" do
|
||||
let(:src) { "/api/v3/attachments/1/content" }
|
||||
let(:attachment) { instance_double(Attachment, id: 1, content_type: "image/jpeg") }
|
||||
let(:local_file) { instance_double(File, path: "/tmp/image.jpg") }
|
||||
|
||||
before do
|
||||
allow(helper).to receive(:attachment_by_api_content_src).with(src).and_return(attachment)
|
||||
allow(helper).to receive(:pdf_embeddable?).with("image/jpeg").and_return(true)
|
||||
allow(helper).to receive(:attachment_image_local_file).with(attachment).and_return(local_file)
|
||||
allow(helper).to receive(:resize_image).with("/tmp/image.jpg").and_return("/tmp/resized.jpg")
|
||||
end
|
||||
|
||||
it "returns a resized image path for a jpeg" do
|
||||
expect(helper.attachment_image_filepath(src)).to eq("/tmp/resized.jpg")
|
||||
end
|
||||
|
||||
context "when attachment is nil" do
|
||||
before { allow(helper).to receive(:attachment_by_api_content_src).with(src).and_return(nil) }
|
||||
|
||||
it "returns nil" do
|
||||
expect(helper.attachment_image_filepath(src)).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context "when content_type is not embeddable" do
|
||||
before { allow(helper).to receive(:pdf_embeddable?).with("image/jpeg").and_return(false) }
|
||||
|
||||
it "returns nil" do
|
||||
expect(helper.attachment_image_filepath(src)).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context "when local_file is nil" do
|
||||
before { allow(helper).to receive(:attachment_image_local_file).with(attachment).and_return(nil) }
|
||||
|
||||
it "returns nil" do
|
||||
expect(helper.attachment_image_filepath(src)).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context "when the attachment is a GIF" do
|
||||
let(:attachment) { instance_double(Attachment, id: 1, content_type: "image/gif") }
|
||||
let(:local_file) { instance_double(File, path: "/tmp/image.gif") }
|
||||
|
||||
before do
|
||||
allow(helper).to receive(:attachment_by_api_content_src).with(src).and_return(attachment)
|
||||
allow(helper).to receive(:pdf_embeddable?).with("image/gif").and_return(true)
|
||||
allow(helper).to receive(:attachment_image_local_file).with(attachment).and_return(local_file)
|
||||
allow(helper).to receive(:convert_gif_to_png).with("/tmp/image.gif").and_return("/tmp/converted.png")
|
||||
allow(helper).to receive(:resize_image).with("/tmp/converted.png").and_return("/tmp/resized.png")
|
||||
end
|
||||
|
||||
it "converts the GIF to PNG before resizing" do
|
||||
result = helper.attachment_image_filepath(src)
|
||||
expect(helper).to have_received(:convert_gif_to_png).with("/tmp/image.gif")
|
||||
expect(result).to eq("/tmp/resized.png")
|
||||
end
|
||||
end
|
||||
|
||||
context "when the attachment is a WebP" do
|
||||
let(:attachment) { instance_double(Attachment, id: 1, content_type: "image/webp") }
|
||||
let(:local_file) { instance_double(File, path: "/tmp/image.webp") }
|
||||
|
||||
before do
|
||||
allow(helper).to receive(:attachment_by_api_content_src).with(src).and_return(attachment)
|
||||
allow(helper).to receive(:pdf_embeddable?).with("image/webp").and_return(true)
|
||||
allow(helper).to receive(:attachment_image_local_file).with(attachment).and_return(local_file)
|
||||
allow(helper).to receive(:convert_webp_to_png).with("/tmp/image.webp").and_return("/tmp/converted.png")
|
||||
allow(helper).to receive(:resize_image).with("/tmp/converted.png").and_return("/tmp/resized.png")
|
||||
end
|
||||
|
||||
it "converts the WebP to PNG before resizing" do
|
||||
result = helper.attachment_image_filepath(src)
|
||||
expect(helper).to have_received(:convert_webp_to_png).with("/tmp/image.webp")
|
||||
expect(result).to eq("/tmp/resized.png")
|
||||
end
|
||||
end
|
||||
|
||||
context "when gif conversion returns nil" do
|
||||
let(:attachment) { instance_double(Attachment, id: 1, content_type: "image/gif") }
|
||||
let(:local_file) { instance_double(File, path: "/tmp/image.gif") }
|
||||
|
||||
before do
|
||||
allow(helper).to receive(:attachment_by_api_content_src).with(src).and_return(attachment)
|
||||
allow(helper).to receive(:pdf_embeddable?).with("image/gif").and_return(true)
|
||||
allow(helper).to receive(:attachment_image_local_file).with(attachment).and_return(local_file)
|
||||
allow(helper).to receive(:convert_gif_to_png).with("/tmp/image.gif").and_return(nil)
|
||||
end
|
||||
|
||||
it "returns nil" do
|
||||
expect(helper.attachment_image_filepath(src)).to be_nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "#extract_first_webp_frame" do
|
||||
let(:animated_webp) { Rails.root.join("spec/fixtures/files/animated.webp").to_s }
|
||||
let(:static_webp) { Rails.root.join("spec/fixtures/files/image.webp").to_s }
|
||||
let(:non_webp) { Rails.root.join("spec/fixtures/files/image.png").to_s }
|
||||
|
||||
after { helper.delete_all_resized_images }
|
||||
|
||||
context "with an animated WebP" do
|
||||
it "returns a non-nil path" do
|
||||
expect(helper.extract_first_webp_frame(animated_webp)).not_to be_nil
|
||||
end
|
||||
|
||||
it "returns a path to an existing file" do
|
||||
result = helper.extract_first_webp_frame(animated_webp)
|
||||
expect(File.exist?(result)).to be true
|
||||
end
|
||||
|
||||
it "returns a file with image/webp MIME type" do
|
||||
result = helper.extract_first_webp_frame(animated_webp)
|
||||
expect(Marcel::MimeType.for(Pathname.new(result))).to eq("image/webp")
|
||||
end
|
||||
|
||||
it "returns a single-frame WebP" do
|
||||
result = helper.extract_first_webp_frame(animated_webp)
|
||||
expect(MiniMagick::Image.open(result).frames.count).to eq(1)
|
||||
end
|
||||
|
||||
it "returns a file with a valid RIFF/WEBP container header" do
|
||||
result = helper.extract_first_webp_frame(animated_webp)
|
||||
data = File.binread(result)
|
||||
expect(data[0, 4]).to eq("RIFF".b)
|
||||
expect(data[8, 4]).to eq("WEBP".b)
|
||||
end
|
||||
end
|
||||
|
||||
context "with a static (non-animated) WebP" do
|
||||
it "returns nil" do
|
||||
expect(helper.extract_first_webp_frame(static_webp)).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context "with a non-WebP file" do
|
||||
it "returns nil" do
|
||||
expect(helper.extract_first_webp_frame(non_webp)).to be_nil
|
||||
end
|
||||
end
|
||||
|
||||
context "when an error is raised while reading the file" do
|
||||
before do
|
||||
allow(File).to receive(:binread).and_raise(StandardError, "read error")
|
||||
allow(Rails.logger).to receive(:error)
|
||||
end
|
||||
|
||||
it "returns nil" do
|
||||
expect(helper.extract_first_webp_frame(animated_webp)).to be_nil
|
||||
end
|
||||
|
||||
it "logs the error" do
|
||||
helper.extract_first_webp_frame(animated_webp)
|
||||
expect(Rails.logger).to have_received(:error).with(/read error/)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -34,7 +34,7 @@ require_relative "../../projects/exporter/exportable_project_context"
|
||||
|
||||
RSpec.describe Project::PDFExport::ProjectInitiation do
|
||||
include PDFExportSpecUtils
|
||||
include ProjectHelper
|
||||
include ProjectsHelper
|
||||
include Redmine::I18n
|
||||
|
||||
include_context "with a project with an arrangement of custom fields"
|
||||
|
||||
Reference in New Issue
Block a user