Angel Borroy, keensoft
Tell us a little about your background and how you came to use Alfresco.
I’ve been developing mainly in Java from 1998 and I’ve spent about ten years working around electronic signature solutions. I met Alfresco in 2008, when I was involved on a huge project for Spanish Ministry of Justice, and my first impression was not so good. Some awful intermediate API was developed in front of Alfresco and performance in that case was worse than bad. For some years I was just only integrating apps with Alfresco repository (always using native API), but my real story as Alfresco developer started in 2012.
In that year, the time I met keensoft, I developed by myself a full Alfresco installation, configuration, customization and support. Since then, I’ve been studying and enjoying Alfresco every day.
What challenges did you face? What are you most proud of?
It’s always easy to remember facts near in the memory, so I’ll tell you about my last successful upgrading and migration project.
We started from two different Alfresco installations based on two different tech stacks (including different databases) and we consolidated a unique Alfresco installation with all the contents and metadata from both and even preserving UUIDs for every object. To achieve this result, we were playing with Docker, patching CMIS API implementation and modifying internal Alfresco logic by using reflection techniques.
I’ve never heard about someone facing such a project, so I think we can be proud of this one.
How are you using Alfresco currently?
I’m involved in several Alfresco implantations, mainly 5.0 CE or upper. I’m helping our customers to maintain by themselves their own server and I’m developing required customizations for them.
We have also an internal Alfresco installation in our company, and my colleagues are always asking me to improve some features. So I spend my free time developing some experiments which sometimes are so useful as to be shared with the Community.
What resources have been the most helpful?
Every Alfresco developer must start his learning by studying the Alfresco Developer Series by Jeff Potts.
In order to acquire the right background, reading the classic Professional Alfresco, Practical Solutions for Enterprise Content Management is also a must.
For specific topics, there are also nice books like Alfresco CMIS by Martin Bergljung and Learning Alfresco Web Scripts by Ramesh Chauhan.
Obviously, I’m using also all the channels provided by Alfresco: IRC, forums, wiki, docs… And even I have elaborated a Twitter list including a hundred Alfresco experts which are publishing relevant blog posts.
Finally, a nice place to talk about Alfresco is The Order of the Bee, where many Community members are working together to improve Alfresco Community product.
Any secrets, hacks or advice for new users?
It’s easy to work with Alfresco, if you know how. Following best practices, although it can be hard for newbies, always is required. Don’t think about the shorter path, but find the right one. It takes more time to work like that at the beginning, but it will save you a lot of time (and troubles) in the future.
What are you working on at the moment (could be outside of Alfresco)?
Currently I’m developing an Aikau app to integrate part of the Share functionality into an Angular JS web app. I’m also collaborating to build that Angular JS, which will prepare me to understand the new Angular 2 API provided by Alfresco next fall.
If you’ve worked on multiple Alfresco projects, which has been your favorite?
I’ve worked on more than thirty Alfresco projects by now, and everyone has been challenging and interesting. I’ve been very lucky with my customers, but maybe the more valuable for me has been the collaboration we’ve started with a University Professor specialist in information systems at the same place I studied years ago.
What’s one tech trend/software/app that really excites you?
Microservices, which is not really a new approach, will be the main topic in the next months. Google, Amazon and also Alfresco are providing little building blocks that can be combined to build amazing services for the users.
I’ve been playing this year with Google Vision API and Alfresco to provide some auto-classification features for content ingestion, but my feeling is that all this new universe is exploding just now.
Anything you’d like to share with the community?
It’s easy to reach me at Alfresco channels (IRC, forums, Order of the Bee) and to get some advice from me, however I have always my IRC window open while working not to teach but to learn. There are many people in Alfresco Community sharing useful experiences, so always is a good time to learn something new.