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-08-23 07:37:10 GMT <angelborroy> morning

2017-08-23 07:37:37 GMT <angelborroy> anyone knows if using JAR package with Alfresco SDK 3.0 exists an option for “force” deployment?

2017-08-23 07:37:49 GMT <angelborroy> I’m overwriting a repo webscript

2017-08-23 07:54:57 GMT <angelborroy> it looks like JAR makes “force” by default

2017-08-23 08:25:24 GMT <AFaust> angelborroy: What do you mean by "force" deployment?

2017-08-23 08:25:52 GMT <AFaust> Like we had with MMT?

2017-08-23 08:25:53 GMT <angelborroy> alfresco-mmt option

2017-08-23 08:25:55 GMT <angelborroy> yep

2017-08-23 08:26:14 GMT <AFaust> Well, since you don't use MMT with JAR there would not be such an option

2017-08-23 08:26:25 GMT <angelborroy> right

2017-08-23 08:26:35 GMT <angelborroy> but it looks like is working as “force” by default

2017-08-23 08:26:42 GMT <AFaust> And you cannot override the web script via JAR reliably (unless you use web-extension) - you can only "hope" that the classloader picks your files up first...

2017-08-23 08:27:22 GMT <angelborroy> I’m using extension/templates and it seems to work fine

2017-08-23 08:27:30 GMT <AFaust> The fact that it is working for you right now is just pure coincidence, based on the naming of your JAR and the classloader order...

2017-08-23 08:27:52 GMT <AFaust> What name does your JAR have?

2017-08-23 08:27:53 GMT <angelborroy> I guessed that

2017-08-23 08:28:07 GMT <angelborroy> site-node-template.jar

2017-08-23 08:28:16 GMT <angelborroy> which is after alfresco ones

2017-08-23 08:28:46 GMT <AFaust> Hmm - in most *nix operating systems, the Alfresco JARs should have precedence over yours...

2017-08-23 08:28:54 GMT <angelborroy> I’m on Mac

2017-08-23 08:29:04 GMT <AFaust> Ah - maybe that has a different ordering then

2017-08-23 08:29:18 GMT <angelborroy> yes, it has different ordering

2017-08-23 08:29:23 GMT <AFaust> (never used Mac and most likely never will)

2017-08-23 08:29:30 GMT <angelborroy> many times deploying in Linux order changes

2017-08-23 08:30:14 GMT <angelborroy> so basically I have to switch to AMP and use “-force” to be sure that it works in every server, right?

2017-08-23 08:30:46 GMT <AFaust> If you want to use the approach of putting your web script overrides into the WEB-INF/classes and thus force the classloader precendence, then yes

2017-08-23 08:31:03 GMT <angelborroy> alternatives?

2017-08-23 08:31:08 GMT <angelborroy> Spring overriding?

2017-08-23 08:32:00 GMT <AFaust> Spring overriding will not work as there is no bean for the web script, and you cannot override the JavaScript via Spring

2017-08-23 08:32:13 GMT <angelborroy> I guessed so

2017-08-23 08:32:13 GMT <AFaust> Best long term option:

2017-08-23 08:32:52 GMT <AFaust> Encourage Alfresco (by providing a patch) to make node template web script work with Surf Extension modules on Repository tier and provide a post-processor JavaScript / FreeMarker to augment / change the results of the web script

2017-08-23 08:33:34 GMT <AFaust> If you only have an alteration to the JavaScript logic you could use Surf Extension module on Repository-tier already (provided the Repostory-tier web script controller support it)

2017-08-23 08:34:19 GMT <angelborroy> You loose me

2017-08-23 08:34:51 GMT <angelborroy> But I’ll try to dive into this path

2017-08-23 08:39:03 GMT <AFaust> You can use the same approach you use on Share (Surf Extensibility module + customisation) also for Repository-tier web scripts

2017-08-23 08:39:09 GMT <AFaust> That's what I meant

2017-08-23 08:40:08 GMT <angelborroy> I know

2017-08-23 08:40:25 GMT <angelborroy> But I have to prepare that webscript to be extended by Surf

2017-08-23 08:40:38 GMT <angelborroy> As in repo this part is missed

2017-08-23 08:40:39 GMT <angelborroy> right?

2017-08-23 08:41:50 GMT <AFaust> You only have to prepare the web script if you need a @markup in the FTL to extend

2017-08-23 08:42:10 GMT <AFaust> The more relevant problem is the broken support for the extensibility

2017-08-23 08:42:29 GMT <AFaust> https://issues.alfresco.com/jira/browse/ALF-21794

2017-08-23 08:43:57 GMT <AFaust> It would be quite simple actually, but as always, Alfresco is dragging their heels on something that comes from the community and is not immediately aligned with their own priorities...

2017-08-23 08:44:08 GMT <AFaust> My work-around: https://github.com/Acosix/alfresco-utility/blob/master/repository/src/main/java/de/acosix/alfresco/utility/repo/web/scripts/TenantExtensibilityContainer.java

2017-08-23 08:44:09 GMT <alfbot> Title: alfresco-utility/TenantExtensibilityContainer.java at master · Acosix/alfresco-utility · GitHub (at github.com)

2017-08-23 08:44:56 GMT <angelborroy> it looks like is “in progress"

2017-08-23 08:44:57 GMT <angelborroy> https://issues.alfresco.com/jira/browse/REPO-1706

2017-08-23 08:45:14 GMT <AFaust> Example use: https://github.com/Acosix/alfresco-site-hierarchy/blob/master/repository/src/main/globalConfig/webscripts/extensions/config/acosix-site-hierarchy-extension.xml

2017-08-23 08:45:15 GMT <alfbot> Title: alfresco-site-hierarchy/acosix-site-hierarchy-extension.xml at master · Acosix/alfresco-site-hierarchy · GitHub (at github.com)

2017-08-23 08:45:44 GMT <angelborroy> the same approach from Share adapted to Repo

2017-08-23 08:45:48 GMT <angelborroy> nice

2017-08-23 08:45:55 GMT <AFaust> I don't trust something "in progress" when it is "unassigned"

2017-08-23 08:46:00 GMT <angelborroy> How many time is this “in progress”?

2017-08-23 08:46:05 GMT <angelborroy> One year or so?

2017-08-23 08:46:26 GMT <AFaust> Yes - since December 2016

2017-08-23 08:47:56 GMT <angelborroy> I’m going to think about this alternative

2017-08-23 08:48:04 GMT <angelborroy> but the risk is high

2017-08-23 08:48:26 GMT <angelborroy> obviously is an “essential” feature to be included in repository

2017-08-23 08:48:38 GMT <angelborroy> but I don’t trust that it’s going to be released soon

2017-08-23 08:49:04 GMT <AFaust> Right - otherwise I would not have included it in my collection of utils / work-arounds

2017-08-23 08:51:00 GMT <AFaust> That's also why I wrote "Best long term option"

2017-08-23 08:52:26 GMT <angelborroy> Thanks again for sharing your knowledge with me Afaust

2017-08-23 09:07:02 GMT <MTielemans> We can't really provide patches for MNT issues right?

2017-08-23 09:07:15 GMT <MTielemans> Can't upload them

2017-08-23 09:12:49 GMT <angelborroy> MTielemans you can upload a diff

2017-08-23 09:13:01 GMT <angelborroy> MTielemans but patches are not accepted directly by Alfresco

2017-08-23 09:13:39 GMT <angelborroy> They study your diff and make their own version (and intepretation) of the issue

2017-08-23 09:13:52 GMT <angelborroy> Hopefully the issue is solved in some months

2017-08-23 09:14:18 GMT <MTielemans> Yeah sure, but I can't comment or upload or otherwise contribute anything to MNT issues

2017-08-23 09:14:46 GMT <angelborroy> MNT prefix is used to be for Enterprise

2017-08-23 09:14:54 GMT <angelborroy> so you can see it but you cannot touch it

2017-08-23 09:15:18 GMT <angelborroy> in fact there are hidden issues with that MNT as they were reported from clients using Enteprise

2017-08-23 09:16:31 GMT <MTielemans> Makes sense. I guess I'll just make a clone for ALF then. As the issue is also present in community.

2017-08-23 10:20:36 GMT *** yreg is now known as Guest52896

2017-08-23 10:37:42 GMT <AFaust> MTielemans: You could provide a PR on GitHub for those projects that have already been moved, e.g. alfresco-data-model - just created my first PR on Monday ()https://github.com/Alfresco/alfresco-data-model/pull/2

2017-08-23 10:37:43 GMT <alfbot> Title: Fix for ALF-21849 by AFaust · Pull Request #2 · Alfresco/alfresco-data-model · GitHub (at github.com)

2017-08-23 10:39:04 GMT <AFaust> It should work for MNT issues as well as long as they only affect the projects that are common to both Enterprise and Community (which most are, except for license management, clustering, runtime subsystem config, JMX, cloud sync etc)

2017-08-23 10:40:48 GMT <AFaust> Alfresco also states that you could/should create an accompanying ALF issue for your PR (if none exists yet), so I would assume you could also just specify a MNT ticket (since ALF would be moved to MNT anyway if they include it as part of maintenance)

2017-08-23 11:18:01 GMT <MTielemans> AFaust, Cool! Only project I can see for Share is just a community mirror that seems inactive though (not updated for a month). I guess Share is not on GitHub yet. Or is Share just getting that little love?

2017-08-23 11:18:49 GMT <MTielemans> My fix is also literally just a single line, and I uploaded a diff to an ALF issue, so I don't think there'd be much added value in adding a PR. But it's good to know.

2017-08-23 11:23:37 GMT <AFaust> MTielemans: You'd think a single line fix / patch would have a good chance to get merged... https://issues.alfresco.com/jira/browse/ALF-15535

2017-08-23 11:25:31 GMT <AFaust> Yes, Share has so far not been moved (or at least made publicly visible) in a Git-based platform. Check https://community.alfresco.com/docs/DOC-4874-source-code for current state - it sees updates every couple of weeks when hosting / details have changed for individual projects

2017-08-23 11:25:33 GMT <alfbot> Title: Source Code | Alfresco Community (at community.alfresco.com)

2017-08-23 11:26:32 GMT <MTielemans> Awesome thanks!

2017-08-23 11:28:00 GMT <MTielemans> I think my issue outshines even your provided ALF-15535 candidate in simplicity https://issues.alfresco.com/jira/browse/ALF-21939

2017-08-23 11:30:59 GMT <AFaust> Good ol' "preventDefault"...

2017-08-23 11:32:47 GMT <AFaust> Ideally you should create your patch files based on an SVN checkout of the entire Share project. That way they could apply the patch directly against the local workspace. For this patch it does not matter since it is a one-liner, but for larger ones it would be difficult to handle if the patch files are against some arbitrary / renamed files...

2017-08-23 11:38:31 GMT <MTielemans> Right, ideally :P.

2017-08-23 12:19:11 GMT <Guest52896> douglascrp: Hey dude !

2017-08-23 12:43:13 GMT <Guest52896> Guys anyone came across "Failed this OfficeManager is currently stopped" while attempting docx to psd conversion in EE ?

2017-08-23 12:44:27 GMT <Guest52896> AFaust: I get that exception when I test the transformation via OOTBee ST

2017-08-23 12:44:43 GMT <Guest52896> in case you were wondering <grin>

2017-08-23 12:51:25 GMT <Guest52896> I might have forgotten to mention that I am on windows server 2016 with EE and that soffice process is running and does not seem to have any suspicious CPU/RAM usage

2017-08-23 12:51:35 GMT <Guest52896> sounds all ok

2017-08-23 12:52:54 GMT <AFaust> Good to know...

2017-08-23 12:55:26 GMT <Guest52896> it sould be ok if I stop manually soffice process right ?

2017-08-23 12:56:26 GMT <Guest52896> just to test if this is related to the current instance of soffice or if it is something else

2017-08-23 12:56:51 GMT <AFaust> If you use JODConverter is should be fine to stop and have Alfresco restart it

2017-08-23 12:57:13 GMT <AFaust> For OOoDirect it should also be fine to stop if you then start it again manually

2017-08-23 13:11:25 GMT <bmejias> Guest52896 I have very often this problem too

2017-08-23 13:11:29 GMT <bmejias> also with 5.1

2017-08-23 13:11:52 GMT <bmejias> on version 4.2 this happened only when soffice process was gone.

2017-08-23 13:12:19 GMT <bmejias> now the process is still alive, so it's more difficult to detect that is broken

2017-08-23 13:12:52 GMT <bmejias> which reminds me a discussion we had with AFaust and one of the Odoo guys about a soffice watchdog

2017-08-23 13:13:33 GMT <AFaust> => https://github.com/OrderOfTheBee/ootbee-support-tools/issues/18

2017-08-23 13:13:34 GMT <alfbot> Title: Add tool for OpenOffice monitoring / management · Issue #18 · OrderOfTheBee/ootbee-support-tools · GitHub (at github.com)

2017-08-23 13:13:43 GMT <AFaust> Any input / collaboration is welcome...

2017-08-23 13:13:55 GMT <MarkTielemans> soffice not showing a suspicious CPU/RAM footprint certainly doesn't mean it's not hanging/frozen btw. Makes it very hard to detect.

2017-08-23 13:14:52 GMT <AFaust> It is quite simple actually - you just need to try and make a second connection to it to have it convert a simple test document - when that takes "too long" it is regarded as "hanging"

2017-08-23 13:15:06 GMT <MarkTielemans> Haha, that's a great idea

2017-08-23 13:15:09 GMT <AFaust> At least that is how I deal with this in a watchdog I created for a customer

2017-08-23 13:15:56 GMT <AFaust> Though it is out-of-process for that customer, there'd be no veto from the customer regarding putting some of the code under Open Source license

2017-08-23 13:16:06 GMT <AFaust> ...and integrating it with support tools

2017-08-23 13:16:51 GMT <MarkTielemans> that'd be cool. A JODConverter alternative for CE would be powerful.

2017-08-23 13:17:16 GMT <AFaust> Also I'd like to add support for configuring / restarting subsystems to support tools (see my idea for the hackathon), so you could manually restart OpenOffice connection that way too

2017-08-23 13:18:00 GMT <AFaust> MarkTielemans: There is already a public module that you could use to add JODConverter to CE - https://bitbucket.org/xenit/alfresco-remote-jodconverter

2017-08-23 13:18:01 GMT <alfbot> Title: xenit / alfresco-remote-jodconverter — Bitbucket (at bitbucket.org)

2017-08-23 13:18:06 GMT <MarkTielemans> Yeah I've been looking at the backlog, but this (and changing runtime property values) seems like it's tough to do in a generic way since different components (re)load their configurations differently

2017-08-23 13:18:30 GMT <MarkTielemans> Ah yes I've been using that in some environments actually

2017-08-23 13:19:19 GMT <AFaust> Though that is a bit different from the Enterprise Edition one as it does not manage (start/stop) an Office process on the local machine only - it is being used (by Xenit) more to connect to remote instances (running inside Docker containers)

2017-08-23 13:20:03 GMT <AFaust> The subsystems actually all have a common / generic approach to handling configuration loading (at least they should have, unless someone did not understand the architectural concept behind them)

2017-08-23 13:20:40 GMT <AFaust> ... to be fair, Alfresco engineers sometimes don't understand their own configuration loading concepts...

2017-08-23 13:20:59 GMT <MarkTielemans> That, being someone not understanding the architectural concept, happens sometimes in Alfresco code

2017-08-23 13:21:04 GMT <MarkTielemans> Right ;)

2017-08-23 13:21:33 GMT <MarkTielemans> But there's more than just the subsystems that interpret properties. Though the subsystems could be a good start.

2017-08-23 13:24:19 GMT <Guest52896> bmejias: thanks for confirming that I am not the only one having the issue

2017-08-23 13:24:37 GMT <Guest52896> MarkTielemans: I restarted the process but the problem is still there

2017-08-23 13:24:52 GMT <Guest52896> checked firewall and confirmed that it is off

2017-08-23 13:25:48 GMT <AFaust> Yes - handling anything other than subsystems will be difficult / next to impossible without restarting the entirety of Alfresco. That is why most plugin modules / features should probably be subsystems instead of additions to the global context. But unfortunately Alfresco is not really pushing that approach themselves with their own (hacky) modules

2017-08-23 13:25:52 GMT <Guest52896> I tried to telnet port 8100 on 2 servers, one of which does have the problem and I can confirm having the same output in both terminals (I did not restart the process it restarted autmagically by alfresco)

2017-08-23 13:26:30 GMT <Guest52896> AFaust: I am suspecting access right to temp directory could that be it ? although the same user running tomcat should be running soffice

2017-08-23 13:27:06 GMT <AFaust> Access permissions can be a problem if soffice is started with wrong user...

2017-08-23 13:27:11 GMT <Guest52896> AFaust: I won't get started on dynamic extensions

2017-08-23 13:27:39 GMT <AFaust> It must not necessarily be the same user as Tomcat (though it is if you stick to the Alfresco installer messed-up install)

2017-08-23 13:27:41 GMT <Guest52896> AFaust: I did not start it my self, it was handled by alfresco itself so it should be the right user

2017-08-23 13:28:11 GMT <AFaust> Dynamic Extensions are basically the same as subsystems with regards to the restartability...

2017-08-23 13:28:13 GMT <Guest52896> AFaust: I am on Windows

2017-08-23 13:28:55 GMT <AFaust> But we were talking about support tools, so we have to stick to standard concepts, not 3rd party ones...

2017-08-23 13:30:24 GMT <MarkTielemans> Right. No new 3rd party standard that we the community agree on then. I always thought that was the Java way of life! ;)

2017-08-23 13:31:13 GMT <MarkTielemans> Guest52896, the Alfresco logging should tell you if Alfresco have lost connection with OO altogether.

2017-08-23 13:31:46 GMT <bmejias> Guest52896 you're welcome.... can you access your Alfresco through jmx?

2017-08-23 13:31:58 GMT <Guest52896> bmejias I can do that

2017-08-23 13:32:02 GMT <bmejias> I understand is an enterprise edition instance.

2017-08-23 13:32:14 GMT <bmejias> OK, there is a bean for the Jodconverter

2017-08-23 13:32:15 GMT <Guest52896> how do you usually solve it when you face this situation

2017-08-23 13:32:21 GMT <bmejias> you can run stop and start on it

2017-08-23 13:32:29 GMT <bmejias> so that you don't have to restart alfresco

2017-08-23 13:32:44 GMT <bmejias> OOJodConverter I think it's the name of the bean

2017-08-23 13:32:49 GMT <Guest52896> Alright will give it a run

2017-08-23 13:33:06 GMT <AxelFaust> MarkTielemans: Open to new standards if the community agrees on it. I just meant that the support tools project is aimed at sticking to core Alfresco...

2017-08-23 13:33:16 GMT <MarkTielemans> Yeah I understand

2017-08-23 13:34:06 GMT <AxelFaust> bmejias: Right, beat the bean over the head using the JavaScript Console...

2017-08-23 13:34:25 GMT <bmejias> AxelFaust yeap...

2017-08-23 13:34:37 GMT <bmejias> ah, the javascript console....

2017-08-23 13:34:41 GMT <AxelFaust> That's is what the exposure in support tools would essentially do

2017-08-23 13:35:05 GMT <AxelFaust> ...the OOJodConverter bean is the subsystem itself

2017-08-23 13:35:13 GMT <bmejias> I didn't think about that, I was referring to the jmx console.... but having it done through the javascript console would be nicer

2017-08-23 13:36:46 GMT <AxelFaust> JMX requires that the ports are accessible. Not many setups I see really have JMX exposed from the internal server network to the internal "public user" network (i.e. even I as an administrator can't connect to JMX for some customer setups)

2017-08-23 13:37:31 GMT <bmejias> I understand that....

2017-08-23 13:37:40 GMT <bmejias> over here we do it with an ssh tunnel.

2017-08-23 13:37:43 GMT <MarkTielemans> Isn't JMX remote connection disabled by default?

2017-08-23 13:38:09 GMT <bmejias> ssh -fN -L 50500:localhost:50500 alfuser@theserver

2017-08-23 13:38:37 GMT <bmejias> then you can run your jmx console on localhost:50500

2017-08-23 13:38:47 GMT <bmejias> which will connect to the server through the ssh tunnel

2017-08-23 13:39:00 GMT <MarkTielemans> nice one

2017-08-23 13:39:02 GMT <AxelFaust> Well - SSH tunnel would be fine, if there wasn't a policy to not abuse our SSH access in such a way (if there really is a need for that, we still do from time to time)

2017-08-23 13:39:49 GMT <AxelFaust> German companies can be insane when it comes to IT security that prevents you from working efficiently...

2017-08-23 13:40:16 GMT <bmejias> we also use a 42 char random password for the controlRole

2017-08-23 13:40:27 GMT <MarkTielemans> That sounds like the exact opposite of Dutch government agencies =D

2017-08-23 13:41:24 GMT <Guest52896> Boris, that seem to do the trick !

2017-08-23 13:41:28 GMT <Guest52896> thanks a ton !

2017-08-23 13:41:36 GMT <AxelFaust> ...while a different segment of the companies care way too little about stuff like sensitive data. E.g. my first client (before Alfresco times) did not have a test system for some system integrations, so real credit card information was stored in our test environments and transactions with external systems were live and needed to be cancelled manually...

2017-08-23 13:42:06 GMT <Guest52896> AxelFaust, MarkTielemans thank you for your input and your help

2017-08-23 13:42:07 GMT <bmejias> Guest52896 I'm glad it worked

2017-08-23 13:42:24 GMT <MarkTielemans> AxelFaust, ugh.. I've not seen it that bad.

2017-08-23 13:42:30 GMT <AxelFaust> ... and the test database contained about a million credit card records copied from production, only 5 of them were prepared as "dummy accounts" that would never be charged...

2017-08-23 13:42:32 GMT <MarkTielemans> Guest52896, Glad it works!

2017-08-23 13:43:34 GMT <AxelFaust> MarkTielemans: There were a many a hotel reservations that nobody ever showed up to..

2017-08-23 13:44:01 GMT <bmejias> AxelFaust wow... nice system over there.... credit card, what a concept.

2017-08-23 13:44:20 GMT <Guest52896> AxelFaust: hehe !

2017-08-23 13:44:26 GMT <MarkTielemans> Haha! I wonder how often there'd be accidental charges that went unnoticed

2017-08-23 13:45:35 GMT <AxelFaust> I think the biggest one that was not properly cancelled in time was a multi-flight, multi-hotel trip costing around 10.000 €... Don't remember if that was setup like a world tour..

2017-08-23 13:46:28 GMT <AxelFaust> That was basically an extreme test of how complex bookings could be handled by the system with many components (flight, hotel, rental car)

2017-08-23 13:47:22 GMT <MarkTielemans> on some actual rockstar's creditcard of course, haha

2017-08-23 13:48:00 GMT <AxelFaust> No - that was actually one of the company credit cards, but not one of those that were automatically cancelled...

2017-08-23 13:48:15 GMT <MarkTielemans> Tough luck

2017-08-23 13:48:41 GMT <bmejias> AxelFaust, so someone had actually to do the trip in order to take advantage of the reservation?

2017-08-23 13:49:01 GMT <MarkTielemans> 'Forgot' to cancel

2017-08-23 13:51:12 GMT <bmejias> I can imaging the head of developers: ouch, we "forgot" to cancel this.... I will have to go and verify the success of all the reservations, see you in three weeks.

2017-08-23 13:51:53 GMT <AxelFaust> Actually, we as developers didn't have access to the test environments to do something like this. Was a separate test team

2017-08-23 13:53:23 GMT <AxelFaust> bmejias: Depends on when the charge was noticed. Since it was a credit card, the receipt would usually come the next month, whereas the trip could have been scheduled in the month prior... so then nobody went on the trip and all the operators would cash it as a "no-show fee"

2017-08-23 13:53:53 GMT <bmejias> ouch

2017-08-23 14:00:32 GMT <angelborroy> AxelFaust, I’m extending Alfresco Doc List Toolbar YUI component in that way https://github.com/keensoft/alfresco-site-node-templates/blob/master/site-node-template-share/src/main/resources/META-INF/resources/site-node-template-share/js/site-node-template-share.js#L26

2017-08-23 14:00:33 GMT <alfbot> Title: alfresco-site-node-templates/site-node-template-share.js at master · keensoft/alfresco-site-node-templates · GitHub (at github.com)

2017-08-23 14:01:06 GMT <angelborroy> Obviously it’s not safe, as any other addon extending in the same way will conflict with my extension

2017-08-23 14:01:15 GMT <angelborroy> Is there any other recommended way?

2017-08-23 14:04:09 GMT <AxelFaust> angelborroy: My preferred approach is prototype modification with AOP-like chaining (using closures) of individual functions

2017-08-23 14:05:15 GMT <angelborroy> some public sample in your mind of this way of extension?

2017-08-23 14:05:35 GMT <AxelFaust> Not an ideal example (since it does not modify the prototype), but very similar: https://github.com/Acosix/alfresco-site-hierarchy/blob/master/share/src/main/webapp/acosix/acosix-site-hierarchy/modules/edit-site.js#L29

2017-08-23 14:05:36 GMT <alfbot> Title: alfresco-site-hierarchy/edit-site.js at master · Acosix/alfresco-site-hierarchy · GitHub (at github.com)

2017-08-23 14:06:09 GMT <angelborroy> thanks AxelFaust

2017-08-23 14:06:20 GMT <AxelFaust> But I would apply it to a prototype in a similar manner - 1) get the original fn, 2) override with closure, 3) within closure, do logic before/after/around call to original fn

2017-08-23 14:09:39 GMT <MarkTielemans> angelborroy, this might help: https://pastebin.com/KvizrZgZ

2017-08-23 14:09:40 GMT <alfbot> Title: [JavaScript] augment - Pastebin.com (at pastebin.com)

2017-08-23 14:10:31 GMT <angelborroy> Interesting approach MarkTielemans

2017-08-23 14:10:32 GMT <angelborroy> Thanks

2017-08-23 14:10:38 GMT <MarkTielemans> It's slightly different from what Axel said in that it doesn't encapsulate the called method but overrides it. So that still doesn't allow for two of the same solutions like this;.

2017-08-23 14:10:45 GMT <MarkTielemans> Encapsulating it like Axel said would

2017-08-23 14:10:53 GMT <MarkTielemans> uw

2017-08-23 14:11:06 GMT <angelborroy> yep

2017-08-23 14:11:14 GMT <angelborroy> but it’s better for my use case

2017-08-23 14:11:21 GMT <angelborroy> as I’m overwritting a method

2017-08-23 14:12:08 GMT <MarkTielemans> I think you could save the original fn before overriding it, and call the saved function in the override. That might be even better because you could do that as much as you want.

2017-08-23 14:12:23 GMT <MarkTielemans> But I obviously didn't bother for the environment I deployed this to.

End of Daily Log

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