11-16-2016 10:50 PM
hi everyone:
I want to implement Click through rate of a content , I use the sample "ContentHitsAspect"
public class ContentHitsAspect implements ContentServicePolicies.OnContentReadPolicy,
ContentServicePolicies.OnContentUpdatePolicy,
NodeServicePolicies.OnAddAspectPolicy
but when I visit this address "http://localhost:8080/share/page/site/swsdp/inline-edit?nodeRef=workspace://SpacesStore/286ec938-240..." , the OnContentRead behavior triggered
not this address "http://localhost:8080/share/page/site/swsdp/document-details?nodeRef=workspace://SpacesStore/286ec93..."
in my mind "inline-edit" should be the oncontentupdate behavior and the OnContentRead behavior should be the "document-details"
what behavior can trigger when i visit document-details address, anybody can help me about this problem
11-17-2016 03:56 AM
Minor correction: The OnContentRead policy is triggered when a reader is obtained from the ContentService. The policy does not require that the content is actually read.
11-17-2016 02:15 AM
Every time when the content is read by the content reader form content store.
11-17-2016 03:56 AM
Minor correction: The OnContentRead policy is triggered when a reader is obtained from the ContentService. The policy does not require that the content is actually read.
11-17-2016 04:15 AM
hi,do you know how to display content download count
Key idea is we need to catch the event which occurs during download action happen.In this example we are invoking our piece of code whenever download API is called from core services.
i don't know how to do this
11-17-2016 04:54 AM
Download will also cause the OnContentRead policy but the problem is that one download can cause multiple invocations of the OnContentRead policy because clients may download chunks of a file in multiple requests (progressive loading).
12-29-2016 02:46 AM
i found PDF can trigger it every time,but PNG WORD...can't trigger every time when visit URL document-details?nodeRef= any suggestion
12-29-2016 06:19 AM
Contents may also be cached by the client and thus not cause an additional OnContentRead. Also if previews are shown in document-details then the OnContentRead will occur on the preview, not the document (e.g. Word) itself.
12-29-2016 09:06 PM
thanks Axel ,but how can i catch the preview OnContentRead event ?
i think the preview is the cmdf ,so i bind QName.createQName("http://www.alfresco.org/model/content/1.0", "thumbnail"), but can't trigger the OnContentRead event
this.policyComponent.bindClassBehaviour( ContentServicePolicies.OnContentReadPolicy.QNAME,TYPE_CONTENT_HITS,new JavaBehaviour(this, "onContentRead"));
if(!nodeName.equals("doclib")&&type.equals(TYPE_CONTENT_HITS)){
NodeRef parentNodeRef= nodeService.getPrimaryParent(nodeRef).getParentRef();
Set<QName> aspectSet=nodeService.getAspects(parentNodeRef);
for(QName aspect:aspectSet){
if(aspect.equals(ASPECT_CONTENT_HITS)){
Runnable runnable = new ContentHitsReadCountIncrementer(parentNodeRef,tenantService.getCurrentUserDomain());
threadExecuter.execute(runnable);
}
}
}
12-30-2016 05:48 AM
OnContentReadPolicy is triggered automaticly when a reader is obtained from the ContentService,but it will be not get triggerd from an exist content writer.
So following line will have no use.
this.policyComponent.bindClassBehaviour( ContentServicePolicies.OnContentReadPolicy.QNAME,TYPE_CONTENT_HITS,new JavaBehaviour(this, "onContentRead"));
The reason why you can't catch OnContentRead event ,I guess it is because of following reason:
When you preview the pdf ,alfresco will try to generate the pdf file first(if not generated) and write it to renditin node ,and the reader is obtained from an existing content writer , so OnContentReadPolicy wiil not be triggered .
01-09-2017 10:53 PM
finally, i implement it by webscript when click download button , I modify the action link to javascript
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.