Global Virtual Hack-a-thon - Spring 2019
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-03-2019 10:32 AM
These are project ideas and teams for the 2019 Spring Global Virtual Hack-a-thon.
The hack-a-thon is scheduled for Friday, May 10th, 2019.
- Instructions
- For people with a project idea
- For people looking to join a project
- For everyone
- Projects
- <placeholder for project title>
- Content Services
- Prepare release 2.0 of Dynamic Extensions for Alfresco
- Build Community image(s) to split ImageMagick / LibreOffice / PDF transformers from Repository
- Take another crack at providing Alfresco base image improvements
- Better Trash Management
- OOTBee Support Tools: Upgrade to SDK 4.0 and support Alfresco Simple Modules (JAR) build artifact WI...
- Make Alfresco v1 ReST API Great (Again / Finally / Someday?)
- Package deployment for Model Manager export
- R Package for Alfresco Content
- Photo map - Let’s improve solution from last virtual hackathon
- Redundancy stopper
- Alfresco Initializr
- Google Cloud Storage Connector
- Android/iOS app (React Native and Expo) to upload pics to Alfresco
- Add SDK 3.1.0 and SDK 4.0.0 support to generator-alfresco (Yeoman generator)
- <placeholder for project title>
- Process Services
- <placeholder for project title>
- <placeholder for project title>
- Application Development Framework
- Facilitating Content Ingestion
- Saved Searches component
- Hipster ADF - Terminal Mode
- ADF Progressive App
- Search Services
- Language detection during indexing
Instructions
For people with a project idea
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
We encourage you to keep your project idea short and provide any additional details in separate document or blog post within the Collaborate space. This may also allow you to coordinate with potential team members via the comments there without being mixed in with any discussions on this page.
For people looking to join a project
Please feel free to add your name to any project(s) you are interested in participating. Don't hesitate to add your name to multiple projects if you are considering multiple at this point. We encourage you to use this platform to contact the owner of an idea to discuss any details you are unsure about or even improve upon the idea.
Apart from any plans you make with the owner of an idea, you are not bound to actually participate in the project you indicated here. When you join the hack-a-thon on the day of the event you can check with other project teams and join a different project, if that turns out to be a better fit for you.
For everyone
The global virtual hack-a-thon is as much a social event as it is a coding one. This means a lot of the attendees for this event often use it to exchange ideas and discuss other matters in the general Alfresco context. To do this, everyone that attends the global virtual hack-a-thon should be prepared to join any of the commonly used communication channels for this event. In the past the main tools have been the IRC chat #alfresco (via chat.alfresco.com or a desktop client), Zoom and Google Hangouts. This year we also have an #alfresco channel on Discord.
After the event has come to an end, we encourage everyone that worked on a specific project idea to update the listing on this page with an overview of the project team and a link / reference to the results of the project (e.g. a GitHub repository, document or blog post in this space).
Projects
<placeholder for project title>
Idea owner:
Description:
Prep work:
Interested parties:
- You?
- Or you, ma'm?
- Maybe you, sir?
Content Services
Prepare release 2.0 of Dynamic Extensions for Alfresco
Idea owner: Daan Kerkhofs
Description: Preparing the release of version 2.0 Dynamic Extensions for Alfresco. This release adds support for 6.0 and 6.1.
Prep work: Build the current master
Interested parties: Daan Kerkhofs Toon Geens
Source Code: GitHub - xenit-eu/dynamic-extensions-for-alfresco: Add OSGi based hot-deploy functionality and Sprin...
Results:
- Dynamic Extensions 2.0 release - including support for Alfresco 6.x!
- Comprehensive Dynamic Extensions 2.0 blog post
Build Community image(s) to split ImageMagick / LibreOffice / PDF transformers from Repository
Idea owner: Axel Faust
Description: The core of the Alfresco Repository already contains the necessary base classes / support (e.g. RemoteTransformerClient) for Alfresco 6.x to call transformers on a remote host using HTTP. While Alfresco Enterprise 6.0 did provide separate Docker images for running the ImageMagick / LibreOffice / PDF transformations on separate containers (potentially on separate hosts), this was left out of the open core. I see no valid reason for this artificial feature distinction between Community and Enterprise, and it should be quite simple to build a trivial HTTP server and Community image(s) to support the same kind of feature for Community.
This project would not be directly linked to the new asynch transformation queue feature in Alfresco 6.1 (also only available for Enterprise), but could be a stepping stone into providing a similar asynch transformation feature for Community in that version (and all subsequent versions) as well.
Interested parties: Jan Vonka
Source code:
Take another crack at providing Alfresco base image improvements
Idea owner: Axel Faust
Description: At the Alfresco DevCon 2019 hackathon, a team worked on a project named "Community Reborn" which was to focus on potential improvements, documentations, change requests etc. around the Alfresco-provided ecosystem of Alfresco Docker images. This project would aim to continue on some of the ideas discussed and - in some ways evaluated / attempted - during the DevCon hackathon.
- Find ways to reduze the size of the base images and provide PRs for Alfresco to incorporate the changes (the first attempt met a roadblock due to legal reasons / angst, but maybe a different approach by using a pre-built JRE (instead of JDK) provided by AdoptOpenJDK would allay the legal concerns)
- Suggest and prepare PR for a more flexible image configuration approach, using granular environment properties instead of one massive JAVA_OPTS, which would make Docker Compose files and other orchestration methods more maintainable and even allow to provide some default configuration in customer-specific Docker images without having to merge the massive JAVA_OPTS variable. E.g. environment variables with a special prefix (GLOBAL_*) could be processed by a small init script (similar to substituter.sh or entrypoint.sh already used in Share / Alfresco Content Application) and be set in alfresco-global.properties. This would also solve the major drawback of JAVA_OPTS: one can only specify / override any property which has been pre-defined by a default properties file, making JAVA_OPTS useless for composite or other forms of dynamic configuration properties.
- (the idea of separate images + small HTTP server for remote transformations was already split into a separate project idea due to its scope)
Interested parties:
Source code / results:
- Support fine-grained config (global properties / Log4J) by AFaust · Pull Request #201 · Alfresco/acs...
- Question concerning use of AdoptOpenJDK JRE · Issue #33 · Alfresco/alfresco-docker-base-java · GitHu...
Better Trash Management
Idea owner: Axel Faust
Description: Started in the virtual global hack-a-thon project of 2017, this project would continue work on a module for improved management of the trash can in Alfresco. In previous hack-a-thons, the focus was put mostly on making the backend work, since default behaviour and APIs of Alfresco provided an abysmal level of access to trashcan contents (even the new v1 ReST API is abysmal in that regard). In this iteration, work should focus on the user interface aspect. Though work in previous iterations has already resulted in a rudimentary Alfresco Share / Aikau interface, it would be perfectly fine for interested people to join the project who want to create an ADF-based user interface.
Interested parties:
Source code: https://github.com/AFaust/alfresco-better-trashmanagement/
OOTBee Support Tools: Upgrade to SDK 4.0 and support Alfresco Simple Modules (JAR) build artifact WITHOUT affecting / changing AMP artifact
Idea owner: Axel Faust (Younes REGAIEG)
Description: As part of the preparations of the release of version 1.1.0.0 of the OOTBee Support Tools addon, Younes REGAIEG suggested adding support for Alfresco Simple Modules build artifacts. This project would pursue four objectives:
- Update the project to Alfresco SDK 4.0 to stay up-to-date with the current community dev tooling
- Ensure update to SDK 4.0 does not result in loss of compatibility with Alfresco 5.x (due to compilation / library changes)
- Add support for Alfresco SImple Module build artifacts in Repository and Share tier
- Ensure AMPs for Repository and Share tier remain structurally unchanged / unaffected by support for Alfresco Simple Module (e.g. config / script files should still be contained in AMP in exploded form and NOT inside of the JAR lib)
Interested parties:
Source code: https://github.com/OrderOfTheBee/ootbee-support-tools
Make Alfresco v1 ReST API Great (Again / Finally / Someday?)
Idea owner: Axel Faust
Description: Considering the strategic importance Alfresco places on the v1 ReST API to support integration with out-of-process extensions and ADF-based (micro-)apps / Digital Workspace, it has laugable / annoying shortcomings in various areas. This project would work on creating PRs to try and address some of these, likely expanding the scope of some operations or merely just fixing known issues. Interested parties might want to add to the following list of "things the v1 ReST API should do better":
- Support an aspectNames parameter in a multi-part node creation operation (e.g. upload via a form in the browser) to allow marker aspects to be specified
- Support a variant of the multi-part node creation operation which supports creating multiple nodes (similar to the JSON variant)
- Support a variant of the multi-part node creation operation which supports specifying a JSON-based node description in one part of the body (instead of the various fragmented parts)
- Support a multi-part node update operation
- Support multiple / alternative content streams apart from just cm:content in all node content operations
- Support missing core types of properties, e.g. d:category (d:noderef?)
- Support access to dictionary information for discovery / automatic client adaption (instead of all the hard-configuration / -coding currently done in ADF/ACA/DW)
- Support child QName / XPath-based lookup as pure "relativePath" is unsuitable to support environments of different locales (e.g. path for data dictionary may be "Data Dictionary" in English, but is "Datenverzeichnis" in German, making ReST API useless e.g. for dynamically bootstrapping models via the dictionary)
- ...
Interested parties: Martin Mueller
Source code / results:
- Fix issue in access to Admin Console via HTTP Basic for admins other than literal "admin" by AFaust ... (somewhat unrelated, but recently found in the same project alfresco-remote-api)
- GitHub - AFaust/alfresco-remote-api at restAPI-alternativeContentStreams (branch to add support for alternative content streams)
Package deployment for Model Manager export
Idea owner: Bindu Wavell
Description: When you build a model with the out of the box model manager and export, you end up with a zip file that contains a model XML and a Share module component for the forms. Let’s start by documenting how to put these assets into an SDK project and then look at how to automate this.
Prep work: use model manager to create a model. Design a form for the model. Export the model and look at the assets in the exploded zip.
Interested parties:
R Package for Alfresco Content
Idea owner: Roy Wetherall
Description: A simple R module that allows content to be uploaded and retrieved in R via the standard Alfresco REST API. This would allow data in the form of content to be pulled into R and allow generated reports to be stored back into Alfresco as content.
Interested parties:
Source code: https://github.com/rwetherall/alfr
Photo map - Let’s improve solution from last virtual hackathon
Idea owner: Filip Bruska
Description: Following things can be done:
- Update to higher SDK version (4 / 3.1)
- Async action for Google Cloud Vision API
- Improve ADF app
Interested parties: Alfresco team at Tieto
Source code: GitHub - FilipBruska/photo-map: Tieto Project for Alfresco Hackathon 2018
Redundancy stopper
Idea owner: Filip Bruska
Description: Quite often the same files are distributed on several place in Alfresco repository. Let's imagine you need to update that fille. Will you do that on all places? It's annoying and it can be very error prone.
The main Idea is to get rid of the same binary files across repository. Let's see if we can utilize fingerprint feature available in Solr6 to identify those files.
Interested parties: Alfresco team at Tieto
Source code: GitHub - FilipBruska/redundancy-stopper: Tieto Project for Alfresco Hackathon 2019
Alfresco Initializr
Idea owner: Toon Geens
Description: A quickstart generator for Alfresco projects, based on Spring Initializr. The goal is to be able to quickly bootstrap an Alfresco project - targeting the Alfresco Maven SDK or the Alfred Gradle SDK - but a lot more interactive: pick Alfresco version, dependencies, examples and start.
Interested parties:
Source code: GitHub - xenit-eu/start.xenit.eu: A quickstart generator for Alfresco projects
Google Cloud Storage Connector
Idea owner: Ana Gouveia
Description: An Alfresco connector for Google Cloud storage. The goal is to use GCS as a content store for alfresco, similar with what can be done with S3
Interested parties:
Source code: GitHub - amgouveia/alfresco-gcs-connector: Google Cloud Connector for Alfresco
Android/iOS app (React Native and Expo) to upload pics to Alfresco
Idea owner: Eva Vasques and Tiago Salvado
Description: Simple app that allows the user to upload pics stored in his Android/iOS device to Alfresco. Basic idea is to have:
- Configuration (Alfresco and Account Settings)
- Gallery View that allows to select multiple pictures to upload
- Pictures that have been uploaded should be marked as such
Interested parties:
Source code: GitHub - evasques/alfresco-upload-app: Simple app that allows the user to upload pics stored in his ...
Add SDK 3.1.0 and SDK 4.0.0 support to generator-alfresco (Yeoman generator)
Idea owner: Bindu Wavell
Description: SDK 3.1.0 and SDK 4.0.0 were recently released. We would like to add support for these SDKs to the Yeoman generator for Alfresco.
Interested parties:
- Bindu Wavell
Source code: GitHub - binduwavell/generator-alfresco: A Yeomen generator based on the Alfresco all-in-one Maven a...
<placeholder for project title>
Idea owner: Name
Description:
Interested parties:
Source code:
Process Services
<placeholder for project title>
Idea owner: Name
Description:
Interested parties:
Source code:
<placeholder for project title>
Idea owner: Name
Description:
Interested parties:
Source code:
Application Development Framework
Facilitating Content Ingestion
Idea owner: Carlo Cavallieri, Leonardo Mattioli
Description:
Starting from ADF components, we want to build a page to permit a rapid search and metadata typing of content. The new page will have 3 columns: the first with the list of contents that need metadata, the second with the preview of the selected document of the first column, the last with the metadata to be typed by user. This page will need a configuration query and the list and type of metadata to be inserted (potentially a subset of all metadata).
Interested parties:
- Leonardo Mattioli
- Carlo Cavallieri
- Cristian Giuliani
- Giulio Zattera
- Jessica Foroni
- Matteo Battisti
Source code: https://github.com/CASTGroup/hackathon19
Saved Searches component
Idea owner: Daniel Fernández
Description:
We want to add the possibility to save an advanced search for later use in Alfresco and share it with others if desired. We will start with a classic Share functionality aiming to make an ADF component if time is enough.
Interested parties: Daniel Fernández, David Martos
Source code: https://github.com/keensoft/alfresco-saved-searches
Hipster ADF - Terminal Mode
Idea owner: mgrunenberg
Description:
Navigating the document library with mouse clicks is too mainstream. Let's go back to the roots and just use a terminal inside the Alfresco Content App.
This should be a fun project and mainly focus using Angular for building a terminal interface and using the Alfresco Rest API.
Interested parties: mgrunenberg
Source code:
ADF Progressive App
Idea owner: David Cano
Description: ADF app that works offline by making use of angular service workers. Turn on your router and enjoy your offline app!
Prep work: https://angular.io/guide/service-worker-intro
Interested parties:
Search Services
Language detection during indexing
Idea owner: Angel Borroy
Description:
Currently, content language is set at Alfresco Repository by using client locale configuration. When indexing, SOLR takes this language from repository to perform the indexation. However, when working on cross-locale environments, some users are uploading content in a different language from client language settings. Having the right language identification will provide better results when searching.
Prep work:
Detecting Languages During Indexing | Apache Solr Reference Guide 6.6
Interested parties:
Angel Borroy
Tom Page
Source code:
Blog post:
Alfresco Global Virtual Hack-a-thon – Spring 2019 | Programming and So
- Labels:
-
Archive
