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-09-03 01:12:16 GMT <grendal_prime> this just no sense. I cant move the old data to the new server...how is this considered stable?

2019-09-03 06:07:09 GMT <alfresco-discord> <MorganP> Because you aren't doing what you should

2019-09-03 06:07:27 GMT <alfresco-discord> <MorganP> If you don't know what you are doing, don't ask why it's not working

2019-09-03 06:08:13 GMT <alfresco-discord> <MorganP> I'm sorry but I read the messages since yesterday and all you are doing it complaining

2019-09-03 06:08:53 GMT <alfresco-discord> <MorganP> Start by reading the documentation, understand what needs to be done and then you will be able to do migrations on your own and work with Alfresco

2019-09-03 06:12:47 GMT <alfresco-discord> <MorganP> If there is no custom metamodel or similar things then a migration is only replacing the new (empty) data with the old (used) data as well as replacing the new DB content with the old DB content (dump for ex).

2019-09-03 06:13:16 GMT <alfresco-discord> <MorganP> For a first try, you can ignore the solr index and just let Alfresco rebuild the index on the new server automatically

2019-09-03 06:13:34 GMT <alfresco-discord> <MorganP> Check the logs and you will see on first startup that Alfresco is upgrading itself automatically

2019-09-03 06:19:20 GMT <alfresco-discord> <MorganP> The most important point is really to check the logs. If something goes wrong, it will tell you what went wrong or at least some hints in some cases

2019-09-03 06:21:15 GMT <alfresco-discord> <MorganP> This is the general documentation about the upgrade process: https://docs.alfresco.com/5.2/tasks/upgrade-process.html

2019-09-03 06:21:16 GMT <alfbot> Title:Upgrading Alfresco Content Services | Alfresco Documentation (at docs.alfresco.com)

2019-09-03 06:22:59 GMT <alfresco-discord> <MorganP> You can read the whole section, there are a lot of interesting information: https://docs.alfresco.com/5.2/concepts/ch-upgrade.html

2019-09-03 06:23:02 GMT <alfbot> Title:Upgrading | Alfresco Documentation (at docs.alfresco.com)

2019-09-03 06:25:58 GMT <alfresco-discord> <MorganP> Don't really care about the upgrade path, it's for enterprise versions. For the community one, there is no official upgrade path so it depends on what you want to do but usually 5.0 to 5.2 should be possible in one go without going through 5.1 first, at least for simple installations

2019-09-03 08:16:35 GMT <hi-ko> MorganP: You're right. Quote from stack overflow: "Answers (even correct ones) are not useful if they contribute to the demise of the site."

2019-09-03 09:04:56 GMT <alfresco-discord> <MorganP> Maybe I have been a little bit harsh in the first three sentences, that wasn't my goal at all. I'm sorry about that if it wasn't communicated properly. We are here to help obviously so I believe everybody should try to bring good vibes here (incl. me).

2019-09-03 09:38:02 GMT <alfresco-discord> <bhagyas> @Thijs Do you have any suggestions on how to implement token replacement on the Share extension (versions) in gradle builds when using the gradle sdk?

2019-09-03 09:38:03 GMT *** Karasu is now known as Raven

2019-09-03 09:38:37 GMT <alfresco-discord> <bhagyas> I'm trying to figure out the phase when to perform it, and whether the Amp plugin is using a temporary location I can overwrite processed files

2019-09-03 09:57:53 GMT <alfresco-discord> <Thijs> @bhagyas what do you mean with token replacement?

2019-09-03 09:58:46 GMT <alfresco-discord> <bhagyas> There are share module descriptors which used to have tokens such as ${module.version}

2019-09-03 09:58:56 GMT <alfresco-discord> <bhagyas> they were earlier being replaced by Maven resources plugin (filtering)

2019-09-03 09:59:09 GMT <alfresco-discord> <bhagyas> Trying to figure out how to replace these automatically with Gradle build

2019-09-03 09:59:47 GMT <alfresco-discord> <Thijs> let me see, shouldn't bee very hard

2019-09-03 09:59:49 GMT <alfresco-discord> <bhagyas> I was trying to configure the Amp plugin by using tasks.withType(Amp), but a bit stuck at figuring out where I should post the destination

2019-09-03 09:59:52 GMT <alfresco-discord> <bhagyas> yeah

2019-09-03 10:00:27 GMT <alfresco-discord> <bhagyas> The amp plugin deletes evidence, so trying to figure out where to override/write the processed files

2019-09-03 10:00:46 GMT <alfresco-discord> <bhagyas> deletes or leaves no traces

2019-09-03 10:00:49 GMT <alfresco-discord> <bhagyas> *

2019-09-03 10:00:49 GMT <alfresco-discord> <bhagyas> 😄

2019-09-03 10:08:55 GMT <alfresco-discord> <Thijs> so you can do this in your module.properties: module.version=${project.hello}

2019-09-03 10:09:08 GMT <alfresco-discord> <Thijs> and in your build.gradle

2019-09-03 10:09:23 GMT <alfresco-discord> <Thijs> ext { hello = "world" }

2019-09-03 10:09:34 GMT <alfresco-discord> <Thijs> works for me

2019-09-03 10:09:47 GMT <alfresco-discord> <Thijs> is that what you are looking for?

2019-09-03 10:10:14 GMT <alfresco-discord> <bhagyas> yeah, but it only works for properties files

2019-09-03 10:10:21 GMT <alfresco-discord> <bhagyas> I want to have it working for xml files

2019-09-03 10:10:40 GMT <alfresco-discord> <bhagyas> module.version = ${project.hello} doesn't work, it has to change to $project.hello

2019-09-03 10:10:48 GMT <alfresco-discord> <bhagyas> it skips over the curly braces

2019-09-03 10:11:13 GMT <alfresco-discord> <Thijs> weird, because I just tried

2019-09-03 10:11:20 GMT <alfresco-discord> <bhagyas> did it work for xml files?

2019-09-03 10:12:10 GMT <alfresco-discord> <bhagyas> I was trying something like this ->

2019-09-03 10:12:14 GMT <alfresco-discord> <bhagyas> task replaceProperties(type: Copy, overwrite: true) { println "replacing properties. " from sourceSets.main.amp.config into "$buildDir/amp" filesMatching("*/.xml") { filter ReplaceTokens, tokens: [version: 'undefined'] } } tasks['amp'].dependsOn("replaceProperties");

2019-09-03 10:12:22 GMT <alfresco-discord> <Thijs> didn't try that

2019-09-03 10:13:08 GMT <alfresco-discord> <Thijs> I'll go to lunch now, but I will have a look this afternoon

2019-09-03 10:13:20 GMT <alfresco-discord> <Thijs> feel free to open a github ticket

2019-09-03 10:13:31 GMT <alfresco-discord> <Thijs> it is sounds like a very valid request to me

2019-09-03 10:13:57 GMT <alfresco-discord> <bhagyas> yeah sure, thank you

2019-09-03 10:14:26 GMT <alfresco-discord> <bhagyas> I'm trying to create a custom task, btw - I also have a new Task called generateImplicitLocales for Alfresco compatibility reasons

2019-09-03 10:14:52 GMT <alfresco-discord> <bhagyas> It automatically creates en and en_US .properties for locale non specified property files

2019-09-03 10:15:08 GMT <alfresco-discord> <bhagyas> Maybe it can get included in the gradle plugin itself

2019-09-03 10:24:02 GMT <alfresco-discord> <IanW> If anyone can shed any light on this it would appreciated - thanks! https://community.alfresco.com/message/847272-ldap-sync-fails-after-cleanalfproptablespostexecsqlcleanalfproptablessql

2019-09-03 10:24:04 GMT <alfbot> Title:LDAP sync fails after CleanAlfPropTablesPo... | Alfresco Community (at community.alfresco.com)

2019-09-03 10:25:17 GMT <angelborroy> I fixed that once removing values from database

2019-09-03 10:25:21 GMT <angelborroy> Let me find the reference

2019-09-03 10:28:06 GMT <angelborroy> It’s something like this

2019-09-03 10:28:07 GMT <angelborroy> https://community.alfresco.com/thread/233887-synchronisation-impossible-no-property-value-exists-for-id

2019-09-03 10:28:09 GMT <alfbot> Title:Synchronisation impossible : No property value ... | Alfresco Community (at community.alfresco.com)

2019-09-03 10:28:13 GMT <angelborroy> But I don’t know the real cause

2019-09-03 10:34:36 GMT <alfresco-discord> <IanW> Thanks - I saw that, tried it, moved the problem to a different id - at a push I'll keep trying until it stops erroring but don't really like doing direct db ops without understanding it a bit more

2019-09-03 10:35:28 GMT <alfresco-discord> <IanW> I do have a working copy from a little while earlier but not sure how much that helps.

2019-09-03 10:48:24 GMT <alfresco-discord> <yreg> Hey @IanW I had this a while back, and I managed to solve it with a JS Console script I crafted

2019-09-03 10:48:33 GMT <alfresco-discord> <yreg> Let me look it up for you

2019-09-03 10:48:51 GMT <alfresco-discord> <Thijs> @bhagyas

2019-09-03 10:49:01 GMT <alfresco-discord> <Thijs> you can add copyspecs to the amp task

2019-09-03 10:49:04 GMT <alfresco-discord> <Thijs> amp { config { from("src/main/expand") { include '*/.xml' expand('hello':'world') } } }

2019-09-03 10:51:33 GMT <alfresco-discord> <Thijs> then it needs to be in a separate folder

2019-09-03 11:01:28 GMT <alfresco-discord> <bhagyas> Let me see into it now

2019-09-03 11:02:28 GMT <alfresco-discord> <Thijs> so basically, you can add to the default config copyspec

2019-09-03 11:02:36 GMT <alfresco-discord> <Thijs> and copyspecs in gradle allow expansions

2019-09-03 11:04:17 GMT <alfresco-discord> <bhagyas> I'm going to try this now

2019-09-03 11:04:22 GMT <alfresco-discord> <bhagyas> task replaceTokens (type: Copy) { from("src/main/config") { include '**/*.xml' expand('version':'undefined') } into "$buildDir/replaced" sourceSets.main.amp.config.srcDirs += "src/legacy/amp/config" } tasks['amp'].dependsOn("replaceTokens");

2019-09-03 11:04:52 GMT <alfresco-discord> <bhagyas> With my new update to the SDK, it should be possible to add additional sourceDirs to config

2019-09-03 11:05:53 GMT <alfresco-discord> <Thijs> so why not:

2019-09-03 11:06:13 GMT <alfresco-discord> <bhagyas> trying now

2019-09-03 11:06:18 GMT <alfresco-discord> <bhagyas> > Missing property (project) for Groovy template expansion. Defined keys [version, out].

2019-09-03 11:06:20 GMT <alfresco-discord> <bhagyas> ARGH!

2019-09-03 11:07:35 GMT <alfresco-discord> <Thijs> you want to keep it in the same folder?

2019-09-03 11:09:05 GMT <alfresco-discord> <bhagyas> YES!

2019-09-03 11:09:06 GMT <alfresco-discord> <bhagyas> it worked

2019-09-03 11:09:22 GMT <alfresco-discord> <Thijs> so what did you use now?

2019-09-03 11:09:30 GMT <alfresco-discord> <bhagyas> task replaceTokens (type: Copy) { from("src/main/amp/config") { include '**/*.xml' expand('version':'undefined') } into "$buildDir/replaced" } sourceSets.main.amp.config.srcDirs += "$buildDir/replaced"

2019-09-03 11:09:52 GMT <alfresco-discord> <bhagyas> you need to accept that pull request for this to work ;

2019-09-03 11:09:54 GMT <alfresco-discord> <bhagyas> 😉

2019-09-03 11:10:06 GMT <alfresco-discord> <bhagyas> hehe

2019-09-03 11:10:55 GMT <alfresco-discord> <Thijs> you don't want to put your xml's that need expansion in a separate folder I suppose?

2019-09-03 11:11:13 GMT <alfresco-discord> <bhagyas> not really

2019-09-03 11:11:34 GMT <alfresco-discord> <bhagyas> since I want to maintain maven backwards compatibility at most cases

2019-09-03 11:11:46 GMT <alfresco-discord> <Thijs> ok

2019-09-03 11:11:49 GMT <alfresco-discord> <bhagyas> (we use SDK 2.2)

2019-09-03 11:12:11 GMT <alfresco-discord> <bhagyas> and moving around files can be a bit much in some cases

2019-09-03 11:12:37 GMT <alfresco-discord> <bhagyas> so now, I have a different src/legacy/config for files that are not compatible with Alfresco 6

2019-09-03 11:12:46 GMT <alfresco-discord> <bhagyas> so I can include them by toggling a flag on gradle build

2019-09-03 11:12:56 GMT <alfresco-discord> <bhagyas> which is lovely!

2019-09-03 11:14:10 GMT <alfresco-discord> <Thijs> cool, in our multi-alfresco builds, we have subprojects for each version

2019-09-03 11:14:18 GMT <alfresco-discord> <Thijs> but they can share the common part

2019-09-03 11:14:44 GMT <alfresco-discord> <bhagyas> I want to use the gradle sdk to build two artefacts, one for <6 and one for 6+

2019-09-03 11:15:12 GMT <alfresco-discord> <bhagyas> and I want to explore being able to split the src container into three

2019-09-03 11:15:22 GMT <alfresco-discord> <Thijs> anyway, the expansion feature is something we should describe on github, since I can feel your pain there

2019-09-03 11:15:28 GMT <alfresco-discord> <bhagyas> and merging these as required (legacy + core) , (modern + core)

2019-09-03 11:15:29 GMT <alfresco-discord> <Thijs> I guess we just did not need it yet

2019-09-03 11:15:43 GMT <alfresco-discord> <bhagyas> to create the builds

2019-09-03 11:15:44 GMT <alfresco-discord> <bhagyas> yeah

2019-09-03 11:17:22 GMT <alfresco-discord> <bhagyas> Also like the fact the gradle supports dynamic IDE source configuration

2019-09-03 11:17:50 GMT <alfresco-discord> <bhagyas> so when I want to work on the legacy, I can switch the flag and it automatically switches to legacy dependencies

2019-09-03 11:18:13 GMT <alfresco-discord> <bhagyas> ^_^

2019-09-03 11:18:39 GMT <alfresco-discord> <bhagyas> thank you for creating this awesome sdk

2019-09-03 11:19:12 GMT <alfresco-discord> <Thijs> Thank you for providing useful feedback

2019-09-03 11:19:21 GMT <alfresco-discord> <bhagyas> 😃

2019-09-03 11:19:54 GMT <alfresco-discord> <Thijs> did you have a look at the comments on your PR?

2019-09-03 11:20:02 GMT <alfresco-discord> <bhagyas> not yet, will do now

2019-09-03 11:21:12 GMT <alfresco-discord> <Thijs> I'll probably first release a new minor with the fixes that are currently on master, and then a new major with your PR, when it's ready

2019-09-03 11:23:22 GMT <alfresco-discord> <bhagyas> done

2019-09-03 11:23:27 GMT <alfresco-discord> <bhagyas> Added comments to all

2019-09-03 11:25:12 GMT <alfresco-discord> <bhagyas> Strange that Github didn't notify me to review the PR comments

2019-09-03 11:25:22 GMT <alfresco-discord> <Thijs> ah, ok

2019-09-03 12:15:27 GMT <alfresco-discord> <Loftux> Why would a user that has "Contributor" permissions failt for addAspect: nodeService.createNode(...) and right after this nodeService.addAspect(nodeRef, ContentModel.ASPECT_TEMPORARY, null);

2019-09-03 12:16:12 GMT <alfresco-discord> <Loftux> Gets accessDenied. Create works, so the user should have full permissions by being the "Owner"

2019-09-03 12:16:39 GMT <alfresco-discord> <yreg> @IanW couldn't find it back

2019-09-03 12:16:49 GMT <alfresco-discord> <Loftux> But maybe the "Owner" permissions isn't applied until after persisted?

2019-09-03 12:17:18 GMT <alfresco-discord> <yreg> at least not the final version that actually worked, I only found the initial draft I sent to my colleague who had access to execute it on the restricted environment

2019-09-03 12:18:27 GMT <alfresco-discord> <yreg> var context = Packages.org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext(); var SyncStatus = Packages.org.alfresco.repo.security.sync.SyncStatus; var attributeService = context.getBean('attributeService', Packages.org.alfresco.service.cmr.attributes.AttributeService); var ROOT_ATTRIBUTE_PATH = ".ChainingUserRegistrySynchronizer"; var STATUS_ATTRIBUTE = "STATUS";

2019-09-03 12:18:27 GMT <alfresco-discord> logger.log(attributeService.getAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE)); /* experimental stuff */ attributeService.removeAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE); attributeService.createAttribute(SyncStatus.COMPLETE_ERROR.toString() ,ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE); logger.log(attributeService.getAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE));

2019-09-03 12:18:42 GMT <alfresco-discord> <yreg> var context = Packages.org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext(); var SyncStatus = Packages.org.alfresco.repo.security.sync.SyncStatus; var attributeService = context.getBean('attributeService', Packages.org.alfresco.service.cmr.attributes.AttributeService); var ROOT_ATTRIBUTE_PATH = ".ChainingUserRegistrySynchronizer"; var STATUS_ATTRIBUTE = "STATUS";

2019-09-03 12:18:43 GMT <alfresco-discord> logger.log(attributeService.getAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE)); /* experimental stuff */ attributeService.removeAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE); attributeService.createAttribute(SyncStatus.COMPLETE_ERROR.toString() ,ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE); logger.log(attributeService.getAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE));

2019-09-03 12:19:00 GMT <alfresco-discord> <yreg> @MEE6 is preventing me from sending it 😡

2019-09-03 12:20:37 GMT <alfresco-discord> <IanW> @yreg - thanks - can you attach it to the community question?

2019-09-03 12:20:57 GMT <alfresco-discord> <bhagyas> @mbui Can you see if @MEE6 is blocking url posts?

2019-09-03 12:21:38 GMT <alfresco-discord> <bhagyas> @yreg @MEE6 also blocked me from posting a link on another discord yesterday, Hope @mbui can resolve it

2019-09-03 12:21:50 GMT <alfresco-discord> <bhagyas> He is the @MEE6 expert

2019-09-03 12:24:56 GMT <alfresco-discord> <bhagyas> @Thijs how do you debug AMPs created using gradle?

2019-09-03 12:25:29 GMT <alfresco-discord> <yreg> @IanW done !

2019-09-03 12:28:02 GMT <alfresco-discord> <Thijs> @bhagyas You mean debugging the code, or the build itself?

2019-09-03 12:30:22 GMT <alfresco-discord> <IanW> @yreg - thanks

2019-09-03 12:34:21 GMT <alfresco-discord> <bhagyas> the code

2019-09-03 12:34:47 GMT <alfresco-discord> <Thijs> @bhagyas We usually combine it with our alfresco docker gradle plugin

2019-09-03 12:34:53 GMT <alfresco-discord> <Thijs> and remote debugging

2019-09-03 12:35:10 GMT <alfresco-discord> <bhagyas> is there an example with remote debugging enabled?

2019-09-03 12:35:22 GMT <alfresco-discord> <bhagyas> I can't seem to be able to find it on Github

2019-09-03 12:36:11 GMT <alfresco-discord> <yreg> @IanW let me know how that goes 😉

2019-09-03 12:37:49 GMT <alfresco-discord> <Thijs> @bhagyas we are in the process of publishing and documenting our toolings, but not all of that is done yet

2019-09-03 12:38:35 GMT <alfresco-discord> <Thijs> https://github.com/xenit-eu/alfresco-gradle-sdk/issues/13

2019-09-03 12:38:38 GMT <alfbot> Title:Error message when using outdated version of gradle is not clear · Issue #13 · xenit-eu/alfresco-gradle-sdk · GitHub (at github.com)

2019-09-03 12:38:47 GMT <alfresco-discord> <IanW> @yreg - will do, and update the question

2019-09-03 12:38:57 GMT <alfresco-discord> <Thijs> https://github.com/xenit-eu/docker-alfresco#how-do-i-access-the-tomcat-debugport-

2019-09-03 12:38:58 GMT <alfbot> Title:GitHub - xenit-eu/docker-alfresco: Xenit specific Alfresco images (at github.com)

2019-09-03 12:39:29 GMT <alfresco-discord> <Thijs> we use those base images, so you can easily enable debug

2019-09-03 12:39:51 GMT <alfresco-discord> <Thijs> and the images are built using https://github.com/xenit-eu/alfresco-docker-gradle-plugin

2019-09-03 12:39:52 GMT <alfbot> Title:GitHub - xenit-eu/alfresco-docker-gradle-plugin: A gradle plugin to create Alfresco docker images with extensions (at github.com)

2019-09-03 12:40:10 GMT <alfresco-discord> <Thijs> the docker-compose part is not really documented yet there

2019-09-03 12:41:29 GMT <alfresco-discord> <Thijs> you can ship your own docker-compose.yml file (by default in the root of the project)

2019-09-03 12:41:57 GMT <alfresco-discord> <Thijs> the image built gets injected:

2019-09-03 12:42:09 GMT <alfresco-discord> <Thijs> version: '2.2' services: alfresco: image: ${DOCKER_IMAGE}

2019-09-03 12:43:01 GMT <alfresco-discord> <Thijs> @Toon Geens and his team is working to make it all ready to use (but not quite there yet): https://start.xenit.eu/

2019-09-03 12:43:59 GMT <alfresco-discord> <Thijs> you do not have to use our images, but then you have to specify your tomcat/webapps dir

2019-09-03 12:45:37 GMT <alfresco-discord> <mbui> @yreg Can you PM me the link you tried to send?

2019-09-03 12:46:08 GMT <alfresco-discord> <yreg> it was the code snippet included here : https://community.alfresco.com/message/847277-re-ldap-sync-fails-after-cleanalfproptablespostexecsqlcleanalfproptablessql?commentID=847277#comment-847277

2019-09-03 12:46:10 GMT <alfbot> Title:LDAP sync fails after CleanAlfPropTablesPo... | Alfresco Community (at community.alfresco.com)

2019-09-03 12:50:28 GMT <alfresco-discord> <testing123> var context = Packages.org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext(); var SyncStatus = Packages.org.alfresco.repo.security.sync.SyncStatus; var attributeService = context.getBean('attributeService', Packages.org.alfresco.service.cmr.attributes.AttributeService); var ROOT_ATTRIBUTE_PATH = ".ChainingUserRegistrySynchronizer"; var STATUS_ATTRIBUTE = "STATUS";

2019-09-03 12:50:29 GMT <alfresco-discord> logger.log(attributeService.getAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE)); /* experimental stuff */ attributeService.removeAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE); attributeService.createAttribute(SyncStatus.COMPLETE_ERROR.toString() ,ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE); logger.log(attributeService.getAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE));

2019-09-03 12:50:48 GMT <alfresco-discord> <testing123> var context = Packages.org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext(); var SyncStatus = Packages.org.alfresco.repo.security.sync.SyncStatus; var attributeService = context.getBean('attributeService', Packages.org.alfresco.service.cmr.attributes.AttributeService); var ROOT_ATTRIBUTE_PATH = ".ChainingUserRegistrySynchronizer"; var STATUS_ATTRIBUTE = "STATUS";

2019-09-03 12:50:49 GMT <alfresco-discord> logger.log(attributeService.getAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE)); /* experimental stuff */ attributeService.removeAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE); attributeService.createAttribute(SyncStatus.COMPLETE_ERROR.toString() ,ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE); logger.log(attributeService.getAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE));

2019-09-03 12:51:16 GMT <alfresco-discord> <mbui> Hmm.. seems as the code snippet is caught in the "repeated text" module. I can disable it.

2019-09-03 12:51:56 GMT <alfresco-discord> <testing123> var context = Packages.org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext(); var SyncStatus = Packages.org.alfresco.repo.security.sync.SyncStatus; var attributeService = context.getBean('attributeService', Packages.org.alfresco.service.cmr.attributes.AttributeService); var ROOT_ATTRIBUTE_PATH = ".ChainingUserRegistrySynchronizer"; var STATUS_ATTRIBUTE = "STATUS";

2019-09-03 12:51:56 GMT <alfresco-discord> logger.log(attributeService.getAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE)); /* experimental stuff */ attributeService.removeAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE); attributeService.createAttribute(SyncStatus.COMPLETE_ERROR.toString() ,ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE); logger.log(attributeService.getAttribute(ROOT_ATTRIBUTE_PATH, STATUS_ATTRIBUTE));

2019-09-03 12:53:27 GMT <alfresco-discord> <IanW> @yreg - looks like a step in the right direction in that it's changed the id that's reported - a more elegant way to get the same result as the sql suggested by @angel.borroy - gives me a good place to start - thanks again!

2019-09-03 13:45:38 GMT <AFaust> IanW: I also threw my hat into the ring of that question, since it can be as simple as just a cache inconsistency caused by the cleanup process.

2019-09-03 13:48:21 GMT <alfresco-discord> <yreg> @afaust in my case restart wasn't enough

2019-09-03 13:58:36 GMT <AFaust> Then something was really rotten...

2019-09-03 13:59:43 GMT <AFaust> Like a transactionally inconsistent run of the cleanup + concurrent attribute / prop_value updates...

2019-09-03 14:00:03 GMT <alfresco-discord> <IanW> Unfortunately not just a restart - it's made itself known through several ways but I'm trying to fix it as part of a 5.1 to 5.2 upgrade

2019-09-03 14:00:57 GMT <alfresco-discord> <IanW> There's a related jira which has the fix as disabling the cleanup job

2019-09-03 14:02:13 GMT <alfresco-discord> <IanW> In the log you can see that the clean up job is running at the same time as a sync which probably doesn't help

2019-09-03 14:03:19 GMT <AFaust> Yeah - problem also is, that the cleanup job can run for a very long time due to its brute-force all-or-nothing approach

2019-09-03 14:04:07 GMT <AFaust> Anyway, just wanted to state some of the cases I have observed since no one had mentioned caches yet

2019-09-03 14:04:55 GMT <alfresco-discord> <IanW> Thanks for the input - would have been nice if that was the problem

2019-09-03 14:59:40 GMT <alfresco-discord> <IanW> Thanks for the help - think I've got it now - will update the question after more testing

2019-09-03 14:59:58 GMT <hi-ko_> btw could someone please write something like a blog article with an howto/views/examples to analyse, fix data in the attribute store tables? ;-)

2019-09-03 15:03:48 GMT <hi-ko_> yreg's approach by getting attributeService in JS is a good starting point.

2019-09-03 15:16:44 GMT <alfresco-discord> <IanW> I'll add a bit when I update that post, but probably not a blog

2019-09-03 15:18:03 GMT <hi-ko_> IanW: just kidding an playing "make a wish"

2019-09-03 15:34:47 GMT <alfresco-discord> <IanW> I know 😀

End of Daily Log

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