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-09-20 07:17:50 GMT <fwu> hi all!

2017-09-20 07:25:45 GMT <twen> iOS11 File : https://twitter.com/twenster/status/910389175924469761

2017-09-20 07:25:48 GMT <twen> :D

2017-09-20 07:28:01 GMT <yreg> Morning

2017-09-20 07:28:05 GMT <yreg> Hey twen

2017-09-20 07:29:15 GMT <twen> hi yreg o/

2017-09-20 08:28:49 GMT <kumarim> hello. I am trying to add a string variable(having numbers) with 1 in a .js file. but it is showing the value is undefined or it is just concatinating the value with 1. can anyone help with this ?

2017-09-20 08:29:29 GMT <kumarim> var abc = "123";

2017-09-20 08:29:51 GMT <kumarim> var sum = parseInt(abc)+1;

2017-09-20 08:30:20 GMT <kumarim> how do I get the value of sum as 124

2017-09-20 08:38:28 GMT <popochon2> hi

2017-09-20 08:55:31 GMT <yreg> kumarim, this is definitely not the place for this question, this channel is supposed to cover exclusively alfresco-related topics

2017-09-20 08:56:00 GMT <yreg> as for your Question Number(stringVar) + otherNumber should work just fine

2017-09-20 09:03:58 GMT <AFaust> yreg, kumarim: Though parseInt(abc) + 1 is also correct

2017-09-20 09:05:40 GMT <AFaust> And I prefer parseInt over the number constructor, because you can (and always SHOULD) specify the specific base of the number, e.g. parseInt(abc, 10) + 1 or parseInt(abc, 16) + 1 (if you have a hex number)

2017-09-20 09:32:06 GMT <MorganP> Anyone already tried to change the username (login) of an Alfresco User?

2017-09-20 09:32:21 GMT <MorganP> It's not possible through Share if I remember correctly but it should be from the DB

2017-09-20 09:32:55 GMT <MorganP> Would that have any impact...?

2017-09-20 09:41:25 GMT <MorganP> If the DB use the ID as it should, there shouldn't be any impact... But I didn't check that yet. Will probably when I will have some time

2017-09-20 10:03:57 GMT <syed> Hi, I am using alfresco 5.2d and want to compare versions of document in alfresco. Is there any open source or paid addon available? I have already tried GroupDoc and version diff addons.

2017-09-20 10:04:34 GMT <syed> but that did'nt work for me

2017-09-20 10:07:38 GMT <IanW1> MorganP: That is difficult and not recommended - I had some discussions with someone (Andy Hind?) at the Barcelona summit and I gather that a lot of the necessary work had been done but there wasn't the impetus to get it completed - having said that I think some people have done it but it's more complicated than you might think

2017-09-20 10:17:26 GMT <MorganP> IanW1: that is also what I'm thinking since I started working with Alfresco 5 years ago but now that I actually think about this, I don't really see why it would be hard

2017-09-20 10:17:40 GMT <MorganP> But I need to check the DB to see how links are done exactly

2017-09-20 10:18:10 GMT <MorganP> s/I'm/I was/

2017-09-20 10:20:05 GMT <MorganP> The only reason why it wouldn't be supported would be that the are string references in several tables instead of using the IDs...

2017-09-20 10:20:28 GMT <MorganP> And if this is the case, then yes it would be a little bit more challenging to do...

2017-09-20 10:23:26 GMT <AFaust> MorganP, IanW1: If it were just for the ACLs and auditabe properties (cm:creator / cm:modified), renaming a user would be quite trivial. The problem indeed are the unknown number of String references in any tables.

2017-09-20 10:24:25 GMT <AFaust> Most prominently, all the Activiti tables are decoupled from Alfresco tables with regards to identity management, and you'd potentially have to update all existing / historic processes + tasks to update the user name, so that the user still has access to their old + current tasks after a rename.

2017-09-20 10:25:17 GMT <AFaust> Then there is historic data in Auditing and historic (custom) process / task variables. Most of them, Alfresco can't do anything about because they have been created based on some customisations...

2017-09-20 10:25:28 GMT <AFaust> Same with any node property values based on custom content models...

2017-09-20 10:26:42 GMT <AFaust> And in some cases you might not want to modify historic data to comply with data consistency / immutability requirements...

2017-09-20 10:29:21 GMT <MorganP> All that should use the user ID

2017-09-20 10:29:27 GMT <MorganP> there is no reason not to

2017-09-20 10:29:36 GMT <AFaust> For all intents and purposes, renames of users should not be necessary in a clean system setup. i.e. I developed a customisation for a customer once that would use the AD sid attribute for user identity (a technical identifier not related to name) and add an "alias" to the user that would be the "visible user name", e.g. that you would use for authentication etc.

2017-09-20 10:30:44 GMT <AFaust> MorganP: All ARE in fact using the user ID, the problem is just that in the identity management solutions in place at most customers, the user ID is not immutable which it should be from an IDM perspective

2017-09-20 10:31:31 GMT <MorganP> by ID I mean the foreign key of the row of the user

2017-09-20 10:31:34 GMT <MorganP> not the username

2017-09-20 10:32:24 GMT <AFaust> Well - problem is, that the data in Alfresco is so abstracted that there is no viable "row ID" you could use.

2017-09-20 10:33:13 GMT <AFaust> I mean, you could use the Node DB ID of the cm:person object, but that will not do because due to an error in the LDAP / AD synchronisation the user might get accidentally deleted and re-created -- then he'd have a different row ID

2017-09-20 10:33:36 GMT <AFaust> Same with regards to the NodeRef (the Alfresco concept of a universally unique reference)

2017-09-20 10:34:53 GMT <AFaust> You said before that you needed to check the DB to see how links are done. I highly recommend you do that to understand the difficulty...

2017-09-20 10:38:04 GMT <MorganP> The whole problem is because row IDs cannot be the reference

2017-09-20 10:38:07 GMT <MorganP> but they should be

2017-09-20 10:38:42 GMT <MorganP> It means user couldn't be deleted anymore but they anyway shouldn't

2017-09-20 10:39:53 GMT <MorganP> Or the login name should be different from the user ID

2017-09-20 10:40:26 GMT <AFaust> That's what I meant with the sid + alias customisation that I did in the past.

2017-09-20 10:40:28 GMT <MorganP> That would also allow the login name to change without actually changing any other references

2017-09-20 10:40:50 GMT <MorganP> ok

2017-09-20 10:40:54 GMT <AFaust> sid was the unchangeable user ID, and login name was the alias (e.g. samAccountName in AD)

2017-09-20 10:41:03 GMT <IanW1> IIRC the proposed solution used a lookup table to map between ids as it was going to be too hard to change it

2017-09-20 10:41:30 GMT <AFaust> That would also be an approach, e.g. keep a list of historically used IDs for each user

2017-09-20 10:41:41 GMT <IanW1> I do something similar to AFaust

2017-09-20 10:43:08 GMT <AFaust> But then again you will end up blocking old values for eternity and might end up having to resort to generated names to avoid conflicts. And since in some cases user IDs are maintained externally (AD / LDAP) there is no guarantee these could not re-assign old user IDs...

2017-09-20 10:45:02 GMT <MorganP> Take the trivial case of a woman who is getting married with a user id that contains the name somehow

2017-09-20 10:45:13 GMT <MorganP> Then you are fu**ed up, it's so sad

2017-09-20 10:46:38 GMT <AFaust> Exactly... but the error was already made when defining the user name that contains a name fragment. Why not use a personel number which would be unaffected by something as trivial as a name change (which is so common that it's responsible of LDAP/AD or other system admins to not consider when defining their user name policies)

2017-09-20 10:46:59 GMT <AFaust> responsible => irresponsible

2017-09-20 10:49:29 GMT <MorganP> Probably because it's easier for users to remember something composed of their firstname/lastname than a random id but you are right...

2017-09-20 10:51:40 GMT <AFaust> You can still use human readable names for simplification, e.g. Alfresco is already capable of doing a LDAP lookup to map your login to the actual user principal name in LDAP / AD.

2017-09-20 10:51:52 GMT <AFaust> So for users nothing necessarily needs to change...

2017-09-20 10:52:36 GMT <AFaust> You just have to ensure that all systems use the proper, corporation-unique and immutable technical user ID in a consistent way...

2017-09-20 10:53:42 GMT <AFaust> And sadly, therein lies the problem. Neither product managers nor software engineers ever consider the long term issues and implement authentication handling in too naive way.

2017-09-20 10:54:54 GMT <AFaust> Case in point. Today, my customer discovered an issue with Alfresco Process Services, which cannot handle users from different domains within the AD / LDAP, because they were only supporting a configurable "default domain name" instead of doing a live lookup in LDAP (like Alfresco Content Services does)

2017-09-20 10:56:08 GMT <AFaust> So Alfresco engineers, who has a sort-of working authentication integration with AD / LDAP in an already established product, mess up implementing the exact same functionality in another product

2017-09-20 11:52:17 GMT <fwu> back

2017-09-20 11:54:35 GMT <fwu> ppl, I need some advice on this subject: I need to deploy Alfresco in a windows server and make it accessible form the internet (with a public IP). The connection to Alfresco will be ssl and I need to send email from Alfresco.

2017-09-20 11:54:55 GMT <fwu> What port should I ask to open in the firewall in order for Alfresco to work with this configuration?

2017-09-20 11:55:01 GMT <fwu> just the ssl port?

2017-09-20 11:55:49 GMT <fwu> Is there any other not so visible port I should also open?

2017-09-20 12:27:27 GMT <MorganP> It depends where you db is

2017-09-20 12:27:35 GMT <MorganP> and other components

2017-09-20 12:27:43 GMT <MorganP> but allowing all local communications is easy

2017-09-20 12:28:22 GMT <MorganP> for external access, if it's just using a Web Browser then yes ssl is sufficient

2017-09-20 12:28:37 GMT <MorganP> if you use other protocols, you need other ports

2017-09-20 12:31:02 GMT <fwu> MorganP, ok thank you. I beleive I will only need ssl port indeed. The database is on the same machine.

2017-09-20 12:32:56 GMT <fwu> hmm.. in this page:http://docs.alfresco.com/5.1/tasks/dev-extensions-share-tutorials-add-theme.html

2017-09-20 12:32:58 GMT <alfbot> Title: Adding a custom Share Theme | Alfresco Documentation (at docs.alfresco.com)

2017-09-20 12:33:12 GMT <fwu> I can read that I need to repalce this in order to repalce the login logo:

2017-09-20 12:33:51 GMT <fwu> all-in-one/add-theme-share/src/main/amp/web/themes/tutorialTheme/images/logo.png - this is the logo that shows up on the Login page.

2017-09-20 12:34:55 GMT <fwu> but it is not working for this logo. Im only able to chnage the logo in the menu header. There is also a logo in the bottom bar. How to replace these 2?

2017-09-20 12:43:13 GMT <fwu> im in 5.2

2017-09-20 12:43:39 GMT <MorganP> Maybe you can try that directly: https://www.flex-solution.com/theme/

2017-09-20 12:43:40 GMT <alfbot> Title: Create Theme (at www.flex-solution.com)

2017-09-20 12:43:59 GMT <MorganP> That might save you some time

2017-09-20 12:44:13 GMT <MorganP> But the logo at the bottom is part of the footer

2017-09-20 12:44:23 GMT <MorganP> and the login logo part of the login stuff

2017-09-20 12:44:30 GMT <MorganP> So there are three different locatiosn

2017-09-20 12:44:46 GMT <MorganP> You can also just remove the footer if you don't want it...

2017-09-20 12:48:51 GMT <fwu> MorganP, I will try that theme builder!

2017-09-20 12:48:59 GMT <fwu> thank you

2017-09-20 12:54:03 GMT <MorganP> If you don't want to change everything, just build a test one and you will see quickly where the files should be put

2017-09-20 15:04:02 GMT <fwu> MorganP, this share amp must be really an amp or may be a jar file? It seems it is overwriting files so I believe it should be an amp, right?

2017-09-20 15:11:51 GMT <yreg> MorganP, I tried that one on a different CE server version (still 5.2) but did not work at all

2017-09-20 15:16:59 GMT <MorganP> I never tried it, I don't need to, I have my own amp for years

2017-09-20 15:17:09 GMT <MorganP> So maybe it's not working :D

2017-09-20 15:42:14 GMT <fwu> MorganP, it is working!

2017-09-20 15:42:19 GMT <fwu> with a jar file

2017-09-20 15:42:23 GMT <fwu> thank you!

2017-09-20 15:52:24 GMT <MorganP> usually amp do not replace files

2017-09-20 15:53:09 GMT <MorganP> Yes there are a few files that can only be extended by replacing them but most of them are just extensions that have their dedicated path on the war file

2017-09-20 15:54:08 GMT <MorganP> but since there is no need for the amp structure, yes using a jar might be better

2017-09-20 15:54:14 GMT <MorganP> it's up to you :)

2017-09-20 15:59:25 GMT <eswbitto> anyone know where I would increase the max amount of threads that alfresco handles?

2017-09-20 16:02:31 GMT <mbui> I want to create a behaviour/policy that triggers whenever a user is assigned a task, any tips on where to start?

2017-09-20 16:04:16 GMT <yreg> eswbitto, from your connector in server.xml

2017-09-20 16:05:07 GMT <yreg> mbui, I assume you are talking embedded activiti inside Alfresco Content services

2017-09-20 16:06:02 GMT <mbui> yreg: Yes that's correct

2017-09-20 16:07:21 GMT <yreg> do you want to have that run for a particular task, or all of them ?

2017-09-20 16:07:55 GMT <mbui> Yes, all of them

2017-09-20 16:08:09 GMT <yreg> There is no such policies

2017-09-20 16:08:30 GMT <yreg> you can assign something similar by intercepting WorkflowService

2017-09-20 16:09:03 GMT <yreg> and do invoke your custom logic whenever the assign method is called

2017-09-20 16:10:29 GMT <yreg> the assignment might go transparently though

2017-09-20 16:11:21 GMT <yreg> or let's say there is some edge cases that might require some special attention : Admin executing task that are not assigned to him

2017-09-20 16:11:40 GMT <yreg> Workflow intiator executing tasks that are not assigned to him

2017-09-20 16:12:46 GMT <mbui> Essentially what I want is an entry in the site calender (with the user as permission) for whenever a user is assigned a task.

2017-09-20 16:13:06 GMT <mbui> And maybe have that event removed whenever the task is finished

2017-09-20 16:13:33 GMT <eswbitto> I'm having a bit of trouble with db pool connections not being reset. For the last 3 days I've been monitoring active sessions to db connections. Concurently I have about 30 users on at one time but the amount of connections gradually maxes out at the end of the day....Is there a cleaner that is suppose to run to reset a connection when its not being used?

2017-09-20 16:14:30 GMT <yreg> eswbitto, that's what connection pools are there for

2017-09-20 16:14:49 GMT <yreg> could it be that you have extra loooooong running transactions ?

2017-09-20 16:15:07 GMT <mbui> Not sure which method to intercept either, as it seems you can simply call workflowService.updateTask with the correct properties param to change assignee

2017-09-20 16:15:44 GMT <yreg> assignTask and updateTask

2017-09-20 16:16:13 GMT <yreg> for updateTask you only execute your logic when the owner variable is being changed

2017-09-20 16:19:45 GMT <mbui> can't find this assignTask you're referring to

2017-09-20 16:22:50 GMT <eswbitto> yreg maybe another thing that I ran into yesterday that "might" be the cause is I'm getting a bunch of errors about "Failed to execute asynchronous action: Action[ id=835dc387-1d42-42a5-9c07-27a091f2ed92, node=null ]: 08191205 Transformation failed to obey timeout limit org.alfresco.error.AlfrescoRuntimeException: 08191207 Creation of thumbnail 'doclib' failed" I have over 1600 of these errors....

2017-09-20 16:23:10 GMT <eswbitto> I just assumed that these were just complex documents for it to be rendered.

2017-09-20 16:26:27 GMT <yreg> eswbitto, that migh be it

2017-09-20 16:26:59 GMT <yreg> assuming that there is thumbnails attempting to regenerate with every folder listing

2017-09-20 16:27:15 GMT <yreg> and in that process we must connect to DB to get some info

2017-09-20 16:27:34 GMT <yreg> and when transaction fails it retries multiple times before failing permanantly

2017-09-20 16:27:59 GMT <eswbitto> yreg So I think my approach should be maybe update libreoffice to maybe help with that.

2017-09-20 16:28:35 GMT <eswbitto> and also bump up the thread max if necessary....I really don't want to do that....I'm kinda hesitent.

2017-09-20 16:28:38 GMT <yreg> you could easily hit the limit if you have 10 user accessing 10 different folders having 30 corrupt thumbnails for children each

2017-09-20 16:29:12 GMT <yreg> eswbitto, if documents are too large you might want to configure transform subsystem to ignore them

2017-09-20 16:29:32 GMT <yreg> ie try to traansform documents that are 2Mb or less

2017-09-20 16:29:36 GMT <yreg> for instance

2017-09-20 16:29:48 GMT <yreg> IMHO that would be a better solution

2017-09-20 16:29:49 GMT <eswbitto> is jobconverter the transform subsystem?

2017-09-20 16:30:14 GMT <yreg> I do not think so

2017-09-20 16:30:22 GMT <yreg> depends on your version

2017-09-20 16:30:38 GMT <yreg> and the document in question (the one to be converted to thumbnail)

2017-09-20 16:30:39 GMT <eswbitto> using 5.1

2017-09-20 16:31:06 GMT <yreg> but it is usually imagemagic that does this

2017-09-20 16:33:11 GMT <eswbitto> yreg ok, thank you for pointing me in the right direction/

2017-09-20 16:37:49 GMT <eswbitto> yreg I can't really find any docs that tell which settings to set in alfresco-global.properties I did find this though. http://docs.alfresco.com/5.1/concepts/managing-transformations.html

2017-09-20 16:37:51 GMT <alfbot> Title: Managing transformations | Alfresco Documentation (at docs.alfresco.com)

2017-09-20 17:02:27 GMT <eswbitto> yreg I found this https://community.alfresco.com/thread/211670-changing-transformation-limits-version-5b so if I change each of these to 2 mb would all others be ignored or would it continue to time out?

2017-09-20 17:02:29 GMT <alfbot> Title: Changing transformation limits version 5b | Alfresco Community (at community.alfresco.com)

2017-09-20 18:14:53 GMT <fwu> ppl, I need to create an xsl file with some data in Alfresco. What is the best approach to accomplish this?

2017-09-20 18:19:37 GMT <qwebirc57442> Hi

2017-09-20 18:22:51 GMT <qwebirc37799> Ok... I will need to rewrite my question because the chat stopped working

2017-09-20 18:23:11 GMT <qwebirc37799> I would like to know why a resource bundle that I added in

2017-09-20 18:23:30 GMT <qwebirc37799> Data Dictionary/Messages

2017-09-20 18:23:41 GMT <qwebirc37799> is not automatically reloaded after I restart Alfresco

2017-09-20 18:24:09 GMT <qwebirc37799> I need to manually execute the command

2017-09-20 18:24:19 GMT <qwebirc37799> reload messages <filename>

2017-09-20 18:24:33 GMT <qwebirc37799> in the admin console every each restart

End of Daily Log

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