Alfresco discussion and collaboration. Stick around a few hours after asking a question.
Official support for Enterprise subscribers: support.alfresco.com.
Join in the conversation by getting an IRC client and connecting to #alfresco at Freenode. Our you can use the IRC web chat.
More information about the channel is in the wiki.
More help is available in this list of resources.
2017-01-23 07:46:43 GMT <alfbot> yreg: Sent 2 days, 15 hours, and 54 minutes ago: <resplin> You should be able to edit most pages in Jive. Engineering has been locking the release notes, though you can comment on them.
2017-01-23 07:50:35 GMT <yreg> Morning guys !
2017-01-23 07:54:47 GMT <twen> hola :)
2017-01-23 08:21:09 GMT <twen> Anybody going to Fosdem next week ?
2017-01-23 08:25:22 GMT <yreg> twen, sounds interesting
2017-01-23 08:25:38 GMT <yreg> And no registration required
2017-01-23 08:26:40 GMT <yreg> and only few minutes by train from here !
2017-01-23 08:26:53 GMT <twen> no... it's open to anyone. Last time I've been there, it was over 10 years ago
2017-01-23 08:27:43 GMT <twen> just thinking.. may be a way to Alfresco to have a booth or a conf ?
2017-01-23 08:27:49 GMT <yreg> I will check the schedule later and see if any of the sessions is worth the 30 minutes train ride :P
2017-01-23 08:27:53 GMT <twen> it's all about open source ;)
2017-01-23 08:28:07 GMT <twen> it's during the week end ;)
2017-01-23 08:32:18 GMT <AFaust> Damn - and I was just near Brussels last week...
2017-01-23 08:32:40 GMT <AFaust> Now it's more like a 4 hour train ride than 30 minutes...
2017-01-23 08:34:06 GMT <twen> :-/
2017-01-23 09:32:03 GMT <koula> i have made in the repo tier the action-executer bean and class.
2017-01-23 09:32:42 GMT <koula> and in the share i have defined the form.
2017-01-23 09:33:13 GMT <koula> but when i click for the action, an empty dialog box is shown.
2017-01-23 09:33:27 GMT <koula> what could i am i doing wrong ?
2017-01-23 09:33:28 GMT <yreg> fcorti, are we having a webinar any time soon ?
2017-01-23 09:34:36 GMT <yreg> it would be nice if someone updates the channel's topic regularly with next event's link
2017-01-23 09:34:43 GMT <angelborroy> koula maybe your condition for the form is missed
2017-01-23 09:34:51 GMT <angelborroy> can you paste out there your share config?
2017-01-23 09:36:28 GMT <koula> it is too long.
2017-01-23 09:36:56 GMT <yreg> fcorti, found the link https://www.alfresco.com/events/webinars/office-hours-beecon-2017
2017-01-23 09:36:57 GMT <alfbot> Title: Office Hours: BeeCon 2017 | Alfresco (at www.alfresco.com)
2017-01-23 09:37:09 GMT <koula> the condition and the itemId is the same: the bean id
2017-01-23 09:38:02 GMT <yreg> but still, I think it would be nice if someone updates the channel's topic after each event, so that it gets easier to track the next one ;-)
2017-01-23 09:39:12 GMT <koula> the action id should be the same?
2017-01-23 09:39:41 GMT <angelborroy> koula you have to include the same identifier for the action and for the form
2017-01-23 09:39:50 GMT <angelborroy> both inside share config
2017-01-23 09:40:25 GMT <angelborroy> the id in share config has to be the same as Spring bean action id in repo tier
2017-01-23 09:41:03 GMT <angelborroy> “itemId” is the key used to evaluate the form
2017-01-23 09:42:58 GMT <koula> <config evaluator="string-compare" condition="publish-contract-action-executer"> <forms> ... <config evaluator="string-compare" condition="DocLibActions"> <actions> <action id="doclib.action.publishdecision" ...
2017-01-23 09:43:12 GMT <koula> condition="publish-contract-action-executer"
2017-01-23 09:43:18 GMT <koula> action id="doclib.action.publishdecision"
2017-01-23 09:43:33 GMT <koula> these should be the same with the bean id?
2017-01-23 09:43:58 GMT <koula> i thought only the condition.
2017-01-23 09:44:49 GMT <angelborroy> koula, please, paste the whole thing in pastebin or so
2017-01-23 09:46:55 GMT <angelborroy> koula share config part: http://pastebin.com/C0g3Enct
2017-01-23 09:46:56 GMT <alfbot> Title: <config evaluator="string-compare" condition="DocLibActions"> <actions> - Pastebin.com (at pastebin.com)
2017-01-23 09:47:04 GMT <koula> ok: http://pastebin.com/40ncD3Z2
2017-01-23 09:47:05 GMT <alfbot> Title: <alfresco-config> <config evaluator="string-compare" condition="DocumentLibr - Pastebin.com (at pastebin.com)
2017-01-23 09:48:00 GMT <angelborroy> your action id has to be publish-contract-action-executer
2017-01-23 09:48:17 GMT <koula> ok. i am testing it.
2017-01-23 09:53:15 GMT <Vasquez> hi guys, good morning
2017-01-23 09:53:24 GMT <Vasquez> http://docs.alfresco.com/5.2/references/dev-extension-points-behaviors.html
2017-01-23 09:53:26 GMT <alfbot> Title: Behaviours / Policies | Alfresco Documentation (at docs.alfresco.com)
2017-01-23 09:53:48 GMT <Vasquez> what is the difference between onCreateVersion and afterCreateVersion
2017-01-23 09:56:59 GMT <koula> did not work: http://pastebin.com/iickLEFZ
2017-01-23 09:57:00 GMT <alfbot> Title: <bean id="publish-contract-action-executer" class="it.diavgeia.opendata.P - Pastebin.com (at pastebin.com)
2017-01-23 09:57:05 GMT <koula> the repo bean
2017-01-23 09:57:31 GMT <koula> http://pastebin.com/iickLEFZ
2017-01-23 09:57:32 GMT <alfbot> Title: <bean id="publish-contract-action-executer" class="it.diavgeia.opendata.P - Pastebin.com (at pastebin.com)
2017-01-23 10:04:33 GMT <yreg> Vasquez, I am guessing one before (/wraps) the operation the other just after ?
2017-01-23 10:05:24 GMT <Vasquez> ill try both and see what works better :D
2017-01-23 10:06:22 GMT <koula> do i need a webscript?
2017-01-23 10:12:33 GMT * AFaust starts to jump like a crazy person in a box...
2017-01-23 10:13:12 GMT <AFaust> One of these days Aikau will hopefully be internally consistent...
2017-01-23 10:14:34 GMT <AFaust> Trying for hours to get a custom people finder to work with infinite scrolling, just to realize the UserService strips away the most important information for that to work: the totalRecords property in the JSON response. Without that, the list just thinks "oh, there is no more data", and simply refuses to get any additional data...
2017-01-23 10:15:34 GMT <angelborroy> AFaust at least you can always help by creating a PR for Aikau
2017-01-23 10:15:48 GMT <AFaust> I know and I will
2017-01-23 10:16:04 GMT <angelborroy> AFaust patching this for Alfresco will be a nightmare “burocratic” process ;-)
2017-01-23 10:16:16 GMT <AFaust> or better: I have to, since Alfresco does not assign any full time resources to that project
2017-01-23 10:17:51 GMT <fcorti> hi yreg, sorry for the delay. I was in a call.
2017-01-23 10:18:41 GMT <fcorti> This week we have the Office Hour with the OOTB talking about the BEECON 2017... THE CONF :-)
2017-01-23 10:18:53 GMT <AFaust> fcorti: Is there any chance you can slip a MP3 (or old school cassette) with subliminal messages to management? I would even pay for some hypnotic voodoo guy/dame to record a message regarding "you should really listen to the community developers" and "Share is an important part of the project and needs your love...
2017-01-23 10:19:18 GMT <fcorti> AFaust :-D
2017-01-23 10:19:22 GMT <fcorti> COuld be an idea
2017-01-23 10:19:27 GMT <fcorti> Could be an idea
2017-01-23 10:19:58 GMT <fcorti> Don't know how to put the headphones on their ears during the night
2017-01-23 10:20:53 GMT <Loftux> Is there a date set for BeeCon?
2017-01-23 10:21:56 GMT <AFaust> fcorti: Don't need headphones. Directional speakers aimed roughly at the headrest should do the trick
2017-01-23 10:22:00 GMT <angelborroy> Loftux We are releasing web page this week and call for papers
2017-01-23 10:22:05 GMT <angelborroy> April 25-28
2017-01-23 10:23:29 GMT <fcorti> yreg, the next tech talk live is about the REST API with Gavin McCornwell
2017-01-23 10:23:30 GMT <fcorti> https://www.alfresco.com/events/webinars/tech-talk-live-102-52-ea-release
2017-01-23 10:23:31 GMT <alfbot> Title: Tech Talk Live #102: 5.2 EA Release | Alfresco (at www.alfresco.com)
2017-01-23 10:23:35 GMT <fcorti> 8th of february
2017-01-23 10:23:42 GMT <fcorti> (the title will be changed soon)
2017-01-23 10:24:25 GMT <yreg> thanks Francesco
2017-01-23 10:24:28 GMT <fcorti> In any case, the recipe is easy: first wednesday of the month there is the Tech Talk Live and the last friday of the month there is the Office Hours
2017-01-23 10:25:13 GMT <yreg> Guys, how can I catch a CancelEvent on workflows ?
2017-01-23 10:25:18 GMT <fcorti> together with kgastaldo we are regularly planning the events
2017-01-23 10:25:24 GMT <fcorti> no missing dates ;-)
2017-01-23 10:25:37 GMT <AFaust> yreg: What kind of "cancel event"? An internal cancel or the "Alfresco cancel" action?
2017-01-23 10:25:52 GMT <AFaust> i.e. the cancel via the Share UI
2017-01-23 10:27:39 GMT <AFaust> The cancel that Alfresco performs from the action in the UI (Java: WorkflowService.cancelWorkflow(String)) is a "hard delete" without any events at all...
2017-01-23 10:28:04 GMT <Loftux> angelborroy: Thanks. I understand the location is Zaragoza, flights from stockholm are €1000+, but I guess an option is ot fly to Barcelona (just around €200) and rent a car. If you have any travel tips, put that in the web page.
2017-01-23 10:28:51 GMT <angelborroy> Loftux we are gathering also this information, we’ll publish this asap
2017-01-23 10:29:13 GMT <angelborroy> Loftux Location is Zaragoza and the easier to reach is flying to Barcelona or Madrid and using a train
2017-01-23 10:29:26 GMT <yreg> AFaust, Cancel via share ui
2017-01-23 10:29:28 GMT <AFaust> Loftux: 1000 €? Wow - I guess I can count myself lucky that Spain is a traditional destination for German tourists...
2017-01-23 10:29:31 GMT <angelborroy> Loftux train from Madrid or Barcelona is about 1 hour and a half
2017-01-23 10:29:48 GMT <angelborroy> Loftux Zaragoza train station is 2 minutes walking from venue
2017-01-23 10:29:49 GMT <AFaust> 242 € incl returntrip
2017-01-23 10:30:36 GMT <aviriel> angelborroy: we need such a guide on the website with options and maps :)
2017-01-23 10:30:43 GMT <angelborroy> aviriel I know :(
2017-01-23 10:30:47 GMT <aviriel> I'll look at it later today
2017-01-23 10:30:47 GMT <angelborroy> My task
2017-01-23 10:31:00 GMT <aviriel> As I remember there was a map in the venue PDF
2017-01-23 10:31:28 GMT <AFaust> although the routing is crazy: Frankfurt to Palma (Mallorca) to Zaragoza....
2017-01-23 10:31:36 GMT <AFaust> yreg: Yeah - no event for that
2017-01-23 10:31:45 GMT <Loftux> AFaust: A lot of Swedes tourist in Spain ot, but I guess only on the East coast, not inland. So no direct flights :(
2017-01-23 10:32:03 GMT <angelborroy> Zaragoza have a small airport
2017-01-23 10:32:25 GMT <angelborroy> but reaching by train from Madrid or Barcelona is easy and fast
2017-01-23 10:32:37 GMT <angelborroy> AFaust why don’t you fly to Barcelona?
2017-01-23 10:32:55 GMT <angelborroy> I think I can get some discounts also for that trains
2017-01-23 10:33:05 GMT <angelborroy> that > those
2017-01-23 10:33:11 GMT <AFaust> Loftux: On second, closer look it isn't that great either. Currently the flights are cheap (off-season) but in April they pick up. And the routing via Palma includes a 6 hour layover...
2017-01-23 10:34:00 GMT <AFaust> angelborroy: Going via Barcelona is my default plan - I was just looking what the current situation is regarding flights (there might have been some changes since checking middle of last year)
2017-01-23 10:34:31 GMT <angelborroy> Via Barcelona is easiest than via Madrid
2017-01-23 10:35:00 GMT <angelborroy> as Barcelona is smaller and communication between Airport and Train Station is shorter
2017-01-23 10:37:57 GMT * AFaust increases the intensity of his "crazy person jumping inside a box"
2017-01-23 10:38:23 GMT <angelborroy> AFaust any REST API call to retrieve custom associations for a node?
2017-01-23 10:38:47 GMT <angelborroy> AFaust I can’t see it, so I’m guessing it does not exist
2017-01-23 10:38:57 GMT <aviriel> angelborroy: use FormService API for it :) or create a custom one
2017-01-23 10:38:59 GMT <AFaust> angelborroy: Did you check the new v1 ReST API?
2017-01-23 10:39:21 GMT <angelborroy> No, I’m using the old one
2017-01-23 10:39:41 GMT <angelborroy> so I’m going to check aviriel suggestion
2017-01-23 10:39:59 GMT <AFaust> aviriel: Wow - forms ReST API. That is a dirty trick on a whole other level...
2017-01-23 10:40:40 GMT <AFaust> but will work in principle...
2017-01-23 10:42:05 GMT <aviriel> AFaust: https://dl.dropboxusercontent.com/u/2916264/1446407959162488825.jpg
2017-01-23 10:42:19 GMT <AFaust> hehe
2017-01-23 10:44:42 GMT <Vasquez> how should i bind behaviour when i want to call it on version change of content that is associated to some type
2017-01-23 10:48:11 GMT <angelborroy> sorry aviriel, I can see how to find metadata for children but not for custom associations
2017-01-23 10:48:30 GMT <angelborroy> is there some other trick?
2017-01-23 10:49:30 GMT <AFaust> Vasquez: OnCreateVersionPolicy doesn't do the trick for you?
2017-01-23 10:49:57 GMT <Vasquez> yes that is my choice but i need to bind it
2017-01-23 10:50:21 GMT <Vasquez> http://dev.alfresco.com/resource/docs/java/org/alfresco/repo/policy/PolicyComponent.html
2017-01-23 10:50:22 GMT <alfbot> Title: PolicyComponent (Alfresco 5.2-SNAPSHOT API) (at dev.alfresco.com)
2017-01-23 10:50:23 GMT <AFaust> bind it like any other type-based policy
2017-01-23 10:50:32 GMT <angelborroy> Vasquez look at http://jared.ottleys.net/alfresco/alfresco-max-version-policy/
2017-01-23 10:50:33 GMT <alfbot> Title: Alfresco: Max Version Policy – I exist as I am (at jared.ottleys.net)
2017-01-23 10:50:50 GMT <Vasquez> and there are bind class bind property, bind association
2017-01-23 10:51:14 GMT <angelborroy> Vasquez and https://github.com/jottley/alfresco-maxversion-policy/blob/master/src/main/java/org/alfresco/extension/versioning/MaxVersionPolicy.java
2017-01-23 10:51:15 GMT <alfbot> Title: alfresco-maxversion-policy/MaxVersionPolicy.java at master · jottley/alfresco-maxversion-policy · GitHub (at github.com)
2017-01-23 10:51:30 GMT <Vasquez> so this behaviour should trigger when new version of file is uploaded, and this file is associated to one type
2017-01-23 10:58:34 GMT <Vasquez> @angelborroy This line is critical for me:
2017-01-23 10:58:34 GMT <Vasquez> this.policyComponent.bindClassBehaviour(QName.createQName( NamespaceService.ALFRESCO_URI, "afterCreateVersion"), MaxVersionPolicy.class, this.afterCreateVersion);
2017-01-23 11:01:08 GMT <angelborroy> Vasquez why?
2017-01-23 11:01:14 GMT <angelborroy> why critical?
2017-01-23 11:03:02 GMT <Vasquez> i have a type which has association to some file, i want to trigger update of that file, so i dont know which type of binding should i use, property/class/association and which arguments
2017-01-23 11:05:13 GMT <angelborroy> Vasquez I think I can get your point
2017-01-23 11:05:46 GMT <angelborroy> you can bind the class by specifying content model or you can filter at your method implementation
2017-01-23 11:06:02 GMT <angelborroy> I can get > I cannot get
2017-01-23 11:06:45 GMT <yreg> AFaust, but the funny thing is that the end event execution listener gets triggered
2017-01-23 11:08:12 GMT <yreg> there must be something from the DelegateExecution that can be used to detect if it is a cancel Event ! an event object of some sort or a cause property or something
2017-01-23 11:08:26 GMT <yreg> will keep digging and keep you updated
2017-01-23 11:08:27 GMT <AFaust> Vasquez: The JavaDoc for PolicyComponent is quite clear what you need to provide: the QName of the type/aspect of the node on which you want to react to a new version
2017-01-23 11:09:03 GMT <Vasquez> yes but i need to react on associated file,
2017-01-23 11:09:07 GMT <AFaust> also, the callback is onCreateVersion, not afterCreateVersion
2017-01-23 11:09:22 GMT <AFaust> Vasquez: Then you need to bind to the type/aspect of that associated file
2017-01-23 11:09:59 GMT <AFaust> And then lookup the associations to it in your callback to process the file that has the association
2017-01-23 11:10:46 GMT <AFaust> yreg: I am surprised the end event is triggered because this would be an abnormal end
2017-01-23 11:11:29 GMT <AFaust> yreg: The only way to discover if it is a clean end or a "brutal" end that I see currently involves a scan of the current thread stack trace for specific API methods...
2017-01-23 11:12:18 GMT <AFaust> I typically remove the "Cancel Workflow" action from the UI completely and instead model my workflows with a proper "business cancel" transition wherever a "cancel" is allowed to take place...
2017-01-23 11:13:00 GMT <AFaust> That way I can properly clean up as part of the workflow
2017-01-23 11:18:06 GMT <yreg> AFaust, I am looking now at a specific workflow variable that might be interesting WorkflowConstants.PROP_CANCELLED
2017-01-23 11:18:07 GMT <IanW1> is wondering if he can get away without working out why a fairly simple webscript is so slow...
2017-01-23 11:18:20 GMT <yreg> will give it a test after lunch
2017-01-23 11:18:57 GMT <AFaust> IanW1: you are missing a /me at the beginning of your line
2017-01-23 11:18:59 GMT <yreg> AFaust, for your information that variable is initialized to false on the creation of a new process instance
2017-01-23 11:19:19 GMT <yreg> and is sent to activiti as the delete reason for the workflow
2017-01-23 11:19:41 GMT <yreg> there is big chance it is playing a magic role ;)
2017-01-23 11:20:43 GMT <AFaust> yreg: I can only laugh at one of the lines you can fine above the usage of that PROP_CANCELLED thingy...
2017-01-23 11:20:45 GMT <AFaust> "// TODO: Cancel VS delete?"
2017-01-23 11:22:09 GMT <yreg> Yes, I have seen that hehe
2017-01-23 11:22:36 GMT <yreg> AFaust, https://github.com/Alfresco/community-edition/blob/2c1eff9953d3105e738f7b06ba9ba8a079ca4c24/projects/repository/source/java/org/alfresco/repo/workflow/activiti/listener/ScriptExecutionListener.java#L78
2017-01-23 11:22:37 GMT <alfbot> Title: community-edition/ScriptExecutionListener.java at 2c1eff9953d3105e738f7b06ba9ba8a079ca4c24 · Alfresco/community-edition · GitHub (at github.com)
2017-01-23 11:22:42 GMT <yreg> check this out !
2017-01-23 11:23:44 GMT <AFaust> Great - then why does PROP_CANCELLED not refer to ActivitiConstants.DELETE_REASON_CANCELLED then?
2017-01-23 11:24:19 GMT <yreg> it is used elsewhere for constructing some QName
2017-01-23 11:24:30 GMT <yreg> :P
2017-01-23 11:24:54 GMT <AFaust> If - for any reason - ActivitiConstants.DELETE_REASON_CANCELLED changes value, all code using PROP_CANCELLED will be broken...
2017-01-23 11:25:17 GMT <AFaust> Better use the ActivitiConstants then...
2017-01-23 11:25:48 GMT <AFaust> Still - I very much prefer a clean termination and "business cancel" than technical cancel...
2017-01-23 11:26:03 GMT <yreg> +1
2017-01-23 11:27:29 GMT * AFaust can finally stop his "jumping inside a box like a crazy man" - custom people-finder with infinite scrolling now works...
2017-01-23 12:31:11 GMT <koula> how can i create a new version of a document using java?
2017-01-23 12:31:37 GMT <koula> i want to add a watermark, and save the document as a new version.
2017-01-23 12:34:06 GMT <angelborroy> koula https://github.com/ntmcminn/alfresco-pdf-toolkit
2017-01-23 12:34:07 GMT <alfbot> Title: GitHub - ntmcminn/alfresco-pdf-toolkit: The new home of the Alfresco PDF Toolkit (replacing the deprecated Google Code project) (at github.com)
2017-01-23 12:34:41 GMT <angelborroy> https://github.com/ntmcminn/alfresco-pdf-toolkit/blob/master/pdf-toolkit-repo/src/main/java/org/alfresco/extension/pdftoolkit/service/PDFToolkitServiceImpl.java#L597
2017-01-23 12:34:42 GMT <alfbot> Title: alfresco-pdf-toolkit/PDFToolkitServiceImpl.java at master · ntmcminn/alfresco-pdf-toolkit · GitHub (at github.com)
2017-01-23 12:40:46 GMT <koula> ok, thanks..
2017-01-23 13:56:41 GMT *** angelborroy_ is now known as angelborroy
2017-01-23 14:56:58 GMT <bgallet> hi, is it normal i got this error "Transaction must be active and synchronization is required" when using contentService in a unit test class ?
2017-01-23 15:22:52 GMT <AxelFaust> bgallet: Yes - if you have not taken care of transaction yourself / are not using the public service bean
2017-01-23 15:27:42 GMT <bgallet> how do i use the public service bean ?
2017-01-23 15:52:26 GMT <bgallet> Can someone tell me what I am doing wrong ?
2017-01-23 15:52:27 GMT <bgallet> http://pastebin.com/tHqfqCjC
2017-01-23 15:52:28 GMT <alfbot> Title: [Java] ContentServiceTest - Pastebin.com (at pastebin.com)
2017-01-23 15:52:59 GMT <bgallet> Il still asks for "Transaction must be active and synchronization is required"
2017-01-23 15:55:08 GMT <AFaust> bgallet: Do NOT use "contentService" as the qualifier - use "ContentService" instead
2017-01-23 15:55:44 GMT <AFaust> Typically you should always use the upper-cased variant of a "XYService" bean
2017-01-23 15:57:29 GMT <bgallet> AFaust: good to know, it now works thank you very much you saved my day !
2017-01-23 16:04:45 GMT <bgallet> AFaust: nodeLocatorService does not work with uppercase qualifier but does with lowercase
2017-01-23 16:08:42 GMT <AFaust> bgallet: This "upper-cased" advice refers to all the public API services
2017-01-23 16:09:15 GMT <AFaust> nodeLocatorService is just a utility really...
2017-01-23 16:11:00 GMT <bgallet> AFaust: how do you know the difference, they are both presented as Public Java API services on http://docs.alfresco.com/5.1/concepts/dev-services.html
2017-01-23 16:11:02 GMT <alfbot> Title: Public Java API services | Alfresco Documentation (at docs.alfresco.com)
2017-01-23 16:11:28 GMT <bgallet> sorry I'm a bit lost
2017-01-23 16:14:03 GMT <AFaust> bgallet: Any service you get from the ServiceRegistry is practically "Public Service API"
2017-01-23 16:14:32 GMT <AFaust> ah damn - they even provide the nodeLocatorService via the ServiceRegistry....
2017-01-23 16:14:39 GMT <AFaust> never mind, Alfresco is rarely consistent
2017-01-23 16:16:36 GMT <bgallet> knowing that, i'll test both writings if one does not work, the other will
2017-01-23 16:16:39 GMT <bgallet> thank you again
2017-01-23 22:53:48 GMT <yreg> ~later tell fcorti an AAAR 4.5 docker container is on the way !
2017-01-23 22:53:48 GMT <alfbot> yreg: The operation succeeded.
The other logs are at http://esplins.org/hash_alfresco