Daily Log for #alfresco IRC Channel

Alfresco discussion and collaboration. Stick around a few hours after asking a question.

Official support for Enterprise subscribers: support.alfresco.com.

Joining the Channel:

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.

Getting Help

More help is available in this list of resources.

Daily Log for #alfresco

2017-06-01 06:56:41 GMT <yreg> Morning

2017-06-01 07:59:02 GMT <angelborroy> facing a weird situation now

2017-06-01 07:59:22 GMT <angelborroy> Alfresco 4.2.c using Oracle

2017-06-01 07:59:27 GMT <angelborroy> (I know, this is a bad idea)

2017-06-01 07:59:39 GMT <angelborroy> it looks like LibreOffice transformations are provoking deadlocks at database

2017-06-01 08:00:01 GMT <angelborroy> any similar experience from your part?

2017-06-01 08:03:47 GMT <yreg> angelborroy, are you sure libreoffice is to blame there ?

2017-06-01 08:04:00 GMT <angelborroy> not very sure

2017-06-01 08:04:10 GMT <yreg> when you disable the transformations does the problem still occur

2017-06-01 08:04:12 GMT <angelborroy> but a kill -3 gives me LibreOffice and Database threads only

2017-06-01 08:04:21 GMT <angelborroy> and disabling LibreOffice all seems to work fine

2017-06-01 08:05:16 GMT <yreg> any chance you might be interested in using the remote jod-converter extension ?

2017-06-01 08:05:30 GMT <angelborroy> not by know

2017-06-01 08:05:39 GMT <angelborroy> I prefer to identify the real problem

2017-06-01 08:05:48 GMT <angelborroy> this server has been working for 4 years now

2017-06-01 08:05:49 GMT <angelborroy> as is

2017-06-01 08:05:55 GMT <angelborroy> so it should be an external problem

2017-06-01 08:20:15 GMT <yreg> were there any updates to the software ?

2017-06-01 08:20:35 GMT <angelborroy> I don’t think so

2017-06-01 08:21:01 GMT <angelborroy> But it’s another thing to check, thanks

2017-06-01 08:23:20 GMT <hi-ko> riddle of the day: isn't it a concept bug to fire the *DeleteNode policy when a node is moved to the trash or at least a missing freature not to have a policy which will be fired when a node really will be removed from the repo?

2017-06-01 08:26:24 GMT <angelborroy> hi-ko probably you have to extend the job

2017-06-01 08:26:35 GMT <angelborroy> hi-ko I think there is no policy for that

2017-06-01 08:27:28 GMT <angelborroy> hi-ko contentStoreCleanerJobDetail

2017-06-01 08:31:33 GMT <hi-ko> <angelborroy> yes - I know there is no policy like that but we trapped several times in that use case since we want to make some housekeeping if nodes are referenced in other systems, caches, ... To extend that is a very crude job since the lifecycle has so many indirections and incomplete reflection stuff.

2017-06-01 08:33:05 GMT <hi-ko> <yreg> didn't know that you implemented remote JODConverter. Does it require EE?

2017-06-01 08:33:11 GMT <angelborroy> hi-ko We’re using “beforeDeleteNode” for that

2017-06-01 08:34:09 GMT <angelborroy> hi-ko No, no EE required

2017-06-01 08:34:28 GMT <angelborroy> hi-ko Search yreg speak about that at beecon.buzz

2017-06-01 08:35:10 GMT <hi-ko> <angelborroy> nice - I will do! It's still my homework to check all the presentations ..

2017-06-01 08:35:24 GMT <angelborroy> hi-ko we missed you both this year ;-)

2017-06-01 08:36:46 GMT <hi-ko> <angelborroy> we do the same (beforeDeleteNode) today but this has the downside that housekeeping may be to early if a user accesses the trash can to search or restore the node.

2017-06-01 08:37:17 GMT <angelborroy> hi-ko good point, yes we’re not considering that case

2017-06-01 08:38:43 GMT <hi-ko> <angelborroy> and we feel very bad to have missed that event ;-)

2017-06-01 08:43:19 GMT <hi-ko> <angelborroy> your issue is not only related to Oracle. It's a generic issue related to the whole transformer framework which locks the node and the db record!

2017-06-01 08:44:56 GMT <angelborroy> hi-ko I know, but why is appearing now? 4 years after?

2017-06-01 08:46:23 GMT <hi-ko> Maybe a load issue or an update of the jdbc driver?

2017-06-01 08:46:44 GMT <angelborroy> probably the first

2017-06-01 08:47:06 GMT <angelborroy> but we’ve increased resources (RAM, threads, database pool…) and nothing solves the problem

2017-06-01 08:49:19 GMT <hi-ko> we have seen that issue on all larger systems of our customers independent of the database. We worked around that by our own implementation which fakes and skips the Alfresco transformer framework at all: SmartTranformer https://www.ecm-market.de/ecm4u-smart-transformer-alfresco.html

2017-06-01 08:49:21 GMT <alfbot> Title: ecm4u SmartTransformer (at www.ecm-market.de)

2017-06-01 08:49:37 GMT <hi-ko> RAM or more resouces will not fix the problem if you need concurrency

2017-06-01 08:50:23 GMT <hi-ko> a the retryingtransaction handler is the candidate which kill you on a locked db row

2017-06-01 08:50:35 GMT <angelborroy> thanks, I’ll take a look at this

2017-06-01 08:53:07 GMT <hi-ko> If the db is your only concern and if you don't want to use MS office as a transformer service we can make you a much smaller package which focuses on the Transformer Fake and persistent queue only.

2017-06-01 08:53:50 GMT <yreg> hi-ko, both the amp, and a docker image for the remote jod converter service are available here : https://bitbucket.org/xenit/

2017-06-01 08:53:51 GMT <alfbot> Title: xenit — Bitbucket (at bitbucket.org)

2017-06-01 08:53:57 GMT <angelborroy> hi-ko probably we’re having a meeting next week with the customer

2017-06-01 08:54:09 GMT <angelborroy> hi-ko we’ll evaluate also this alternative, thanks again

2017-06-01 08:54:38 GMT <yreg> you can even setup a load balancer and have multiple transformation servers working simultaneously in case of high charge

2017-06-01 08:55:54 GMT <hi-ko> <yreg> this would not solve the threading / locking issue. It may reduce the time to lock of course

2017-06-01 08:57:50 GMT <hi-ko> The root course of this scalability problem is that Alfresco has not yet an real async mechanism. Async for today is just spawning yet another waiting thread blocking the system.

2017-06-01 08:59:38 GMT <hi-ko> To avoid an overload by respawning the same transformation again and again alfresco locks the node until the transformation has been done.

2017-06-01 09:00:34 GMT <hi-ko> This will cause the effect <angelborroy> described

2017-06-01 09:00:53 GMT <angelborroy> yep

2017-06-01 09:11:37 GMT <AFaust> hi-ko: Comming late to the policy question - have you looked at NodeArchiveServicePolicies?

2017-06-01 09:12:24 GMT <AFaust> I mean it does not provide a "really removed" policy, but together with regular old deletion policy and the purge policy from that interface you should be covered.

2017-06-01 09:14:21 GMT <angelborroy> AFaust is that NodeArchiveServicePolicies in the public API?

2017-06-01 09:14:54 GMT <AFaust> You mean "does it have @PublicAPI"? Of course not since Alfresco is stingy on declaring more than the bare minimum "public API"

2017-06-01 09:15:52 GMT <angelborroy> http://docs.alfresco.com/5.2/concepts/dev-services.html

2017-06-01 09:15:54 GMT <alfbot> Title: Public Java API services | Alfresco Documentation (at docs.alfresco.com)

2017-06-01 09:16:39 GMT <AFaust> That interface has only been around for 3 years and 4 months with only copyright header updates since, so I assume Alfresco would consider it "unstable"

2017-06-01 09:16:42 GMT <hi-ko> <AFaust> thanks for pointing this out. We spent some time on that half a year ago but I forgot why we didn't follow this. I'll ckeck

2017-06-01 09:17:17 GMT <angelborroy> AFaust I’ve been trying to use services/behaviours not declared as public some months ago

2017-06-01 09:17:20 GMT <AFaust> angelborroy: I have long given up on the Alfresco documentation part when it comes to public API.

2017-06-01 09:17:47 GMT <hi-ko> If I remember right it didn't work as expected.

2017-06-01 09:17:54 GMT <angelborroy> AFaust we had to discard this option, as they were not working as expected

2017-06-01 09:17:58 GMT <angelborroy> hehe

2017-06-01 09:18:02 GMT <angelborroy> right, the same for me

2017-06-01 09:19:06 GMT <AFaust> hi-ko: Well, one "unexpected" thing I see right now is that - for whatever reason - an Alfresco dev decided to manually trigger the beforePurge policy from a public ReST API endpoint. Quite hacky that..

2017-06-01 09:19:56 GMT <AFaust> I assume this is because they have their policy registered to purge and couldn't be bothered to handle one specific, additional use case in their policy, so they just shoe-horned it

2017-06-01 09:21:09 GMT <AFaust> hi-ko: And I see what you mean - that policy only is triggered by the "clear trashcan" action, not the removal of individual items from the trashcan

2017-06-01 09:21:31 GMT <AFaust> Someone must have only been half-awake when implementing that policy feature...

2017-06-01 09:22:35 GMT <hi-ko> <AFaust> I'll put it on the backlog. For now we configured the archive store not to get full text indexed and housekeeping will be done ealier. No complains so far but not the way we want.

2017-06-01 09:23:22 GMT <AFaust> Hmm - I think my Eclipse might be lying to me. Call hierarchy only lists the call from the "purge all", but looking at raw source code I see a call also in the "purge single node" case...

2017-06-01 09:24:21 GMT <hi-ko> I'll put our discussion in a jiira ticket which will be closed as outdated when alfresco 5.3 comes out ;-)

2017-06-01 09:24:29 GMT <AFaust> hehe

2017-06-01 09:26:37 GMT <fwu> hi all!

2017-06-01 09:28:44 GMT <AFaust> yreg: Any chance of moving your remote JOD converter into the thirdparty or its own subsystem, just like the other default transformers?

2017-06-01 09:30:22 GMT <AFaust> ...and also move the default transformer configuration into the transformers subsystem so it can be cleanyl overriden using the subsystem mechanism and not require override via alfresco-global.properties?

2017-06-01 09:33:37 GMT <yreg> AFaust, well, it definitely sounds cleaner

2017-06-01 09:33:45 GMT <yreg> can you file an issue on bitbucket ?

2017-06-01 09:33:49 GMT <AFaust> yreg: guess I might do some PRs.

2017-06-01 09:34:30 GMT <AFaust> Currently setting up a bunch of Docker images for myself (and a quick PoC for a customer looking at Azure hosting for its international subsidiaries)

2017-06-01 09:34:50 GMT <yreg> Perfect, I will be happy to review and merge

2017-06-01 09:36:05 GMT <AFaust> You might see something tomorrow afternoon... Different customer today - only looked at it since it was linked here and I didn't have time to look at it or any mention of it from a BeeCon session before...

2017-06-01 10:05:29 GMT *** angelborroy_ is now known as angelborroy

2017-06-01 12:40:05 GMT <fwu> ppl, my amp is packaging a jar file that I want to exclude. I believe this jar is a dependency of some parent dependecies I have. Is it possible to exclude it in my pom?

2017-06-01 12:40:22 GMT <fwu> not parent, but child dependencies

2017-06-01 12:44:30 GMT <yreg> fwu redefine it in your project and set scope to provided

2017-06-01 12:53:43 GMT <fwu> yreg, so instead of trying to define an exclusion (it didnt work), are you saying that I must define it as a dependency in my pom and set it as provided, althought I will not provide it?

2017-06-01 12:54:59 GMT <yreg> fwu when you say it is provided, it does not include it in your amp, as it supposes it is provided as runtime dependency either by webapp or by webserver ..

2017-06-01 12:56:20 GMT <fwu> yreg, ok. Im testing it. thank you!

2017-06-01 13:17:01 GMT <fwu> yreg, sadly is not working

2017-06-01 13:35:27 GMT <osaidi> is there a way to list all subtypes of a particular type in alfresco?

2017-06-01 13:41:34 GMT <yreg> osaidi, Yes there is, probably in dictionary service

2017-06-01 13:42:04 GMT <osaidi> i'll check it out <yreg>

2017-06-01 13:42:04 GMT <angelborroy> osaidi both DictionaryService and REST API have such a method

2017-06-01 13:42:33 GMT <osaidi> <angelborroy> thank you

2017-06-01 14:05:27 GMT <AFaust> /ping kgastaldo

2017-06-01 14:05:56 GMT <AFaust> Ah - wrong command

2017-06-01 14:06:08 GMT <AFaust> ~ping kgastaldo

2017-06-01 14:06:08 GMT <alfbot> pong

2017-06-01 14:18:36 GMT <fcorti> AFaust told to her about the ping

2017-06-01 14:20:37 GMT <AFaust> I had also PMed her about me messing up the short meeting we had scheduled for today. Just didn't know if that would trigger some kind of notificatino / sound in her IRC client...

2017-06-01 14:21:34 GMT <fcorti> Yes it does: I'm her sound! :-D

2017-06-01 14:48:35 GMT <douglascrp> fcorti, good, good :D

2017-06-01 14:48:59 GMT <fcorti> ;-)

2017-06-01 15:21:19 GMT <fwu> ppl, i get the reference to a document like this: var doc = bpm_package.children[0]

2017-06-01 15:21:36 GMT <fwu> how I get the nodereference/id from this?

2017-06-01 15:30:32 GMT <Popochon> �<{fwu}>� doc.nodeRef

2017-06-01 15:31:19 GMT <Popochon> example: execution.setVariable("ref", doc.nodeRef);

2017-06-01 15:33:17 GMT <Popochon> var docref = execution.getVariable("ref"); var doc= search.findNode(docref ); // to obtain it back in other task for example

2017-06-01 15:34:14 GMT <fwu> thanks Popochon!

2017-06-01 15:35:06 GMT <Popochon> :D welcome

2017-06-01 16:08:54 GMT <fwu> ppl, anyone knows about a java library to work with odt files similar to the docx4j library that works with docx files?

2017-06-01 16:09:34 GMT <fwu> anything already out there to work with odt files inside Alfresco (with actions to set value to properties)?

2017-06-01 16:10:10 GMT <fwu> im finishing my wordtoolkit very first version, but now I also need to work with odt files!

2017-06-01 16:10:38 GMT <angelborroy> fwu do you know that LibreOffice is (mainly) developed by using Java?

2017-06-01 16:10:38 GMT <angelborroy> http://api.libreoffice.org/

2017-06-01 16:10:39 GMT <alfbot> Title: LibreOffice 5.3 API Documentation (at api.libreoffice.org)

2017-06-01 16:10:47 GMT <angelborroy> http://api.libreoffice.org/examples/examples.html#Java_examples

2017-06-01 16:10:48 GMT <alfbot> Title: LibreOffice 5.3 SDK - Examples (at api.libreoffice.org)

2017-06-01 16:11:26 GMT <fwu> angelborroy, I know. but is there aomething in Alfresco already, or an addon?

2017-06-01 16:11:47 GMT <angelborroy> afaik, no

2017-06-01 16:12:07 GMT <angelborroy> I’ve made some manipulations with LibreOffice API and it seems easy to deal with

2017-06-01 16:12:51 GMT <AxelFaust> I guess one could add the Apache ODF Toolkit for low-level manipulations...

2017-06-01 16:13:02 GMT <fwu> I was looking for a simple portion of it. maybe I wouldnt need to import all the API

2017-06-01 16:13:15 GMT <fwu> AxelFaust, ok I will look at it

2017-06-01 16:13:42 GMT <fwu> I just need to set properties dynamically in a workflow context

2017-06-01 16:13:57 GMT <fwu> load; set properties; save

2017-06-01 16:14:58 GMT <fwu> I found this: http://incubator.apache.org/odftoolkit/simple/

2017-06-01 16:14:59 GMT <alfbot> Title: Apache ODF Toolkit(Incubating) - Simple API (at incubator.apache.org)

2017-06-01 16:15:04 GMT <fwu> I will look at it

2017-06-01 16:15:15 GMT <fwu> thank you AxelFaust and angelborroy

2017-06-01 16:16:29 GMT <angelborroy> fwu so you are including property values as ODT metadata?

2017-06-01 16:32:24 GMT <fwu> angelborroy, I need to set in odt custom properties that will then be used as dynamic values inside the document text. Like it is used to do with word.

2017-06-01 16:33:06 GMT <fwu> In the workflow context, I will then create a new version od the document with those dynamic values inside

2017-06-01 17:40:38 GMT <qwebirc30404> Hi

2017-06-01 17:41:00 GMT <qwebirc30404> Is there a way to modify the urlrewrite.xml used in share ?

2017-06-01 17:41:18 GMT <qwebirc30404> using the maven build

2017-06-01 19:21:09 GMT <xkahn> Hmm... Anyone have any thoughts on creating an HTML thumbnail type for office documents?

2017-06-01 19:21:52 GMT <xkahn> Basically, it would be a quick preview for office-type documents... similar to the pdf thumbnail or the flash thumbnail

2017-06-01 20:22:46 GMT <eswbitto> AxelFaust: Question for you. What kind of springframe work certification would be necessary to be able to be used with Alfresco?

End of Daily Log

The other logs are at http://esplins.org/hash_alfresco