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

2019-05-21 09:29:56 GMT <alfresco-discord> <Loftux> Is there a way in solr4/6 similar to the old TEXT:"nint" trick to find documents that have failed full text indexing?

2019-05-21 09:30:55 GMT <alfresco-discord> <yreg> yes, there is an error field

2019-05-21 09:31:07 GMT <alfresco-discord> <yreg> I don't have a solr instance at hand

2019-05-21 09:31:39 GMT <alfresco-discord> <yreg> but you could look it up from solr admin interface

2019-05-21 09:45:07 GMT <alfresco-discord> <Loftux> @yreg Thanks, found the "error" one. It says numFound="2186", but only lists first 10. And only by dbid.

2019-05-21 09:45:18 GMT <alfresco-discord> <Loftux> Probably there is some max parameter

2019-05-21 09:47:26 GMT <alfresco-discord> <Loftux> This seems to work https://localhost:8443/solr4/alfresco/query?q=ERROR*&wt=xml&rows=100

2019-05-21 09:50:52 GMT <alfresco-discord> <Loftux> So how can I get from this list of dbid:s to a list of lets say nodeRefs? I suspect I have to do a db query directly.

2019-05-21 09:53:11 GMT <alfresco-discord> <yreg> careful, that one is not reliable

2019-05-21 09:53:47 GMT <alfresco-discord> <yreg> it will also lookup files with text content of ERROR

2019-05-21 09:54:06 GMT <alfresco-discord> <yreg> let me have a quick look at my gists and see if I have something useful

2019-05-21 09:55:18 GMT <alfresco-discord> <yreg> @Loftux enjoy : https://gist.github.com/yregaieg/6aaf35b884701aca5f4cd358613764e4

2019-05-21 09:55:19 GMT <alfbot> Title:do-something-with-solr-errors.js Β· GitHub (at gist.github.com)

2019-05-21 09:57:24 GMT <alfresco-discord> <yreg> let me know how that work out for you πŸ˜‰

2019-05-21 09:57:30 GMT <alfresco-discord> <Loftux> Excellent, thanks!

2019-05-21 10:00:07 GMT <alfresco-discord> <yreg> the exact query is in the comment as well

2019-05-21 10:14:46 GMT <alfresco-discord> <Loftux> Your script worked well. But when quering solr for ERROR it included document that are full text searcheable. And you suggested ERRORMESSAGE just finds 3 documents. Guess I have to dig in deeper.

2019-05-21 10:15:55 GMT <alfresco-discord> <Loftux> Reason I'm doing this is I need to get a list of documents created by the template that has a very old WMF file invisible embedded, and that fails to index because POI crashes when encountering these documents.

2019-05-21 10:23:38 GMT <alfresco-discord> <yreg> try ERROR:* instead of ERROR*

2019-05-21 10:24:22 GMT <alfresco-discord> <yreg> ERROR* would do a full text search on content on everything that matches ERROR* πŸ˜‰

2019-05-21 10:25:18 GMT <alfresco-discord> <Loftux> Nope, didn't work, undefined field ERROR

2019-05-21 10:25:38 GMT <alfresco-discord> <Loftux> So maybe there are just 3 broken documents...

2019-05-21 10:29:05 GMT <alfresco-discord> <yreg> hmm maybe it was errormessage or something like that, do you have an accessible solr interface online ? I can quickly find the field then

2019-05-21 10:29:40 GMT <alfresco-discord> <Loftux> Yes

2019-05-21 10:31:59 GMT <alfresco-discord> <yreg> ok, found an old note saying that error field got removed at some point

2019-05-21 10:32:56 GMT <alfresco-discord> <yreg> and that one would need to rely on exception message or exception stack to locate the failing indices ...

2019-05-21 10:33:23 GMT <alfresco-discord> <yreg> you could look up for other candidate fields here in the schema : /solr/#/alfresco/schema?field=EXCEPTIONMESSAGE

2019-05-21 10:34:48 GMT <alfresco-discord> <Loftux> Just found those 3 that has "return status 500".

2019-05-21 10:35:14 GMT <alfresco-discord> <Loftux> I think I'll postpone until a full re-index is done.

2019-05-21 12:33:27 GMT <alfresco-discord> <gdeverlant> is there any of the author from the Dynamic Extension ARM?

2019-05-21 12:34:06 GMT <angelborroy> Do you mean this one?

2019-05-21 12:34:07 GMT <angelborroy> https://github.com/xenit-eu/dynamic-extensions-for-alfresco

2019-05-21 12:34:08 GMT <alfbot> Title:GitHub - xenit-eu/dynamic-extensions-for-alfresco: Rapid development of Alfresco repository extensions in Java. Deploy your code in seconds, not minutes. Life is too short for endless server restarts. (at github.com)

2019-05-21 12:34:25 GMT <alfresco-discord> <gdeverlant> are you a bot or a human ?

2019-05-21 12:34:51 GMT <alfresco-discord> <gdeverlant> yes that one plugin

2019-05-21 12:35:07 GMT <angelborroy> it’s from Xenit

2019-05-21 12:35:16 GMT <angelborroy> You can contact them if required

2019-05-21 12:35:23 GMT <angelborroy> Also @yreg knows something about that

2019-05-21 12:35:33 GMT <alfresco-discord> <gdeverlant> well isn't xenit in this chat?

2019-05-21 12:35:39 GMT <alfresco-discord> <gdeverlant> they should be here πŸ˜„

2019-05-21 12:38:43 GMT <alfresco-discord> <yreg> some of them are

2019-05-21 12:38:56 GMT <alfresco-discord> <yreg> by the way they just released 2.0 today

2019-05-21 12:39:09 GMT <alfresco-discord> <yreg> @Thijs announced it earlier on twitter

2019-05-21 12:40:02 GMT <alfresco-discord> <dgradecak> @Loftux I am maybe late but usually I use those urls : /solr/alfresco/query?q=EXCEPTIONMESSAGE:* /solr/alfresco/afts?q=DOC_TYPE:ErrorNode /solr/alfresco/afts?q=DOC_TYPE:UnindexedNode

2019-05-21 12:40:34 GMT <alfresco-discord> <yreg> @gdeverlant if you want to discuss anything related to it, you can create an issue ...

2019-05-21 12:42:12 GMT <alfresco-discord> <yreg> @Toon Geens and @KerkhofsD are the ones actively maintaining that tool AFAIK, but they are rarely present in this chat πŸ˜ƒ

2019-05-21 12:42:53 GMT <angelborroy> Probably @gdeverlant wants to complain about something… :D

2019-05-21 12:43:27 GMT <alfresco-discord> <gdeverlant> no to the contrary I would like to give them props

2019-05-21 12:43:46 GMT <alfresco-discord> <gdeverlant> I am really proud of this project although I didn't do anything with it

2019-05-21 12:44:04 GMT <alfresco-discord> <yreg> they are open to that, more open to PRs though <grin>

2019-05-21 12:44:44 GMT <alfresco-discord> <gdeverlant> I was analysing the internals of the project and they did a good job

2019-05-21 12:44:55 GMT <alfresco-discord> <gdeverlant> I did a step by step debug to know more about it

2019-05-21 12:45:11 GMT <alfresco-discord> <gdeverlant> I think that project could be used as is for Magnolia also

2019-05-21 12:45:27 GMT <alfresco-discord> <gdeverlant> with all the Alfresco piping removed

2019-05-21 12:46:15 GMT <alfresco-discord> <yreg> I didn't like the fact that it had a nasty mix of (an old version of) kotlin and java

2019-05-21 12:46:27 GMT <alfresco-discord> <gdeverlant> they removed Kotlin in 2.0

2019-05-21 12:46:38 GMT <alfresco-discord> <yreg> I hope they have gotten rid of the kotlin code during the latest refactorings

2019-05-21 12:46:43 GMT <alfresco-discord> <yreg> cool

2019-05-21 12:46:43 GMT <alfresco-discord> <gdeverlant> It was dumb for me also because I could not debug the .kt classes

2019-05-21 12:47:06 GMT <alfresco-discord> <gdeverlant> I complained about it and somehow the next few days came the 2.0 snapshot

2019-05-21 12:47:21 GMT <alfresco-discord> <gdeverlant> I could debug the most important part which was before Kotlin

2019-05-21 12:47:54 GMT <alfresco-discord> <gdeverlant> as long as there is no way to debug Kotlin classes inside of normal Java classes no project should use Kotlin

2019-05-21 12:49:26 GMT <alfresco-discord> <yreg> I use intelliJ and I used to be able to debug kotlin

2019-05-21 12:49:43 GMT <alfresco-discord> <yreg> I don't recall installing anything special for that

2019-05-21 12:50:05 GMT <alfresco-discord> <gdeverlant> yeah happy for you but I filed a bug on the project

2019-05-21 12:50:19 GMT <alfresco-discord> <gdeverlant> https://github.com/xenit-eu/dynamic-extensions-for-alfresco/issues/244

2019-05-21 12:50:20 GMT <alfbot> Title:How the internals is working by which class the plugin is started Β· Issue #244 Β· xenit-eu/dynamic-extensions-for-alfresco Β· GitHub (at github.com)

2019-05-21 12:50:27 GMT <alfresco-discord> <yreg> I didn't like it for other reasons

2019-05-21 12:50:38 GMT <alfresco-discord> <gdeverlant> like what ?

2019-05-21 12:52:03 GMT <alfresco-discord> <gdeverlant> Did you ever worked with that ARM?

2019-05-21 12:52:27 GMT <angelborroy> What β€œARM” means?

2019-05-21 12:53:23 GMT <alfresco-discord> <gdeverlant> Alfresco Module

2019-05-21 12:53:41 GMT <angelborroy> Good to know

2019-05-21 12:53:53 GMT <angelborroy> I didn’t call them β€œARM” before

2019-05-21 12:53:54 GMT <alfresco-discord> <yreg> I think he meant AMP

2019-05-21 12:53:55 GMT <alfresco-discord> <gdeverlant> AMP sorry I mean

2019-05-21 12:53:59 GMT <angelborroy> ahhh

2019-05-21 12:54:10 GMT <angelborroy> I thougt I was lossing something

2019-05-21 12:54:41 GMT <alfresco-discord> <yreg> @gdeverlant I worked for that company for 20 months, during which I had something to do with dynamic extensions almost on every single business day πŸ˜„

2019-05-21 12:55:04 GMT <alfresco-discord> <yreg> so yeah, I am quite familiar with the tool

2019-05-21 12:55:07 GMT <alfresco-discord> <gdeverlant> like internal architecture ?

2019-05-21 12:56:05 GMT <alfresco-discord> <yreg> I didn't dive very deep inside, just had to debug a few things on a few occasions ....

2019-05-21 12:56:16 GMT <alfresco-discord> <gdeverlant> the only negative aspect of DE is that XML config was abused and the annotation part of OSGi was skipped

2019-05-21 12:56:18 GMT <alfresco-discord> <yreg> investigating bugs ...

2019-05-21 12:57:26 GMT <alfresco-discord> <gdeverlant> Instead of using blueprint they could go with DeclarativeService

2019-05-21 12:57:28 GMT <alfresco-discord> <AHT> hi guys, sorry for the interruption. Is there a way to authorize only one group to see a custom site-dashlet? I had read something about a <family>group:GROUP_ALFRESCO_ADMINISTRATORS</family> in <webscript> at x-Dashlet.get.desc.xml file... but not I can not make it work... any tip /link /info? thanks in advance πŸ˜„

2019-05-21 12:58:28 GMT <alfresco-discord> <yreg> @gdeverlant that was probably a decision taken by Laurent 7 years ago and was never revised

2019-05-21 12:59:09 GMT <alfresco-discord> <gdeverlant> @ygre

2019-05-21 13:01:36 GMT <alfresco-discord> <gdeverlant> XML is the worst abomination πŸ˜ƒ it is so over abused

2019-05-21 13:02:49 GMT <alfresco-discord> <gdeverlant> was XML created in Germany ?

2019-05-21 13:05:08 GMT <alfresco-discord> <yreg> I will let AFaust reply on that πŸ˜‚ 🀣

2019-05-21 13:05:48 GMT <alfresco-discord> <yreg> he usually says the same thing... only about annotation based configuration πŸ˜„

2019-05-21 13:05:48 GMT <alfresco-discord> <gdeverlant> why ? lol

2019-05-21 13:07:42 GMT <alfresco-discord> <gdeverlant> So yes in part there is some German bureaucracy in XML lol

2019-05-21 13:09:40 GMT <alfresco-discord> <gdeverlant> IBM was creating the CodeBars system to make the inventory of the concentration camps... maybe with XML

2019-05-21 13:10:48 GMT <AFaust> https://www.w3.org/TR/REC-xml/#sec-origin-goals

2019-05-21 13:10:49 GMT <alfbot> Title:Extensible Markup Language (XML) 1.0 (Fifth Edition) (at www.w3.org)

2019-05-21 13:11:09 GMT <AFaust> => Jon Bosak of Sun Microsystems

2019-05-21 13:12:00 GMT <alfresco-discord> <gdeverlant> https://docstore.mik.ua/orelly/xml/xmlnut/ch01_04.htm

2019-05-21 13:12:01 GMT <alfbot> Title:The Evolution of XML (XML in a Nutshell, 2nd Edition) (at docstore.mik.ua)

2019-05-21 13:12:11 GMT <alfresco-discord> <gdeverlant> I like to go at the source of information

2019-05-21 13:12:55 GMT <AFaust> Right, because the standards body that defined XML cannot be considered the "source of information"

2019-05-21 13:13:40 GMT <AFaust> But yes, if you look at precursors, then sure - that source is better.

2019-05-21 13:13:57 GMT <AFaust> But by that way of thinking, almost everything related to computing was developed by Germans.

2019-05-21 13:14:20 GMT <alfresco-discord> <gdeverlant> isn't it ?

2019-05-21 13:14:48 GMT <alfresco-discord> <gdeverlant> the work Kernel is Germanic

2019-05-21 13:16:13 GMT <AFaust> There is a significant difference between the meaning of "Germanic" and "German"

2019-05-21 13:17:04 GMT <alfresco-discord> <gdeverlant> I see no difference between the brain who come up with that Term trying to create the base concepts of the whole Operating System

2019-05-21 13:17:18 GMT <AFaust> Danish is of Germanic origin, but be careful to try and talk with any Danish people and suggest to them their language is the same as German...

2019-05-21 13:18:34 GMT <alfresco-discord> <gdeverlant> Project Paper clip brought the elite scientists from Germany to united states to develop Sillicon Valley I presume ... ?

2019-05-21 13:20:34 GMT <alfresco-discord> <gdeverlant> πŸ˜„

2019-05-21 13:23:24 GMT <alfresco-discord> <gdeverlant> Everyone knows that American don't invent anything... lol πŸ˜„

2019-05-21 13:44:53 GMT <alfresco-discord> <gdeverlant> enough of jokin!

2019-05-21 13:46:22 GMT <alfresco-discord> <gdeverlant> I was talking with the xenit team! they released 2.0.1

2019-05-21 13:47:40 GMT <AFaust> yreg: I am having fun again with APS today. Customer modelled quite a complex process with multiple document publishes to Alfresco, re-publishes ("updates"), publishes to different sites in parallel flows and metadata updates...

2019-05-21 13:48:23 GMT <AFaust> over the last couple of weeks, the process was suffering from various issues stalling out Activiti jobs / asynch messages for process continuation.

2019-05-21 13:48:36 GMT <alfresco-discord> <yreg> I had two simple validation flows (two tasks each) and I had to patch APS in 5 different locations

2019-05-21 13:48:53 GMT <alfresco-discord> <yreg> I can't even imagine what you are going through right now πŸ˜„

2019-05-21 13:49:05 GMT <AFaust> Finally did a detailed reproduction and code analysis session today, and the implementation is so flawed from a conceptual point of view...

2019-05-21 13:49:45 GMT <alfresco-discord> <yreg> by the way did any of you guys have the chance to peek at APS 2.0 EA

2019-05-21 13:50:00 GMT <alfresco-discord> <yreg> to see if it is going to be better in that regard ?

2019-05-21 13:50:14 GMT <AFaust> Is there an EA already? I got the impression they weren't even close to feature parity yet.

2019-05-21 13:50:36 GMT <angelborroy> There is no APS 2.0 EA

2019-05-21 13:50:53 GMT <angelborroy> Not sure how far it is

2019-05-21 13:50:56 GMT <AFaust> That's what I thought... My understanding is that they are extremely behind internal schedules...

2019-05-21 13:51:14 GMT <alfresco-discord> <yreg> @angelborroy that's interesting

2019-05-21 13:52:09 GMT <alfresco-discord> <yreg> marketing/sales proposed (a month or two ago) to my client to give 2.0-EA to kickstart their project

2019-05-21 13:52:32 GMT <angelborroy> marketing?

2019-05-21 13:52:34 GMT <angelborroy> sales?

2019-05-21 13:52:35 GMT <angelborroy> aha

2019-05-21 13:52:57 GMT <alfresco-discord> <yreg> but my client insisted to wait for GA

2019-05-21 13:53:29 GMT <alfresco-discord> <yreg> I will tell the client to ask formally for that EA to see what Alfresco provides :rolf:

2019-05-21 13:53:57 GMT <AFaust> Right, call the bluff...

2019-05-21 13:54:17 GMT <angelborroy> I don’t have access to Process Services repositories, but I guess they are behind schedule

2019-05-21 13:55:25 GMT <alfresco-discord> <yreg> any idea who is leading that team ?

2019-05-21 13:55:38 GMT <AFaust> Don't know if it's part of the devs strategy, but by delaying they will have something fresh / new to show at next DevCon...

2019-05-21 13:55:58 GMT <alfresco-discord> <yreg> xD

2019-05-21 13:56:17 GMT <angelborroy> Probably is Marcello Teodori

2019-05-21 14:00:08 GMT <alfresco-discord> <yreg> ok got to go now... thanks Angel

2019-05-21 14:00:19 GMT <angelborroy> happy to help!

2019-05-21 14:11:25 GMT <alfresco-discord> <mbui> I have this weird bug where in the "copy/move to" action in Share, if the request to expand a folder (in the picker) takes more than 7 seconds it gets cancelled. Anyone else encountered this?

2019-05-21 14:40:41 GMT <alfresco-discord> <mbui> Think I found the culprit: https://i.gyazo.com/0a8a506928c0c44a27f2a19881e5b16c.png

2019-05-21 14:45:20 GMT *** jelly-home is now known as jelly

2019-05-21 18:13:34 GMT <alfresco-discord> <jpotts> Would anyone like to take a trip to Alfresco Behavior Hell with me? πŸ˜ƒ

2019-05-21 18:14:24 GMT <alfresco-discord> <yreg> xD

2019-05-21 18:14:44 GMT <alfresco-discord> <jpotts> The high-level question is this: What are some approaches to determining what's happening to a node from code bound to onUpdateNode? For example, if you need to know the difference between an in-place update and a check-in/version

2019-05-21 18:15:53 GMT <alfresco-discord> <jpotts> Why this is coming up is I have a client who wrote some code to generate a unique document "ID". Pretty common. They are doing it in a behavior bound to onUpdateNode. A naive implementation would just check to see if a document ID has been created, and if not, create it.

2019-05-21 18:16:59 GMT <alfresco-discord> <jpotts> But there are cases when ID's should and should not be generated. For example, on a copy, it should be regenerated. And on a version, it should not be regenerated.

2019-05-21 18:18:53 GMT <alfresco-discord> <jpotts> The challenge is that when a doc is checked out, the copy logic is triggered, causing the ID to be regenerated.

2019-05-21 18:20:51 GMT <alfresco-discord> <jpotts> Originally I should have said, "Know the difference between a "normal" copy and a copy invoked due to a check-out/check-in"

2019-05-21 18:24:49 GMT <alfresco-discord> <yreg> doesn't a checkout/checkin copy has extra properties/attributes ?

2019-05-21 18:25:07 GMT <alfresco-discord> <yreg> special ones I mean.. or maybe an association

2019-05-21 18:50:03 GMT <alfresco-discord> <jpotts> yes, but they are not always present for every invocation of the behavior

2019-05-21 19:27:49 GMT <alfresco-discord> <yreg> can you switch to on commit for that particular hook ? or is it mandatory to execute for every event ?

2019-05-21 20:11:37 GMT <AFaust> So, why not have a beforeCheckOut to flag the node as "to be ignored" via a transactional attribute, and reset that flag onCheckOut? Same with beforeCreateVersion / afterCreateVersion...

2019-05-21 20:12:21 GMT <AFaust> afterCreateVersion => onCreateVersion....

2019-05-21 20:15:49 GMT <AFaust> Only special situation that may be hard to determine is archiving / restoring from archive store, as those are not well covered by behaviours and can be a bit confusing (there is no before policy for both, only an onRestore policy - no onArchive one, and on a low-level they include regular onCreateNode behaviours)

End of Daily Log

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