We have spent an highly pleasant time together at the Alfresco DevCon 2018 and here are some thoughts about my experience and my contributions at this huge event.
UPDATE LOG: As Richard Esplin kindly mentioned in the comment, I have updated the section about the future of Share with the correct message. Sorry for this and thanks to Richard for reading my article and for proposing this correction. I have also added something about the recent involvement of the community in the ADF roadmap.
Dinner before the conference
The day before the beginning of this event, me and Luis enjoyed a very good dinner at LX Factory together with other fabulous Alfresco Community Stars. We have tasted different kind of starters and I have personally tried a huge and tasty Portuguese Burger with different spices and a nice beer served in a very long glaaaaaaaaas, check out the photo below:
Training day - Introduction to Alfresco
We have signed as TAI Solutions a partnership agreement with ECMCoreAveri and we have started to collaborate together for creating and delivering worldwide training courses around the Alfresco Digital Business Platform.
During the first day I contributed as an International Certified Alfresco Instructor for delivering the course about all the basics of the Alfresco Platform development.
We held a class with 50 attendees on all the Alfresco fundamentals covering Alfresco Content Services and Alfresco Process Services. Finally at the end of the day Ole Hejlskov (Developer Evangelist at Alfresco) described the ADF approach.
I have personally edited the material with related labs and I held the session in the classroom about the following topics:
- Setup of the Alfresco SDK: pre-event paper, JDK, passing to Apache Maven and archetypes
- Alfresco Administration Tools: from the Admin Console to the Bulk File System Import
- A complete example of process definition in APS with moderation and document generation
- Sabine Esser (Director at ECMCoreAveri)
- Kevin Enlund (eLearning Project Manager at Alfresco)
- Darryl Quinn (Director of Worldwide Education Services at Alfresco)
This training day has gone very well even if we had some issues with the WIFI network, we resolved using my clean Maven repository built from scratch for this course and then we copied it into some USB keys. This allowed every attendee to correctly use the Alfresco SDK and then to complete all the required labs.
I would like to thank all the involved people in the training room, my colleague Shoeb and Oliver but also Sabine, Kevin and Darryl helped a lot during labs.
Delivering training courses with so many different language speaking people, it is every time challenging, not only for us as instructors but also for attendees!
Thank you to all the attendees for kindly listening this huge amount of informations that are rained on you :)
VIP Award received for Open Source involvement
During the last day, and before my session, Alfresco together with the Order of the Bee gave an Alfresco VIP Award to 20 community members around the world. For each one they have shared the main reason and the goal achieved in terms of contribution for the nomination.
I received this unexpected Alfresco VIP Award for all my contributions in different Open Source projects and communities and for improving interoperability among these ecosystems.
This is so awesome and I would like to thank Alfresco and all the members inside the Board of the Order of the Bee for this important recognition of my work around communities!
Thank you so much to Alfresco and the Order of The Bee! Very appreciated ^__^
Session - Apache ManifoldCF Output Connectors
During the last day I held the session with my friend Luis Cabaceira about content migration using Apache ManifoldCF.
We had the honor to be introduced on the stage by Nathan McMinn (Senior Director of Premiere Services at Alfresco) and we received a lot of interesting feedbacks about our presentation from partners and customers and if you need more informations about it, please feel free to contact me.
I would like to also thank Nathan for having mentioned us in his retrospective shared in the community forums.
We can summarize our presentation on the following topics:
- Luis started to introduce the scenario and our contribution to this project
- I introduced the Apache ManifoldCF approach with its own core framework capabilities
- I have shown a video about the new CMIS Output Connector describing how to migrate contents from a generic CMIS-compliant repo to an Alfresco repository without writing any line of code
- Luis then started to show another demo about the new Alfresco BFSI Output Connector. BFSI stands for Bulk File System Import tool provided by the Alfresco Repository, this tool is aimed to execute batches for importing contents from a generic file system to Alfresco. This procedure allow any developers to also define eventually standard Java properties files for each content to decorate accordingly all the migrated content with the right properties. In this section Luis described how to create in output a file system based on the BFSI format that is generated from contents taken from different kind of repos such as: a generic file system, using the Alfresco WebScripts Indexer from an Alfresco repo and using the CMIS binding using a generic CMIS-compliant repo. Notice that using the BFSI output format, you can easily (and quickly) migrate contents using the in-place mode if you drop all the contents inside the Alfresco content store directory. This will allow to avoid the stream for binaries without the need to use the ContentService during the import process. This will drastically improve the overall performance for migrating contents going to strongly work only on the Alfresco database without having any effect for the file system because contents will remain in the same location under the content store directory just written by ManifoldCF.
- Luis also explained and has shown how the framework also supports incremental crawling for addition. We are also working to correctly manage and synchronize also removed contents.
If you want to contribute on this effort or you just want to try this work, below you find references for building these new connectors from the related branch. Hope this helps :)
CMIS Output Connector
Alfresco BFSI Output Connector
At the end of our presentation Nathan said: <<You guys are some kind of Starsky and Hutch for content migration!!!>> and then I had to create the following meme for commemorating this cool moment :)
Conference and Alfresco Roadmap
As you probably know I'm a videogamer and you can imagine how much I was enthusiastic when I saw John Newton mentioning Destiny 2 as a very good example of design of a potential and real user interface.
The benefit of the interaction between a Guardian in Destiny and his own Ghost (this is the name of his intelligent mini drone) allows him to be focused on the action, leaving to the Ghost any further suggestion for the next step to accomplish during his mission.
Bungie has integrated the Ghost with Amazon Alexa and this means that you practically could have a real Ghost near you, while you are playing the game. You can talk to your Ghost to interact with the game in real time and changing your equipment with a voice command.
We should spend some words on Bungie that has done a very good job also in terms of designing the public API around the game. This good approach allowed developers to implement different applications using part of the entire game repository around the user assets.
Considering the overall conference, I have to confess that there were an impressive amount of interesting sessions that it was impossible to follow at the same time. I'm looking forward to take a look at these presentations and videos when they will be published on the DevCon website.
It's clear that the future of Alfresco platform is even more related to DevOps approaches with a brand new vision for UX. We have to consider that Alfresco is investing and bringing the previous effort from Share to new standard frameworks to improve the adoption.
Having a huge crowd of developers that can easily create apps on top of Alfresco using skills that now we found in the market can be very effective and I agree with this approach. I would have only wanted more community involvement before pulling ADF out of the cylinder.
Anyway I'm very happy to see that now we have an active discussion with the community about the future of ADF. The discussion started from a simple tweet by Jeff for passing to Bindu and then Mario. If you take a look at what the community is doing it is simply awesome! Great job to everyone from Alfresco guys to community members :)
Alfresco Share is not actually deprecated but considering that is a ready to use application for achieving some generic and common collaboration functionalities, they consider this good enough for making easier an initial adoption of the platform.
I personally think that every time in Content Services and ECM area, it is hard to find a customer / use case that can fit with a generic user interface. Typically it makes sense to work on specific requirements aligned with functionalities across roles and the entire enterprise organization.
What we can expect from this new point of view is trying to bring different UX experiences built with a community approach but vertically specific for each industry or set of needed capabilities.
The new Application Developer Framework (ADF) is starting to be the supported and suggested way for implementing your own front-end apps. And here we see that all the previous energy invested in Share now is all focused on ADF that will be also supported by Alfresco itself.
Finally I want just to say that it was so fun to exchange opinions and considerations about the market and all the different aspects around Alfresco with all of you during the break, lunch and dinner.
Thank you all for having spent great moments together! See you at the next Alfresco DevCon!
I'll update this post as soon as possible with new photos and all the material related to our session with the presentation and the demo videos when it will be published from Alfresco.
Stay tuned ;)