Alfresco discussion and collaboration. Stick around a few hours after asking a question.
Official support for Enterprise subscribers: support.alfresco.com.
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.
More help is available in this list of resources.
2019-04-09 07:58:42 GMT <alfresco-discord> <yreg> @Francesco Corti do me a favour and ask the platform team to sync with the activiti team, it seams Activiti-7 has a few tricks in its sleeve and it does a pretty good job with auditing
2019-04-09 07:59:47 GMT <alfresco-discord> <yreg> it also decouples the auditing part from the rest of the application
2019-04-09 08:04:34 GMT <alfresco-discord> <Francesco Corti> @yreg yeah, it is a good point and it is correct. Activiti Team did some progresses on this. The internal challenge is to be in sync between different teams. Not impossible, but it requires some works sometime. 😉
2019-04-09 08:05:28 GMT <alfresco-discord> <Francesco Corti> The good news is that the platfomr team is aware and in the future it will be a unique Audit service, not several. Not clear the details yet. Work in progress.
2019-04-09 13:17:38 GMT <alfresco-discord> <dgradecak> anyone knows what is happening with multi tenancy in Alfresco community? if my memory is not playing with me it has been announced that it will be removed right?
2019-04-09 13:19:39 GMT <AFaust> As always with Alfresco, it is / has been deprecated first.
2019-04-09 13:20:23 GMT <alfresco-discord> <dgradecak> will they just remove it from CE or also from ENT?
2019-04-09 13:20:36 GMT <AFaust> Interestingly though, at the API level, the TenantService is still marked as @AlfrescoPublicApi and not deprecated in Alfresco 6.1
2019-04-09 13:20:51 GMT <alfresco-discord> <dgradecak> that is what I was looking too
2019-04-09 13:20:59 GMT <AFaust> So it cannot be removed in 7.x either.
2019-04-09 13:22:07 GMT <AFaust> I guess if you were to ask anyone from Alfresco at this time, you will get the default answer of "there are no specific plans yet but the Repository team is looking at it"
2019-04-09 13:22:10 GMT <alfresco-discord> <dgradecak> do you have any clue how Solr handles MT?
2019-04-09 13:22:17 GMT <alfresco-discord> <dgradecak> I mean ASS 😄
2019-04-09 13:25:46 GMT <AFaust> Both SOLR and ASS handle MT via a special field in the query request JSON containing the tenant ID. This ID is mangled together with various other IDs during indexing and/or querying (I have seen code relating to ACL and DB ID which where mangled with tenant ID)
2019-04-09 13:26:36 GMT <AFaust> There is also a special meta field in the index called TENANT which can be directly queried, which I assume is done for the regular user queries
2019-04-09 13:27:09 GMT <alfresco-discord> <dgradecak> ok that is logical, what I never checked is what alfresco does by its own for MT or they use the standard solr MT feature
2019-04-09 13:29:10 GMT <alfresco-discord> <dgradecak> well ... talking too loud ... I guess there is only one core, there is no core per tenant?
2019-04-09 14:00:48 GMT <alfresco-discord> <dgradecak> AFaust: any idea how to setup a different datasource per tenant? at least a different schema or database
2019-04-09 14:10:01 GMT <alfresco-discord> <dgradecak> what I see in TenantRoutingDataSource it always uses the same dbUrl as the "default ds" and the dbUrl could be passed as the 4th param of create tenant but is marked as // experimental (unsupported)
2019-04-09 14:10:07 GMT <alfresco-discord> <dgradecak> nice
2019-04-09 14:23:45 GMT <AFaust> Yeah . that has been experimental for a while.
2019-04-09 14:24:23 GMT <AFaust> Problem with routing tenant to different data sources is that you can easily have operations spanning multiple tenants and then would have to support XA for all the involved data sources.
2019-04-09 14:31:48 GMT <alfresco-discord> <dgradecak> well I would not think of MT in that way, but that is plausible
2019-04-09 14:34:56 GMT <alfresco-discord> <dgradecak> if I remember correctly, at one of my clients, someone from Alfresco said do not use MT
2019-04-09 14:35:11 GMT <AFaust> Think about the Alfresco Cloud use case where you authenticate against your tenant but have access to other tenants (networks) as well, and can even copy / move content between tenants...
2019-04-09 14:35:41 GMT <alfresco-discord> <dgradecak> sure, but I am not thinking about collaborating between tenants
2019-04-09 14:36:10 GMT <AFaust> Alfresco will always say "do not use XY" in order to keep their support effort low and hide those programming / design mistakes that they known...
2019-04-09 14:36:11 GMT <alfresco-discord> <dgradecak> I would like to have a separate DB and a separate filestore ... but you would say, easily doable with different instances of Alfresco
2019-04-09 14:38:16 GMT <alfresco-discord> <dgradecak> maybe that is the way to go ... single instance per client ... I am thinking of hosting an app with Alfresco under the hood, where usually I do that with a simple property checking (query time) but than all is in a single store/db and no support for "AOS" etc ... at least no correct support but permissions
2019-04-09 14:38:43 GMT <AFaust> Filestore is easily separable via routing Content Store implementations
2019-04-09 14:38:45 GMT <alfresco-discord> <dgradecak> I use to build spring boot apps with multi tenancy enabled and having a db per tenant etc ...
2019-04-09 14:38:54 GMT <alfresco-discord> <dgradecak> filestore is easy I agree
2019-04-09 14:41:04 GMT <alfresco-discord> <dgradecak> also using a TenantRoutingDataSource (spring's AbstractRoutingDataSource) would be not that hard, however I wonder what happens to the repo bootstrap etc
2019-04-09 14:42:27 GMT <alfresco-discord> <dgradecak> and when you come to that, than it does not make sense to use the same "repo" for different tenants
2019-04-09 14:43:02 GMT <alfresco-discord> <dgradecak> a proxy with different alfresco is good .. but than running an "ASS" per tenant etc ...
2019-04-09 14:44:49 GMT <alfresco-discord> <dgradecak> that is why I wonder how ASS requests data ... but what I am thinking of does not make sense in the scope of a "repository"
2019-04-09 15:07:26 GMT <alfresco-discord> <dgradecak> btw ... can you think of this, a solr core can be configured to access whatever instance of alfresco ... but 2 different alfresco instances cannot be configured to use 2 separate cores on a same SOLR ... or I missed that for a long time?
2019-04-09 15:12:24 GMT <AFaust> The problem with using SOLR / ASS as provided by Alfresco is the shared state, which conflicts with having two really distinct Repository instances use the same SOLR server.
2019-04-09 15:13:17 GMT <AFaust> E.g. model data and cache of node metadata are shared instances as far as I am aware, and by serving two different Repository instances you run the risk of overlap due to DB / ACL ID conflicts.
2019-04-09 15:13:46 GMT <AFaust> Technically speaking you can configure a SOLR to track different Alfresco instances, yes, but those side effects make this impractical.
2019-04-09 15:14:03 GMT <alfresco-discord> <dgradecak> not sure why, if those are different cores
2019-04-09 15:14:07 GMT <alfresco-discord> <dgradecak> or "collections"
2019-04-09 15:14:14 GMT <AFaust> And the cores that the Repository instances use can be configured as far as I know
2019-04-09 15:14:42 GMT <alfresco-discord> <dgradecak> the question I am trying to find out is, where alfresco "hardocdes or whatever the "stores" used as cores
2019-04-09 15:14:48 GMT <alfresco-discord> <dgradecak> where?
2019-04-09 15:14:59 GMT <alfresco-discord> <dgradecak> I never did that
2019-04-09 15:15:11 GMT <alfresco-discord> <dgradecak> but should be doable
2019-04-09 15:15:14 GMT <AFaust> solr6.store.mappings is a post-processed composite property which can be configured via alfresco-global.properties
2019-04-09 15:16:43 GMT <AFaust> They seem to have never really documented this apart from when SOLR6 was added in 5.2: https://docs.alfresco.com/5.2/concepts/repository-properties.html
2019-04-09 15:16:44 GMT <alfbot> Title:New Alfresco Content Services configuration properties | Alfresco Documentation (at docs.alfresco.com)
2019-04-09 15:17:29 GMT <AFaust> Though that support was already in place with SOLR4 before that...
2019-04-09 15:17:48 GMT <alfresco-discord> <dgradecak> are you learning the docs by heart 😄
2019-04-09 15:20:27 GMT <AFaust> No... I had to deal with these configurations back in 2013/2014 when we developed our own faceting feature on SOLR1 way before Alfresco, and later when we updated it to support SOLR4...
2019-04-09 15:21:28 GMT <AFaust> Also, "search is your friend"
2019-04-09 15:21:30 GMT <alfresco-discord> <dgradecak> any idea what DynamicSolrStoreMappingWrapperFactory is used for?
2019-04-09 15:22:09 GMT <AFaust> Handling shards in Enterprise based on the dynamic registration, as far as I am aware
2019-04-09 15:24:02 GMT <alfresco-discord> <dgradecak> so theoretically several alf instances can use a single instance of ASS
2019-04-09 15:24:24 GMT <AFaust> Yeah - only used in SolrClientUtil and protected by the useDynamicShardRegistration property and shardRegistry != null check
2019-04-09 15:24:42 GMT <alfresco-discord> <dgradecak> that is what I was looking at
2019-04-09 15:24:53 GMT <AFaust> Theoretically yes. Practically no, due to shared / global state in ASS...
2019-04-09 15:25:45 GMT <AFaust> Think about shared.properties which is named that way for a reason...
2019-04-09 15:26:45 GMT <AFaust> Some configuration cannot be performed on a per-core level. If I had different Alfresco systems using the same ASS instance, I might want to have different configs for suggestable and cross-locale-search properties / data types.
2019-04-09 15:27:03 GMT <alfresco-discord> <dgradecak> well that is ok for my case
2019-04-09 15:27:11 GMT <alfresco-discord> <dgradecak> I do not want that
2019-04-09 15:27:21 GMT <AFaust> And again, as far as I know, the cache for node metadata / text content is also shared as global state.
2019-04-09 15:27:22 GMT <alfresco-discord> <dgradecak> since it owuld be the exact same model, same application ...
2019-04-09 15:27:48 GMT <alfresco-discord> <dgradecak> well if that last part is shared than it is a complete "screw up"
2019-04-09 15:29:12 GMT <alfresco-discord> <dgradecak> I really like the list of things that do not support multi tenancy ... "RM ..."
2019-04-09 15:29:57 GMT <alfresco-discord> <dgradecak> seems a great lack of noncollaboration in those teams ... remind me of something new also
2019-04-09 15:30:25 GMT <AFaust> For metadata / text cache, see https://github.com/Alfresco/SearchServices/blob/a84a34e19eaa4c50f0ce00b2d45efebd49946134/alfresco-search/src/main/java/org/alfresco/solr/lifecycle/SolrCoreLoadRegistration.java#L77
2019-04-09 15:30:26 GMT <alfbot> Title:SearchServices/SolrCoreLoadRegistration.java at a84a34e19eaa4c50f0ce00b2d45efebd49946134 · Alfresco/SearchServices · GitHub (at github.com)
2019-04-09 15:31:27 GMT <AFaust> The SolrContentStore is instantiated per core, but always points to the same location configured globally
2019-04-09 15:32:02 GMT <AFaust> either solrHome or whatever is set via the solr.content.dir property
2019-04-09 15:32:33 GMT <AFaust> ^^ I mean the -DSOLR_SOLR_CONTENT_DIR parameter
2019-04-09 15:33:57 GMT <AFaust> In old SOLR4 this could actually be configured via the solr4.xml in tomcat/conf/Catalina/localhost/, but with SOLR6 the -D parameter is the only way...
2019-04-09 15:34:26 GMT <AFaust> I believe they have a prepared ENV variable for that in the solr.in.sh script
2019-04-09 15:36:52 GMT <alfresco-discord> <dgradecak> indeed ... to many things bound together
2019-04-09 15:37:17 GMT <alfresco-discord> <dgradecak> so it is not just sufficent having new cores ... pfff
2019-04-09 15:38:11 GMT <alfresco-discord> <dgradecak> so one DBP per tenant is the solution 😄
2019-04-09 15:38:30 GMT <AFaust> Well, "gotta sell some subscriptions"...
2019-04-09 15:39:10 GMT <alfresco-discord> <dgradecak> my use case was this
2019-04-09 15:40:31 GMT <alfresco-discord> <dgradecak> today someone uses a cloud version of "alfresco" that you host with MT enabled and tomorrow they want to move on premises ... and all you need to do is move the storage (solr stores, db and content store)
2019-04-09 15:44:23 GMT <alfresco-discord> <dgradecak> but just of that tenant, you see
2019-04-09 16:05:44 GMT <alfresco-discord> <dgradecak> @Francesco Corti or anyone else ... is ADF/ACA somehow handling an RM site? is there a way to hide the RM site from the "Libraries" list?
2019-04-09 16:45:17 GMT <alfresco-discord> <Francesco Corti> @dgradecak I'm working on this RM site in these days. For the moment there is no way to hide it from the libraries, with an available config. You might need to act on the source code, I'm afraid.
2019-04-09 16:47:17 GMT <alfresco-discord> <dgradecak> I are not the only one afraid 😄
2019-04-09 20:19:36 GMT <alfresco-discord> <douglascrp> I am facing a weird problem with share
2019-04-09 20:19:43 GMT <alfresco-discord> <douglascrp> uploading new files works ok
2019-04-09 20:20:00 GMT <alfresco-discord> <douglascrp> but when I try to upload new version for an existing document, it fails with timeout
2019-04-09 20:20:19 GMT <alfresco-discord> <douglascrp> alfresco and share 6.1
2019-04-09 20:20:33 GMT <alfresco-discord> <douglascrp> has anyone faced this kind of problem?
2019-04-09 20:21:03 GMT <alfresco-discord> <douglascrp> and the document being uploaded is a 2 MB pdf, so it has nothing to do with limits or something like that
2019-04-09 20:25:13 GMT <alfresco-discord> <douglascrp> this is all I see in the logs https://pastebin.com/jEt5tXzy
2019-04-09 20:25:14 GMT <alfbot> Title:2019-04-09 22:21:06,504 INFO [org.springframework.extensions.webscripts.connect - Pastebin.com (at pastebin.com)
The other logs are at http://esplins.org/hash_alfresco