Projects and Teams BeeCon Hackathon 2016

Document created by angelborroy Moderator on May 9, 2016Last modified by kgastaldo on May 11, 2017
Version 5Show Document
  • View in full screen mode



These are project ideas for the BeeCon Alfresco Developer Conference Hack-a-thon 2016.

For each project, you should consider addressing the following:


  • The idea owner(s)
  • A brief description
  • Any prep work for the project, such as developer tools or skills participants should understand



Definition of document + metadata versioning behaviour requirements (Community perspective)


Idea owner: Boriss Mejias / Order of the Bee

Description: There was a discussion on IRC (January 2016) and private Order of the Bee mails about how confusing versioning of documents + metadata can be in Alfresco. It does not help that it isn't consistent across various interfaces of Alfresco. This project idea is about a Community initiative to collect, discuss and define requirements for document + metadata versioning as expected by the majority of users / customers. The result of this project would be used to engage with Alfresco in efforts to see all or a substantial subset addressed in the core platform.
This project focusses on knowledge sharing and conceptual collaboration over actual implementation of a working addon / showcase Small code snippets may need to be drawn up to illustrate aspects of the requirements or ideas for APIs.

Excerpts from mail discussion:

Boriss Mejias (19.01.2016)
There was a discussion on the IRC about how confusing is the versioning of documents+metadata in Alfresco. It's clearly a part of Alfresco that can be improved, and this improvement could come from the community, and what a better place than coming from BeeCon. Axel, Loftux and Bhagyas had good ideas during the discussion. It would be great is one of them provides a proposal.

Angel Borroy (20.01.2016)
Versioning in Alfresco (1 & 2) has been always odd for developers and users, so a Community initiative should be right in order to get this function well done. Hack-a-thon is a nice place to start and maybe some Order of the Bee member can continue it later till get a release candidate.

Axel Faust (20.01.2016)
The hackathon should certainly be the most reasonable place to work on that versioning topic. I too see the primary goal in defining expectations, priorities, and more importantly contracts about interaction with various interfaces and extensibility (which some may argue has been limited in the core so far). Different to normal hackathon projects I wouldn’t expect any executable demo to be ready by the end of the day, but I prefer a vision-complete design document and some properly documented interface definitions over any proof-of-concept state that may be hard to follow up on later.
Not to open a different can of worms, but when talking about versioning in an ECM environment, I’d also see other aspects lacking proper attention. Metamodel versioning just to name one, which appears more important now with 5.1 content model manager. But that’s a discussion to be had when we cut out our work at the start of the hackathon day…

Interested participants:


Result: Versioning Improvements


(Better) Job Framework for Alfresco Repository


Idea owner: Jens Goldhammer (via Twitter: initial tweet)

Description: Alfresco provides only limited tools in configuring / managing jobs in the Alfresco Repository. Apart from Spring-based trigger beans and CronScheduledQueryBasedTemplateActionDefinition few utilites exist to make interaction with jobs easy for developers and administrators. This project may choose to implement any of the following potential features / utilities:


  • job-based logging - log per job (type / single execution), access from admin UI(s) or at least convention based log filing structure for previous executions
  • dynamic start parameters (not just triggering a job from admin UI(s) but also providing potential overrides for default job parameters)
  • dynamic activation / scheduling changes (either Enterprise specific due to JMX reliance or generic approach)

Interested participants:


  • Add your name here...


JavaScript Console - Support for multiple / alternative execution environments


Idea owner: Axel Faust (and users who filed issues in JavaScript Console GitHub project)

Description: The JavaScript Console addon by Florian Maul (contributed to by Jens Goldhammer and various other community members) supports executing JavaScript controller logic and FreeMarker templates on the web script layer of the Repository tier (Rhino- and FreeMarker-based). Some users of the addon have in the past inquired about an option to support executing the JavaScript and FreeMarker on the Share-tier web script layer instead (i.e. to prototype integrations with other applications via the remote root scope object). I (Axel Faust) am working on a Nashorn-based script processor and having JavaScript Console support executing scripts on that processor would be an important factor for other developers to adopt this new script engine in the future.
This project would try to enhance the JavaScript Console to support:


  • pluggable execution environments for JavaScript script (and FreeMarker templates)
  • (backwards compatibility) provide execution and API discovery (type-ahead) support for Repository-tier web script layer
  • provide execution and API discovery support for Share-tier page / component / web script layer(s)
  • (bonus) provide basic execution support for Nashorn-based script processor

Interested participants:


  • Add your name here...


Google Vision API Integration


Idea owner: Angel Borroy

Description: Experiment with (evolving) Google Vision API to enrich image contents / metadata within Alfresco ECM. This project may use an addon by keensoft as a starting point and expand the features to cover more of the the Vision API spectrum.

Interested participants:





Using ReactJS in Share widgets


Idea owner: Emlyn Clay,

Description: Creating an Alfresco Share widget is not limited to using the UI libraries and tools built into Alfresco Share, namely YUI, Freemaker templates and a site-based controller webscript. If you treat the Alfresco Repository as _just_ the data layer and move the controller code into your Share extension entry point you can make use of just about anything. One exceptional Javascript MVC framework to emerge in the last 3 years is ReactJS; it's highly performant, comes with a lovely templating system (JSX) and can be used to build modern reactive web applications. Emlyn has a proof of concept demo as well as a working application that makes up the protoype of a new share widget for Rubble Workflow. This project will use that proof of concept as a base and then hack on new ideas to use ReactJS in Share widgets with whatever concept the interested participants fancy looking at.

Interested participants:


  • Emlyn Clay,
  • Add your name here...

Result: available at Rubble GitHub project


BlueCourrier : How to Install, Configure and Adapt to Suit Customer's Needs


Idea owner: Jean-Christophe Kermagoret,

Description: Using BlueCourrier out of the box is generally not enough for customers. They generally want some basic adaptation such as specific properties and forms to reflect thier needs. During this session, we'll install BlueCourrier and integrate a basic data model and form in the application's existing elements to suit your requirements. We and all interested community members can then seat and talk about extensions, improvements...

Interested participants:


The BlueAppStore Project : A New Approach for Business Users to Adapt Alfresco Themselves


Idea owner: Jean-Christophe Kermagoret,

Description: In many organizations, a new role appears, kind of a mix beetween developer and domain specialist. Such users want to very quickly (2 or 3 hours) create applications to manage documents and associated metadata in the most possible automated and easy way. If Alfresco provides basic tools such data and form modeler, they are too complex and lack a way to package, deploy and share results easily. The BlueAppStore Project is a community response to address these different issues in the same tool (conception, deployment, share) but important questions arise because deploying an addon open new perspectives and create new difficulties. This project idea is the opportunity to talk about available existing features and to collect, discuss and define requirements you may have for this new role and this new approach.

Interested participants:



Result presentations

The result presentations have been recorded and the video is available on YouTube.

Please note that the video content is missing for the first minutes