These are project ideas for the 2015 Alfresco Global Virtual Hack-a-thon.
Please join a team, or start a new team by listing your project below.
A single working day isn’t a lot of time, so we need to make the most of it. To help us quickly get productive, we want to organize teams in advance of the event. On this page you can join a team or post your own project. At the time of this writing, we do not have enough projects for small and productive teams. Hosting a project is a great way for you to recruit help on a project you care about.
Consider collaborating with your team before the event to make sure everyone is ready to get stuff done. The most productive teams come to the event having already selected a general approach to their problem, agreed on what technologies to use, researched those technologies, and set up development environments. It would also be useful to come with a list of questions you need answered before moving forward.
It will help your project team get started if you put together a project with the Alfresco Maven SDK, get it configured, and post it to Github so your team can just pull a copy and get going.
For each project, you should consider addressing the following:
- The coordinator(s)
- A brief description
- How you will collaborate during the event,
- Any prep work for the project, such as developer tools or skills participants should understand
Aikau Samples / SDK Samples
Coordinator: Ole Hejlskov
Headquarters: Skype, IRC, Hangout
Collaboration platforms: GitHub
Description: Update SDK Samples to SDK 2.0 / 5.0.d, add more Aikau love
Alfresco Bulk Import v2.0
Coordinator: Peter Monks
Headquarters: Alfresco San Mateo (UTC-8)
Collaboration platforms: github, Skype, IRC, carrier pigeons, etc.
Description: Complete development of v2.0 of the Alfresco Bulk Import tool. There are a number of things that need doing:
- Bring the last couple of v1.3.x binary releases over to github (they didn't come over with the Google Code -> github export, since Google Code had disabled binaries before they were released) (done)
- Get the core v2 engine working (currently it runs, but doesn't start an import) - Peter has spent a little bit of time on this already, and expects to focus here, as it's both boring and important! ;-)
- Get the statistics page working - there's a lot to be done here, including:
- Switch from YUI to jQuery
- Review whether jsmoothie is still the most appropriate charting library for the tool
- Add support for configurable / variable metrics (as of v2, import sources can provide whatever metrics they like, so the hardcoded approach in v1 won't work)
- Port over recent bugfixes (especially the Windows-specific bugfixes that went into v1.3.4)
- Implement some sample bulk import sources (CMIS?)
- ...any of the enhancement requests listed in the issue tracker...
Alfresco Merge Repositories
Coordinator: Gabriel WILLEMS
Description: A tool to merge 2 Alfresco Repositories keeping histories, versions, workflow, ... (NTH: managing conflicts)
ECM Architect Alfresco Developer Series Tutorials Upgrade to 5.0.d
Coordinator: Jeff Potts
Collaboration platforms: Alfresco Developer Series on GitHub
Description: The Alfresco Developer Series tutorials need to be upgraded to SDK 2.0 and Alfresco 5.0.d.
Coordinator: Angel Borroy
Collaboration platforms: github, Google Hangout, IRC
Description: Growing alfresco-myfiles-quota addon in order to get a quota on every selected folder by using a new page on Share admin console. Quota report for user and administrator.
Improvements to Python cmislib
Coordinator: Richard Esplin (unless Jeff Potts joins us, as he is the real expert)
Collaboration platforms: https://chemistry.apache.org/python/cmislib.html, Google Hangout, IRC
Description: Last year we got partway through getting the Python cmislib working with the AtomPub binding, and started adding support for CMIS 1.1. I would like to continue this effort. Once that works, we can start updating it for Python 3.
- Jeff Potts (will answer questions about cmislib as able, but will be focusing time elsewhere)
- Tom Page
Extension that lets users select their 'start' page
Coordinator: Tomas Kubik
Collaboration platforms: Skype -> user mbeecko, I will add GIT repository, but now is not available. I started now...
Description: Today when you log into Share you always go to the same place. But that might not be best for every user. How about an add-on that let's users specify their preference?
- Douglas Cassiano Rodrigues Paes (douglascrp)
- Add your name here...
Alfresco Benchmark Tool UI
Coordinator: Derek Hulley
Headquarters: Alfresco Maidenhead
Collaboration platforms: github, Skype (derekhulley), IRC
Description: Add features to the benchmark tool UI (and any APIs required) e.g. #32: UI must show recent activity logs. More features can be discussed and added as required.
Alfresco Yeoman Generator
Coordinator: Bindu Wavell
Collaboration platforms: GitHub, Skype, GoToMeeting
I want to create an opinionated Alfresco all-in-one generator that includes sub-generators for adding local and remote amps. Also I'd like to create sub-generators for actions, behaviors, webscripts, etc.
- Bindu Wavell
- Nathan McNeel
- Vijay Prince
- Add your name here...
Alfresco + Minecraft = ContentCraft
Coordinator: Roy Wetherall
Collaboration platforms:GitHub, Skype, Hangout
ContentCraft connects a Minecraft server, via CMIS, to an Alfresco repository and can build a physical representation of a simple folder structure, including simple content. In this hackathon I would like to investigate how this structure can be made dynamic and react in real time to chances to the folder structure. Plus any other cool ideas!
CMIS widget sample for Citizen Developers in Mendix
Coordinator: John Sotiropoulos
Collaboration platforms: GitHub, Skype, Hangout
Provide a custom widget for creating content applications in a aPaaS low-code RAD environment for Citizen Developers. We will be using the marjet leader Mendix to create a sample of building CMIS apps in a drag-and-drop fashion
Language Translation for a Document using google translate API
'Coordinator: Brian O'Neill
Collaboration platforms: GitHub, Skype, Hangout
Create a Share action that allows a user to translate an existing document between languages using Google Translation API
Kavi Tanakoor, Toon Convents
The Outside Agent: Managing multiple Alfresco instances
Coordinator: Boriss Mejias
Headquarters: Hacker Rooms Global Virtual Hack-a-thon 2015#Brussels.2C_Belgium
Collaboration platforms: Github [https://github.com/bmejias/outside-agent], IRC #alfresco
Description: This is a very rough console tool to administrate multiple Alfresco instances. Very roughly based on shell and python scripts wrapped up with Makefile (according to some other fellows, this is old school). So, no fancy interfaces, just the console.
- Cristina Martin
- Boriss Mejias
- Add your name here ...
Ideas Looking for a Home
The following projects have been discussed or mentioned by customers and community members as things they would like to see for Alfresco. If you are interested in picking up one of these projects and making it your own, please move it to the 'Projects' section.
- Google Compute Engine Deployment Templates:
- Leverage Compute Engine, CloudStorage & CloudSQL
- OpenShift cartridge for Alfresco
- Package Tony Parzgnat's data list constraints code as an open source project: Tony wrote a cool add-on that uses data lists to manage constraints (see his Lightning Talk).
Part of the work has been already done here https://github.com/douglascrp/alfresco-value-assistance, including a new feature to allow dependency between fields on the form.
The idea for this new feature came from this post Harnessing the Power of Alfresco Data Lists for Cascading Value Assistance, also from Tony Parzgnat
- Customise the document-details page in order to allow the preview of old versions of the current document
- Update Jeff's Five Star Ratings Add-On: The Five Star Ratings add-on hasn't been touched in a while. Share has changed a bit since it was developed. It would be great if someone would get it working in 5.0 using all of the latest share extension points.
- Write an example showing how to extend the People Picker: Many people want to extend how the out-of-the-box people picker works. For example, maybe when you start a workflow and you are in a site, you only want to search across existing members of the site instead of all of the people in the repository. Create an extension that does that along with a blog post that explains how others could do something similarly.
There is already an addon that does exactly this. it's available here https://github.com/douglascrp/alfresco-colleagues-picker-form-control. There is a lot of work to do yet to make it better.
- Build a Redmine integration: Someone in IRC asked recently about building an integration between Alfresco and Redmine, an open source project management tool.
- Test and document various upgrade paths for Community Edition: There are a number of people running extremely old versions of Alfresco Community Edition. They are missing out on some killer features, and, perhaps more importantly, critical security updates. We could help this problem by making it easier to upgrade Community Edition with tested and documented upgrade paths.
- Build a 'CMIS Server' distribution of Alfresco: Take Community Edition and rip out everything but the core repo, search, web scripts, the public API, and CMIS. What you'd have left is a CMIS Server similar to the Apache Chemistry InMemory server but probably robust enough to be used as the core of many content-centric applications.
- Modernizing the PHP CMIS binding: The PHP CMIS binding needs to be cleaned up and have unit tests so that CMIS 1.1 and browser binding support can be added.
- Wiki Clean-up: The Alfresco Wiki has a lot of great content. It also has lots of old content that needs to be clearly marked to avoid confusion. This project will focus on getting as much of this done as possible. This project will provide a lot of value for the Alfresco community and is a great way for a non-developer to contribute. Planning for this project is happening on the page 2014_Wiki_Cleanup
- Apache Hadoop HDFS Content Store: Build a content store which would read/write content to a Hadoop HDFS cluster (great for big files, not good for small ones, due to HDFS block size)
- Document Checksuming and display in Share: Calculate and show checksums (eg md5, sha1, sha-256) for content and display it in the document library (probably via an aspect and a behaviour)
Work into such a feature was already started in a Hackathon in Barcelona 2013 - https://github.com/AFaust/content-stores includes both checksum based content storage as well as generation of checksums (configurable) and display within Share. Maybe this could be a starting point with improvements concerning portability (e.g. alternative to some backend hacks needed to support a custom data type) and how checksums are displayed in Share.