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-04-21 00:50:39 GMT <douglascrp> ~later tell eswbitto I didn't get that

2017-04-21 00:50:39 GMT <alfbot> douglascrp: The operation succeeded.

2017-04-21 06:36:05 GMT <Pritam> hi

2017-04-21 06:36:46 GMT <Pritam> anyone to help

2017-04-21 06:37:08 GMT <Pritam> We are using Aikau framework to integrate to one of our intranet applications, where we have the option to upload files within a directory structure.

2017-04-21 06:37:45 GMT <Pritam> How can I override /alfresco/services/ContentService.js in Alfresco v5.0.2

2017-04-21 07:18:12 GMT <DarkStar1> Morning everyone

2017-04-21 07:31:12 GMT * yreg greets the #alfresco channel !

2017-04-21 07:31:24 GMT *** yreg is now known as Guest41367

2017-04-21 09:44:10 GMT <fcorti> SUggest guys... suggest please

2017-04-21 09:44:11 GMT <fcorti> https://twitter.com/FrkCorti/status/855353056313188352

2017-04-21 09:47:39 GMT <qwebirc32846> Hi Guys, I am trying to parse isodate to a more suitable format for a user

2017-04-21 09:47:47 GMT <qwebirc32846> widgets : [ { name : 'alfresco/renderers/Date', config : { format : "yyyy-MM-dd'T'HH:mm:ss.SSSX", propertyToRender : 'time' } } ] The date string is like this -> 2017-04-11T12:13:27.103+05:30

2017-04-21 09:48:06 GMT <qwebirc32846> but in the UI its showing "Modified undefined by undefined", what am I missing / doing wrong here

2017-04-21 09:48:31 GMT <Magdalena> hi, how can i return a response value from ajax request success callback?

2017-04-21 09:51:21 GMT <Magdalena> for example, i'd like to access var task = response.json.taskId from other function

2017-04-21 09:53:53 GMT * AFaust wonders when Zylk will get their web server + links-sharing-via-Twitter act together. Even search results from Google end in a default HTTPd page or 404...

2017-04-21 10:04:08 GMT <AFaust> qwebirc32846: I guess you are missing the simple : true configuration property on your widget instance

2017-04-21 10:04:33 GMT <AFaust> Because unless you specify that, the widget will try to look for cm:modified and cm:modifier

2017-04-21 10:05:33 GMT <AFaust> Magdalena: You never return a response value from an Ajax request success callback. The nature of this callback is always going to be asynchronous, so you do not have a caller to which you can return a value

2017-04-21 10:06:07 GMT <AFaust> All the logic dealing with the response must be handled by the success callback - or any function that it calls in turn

2017-04-21 10:08:58 GMT <qwebirc32846> @AFaust tried to simple:true but no luck it still shows Modified undefined by undefined

2017-04-21 10:11:33 GMT <AFaust> I don't know what version of Aikau you are using, but in the latest version setting simple and propertyToRender will toggle the rendering mode that you want.

2017-04-21 10:15:19 GMT <qwebirc32846> is the format "yyyy-MM-dd'T'HH:mm:ss.SSSX" for date string 2017-04-11T12:13:27.103+05:30 valid ?

2017-04-21 10:16:16 GMT <Magdalena> @AFaust i want to access var task, from that request. How can i make that variable global? Should i define var task outside of my function?

2017-04-21 10:16:42 GMT <Magdalena> or should i call function inside success callback?

2017-04-21 10:17:50 GMT <AFaust> qwebirc32846: That is ISO8601 and it is valid, yes. The format of the value is not relevant for toggling between the default and the simple render mode though, only the two configuration properties that I mentioned.

2017-04-21 10:18:57 GMT <qwebirc32846> Thanks a lot AFaust, I guess I am using older version of aikau, I'll try to update and verify it.

2017-04-21 10:19:11 GMT <AFaust> Magdalena: If you want to access the task from that response then either put the relevant code you want to run in the success callback, pass the data to another function or store it in an object instance property. NEVER use global variables to pass data around - that is one of the dirtiest things one can do in JavaScript...

2017-04-21 10:37:32 GMT <Magdalena> @AFaust thanks a lot for the help, i'll try it now :)

2017-04-21 12:13:44 GMT <Faiz_> ?join

2017-04-21 12:13:58 GMT <Faiz_> Hi There

2017-04-21 12:14:43 GMT <Faiz_> How to create role to add users in website just like manager role but without access to document library

2017-04-21 12:23:41 GMT <Guest41367> got this link https://docs.google.com/spreadsheets/d/1xOyS54LbuwXnPHPo-Yw-NfuCv7lyDENAdRmDvAYuOx4/edit#gid=0 from community newsletter today

2017-04-21 12:23:42 GMT <alfbot> Title: BeeCon: Alfresco User Research Sign-up - Google Sheets (at docs.google.com)

2017-04-21 12:23:58 GMT <Guest41367> is it wise to share email in plain in a public document ?

2017-04-21 12:38:03 GMT <AFaust> Guest41367: It is up to the people that do enter their data to make that decision for themselves. I personally would use a "burn" or non-critical address for this. An alternative would have been to create a Google form with all the available time slots as options...

2017-04-21 12:38:53 GMT <AFaust> fcorti: I guess the base question is something you should take on...

2017-04-21 12:48:46 GMT <fcorti> mmmm... interesting

2017-04-21 12:49:02 GMT <fcorti> thank you for pointing me on this AFaust and Guest41367

2017-04-21 13:47:10 GMT <Loftux> For the Renfe tickets, I can by them at the train station when arriving in Barcelona? That web site is impossible to use…

2017-04-21 13:55:07 GMT <Guest41367> Loftux: we ended up buying ticket with the full price after struggling with the site for few days, after waiting for the coupon for few weeks

2017-04-21 13:58:40 GMT <fcorti> I had the same problems

2017-04-21 13:58:52 GMT <fcorti> Angel suggests to buy them in advance... asap

2017-04-21 13:59:34 GMT <Loftux> Yay having a conference at a location so hard to reach,,,

2017-04-21 14:00:39 GMT <Loftux> So they may sell out of train tickets? The train ticket cost is close to what we pay for flights.

2017-04-21 14:01:06 GMT <Guest41367> Loftux: more expensive in my case <grin>

2017-04-21 14:02:04 GMT <Guest41367> return flight for ~110 EUR vs one way train ~60 EUR

2017-04-21 14:17:29 GMT <digcat> try using the discount !!! see if you can make renfe website!

2017-04-21 14:17:34 GMT <digcat> work

2017-04-21 14:19:09 GMT <AFaust> I don't know how the price is determined by RENFE - there does not seem to be a stable price table as we have here in Germany.

2017-04-21 14:19:38 GMT <AFaust> Though to be fair, if you book reasonably in advance, the ticket is only ~30 € one way.

2017-04-21 14:20:04 GMT <AFaust> Of course I didn't follow my own advice and only booked yesterday...

2017-04-21 14:20:43 GMT <digcat> its mystical, we ended up ditching trying the discount code and going with the standard fare, barcelona to zaragoza 40eurio

2017-04-21 14:20:43 GMT <Guest41367> AFaust: We though it was better to wait for the discounts... we ended up paying double the original price :D

2017-04-21 14:25:10 GMT <AFaust> I must admit I completely forgot about the discount...

2017-04-21 14:25:48 GMT <Guest41367> Lucky you

2017-04-21 14:26:11 GMT <AFaust> ^^ you forgot the "irony" sign...

2017-04-21 14:26:23 GMT <AFaust> correction: "sarcasm" sign

2017-04-21 14:29:14 GMT <Loftux> Almost there, found the english version of Renfe and then: The process cannot continue right now. We apologise for any inconvenience (G001-PTBB)

2017-04-21 14:32:19 GMT <Loftux> All the best coders in Spain are doing Alfresco I guess, none has paid attention to Renfe.

2017-04-21 14:32:26 GMT <digcat> hehe

2017-04-21 14:32:48 GMT <digcat> think its a way to reduce congestion on the trains :)

2017-04-21 14:58:34 GMT <Guest41367> afaust, can you confirm that with these properties, there is no risk of transactions being committed to alfresco DB ?

2017-04-21 14:58:36 GMT <Guest41367> server.transaction.mode.default=readonly server.transaction.allow-writes=false

2017-04-21 14:59:56 GMT <Guest41367> will check the logs later for your reply, thanks

2017-04-21 15:00:18 GMT <AFaust> I cannot confirm that. I remember there is code in Alfresco (mostly during startup) that explicitly ignores/circumvents these parameters

2017-04-21 15:02:37 GMT <AFaust> The allow-writes parameter is evaluated by the SysAdminParamsImpl bean and until that initialisation code is run, any component that uses transactions via the TransactionService can technically write.

2017-04-21 15:03:27 GMT <AFaust> server.transaction.mode.default is only relevant for service-level transaction handling AOP to ensure a transaction is active. If client code explicitly initiates a transaction, that value is only used to check if the isolation level is sufficient.

2017-04-21 15:03:39 GMT <AFaust> I.e. to ensure a write operation will fail in a read-only transaction.

2017-04-21 15:04:40 GMT <AFaust> Since web scripts and other components typically initialize their own transactions based on their definitions, the server.transaction.mode.default is meaningless.

2017-04-21 15:07:33 GMT <AFaust> allow-writes also only works for code that explicitly checks TransactionService.getAllowWrite()

2017-04-21 15:08:31 GMT <AFaust> The RetryingTransactionHelper will be initialised based on that getAllowWrite() to readOnly true/false, but its API provides a setForceWritable(boolean) operation

2017-04-21 15:13:02 GMT <AFaust> By checking the call hierarchy I even noticed that the AuditComponentImpl will use that API at any time (not just startup) to record audit values triggered by read-only transactions.

2017-04-21 15:13:54 GMT <AFaust> You could only guarantee no transactions are committed to the DB if you ensure the DB user only has read privileges... But then Alfresco may even fail to startup.

2017-04-21 15:15:49 GMT <Guest41367> AFaust: What I need, is that I do a full reindex for snapshot of production

2017-04-21 15:16:37 GMT <Guest41367> in an upgrade project

2017-04-21 15:16:54 GMT <Guest41367> and then be able to catch up on the changes that happened since that snapshot

2017-04-21 15:17:24 GMT <Guest41367> I am afraid that if alfresco is not run in readonly mode, there might be collision in transactions

2017-04-21 15:17:33 GMT <Guest41367> and my indexes might get corrupted

2017-04-21 15:18:01 GMT <AFaust> Ok - that use case can easily be covered without being too paranoid about transactions...

2017-04-21 15:19:07 GMT <AFaust> Set the allow-writes property. That should work for all "normal" operations, e.g. jobs etc

2017-04-21 15:19:35 GMT <Guest41367> so I am not really concerned by the real DB transactions as much as I am concerned with Alfresco logic transactions that solr uses for tracking

2017-04-21 15:19:42 GMT <AFaust> Do not expose the Repository to any calls (e.g. simply block any calls except from SOLR)

2017-04-21 15:20:25 GMT <AFaust> And backup the index as soon as it is complete...

2017-04-21 15:20:41 GMT <Guest41367> well the new environment is only available behind VPN, so I assume there is no risks there

2017-04-21 15:21:01 GMT <AFaust> I did a similar thing with a Lucene-based customer two years ago, and we didn't even bother with allow-writes. Everything went perfectly...

2017-04-21 15:21:06 GMT <Guest41367> but to be safe I will disable share

2017-04-21 15:21:28 GMT <Guest41367> AFaust: thanks !

2017-04-21 15:21:37 GMT <Guest41367> have a good weekend !

2017-04-21 15:21:45 GMT <AFaust> It is primarily a question of communication and discipline. If a server is "off-limits" then no one in the team should access it...

2017-04-21 15:22:42 GMT <Guest41367> indeed

2017-04-21 15:27:53 GMT * AFaust is shocked to find String != comparisons in Alfresco core Java code. Someone sure is assuming every arbitrarily-qualified developer knows all pre-defined constants and obeys the (unwritten) rule to re-use them...

2017-04-21 16:01:47 GMT <oussama> Can anyone explain to me why AOS module isn't open source although it is part of CE now?

2017-04-21 16:04:00 GMT <resplin> oussama: https://community.alfresco.com/community/ecm/blog/2016/03/29/applying-the-open-core-model-in-alfresco-51

2017-04-21 16:04:01 GMT <alfbot> Title: Applying the Open Core Model in Alfresco 5.1 | Alfresco Community (at community.alfresco.com)

2017-04-21 16:04:14 GMT <AFaust> resplin: Too fast, I was just about to hit enter...

2017-04-21 16:04:30 GMT <resplin> It's rare that I answer something faster than you!

2017-04-21 16:04:53 GMT <AFaust> I was distracted coming up with a tweet referencing Aussies, Roy and hackathon just then...

2017-04-21 16:05:04 GMT <oussama> <resplin> thank you

2017-04-21 16:44:50 GMT <rootinshell> since i configured a reverse proxy using apache24 mod_jk, my alfresco share is not indexing anymore

2017-04-21 16:45:01 GMT <rootinshell> what could be the root cause ?

2017-04-21 16:48:52 GMT <twen> behind a proxy, you need to set alfresco as localhost everywhere. do not use your domain name anywhere except in the alfresco-config return address (don't remember the variable name yet)

2017-04-21 16:49:30 GMT <twen> I suppose lucene is set to use your domain name instead of localhost or local machine :)

2017-04-21 16:51:00 GMT <rootinshell> twen: true ! let me check that :)

2017-04-21 16:55:25 GMT <resplin> Time to log out and pack for Zaragoza.

2017-04-21 17:01:47 GMT <rootinshell> twen: same for solr4 is i'm not using lucene ?

2017-04-21 17:59:56 GMT <AFaust> ~later tell twen: I can't really understand your reasoning for "behind a proxy, you need to set alfresco as localhost everywhere". Using localhost is really a hack for not understanding how proxying works and what (proper) names to use.

2017-04-21 17:59:56 GMT <alfbot> AFaust: The operation succeeded.

2017-04-21 18:08:03 GMT <AFaust> yreg_: I seem to remember you complaining about transactional queries and NULL checks... Know what day that was so I can scour the logs? Currently doing last polishes on my TMQ talk and going through some of the recent stuff for details

2017-04-21 18:08:55 GMT <yreg_> AFaust, I abandoned

2017-04-21 18:08:59 GMT <yreg_> that road

2017-04-21 18:09:26 GMT <AFaust> It was something related to "property existence" vs "null value", but my recollection is spotty

2017-04-21 18:09:29 GMT <yreg_> opted for a completely different solution

2017-04-21 18:09:37 GMT <yreg_> indeed

2017-04-21 18:10:12 GMT <yreg_> I wanted to spot both, but only getting null values was possible

2017-04-21 18:10:40 GMT <AFaust> Actually, CMIS "IS NULL" will return both the non-existing and null values.

2017-04-21 18:10:56 GMT <AFaust> The only problem is you cannot differentiate between those two

2017-04-21 18:11:10 GMT <AFaust> Just did a test on my local 5.2

2017-04-21 18:11:40 GMT <yreg_> well, I had an other issue with CMIS

2017-04-21 18:12:18 GMT <yreg_> joining on an other aspect and looking for values where an other property is actually defined but null

2017-04-21 18:12:44 GMT <AFaust> Yeah - the "property is set but null" cannot be determined at all

2017-04-21 18:12:45 GMT <yreg_> I do not recall when/where I stopped trying and opted for a different solution though

2017-04-21 18:13:04 GMT <AFaust> But in my opinion, "property is set but null" is a useless state anyway...

2017-04-21 18:13:30 GMT <AFaust> A waste of bytes in DB storage

2017-04-21 18:13:51 GMT <AFaust> Ok - then my recollection was mostly complete.

2017-04-21 18:14:16 GMT <yreg_> it might have been a bit different I can look it up later if you want

2017-04-21 18:14:29 GMT <yreg_> the usecase is still a bit blurry

2017-04-21 18:14:38 GMT <yreg_> that was at least 10 days ago

2017-04-21 20:41:29 GMT <yreg_> AFaust, Just remembered what I was trying to do

2017-04-21 20:44:36 GMT <yreg_> I was trying to lookup all documents having one Aspect A1 with a property set to a non null value and (not having an other Aspect A2 or having A2 with a specific exact value in on property)

2017-04-21 20:44:57 GMT <yreg_> gave up after 6 hours of trying and code browsing

2017-04-21 20:49:29 GMT <yreg_> ended up using a batch processor and a solr FTS query instead of struggling with TMQ and run like crasy in js console !

End of Daily Log

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