问题标签 [alfresco-enterprise]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
917 浏览

alfresco - 使用 Alfresco 工作流控制台删除所有工作流

我通过克隆产品服务器的存储库和数据库来准备新的 Alfresco 4.2 服务器来测试环境。我要删除用户内容,因为存储库和数据库的容量很大。问题是内容关联了许多活动的和已结束的工作流。因此,我将通过运行命令删除工作流控制台 Alfresco ( http://myserver:8080/alfresco/faces/jsp/admin/workflow-console.jsp ) 中的所有工作流:

删除所有工作流

我是否正确理解此命令将从存储库和数据库中删除所有活动和已结束的工作流?

0 投票
1 回答
209 浏览

tomcat7 - 如何使用 Jar 自定义 FreeMarker 模板?

前段时间,我用过 Alfresco 5.2 社区版。当我需要开发某种定制时,我使用了具有三种不同Maven 原型的Alfresco Maven SDK,它是:

  • 露天存储库 AMP;
  • 露天共享 AMP;
  • 露天一体机 (AIO)。

通过使用此 SDK,我开发了AMP 文件,这些文件覆盖在alfresco.warshare.war使用模块管理工具。

现在我使用的是 Alfresco 4.2.2 企业版,问题是多年来所有的定制都是直接在爆炸 WAR 中的服务器上执行的。

此处描述了此方法:打包方法

未打包的文件或 ZIP

许多开发环境采用构建过程,该过程可以执行脚本将未打包的修改文件从源代码控制移动到 Web 应用程序的分解 WAR 文件中。Ant、bash 或一些脚本语言都可以很好地做到这一点......

移动未打包的文件具有快速且易于理解的优点...

并进一步:

部署地点

一种解决方案是使用永久展开的部署(而不是在 下部署 Alfresco WAR 文件/webapps)。在 webapps 目录下创建一个名为alfresco的目录并将其内容提取alfresco.war到其中。然后将您的文件复制到 ../webapps/alfresco/WEB-INF/并重新启动Tomcat ...

因此,我不能使用 AMP 自定义(否则所有以前的开发将被删除)。据我所知,我可以使用另一种 JAR 自定义。

如同一文档中所述:

从 开始v3.4,Share Web 应用程序支持打包为 JAR 文件的覆盖。这允许多个自定义相互隔离,并且可以预测选择顺序。静态文件,例如JavaScriptCSS通常放置在 Share 应用程序的 Web 根目录中的图像文件也可以打包到这些 JAR 中......

tomcat/shared/lib虽然可以通过将这些 JAR 文件放在...中来避免覆盖问题(至少在 Tomcat 中) 。

但是,我也不能利用这种方法。例如,我需要覆盖FreeMarker模板:

我在 IDE 中创建适当的目录结构,以某种方式更改模板,然后构建 Jar 文件。然后我把它放进去tomcat7/shared/lib(我也把它放进去tomcat7/webapps/share/WEB-INF/lib,但也没有成功)并重新启动应用程序服务器。

重新启动后,我看不到我的更改 - 模板保持不变。此外,如果我尝试将另一个模板添加到同一目录 ( .../service-note/...),则不会出现那里的新模板。

在我的 Tomcat 安装中,共享类加载器配置正确。

我究竟做错了什么?如何使用 JAR 覆盖静态资源?

我将非常感谢您提供的信息。谢谢大家。

0 投票
2 回答
738 浏览

alfresco - How to delete a task?

Or more precisely - is there a way to remove a participant from subsequent iterations if it was "deleted" at the first iteration?

What I mean...

For example, there is a some parallel workflow. I choose 10 participants and initiated this business process. Thus, 10 tasks were created, one for each participant. But then I decided to delete a few participants.

As far as I know, I can't remove the task. But I can to complete these tasks by using WebScript. For example, as follows. I know the workflowId and taskId:

But the problem is that at the stage of revise, the initiator can send for approval again. Then tasks for excluded participants will be created again.

Is there a way to "mark" these participants, so that no tasks were created for them in the future?

I would be very grateful for the information. Thanks to all.

0 投票
1 回答
576 浏览

alfresco - 如何在 Alfresco 4.2.2 中为 Share 编写自定义评估器?

例如,我需要评估器,我可以使用它来显示 Share 中的操作。如果当前用户是文档的作者,那么我将显示操作。

项目结构如下图(alf221-action-share):

UsersCompareEvaluator课堂上,我只是想确定当前用户:

我的alf221-action-share-slingshot-application-context.xml

我的share-config-custom.xml

我放在以下路径中的 jar 文件:/opt/tomcat7/webapps/share/WEB-INF/lib

一切都很完美,除了我的自定义评估器。在此配置中,共享不起作用...在日志中,我看到以下内容:

如果在评估器中我实现了ActionEvaliator接口并尝试如下识别当前用户......

...并将我的 jar 文件放在同一个地方(/opt/tomcat7/webapps/share/WEB-INF/lib) - 然后我得到以下异常:

我试图将我的自定义评估器打包到单独的 jar 中并将其放置在此处:/opt/tomcat7/webapps/alfresco/WEB-INF/lib. 但是我如何从 Share 中引用这个评估者呢?

例如,我有一个单独的项目(alf221-custom-evaluator):

alf221-custom-evaluator-slingshot-application-context.xml我指定以下内容:

然后,在share-config-custom.xmlalf221-action-share,我指定以下内容:

在这种情况下,我收到以下警告消息:

而且我的自定义评估器不起作用。

如何在 Alfresco 4.2.2 中为 Share 编写自定义评估器?

我将非常感谢您提供的信息。谢谢大家。

0 投票
2 回答
1583 浏览

groovy - Alfresco Activiti - 创建同一个子进程的多个实例

对于我开始质疑的过程,我有一个似乎相当简单的要求,甚至是可能的。

下图显示了我当前的过程。我正在努力实现两件事:

  1. 用户创建一个初始用户任务来添加注释,他们应该能够添加任意数量的注释,每个注释一个用户任务

  2. 为用户创建的每个新笔记(用户任务)生成一个新的子流程。

示例流程

上述过程存在以下问题:

  • 应该为每个任务生成一个子流程,但是它们似乎相互覆盖

  • 我不确定子进程是否需要为每个新子进程生成的唯一 ID

0 投票
2 回答
3342 浏览

groovy - activiti - 将任务分配给组或用户

我在弄清楚如何根据他们在组/人员选择器中选择的值将简单任务分配给一个人或一个组时遇到了一些麻烦。

因此,在我的 UI 中,用户可以使用相关的人员/组选择器控件来选择人员组。

选择器控件

使用activiti assignment 属性,我将Assignee设置为${selectedPerson},将Candidate Groups设置为${selectedGroup}. 这些变量与上面提到的选择器控件的值有关:

任务

总体目标是用户应该能够将任务分配给一个人或一个组,但是上面的设计存在以下问题:

  • 当用户选择一个组时,任务就成功地分配给了一个组,推测Assignee的值是可以为空的。
  • 但是,当用户选择一个人而不是一个组时,Activiti 会抛出以下异常,因为它期望一个组;

org.activiti.engine.ActivitiIllegalArgumentException:表达式未解析为字符串或字符串集合

这样做的正确方法是什么?


完整的堆栈跟踪

0 投票
2 回答
545 浏览

imagemagick - 从 Alfresco 4.2 升级到 5.2 后,转换不适用于 .TIF 图像文件

我已将一个应用程序从 Alfresco 4.2 版本迁移到 Alfresco 5.2 版本。但是在升级后,任何文件都没有显示图像预览,并且转换不起作用。

控制台日志:-----

2018-02-02 08:58:46,022 INFO [repo.jscript.ScriptNode] [http-apr-8080-exec-25] 无法为图像/tiff 创建缩略图“doclib”,因为当前没有可用的转换器。

2018-02-02 08:59:10,076 WARN [jcms.transform.TesseractOCRTransformer] [http-apr-8080-exec-45] 命令选项似乎不包含单色的 ImageMagick 设置,无法调用 Tesseract。

任何人都可以帮忙解决这个问题,或者解决这个问题。

您的宝贵答复将不胜感激。

有关问题的更多详细信息,请参阅随附的屏幕截图。在此处输入图像描述

0 投票
2 回答
432 浏览

java - 覆盖 Alfresco 登录

我正在尝试使用 java 类覆盖 Alfresco 5.0d 登录我尝试了很多东西,我了解它是如何工作的,但我被卡住了。

我的工作是添加一个策略,如果用户尝试登录 3 次但失败,我将禁用该用户帐户并向该用户发送一封电子邮件,告诉他有人正在尝试连接到您的帐户

所以我添加了一个名为 CustomLogin 的类来扩展 AbstractAuthenticationComponent 并且我还添加了 authentication.chain=alfrescoNtlm1:alfrescoNtlm,CustomLoginController:CustomLoginControlleralfresco -global-properties

当我部署该 AMP 时,我在 alfresco.log 中收到一条错误消息,告诉我

为身份验证子系统指定。未找到上下文文件

  • 露天 SDK 2.2
  • JDK 7
  • 露天 5.0d

谢谢你。

0 投票
1 回答
137 浏览

tomcat7 - 使用生产配置设置新的 Alfresco 服务器的简单方法

我有生产Alfresco 4.2 Enterprise服务器的备份,包括:
- 数据库;
- 文件夹Tomcat7Alfresco(在哪里alf_dataalfresco-global.properties等等)。

目前我正在部署具有生产配置的新备用服务器,并计划以最小的努力做到这一点 - 无需安装模块,配置 Tomcat,SOLR 等。生产和备用服务器的配置必须相同。

它可以用于保留,例如,如果主服务器将下降。在这种情况下,只需要从相关的生产备份中恢复备用服务器上的 repo 数据(数据库、内容存储、索引)。

要设置备用服务器,我计划使用以下步骤:
1) 安装操作系统和 Alfresco。在新服务器上停止tomcat7服务。
2) 使用与备份不同的名称恢复生产数据库。3)从新安装中
删除Alfresco和文件夹。4)从备份中 恢复生产文件夹和新服务器。5) 编辑, 中的主要属性,以及 中的选项。 6)在新服务器上启动服务。Tomcat7
AlfrescoTomcat7
alfresco-global.propertiesdb.namealfresco.hostshare.hostcatalina.sh
tomcat7

这些步骤会更正吗?

0 投票
0 回答
80 浏览

java - 在 Activiti BPM 6.0.0.3 中更改流程分配

我们正在尝试实施流程重新分配并且遇到问题,因为表 ACT_RU_EXECUTION 中的数据库属性 START_USER_ID_ 未更新。谷歌搜索后,我们发现IBatis执行不支持通过 updateExecution操作更新该文件。

Github IBatis updateExecution定义位于此处

我们知道 Activiti 完全支持重新分配任务,但是当流程实例没有任何活动的人工任务但流程实例等待让我们说计时器事件时重新分配流程实例呢?