Alfresco Global Virtual Hack-a-thons are open to everyone in the Alfresco community. While there is typically a large percentage of attendees who are developers, we also like to see end-users, managers and other people interested in Alfresco and its ecosystem of products (Content Services, Process Services, Governance Services, Application Development Framework, Digital Workspace, Activiti Cloud etc.).
The projects being worked on during the event can also focus on any kind of technical to non-technical topic, such as enhancing documentation or defining business requirements for critically missing features to be discussed / passed on to Alfresco. The more technical people in the event also welcome the opportunity to be exposed to different perspectives on the way Alfresco can be used to solve problems, or to get constructive feedback on the projects they are working on at the event (Axel Faust - Announcing the (first) Global Virtual Hack-a-thon 2019)
By reporting Boriss Mejias' comment, Xenit actively participates to the Alfresco community events.
Toon Geens, one of the lead system engineers at Xenit Solutions, has been working with Alfresco for a long time, so he is always looking to manage and maintain best practices and efforts. When asked about the project he presented during the Hackathon, he was very positive about it, stating that"start.xenit.eu" is a project that can save time and help to share best practices.
Introducing Xenit Initilializr
Xenit Initializr (start.xenit.eu) is a functional project in development, with the mission to help and simplify the life of developers when they start a new Alfresco project.
In a nutshell, Xenit Initializr is a tool that allow developers to quickly bootstrap an Alfresco project. Typically, when a developer wants to start a project in Alfresco, he has to find lots of pieces and put them together inside the coding environment. This means that he has to spend about an hour before he can even get started on his new project. Also, the developer should be up to date on the best practices and methods for configuring his approach. This is not always the case with many developers - who might often be working on multiple projects. So, Toon's idea is to provide a kick-start for this project by pre-loading the best practices into the module. Xenit Initializr is built on top of the open source Spring Initializr. Toon further modified it by taking application generator and applied all the Alfresco components on top; then he provided the option to have this project based on the Alfresco Maven SDK, or on Xenit's Alfred Gradle SDK.
The Alfresco SDK comes with a few Maven archetypes that can be used to generate Alfresco extension projects. The SDK generates a static template, where you can start from. Because it's static, and it is pre-loaded with the Alfresco template, there is not much a developer can change or edit. However, developers can begin their projects at start.xenit.eu, and instead of putting the puzzle together, they can now kick start a new project with the most recent and up to date best practices and methods. As a result, it becomes easier to start projects and spread the knowledge of managing projects more efficiently. Also, Maven or the other tools provide templates that are limited in what they allow developers to do. But now, by using Xenit Initializr, they can select a lot more options, like enterprise or community versions, they can select dependencies like APIX, back end connectors, Oracle DB connector- all of which are automatically put directly into the project template - which allow developers to start immediately their business logic.
When it all comes together, starting a project with best practices and methods will make jump starting an Alfresco project more efficient. Not to mention, that using a static template which is not yet adapted to specific use cases, waste a lot of time and resource. As an IT and developer company we, at Xenit, have many projects happening in parallel and each one is slightly different. It would then be a great benefit for us to have a system where we can update SDKs, as best practices evolve and developers can check new projects to see how new methods should be applied. However, there is still a bit of a gap as to where we are now and where we would like to get the project. But for now, this solution is better than status quo.