问题标签 [cmis]
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.
apache - CMIS:在服务器端缓存数据
我正在为我的应用程序编写一个 CMIS 接口(服务器)。服务器需要从数据库加载数据来处理请求。目前我正在为每个请求加载相同的数据。
有没有一种常用的方法来缓存这些数据。每个 cmis 客户端都支持 cookie 吗?还有其他机会缓存这些数据吗?
谢谢
cmis - 文件网中的选择列表
我正在学习 CMIS 和 Filenet P8 。为 CMIS 使用库 apache-chemistry。我在 ChoiceList 中有问题。
选择列表与 PropertyDefination 相关联。我试图显示与每个 PropertyDefinition 相关的选择列表。
输出
// 对于 propertyDefination 主题,有一个选择列表,但它显示为 null.. 我无法正确检索选择列表。
我该如何解决这个问题?
java - 在 CMIS 中创建文档
您能否告诉我是否有可能创建父文档是另一个文档。
现在我得到错误:该对象的存储库不支持操作!
sharepoint - 在对 SharePoint CMIS 连接器的查询中包含谓词
我们在对 SharePoint 2010 执行 CMIS 查询时遇到问题。
CONTAINS谓词仅在通过本机 API 连接时才在WHERE子句中起作用。它无法通过 CMIS 连接器工作,并出现以下错误:
SharePoint 版本详细信息:
微软SharePointTeamServices:14.0.0.6029
Microsoft SharePoint Server 2010(不是 Foundation)
alfresco - 设置 alfresco open-cmis-extension
我正在开发一个 Liferay portlet,它通过 Cmis 和 wsdl 绑定连接到 Alfresco 存储库,(BINDING_TYPE = BindingType.WEBSERVICES)
到目前为止,我已经实现了大部分必需的功能(浏览、文件夹/文档管理、文档版本、权限等)。现在是时候实现一些与方面相关的功能了,所以是时候使用 alfresco open-cmis-extensions 了,这似乎是一个简单的过程。
我必须做的一件事是将会话工厂更改为“AlfrescoObjectFactoryImpl”
之后,我仍然可以成功获取会话,但是一旦我尝试获取任何存储库文件夹,我就会在文件夹属性被转换时收到 InvalidArgumentException
我的调试日志:
!12:51:11,542 调试 CmisWebServicesSpi:58 - 初始化 Web 服务 SPI ... 12:51:11,692 调试 AbstractPortProvider:244 - 初始化 Web 服务 org.apache.chemistry.opencmis.binding.webservices.ObjectService ... 12:51: 16,426 调试 PortProvider:65 - 创建 {http://docs.oasis-open.org/ns/cmis/ws/200908/}ObjectService ... 的 Web 服务端口对象... 12:51:36,103 错误 [render_portlet_jsp:154] java .lang.IllegalArgumentException:未知方面属性:http ://docs.oasis-open.org/ns/cmis/core/200908/ 在 org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl.convertProperties(AlfrescoObjectFactoryImpl.java:265) 在 org.apache.chemistry.opencmis.client.runtime.AbstractCmisObject.initialize(AbstractCmisObject.java:108) 在 org.alfresco.cmis .client.impl.AlfrescoFolderImpl.initialize(AlfrescoFolderImpl.java:46) 在 org.apache.chemistry.opencmis.client.runtime.FolderImpl.(FolderImpl.java:69) 在 org.alfresco.cmis.client.impl.AlfrescoFolderImpl。 (AlfrescoFolderImpl.java:39) .........................
我正在使用:Liferay 6.1 和 alfresco-opencmis-extension-0.3.jar
并且存储库是 alfresco Community - v4.0.0 (4003)
到目前为止,我最好的猜测是某些属性定义未正确设置,因为命名空间是作为方面属性传递的
对我做错了什么有任何想法吗?
请注意,我还没有尝试做任何与方面相关的事情。通过注释掉“OBJECT_FACTORY_CLASS”参数,一切正常!
java - 有效的 CMIS 查询
我与 Alfresco 和 OpenCMIS 合作,想要获取文件夹和文档。
询问:
但它不起作用。请帮我编写有效的查询。
url - CMIS 的标准 URL 格式?基本 URL + 存储库 + 本地路径
通过 URL,是否有一种标准方式来表示特定CMIS服务器的给定存储库的子文件夹的方式?
例如:
- CMIS 服务器:
http://server/alfresco/service/cmis
- 此服务器中的存储库:
myrepo7
- 此存储库中的子文件夹:
proposals/eurostar/
有没有一种标准的方式来表达整个事情作为一个 URL?
如果我用斜杠加入整个事情,我将无法判断哪一部分是回购:
也许有破折号或其他东西的语法?
c# - DotCMIS/Alfresco:调用 GetRootFolder 时出现“XML 文档中的错误”
使用DotCMIS,我可以成功启动到Alfresco 4.0.1 CMIS 服务器的会话。
但是当我打电话时session.GetRootFolder()
,我得到以下异常:
一个重要的部分似乎是:Read by order only possible for encoded/bare format
我的代码几乎直接来自教程:
我错过了什么?
在调试模式下,我可以DotCMIS.Client.Impl.Session.GetObject (objectId="workspace://SpacesStore/77acb21f-811c-49a3-be4d-5cc7f177f461"
在堆栈中看到,不确定它的含义,但77acb21f-811c-49a3-be4d-5cc7f177f461
确实是 Alfresco 的节点引用company_home
。
http://localhost:8080/alfresco/service/cmisatom
如果我在上面的代码中将 URL 更改为,Not Found
则会在前面的GetRepositories
行中出现错误。所以我很确定我的网址是正确的。
我下载了 DotCMIS 源代码,现在正在 Monodevelop 中调试它。
使用 Wireshark,我已经确定了发生异常的数据包:
它是有效的 XML。
c# - 通过 DOTCMIS 连接到 Sharepoint 2010:异常身份验证提供程序
我正在尝试使用 C# 中的 DOTCMIS 连接到 sharepoint 2010。以与这个问题非常相似的方式:
通过 CMIS (dotCMIS) 连接到 SP2010:异常未授权
(但是,我的代码在 MSCRM 2011 自定义工作流活动中运行)
我的代码是:
但是,每当我运行它时,我目前都会遇到以下异常:
Sif 一般错误:DotCMIS.Exceptions.CmisRuntimeException:无法加载身份验证提供程序:值不能为空。参数名称:类型---> System.ArgumentNullException:值不能为空。2 sessionParameters, AbstractAuthenticationProvider authenticationProvider)
--- End of inner exception stack trace ---
at DotCMIS.Binding.Impl.CmisBinding..ctor(IDictionary
参数名称:DotCMIS.Binding.Impl.CmisBinding..ctor(IDictionary 2 sessionParameters, AbstractAuthenticationProvider authenticationProvider) 处的 System.Activator.CreateInstance(Type type, Boolean nonPublic) 处的类型DotCMIS.Client.Impl.CmisBindingHelper.CreateAtomPubBinding(IDictionary2 parameters, AbstractAuthenticationProvider authenticationProvider)
at DotCMIS.Client.Impl.SessionFactory.GetRepositories(IDictionary
2个参数,IObjectFactory objectFactory, AbstractAuthenticationProvider authenticationProvider, ICache cache) at TPR.SIF.WorkflowActivity.SessionService.CreateNewSession(String dmWebServiceUrl, String userName, String password) at TPR.SIF.WorkflowActivity.SifService.SetUpServices(CodeActivityContext codeActivityContext) at TPR.SIF .WorkflowActivity.SifService.Execute(CodeActivityContext codeActivityContext)
错误发生在以下行:
在 CMIS 库中调用此行
有谁知道为什么不能创建“DotCMIS.Binding.NtlmAuthenticationProvider” ?
非常感谢。
肖恩。
liferay - Open Cmis API 无法访问 Alfresco 的“继承父空间权限”
我正在开发一个类似于“文档和媒体”的 Liferay Portlet,它连接到一个 Alfresco 存储库,并使用 apache chemistry open cmis API 与存储库项进行交互。
我几乎完成了通过 ACE 应用权限的工作,但我遇到了一个主要问题,即处理 alfresco 的“继承父空间权限”功能,该功能将父文件夹的属性传播给所有子文件夹。cmis 似乎不支持此功能,但我必须找到一种方法从 liferay 编辑此属性。
尽管没有任何可用的高级 API 来编辑此属性,但我想我可以通过使用 Alfresco 的 REST API 来解决问题。也许做这样的事情。
但在这样做之前,我想确保没有其他方法可以做到这一点。我的意思是,这是这里缺少的一个非常重要的功能。如果我理解正确,如果您无法访问该属性,您可以选择:
禁用所有项目的继承,并失去继承和 ACL 传播的好处。
或者为所有空间启用继承,并且由于 ACL 的工作方式类似于授予规则(而不是限制规则),因此当您在存储库中更深入地导航时,子资源的限制总是更少。这样,您最终将所有受限资源都非常接近“公司主页”空间,并将高可用性资源置于存储库空间结构的非常深处。
- 或者启用继承,并且每次您想从子资源中删除单个权限时,从另一个较低级别的 API 调用 alfresco,禁用继承(并丢失所有传播的 ACE,无论是否需要),然后添加再次是必要的王牌。
这对我来说听起来不合理,所以我真的担心我在这里遗漏了一些东西,比如一个主要的高级 API 功能。有人可以告诉我我是否走在正确的轨道上,以及较低级别的 API 调用是否是唯一可用的选项?