Migrating Legacy Transform to T-Engine

cancel
Showing results for 
Search instead for 
Did you mean: 
joergd
Active Member

Migrating Legacy Transform to T-Engine

Hi folks,

I'm using a legacy transform in ACS 6.2 together with a custom actions, that processes new documents. Basically, documents are converted (via folder rules) to searchable PDFs (by use of OCRMyPDF). With transition to ACS 7.0, this is not working anymore, because the transform mechanism changed towards T-Engines and former (deprecated) transform classes have been removed.

Now, I'm trying to migrate this to the new transform API. I already managed to move the conversion process (OCR) to it's own independant T-Engine, which runs just fine when used with it's embedded test form. The piece I'm missing currently, is how I wire this to the custom action used in the folder rule. I followed a ton of posts, blogs, github content already, but didn't find the right clue yet.

As this is probably quite a common use case, I wonder what I overlooked...
I would welcome some hints or references to some documents/examples.

7 Replies
angelborroy
Alfresco Employee

Re: Migrating Legacy Transform to T-Engine

You may try to create your own action, so you can execute that from a Folder Rule.

Some sample implementation is available in https://github.com/keensoft/alfresco-simple-ocr/blob/master/simple-ocr-repo/src/main/java/es/keensof...

Hyland Developer Evangelist
joergd
Active Member

Re: Migrating Legacy Transform to T-Engine

Thanks for your response.

The referenced action gives me a first impression how this could work. Unfortunately, the code is using the older SDK 3.0 and does not work with 7.0 (SDK 4.1). Quite a few things seem to have changed there.

Do you know of any other actions example utilizing SDK 4.1 (and idealy some T-Engine)?

EddieMay
Community Manager
Community Manager

Re: Migrating Legacy Transform to T-Engine

Hi @joergd 

Jeff Pott's Developer Tutorials have been updated to work with SDK 4.1.

HTH,

Digital Community Manager, Alfresco Software.
Problem solved? Click Accept as Solution!
joergd
Active Member

Re: Migrating Legacy Transform to T-Engine

Ok, thanks @EddieMay.

(Hopefully) final question: Where can I find information how to interface with a T-Engine from my custom action? Are there any high-level (transformer) API classes available to handle the REST calls implicitly, or do I need to handle the REST stuff on my own?

Any java code examples (not necessarily actions) are very welcome.

boneill
Partner

Re: Migrating Legacy Transform to T-Engine

Hi @joergd ,

 

I have a very similar use case where I would like to call a metadata extractor (which is now supported through Tengines) based on a rule.  Did you figure out how to call the specific transform from the rule action script (js or java)?

Regards

Brian

 

angelborroy
Alfresco Employee

Re: Migrating Legacy Transform to T-Engine

This project would help you to use that action:

https://github.com/aborroy/alf-tengine-ocr

Hyland Developer Evangelist
joergd
Active Member

Re: Migrating Legacy Transform to T-Engine

Hi @boneill,

well, that is the basic question, I tried to figure out myself for quite a time already - without any significant progress. All examples I found in regards to integrate transformation engines so far, seem to use only implicit conversions (like for thumbnail generation, etc.). It stayed a mystery for me, how I could utilize the T-Engine via some rule action.

Now, basically just some days before your post, I more-or-less accidently bumped into the alf-tengine-ocr from @angelborroy - as he has posted already here.
The contained "embed-metadata-action" extension seems to do the magic, we were obviously locking for. However, after some deeper dive into it, I'm still puzzled how that actually works. Obviously, there is "some internal wiring", that I'm not aware of - or which I don't understand.

Unfortunately, I'm still fighting with it to get it running (in docker context). Assuming, that @angelborroy's embed-metadata-action is generally working, there is probably some issue with my setup, I need to investigate. For that, it would be tremendeously helpful, to have an understanding about the general principle and how the puzzle pieces fit together.