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

2018-12-13 08:16:14 GMT <alfresco-discord> <trbl> greetings

2018-12-13 08:18:10 GMT <alfresco-discord> <yreg> Morning everyone

2018-12-13 08:19:48 GMT <alfresco-discord> <trbl> my alfresco community suffered a blow with script gone wild... this thing is: I have the whole mysql database, the whole solr6 directories and indexes and most of the contentstore and contentstore.deleted ... I cannot start the system because it says the root.dir is missing some files... is there a way to force it to get up anyway with what I have?

2018-12-13 08:24:32 GMT <alfresco-discord> <yreg> @trbl it won't be easy for sure !

2018-12-13 08:24:45 GMT <alfresco-discord> <yreg> but it can be manageable

2018-12-13 08:25:18 GMT <alfresco-discord> <yreg> is recovering the lost data using some recovery software possible ?

2018-12-13 08:26:32 GMT <alfresco-discord> <trbl> hardly... it's on an elastic filesystem in amazon, it can only be mounted by nfs

2018-12-13 08:27:14 GMT <angelborroy> just to mention it… why don’t you restore a backup?

2018-12-13 08:27:48 GMT <alfresco-discord> <yreg> does he have backups ?

2018-12-13 08:28:00 GMT <alfresco-discord> <trbl> this is the closest to a backup we have atm

2018-12-13 08:28:53 GMT <alfresco-discord> <trbl> i'm still trying to learn how to do backups with solr6

2018-12-13 08:29:08 GMT <angelborroy> SOLR 6 is not the problem

2018-12-13 08:29:13 GMT <angelborroy> you can start Alfresco without it

2018-12-13 08:29:36 GMT <angelborroy> but database and filesystem (contentstore) are de-synchronised

2018-12-13 08:29:36 GMT <alfresco-discord> <trbl> but backups are to be done with contentstore and indexes, right?

2018-12-13 08:29:40 GMT <alfresco-discord> <yreg> @trbl I once had a similar issue, I had to debug alfresco startup and check on which files is it failing every time (over and over again) and copying those over from a fresh system (needed to adapt names and paths in content-dir)

2018-12-13 08:29:48 GMT <alfresco-discord> <yreg> It wasn't fun, and it wasn't fast

2018-12-13 08:30:12 GMT <angelborroy> backups include databaese, contentstore and indexes

2018-12-13 08:30:24 GMT <angelborroy> but you don’t need indexes to start Alfresco

2018-12-13 08:30:37 GMT <alfresco-discord> <yreg> and you can recreate them at any moment

2018-12-13 08:30:44 GMT <alfresco-discord> <yreg> just a matter of time

2018-12-13 08:31:39 GMT <alfresco-discord> <yreg> Did you try contacting AWS support they could have a solution

2018-12-13 08:32:04 GMT <alfresco-discord> <trbl> ok... I have a tree of all the files I had, at least on the site that matters the most to me, and a list of all users and groups... is there a way to know which <id>.bin file is each real file?

2018-12-13 08:33:10 GMT <alfresco-discord> <yreg> that's manageable

2018-12-13 08:33:19 GMT <alfresco-discord> <yreg> not easy either

2018-12-13 08:33:27 GMT <alfresco-discord> <yreg> do you have the metadata ?

2018-12-13 08:33:42 GMT <alfresco-discord> <yreg> it's easier to locate by metadata then by path

2018-12-13 08:34:46 GMT <alfresco-discord> <trbl> where's the metadata located?

2018-12-13 08:40:09 GMT <alfresco-discord> <yreg> ok @trbl are you good with databases ? do you find your way easily if you have few SQL queries to start from ?

2018-12-13 08:41:01 GMT <alfresco-discord> <trbl> I can do with sql... and I have a sqldump of the database, so I can also grep and script (which was my first idea)

2018-12-13 08:41:23 GMT <alfresco-discord> <yreg> grep won't work

2018-12-13 08:41:36 GMT <alfresco-discord> <yreg> you will need to import the DB to a living instance

2018-12-13 08:41:42 GMT <alfresco-discord> <yreg> grep doesn't do joins

2018-12-13 08:42:02 GMT <alfresco-discord> <yreg> so https://blog.dbi-services.com/alfresco-some-useful-database-queries/ should have more than what you need to get started

2018-12-13 08:42:05 GMT <alfbot> Title:Alfresco: some useful database queries - Blog dbi services (at blog.dbi-services.com)

2018-12-13 08:42:13 GMT <alfresco-discord> <trbl> ok, I have a live instance, no problem

2018-12-13 08:43:28 GMT <alfresco-discord> <trbl> will have a good look... thanks!

2018-12-13 08:44:10 GMT <alfresco-discord> <yreg> This one is for looking up a node based on its UUID (noderef) : SELECT n.id AS "Node ID", n.store_id AS "Store ID", round(u.content_size/1024/1024,2) AS "Size (MB)", n.uuid AS "Document ID (UUID)", n.audit_creator AS "Creator", n.audit_created AS "Creation Date", n.audit_modifier AS "Modifier", n.audit_modified AS "Modification Date", p1.string_value AS "Document Name", u.content_url AS

2018-12-13 08:44:10 GMT <alfresco-discord> "Location" FROM alf_node AS n, alf_node_properties AS p, alf_node_properties AS p1, alf_namespace AS ns, alf_qname AS q, alf_content_data AS d, alf_content_url AS u WHERE n.id=p.node_id AND ns.id=q.ns_id AND p.qname_id=q.id AND p.long_value=d.id AND d.content_url_id=u.id AND p1.node_id=n.id AND p1.qname_id IN (SELECT id FROM alf_qname WHERE local_name='name') AND

2018-12-13 08:44:11 GMT <alfresco-discord> n.uuid='eb267742-c018-4ba5-8ca4-75ca23c860f0';

2018-12-13 08:44:49 GMT <alfresco-discord> <yreg> it can easily be adapted to filter on node name instead (p1.string_value)

2018-12-13 08:45:07 GMT <alfresco-discord> <yreg> or on node parent id

2018-12-13 08:45:26 GMT <alfresco-discord> <trbl> I see...

2018-12-13 08:45:33 GMT <alfresco-discord> <yreg> you can start by locating the important site(s) then dive down to the files you need

2018-12-13 08:52:34 GMT <alfresco-discord> <MorganP> Yep I put some other questions below in my blog to list documents on sites, etc... for example

2018-12-13 08:59:31 GMT <alfresco-discord> <trbl> OK, amazing... that's exactly what I was looking for... now, the thing is how does this help me solve the missing files? I don't have a copy of those... Are you suggesting I create a dummy uuid.bin file at the correct location until it stops complaining? And then I try to get legit versions of those documents?

2018-12-13 09:02:32 GMT <alfresco-discord> <yreg> That was actually a suggestion to recover the important files you wanted to recover...

2018-12-13 09:03:15 GMT <alfresco-discord> <trbl> ah, so I recover the files, then I make tabula rasa, re-create the site, the users and upload the files again?

2018-12-13 09:03:18 GMT <alfresco-discord> <yreg> however, when your system fails because of missing important content file, you could use an other query to pinpoint which filte it was supposed to be

2018-12-13 09:04:12 GMT <alfresco-discord> <yreg> then, you could use a vanilla alfresco instance to get a hold on those files, and move them into the right location/name to unblock your recovering instance startup

2018-12-13 09:04:26 GMT <alfresco-discord> <yreg> you will need to do this with a dozen files or so

2018-12-13 09:04:49 GMT <alfresco-discord> <yreg> then you will have a buggy system up and running, and you could browse around in share

2018-12-13 09:05:23 GMT <alfresco-discord> <yreg> @MorganP didn't know that was you in that blog

2018-12-13 09:06:22 GMT <alfresco-discord> <yreg> Thanks a ton man, those queries have been lighting my road when dealing with alfresco database since quite some time !

2018-12-13 09:07:17 GMT <alfresco-discord> <trbl> yes, thanks a bunch... they provide a huge insight into alfresco inners and data lifecycle (y)

2018-12-13 09:40:46 GMT <alfresco-discord> <MorganP> @yreg Yep that's my blog. It was published a long time ago but every few months I have requests for new queries so I end up adding always more content into it haha

2018-12-13 09:49:47 GMT <AFaust> Hmm... one of my customers has ~50 million nodes, and ~24 of those are just folders. That seems kind of wasteful...

2018-12-13 09:52:09 GMT <alfresco-discord> <yreg> @AFaust if they are at least using those folders to store metadata, it is not that wasteful

2018-12-13 10:02:56 GMT <AFaust> Yeah - no, they aren't. Most are just the result of the SAP integration where the metadata is mostly identical between doc and folder. If I remember correctly, the SAP integration creates those folders because there "might" be more than one document linked to the SAP object - but there usually isn't

2018-12-13 10:28:21 GMT <alfresco-discord> <trbl> OK, according to alfresco.log, I am missing one file that's not on the results of the database query of all files... what does this mean? where's alfresco getting this missing file?

2018-12-13 10:35:22 GMT <AFaust> Hahaha, community.alfresco.com is taking a piss at me today by sending my replies to the moderation queue...

2018-12-13 10:47:11 GMT <alfresco-discord> <yreg> You are probably more active there than any spammer, so in a way it is understandable <grin>

2018-12-13 10:58:08 GMT <AFaust> I guess my reply was just so short that the system did not believe it could have been me...

2018-12-13 11:30:32 GMT <DarkStar1> Good <insert period of day> everybody

2018-12-13 11:33:07 GMT <alfresco-discord> <trbl> greetings

2018-12-13 11:33:31 GMT <alfresco-discord> <douglascrp> @DarkStar1 hey dude

2018-12-13 11:33:35 GMT <alfresco-discord> <douglascrp> better today?

2018-12-13 11:33:55 GMT <DarkStar1> Aah switching to discord.

2018-12-13 11:37:16 GMT <alfresco-discord> <trbl> @yreg I think some of the contentstore files I am missing might be users or structure files.. I have an almost twin alfresco with even many of the documents I might have lost, the problem is moving everything from one to the other... anyway... Once I start catching these "ERROR [org.alfresco.repo.admin.ConfigurationChecker] CONTENT INTEGRITY ERROR: System content not found in content store:

2018-12-13 11:37:17 GMT <alfresco-discord> 'store://2017/10/19/11/59/665d4...bin'" errors... any suggestion on solving them?

2018-12-13 12:25:54 GMT <alfresco-discord> <bhagyas> @Darkstart1 Welcome to Discord

2018-12-13 12:26:10 GMT <alfresco-discord> <bhagyas> @Darkstar1 Welcome to Discord! 😃

2018-12-13 13:21:44 GMT <alfresco-discord> <Loftux> ssh lxvmalf

2018-12-13 13:29:18 GMT * AFaust considers "SSH bot for IRC / Discord" for the next hackathon

2018-12-13 13:58:35 GMT <alfresco-discord> <drazen04> Hi, like i told yesterday, i need to calculate run-time the hash of some content in Java.

2018-12-13 13:58:37 GMT <alfresco-discord> <drazen04> https://pastebin.com/xKhYuNJF

2018-12-13 13:58:38 GMT <alfbot> Title:private String calculateCheckSum(NodeRef node) throws Exception { MessageD - Pastebin.com (at pastebin.com)

2018-12-13 13:58:44 GMT <alfresco-discord> <drazen04> this is my code

2018-12-13 13:59:02 GMT <alfresco-discord> <drazen04> but iget the reader like null

2018-12-13 13:59:23 GMT <angelborroy> @drazen04 did you read my link????

2018-12-13 14:00:17 GMT <angelborroy> @drazen04 also this one fits your goal: https://github.com/cmpaul/hashable

2018-12-13 14:00:19 GMT <alfbot> Title:GitHub - cmpaul/hashable: An Alfresco extension that provides a Hashable aspect and generates checksums for managed content. (at github.com)

2018-12-13 14:00:39 GMT <angelborroy> or maybe messages are not be sent from IRC to Discord?

2018-12-13 14:00:42 GMT <angelborroy> Who knows…

2018-12-13 14:02:21 GMT <alfresco-discord> <drazen04> Yes, i read it your link, but i was asking to manage it without create a new aspect

2018-12-13 14:02:50 GMT <angelborroy> ?!?!???

2018-12-13 14:03:01 GMT <angelborroy> and where do you want to store the hash?

2018-12-13 14:04:41 GMT <alfresco-discord> <drazen04> I'm using Alfresco from 5 days, could i have this type of questions? 😅

2018-12-13 14:06:19 GMT <angelborroy> sure

2018-12-13 14:06:37 GMT <alfresco-discord> <drazen04> I think the second link could be right for me

2018-12-13 14:06:37 GMT <angelborroy> but just follow the links and study the samples we are providing

2018-12-13 14:06:39 GMT <alfresco-discord> <drazen04> thanks

2018-12-13 14:06:47 GMT <angelborroy> you’re welcome

2018-12-13 17:25:59 GMT <grendal_prime> hey couple of questions. 1 im adding comments to some of my documents, but when i do a search for information that is in those comments, the content is not being added to the search index. (basically i cant find the docuemnt based on any information in the comments for that doc) is there a plugin or somethin i need to turn on for that to work?

2018-12-13 17:27:52 GMT <grendal_prime> and #2 is there any way, to get share, to feed the webdav location of a file to Libre office so that i can launch LO and open the document right from share. This process of downloading the doc, editing it, and then reuploading it we...frankly scares the crap out of everyone.

2018-12-13 17:28:40 GMT <alfresco-discord> <douglascrp> @grendal_prime, you can use an addon for the second item https://github.com/zylklab/alfresco-share-online-edition-addon

2018-12-13 17:28:41 GMT <alfbot> Title:GitHub - zylklab/alfresco-share-online-edition-addon: Online edition with Libreoffice in Alfresco Share (at github.com)

2018-12-13 17:32:19 GMT <grendal_prime> thanks man looking into it now

2018-12-13 18:47:29 GMT <AFaust> grendal_prime: Way back in 2012 I was doing a PoC for a big customer where we inlined the contents of comments on the index entry for the respective document so it could be searched by comment text.

2018-12-13 18:48:34 GMT <AFaust> That was using the old in-process Lucene indexing. With the separation of index from Alfresco via SOLR, such customisations have now become even harder / more difficult to achieve since you would need to patch more and more (API) classes to get the information across to SOLR and actually support new query operations.

2018-12-13 18:53:51 GMT <grendal_prime> so...in other words...No it isnt possible?

2018-12-13 18:54:24 GMT <grendal_prime> i mean i done meant to make it sound like i dont appreciate the detail of your response.

2018-12-13 18:54:53 GMT <grendal_prime> but in short ...i cant search through comments along with other document information.

2018-12-13 18:57:21 GMT <grendal_prime> thanks to alfresco-discord or douglascrp for the link on the libreoffice...that worked perfectly bro! And that feature is a huge thing for these guys. it may very well be the end of the arguments im getting about useing this more often or solely.

2018-12-13 18:58:45 GMT <grendal_prime> I do have another question though. Ive noticed that versioning does not work when i use webdav protoco, or smb, only when i use share or cms does it work properly, is there going to be any..fix for that, or is there another plugin that uses cms right from share with libreoffice?

2018-12-13 19:12:13 GMT <grendal_prime> oh...wow nevermind, that plugin seems to use some sort of magic that does update version history....dude this is bitchen, this fixes soooooo man problems i had.

2018-12-13 19:17:03 GMT <grendal_prime> ok, is there NO way to search through comments?

2018-12-13 19:34:23 GMT <alfresco-discord> <Shibak Tensai> ctrol f

2018-12-13 19:42:18 GMT <AFaust> Yeah, Ctrl+F works if you are already on the detail page of the document. Does not help for the global search at all... But I guess the sarcastic / ironic wink emoticon was implied there.

2018-12-13 19:43:15 GMT <AFaust> You can technically make documents searchable by their comments via policies and full-text indexing.

2018-12-13 19:43:53 GMT <AFaust> The trick here will be to define an aspect with a single property (type d:content) that is defined as allowing multiple values.

2018-12-13 19:44:41 GMT <AFaust> Then, when a comment is created, updated or deleted below a document, you take the cm:content value of that comment, and put it in / remove it from that custom aspect property on the document.

2018-12-13 19:45:03 GMT <AFaust> So essentially you are aggregating all the comment contents onto the document itself.

2018-12-13 19:45:48 GMT <AFaust> This will not cause any real redundancy in data storage, as you are only duplicating the link to the comment content on disk - not the comment content itself.

2018-12-13 19:46:32 GMT <AFaust> And since Alfresco indexes all properties of a node, even multi-valued d:content properties that no one can see in the UI, you can actually search for that document via its (aggregated) comments

2018-12-13 19:47:41 GMT <AFaust> The solution I mentioned for my customer in 2012 was actually a bit more complex - it had to differentiate between "public" and "private" comments, so also had to deal with custom access rules that needed to be respected during query time as well...

2018-12-13 19:49:16 GMT <AFaust> Since comments are also nodes, they can technically have different ACLs and not be visible to all. By aggregating comment contents onto the document node, you may be making comments availabel for query that not all can see (though in default Alfresco / Share, you cannot change ACLs on comments in any UI without some admin / URL hacking)

2018-12-13 19:50:03 GMT <AFaust> TL;DR - You can search by comments if you write custom code to aggregate them as a property on the document

2018-12-13 20:25:29 GMT <alfresco-discord> <Shibak Tensai> actually i was being serious, but i only read the last message. I thought he was referring to discord...not actually alfresco....doh!

End of Daily Log

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