오늘을 사용하여 프레스코의 특정 속성을 포함 모든 문서를 가져옵니다. 문서를 캡처dotcmis에게 내가 dotcmis를 사용하여 야외에서 특정 속성을 포함 모든 문서를 얻기위한 좋은 방법을 찾고 있었다
- 사용 Ephesoft (http://www.ephesoft.com/) : 나는에 생각
.
- cmhe 통합을 사용하여 Alfresco와 Ephesoft를 연결하십시오.
- 야외 모델 (메타 데이터 문서)과 일치하도록 문서 속성 구성
- 특정 속성 (메타 데이터)이있는 모든 문서를 검색하려면 webapplication (asp.net)의 모듈을 개발하십시오. 사용 dotcmis (http://chemistry.apache.org/dotnet/dotcmis.html)
나는 finded :
- 를 세션을 생성하는 방법.
- 방법 목록 트리 폴더를 제외
... 특정 속성 (메타 데이터) 잘 살고 있다면 어떻게 모든 문서를 확인?
어떻게 알 수 있습니까?
감사합니다. pablochan! 이 순간에 , 난이 :
public ISession Connect(string user, string password, string servicesUrl, string repositoryId)
{
IDictionary<string, string> parameter = new Dictionary<string, string>();
parameter.Add(DotCMIS.SessionParameter.User, user);
parameter.Add(DotCMIS.SessionParameter.Password, password);
parameter.Add(DotCMIS.SessionParameter.BindingType, DotCMIS.BindingType.WebServices);
parameter.Add(DotCMIS.SessionParameter.WebServicesAclService, (servicesUrl + "ACLService?wsdl").ToString());
parameter.Add(DotCMIS.SessionParameter.WebServicesDiscoveryService, (servicesUrl + "DiscoveryService?wsdl").ToString());
parameter.Add(DotCMIS.SessionParameter.WebServicesMultifilingService, (servicesUrl + "MultiFilingService?wsdl").ToString());
parameter.Add(DotCMIS.SessionParameter.WebServicesNavigationService, (servicesUrl + "NavigationService?wsdl").ToString());
parameter.Add(DotCMIS.SessionParameter.WebServicesObjectService, (servicesUrl + "ObjectService?wsdl").ToString());
parameter.Add(DotCMIS.SessionParameter.WebServicesPolicyService, (servicesUrl + "PolicyService?wsdl").ToString());
parameter.Add(DotCMIS.SessionParameter.WebServicesRelationshipService, (servicesUrl + "RelationshipService?wsdl").ToString());
parameter.Add(DotCMIS.SessionParameter.WebServicesRepositoryService, (servicesUrl + "RepositoryService?wsdl").ToString());
parameter.Add(DotCMIS.SessionParameter.WebServicesVersioningService, (servicesUrl + "VersioningService?wsdl").ToString());
parameter.Add(DotCMIS.SessionParameter.RepositoryId, (repositoryId));
ISessionFactory factory = DotCMIS.Client.Impl.SessionFactory.NewInstance();
return factory.CreateSession(parameter);
}
public List<CMISIntegrationResponse> GetFiles(CMISIntegrationRequest request)
{
List<CMISIntegrationResponse> cmisIntegrationResponseList = new List<CMISIntegrationResponse>();
ISession session = Connect(request.UserName, request.Password, request.ServicesUrl, request.RepositoryId);
IItemEnumerable<IQueryResult> result = session.Query(@"SELECT
cmis:name, cmis:objectId, cmis:baseTypeId, cmis:objectTypeId, cmis:createdBy,
cmis:lastModifiedBy, cmis:lastModificationDate,cmis:contentStreamMimeType,
cmis:contentStreamFileName,cmis:contentStreamId,cmis:contentStreamLength
FROM cmis:document
ORDER BY
cmis:name, cmis:createdBy", false);
foreach(QueryResult item in result)
{
if (item.AllowableActions.Actions.Contains(DotCMIS.Actions.CanGetContentStream))
{
foreach (DotCMIS.Data.IPropertyData property in item.Properties)
{
/*AccountNumber will be a property/metadata of any document
In this point i can not see any property/metadata called "AccountNumber"
*/
if (property.DisplayName.Equals("AccountNumber"))
{
CMISIntegrationResponse response = new CMISIntegrationResponse();
response.Name = item.GetPropertyValueByQueryName("cmis:name").ToString();
response.ObjectId = item.GetPropertyValueByQueryName("cmis:objectId").ToString();
response.BaseTypeId = item.GetPropertyValueByQueryName("cmis:baseTypeId").ToString();
response.ObjectTypeId = item.GetPropertyValueByQueryName("cmis:objectTypeId").ToString();
response.CreatedBy = item.GetPropertyValueByQueryName("cmis:createdBy").ToString();
response.LastModifiedBy = item.GetPropertyValueByQueryName("cmis:lastModifiedBy").ToString();
response.LastModificationDate = item.GetPropertyValueByQueryName("cmis:lastModificationDate").ToString();
response.ContentStreamMimeType = item.GetPropertyValueByQueryName("cmis:contentStreamMimeType").ToString();
response.ContentStreamFileName = item.GetPropertyValueByQueryName("cmis:contentStreamFileName").ToString();
response.ContentStreamId = item.GetPropertyValueByQueryName("cmis:contentStreamId").ToString();
response.ContentStreamLength = item.GetPropertyValueByQueryName("cmis:contentStreamLength").ToString();
cmisIntegrationResponseList.Add(response);
}
}
}
}
session.Clear();
return cmisIntegrationResponseList;
}
는 어디에서 가상 테이블과 CMIS 프레스코 자신의 열 목록을 볼 수 있습니까?
감사합니다.
내가 보겠습니다 ... 감사합니다 !!! –
감사합니다 !!!!!!!!! –