Projects and Teams Summit Hack-a-thon 2014

Document created by resplin Employee on Mar 14, 2015Last modified by afaust on Oct 6, 2017
Version 3Show Document
  • View in full screen mode

Instructions

 

This page is for organizing the Alfresco Summit 2014 Hack-a-thons. Please join a team, or start a new team by listing your project below. You can register for the hack-a-thon at the Alfresco Summit site.

We want to remind you that the hack-a-thon is for developers who already have experience with Alfresco. The event is very collaborative, and will be fun and productive if all attendees come properly prepared. We recommend that you look over the training classes offered alongside the hack-a-thon and consider attending one of them would be more valuable for you. To participate effectively, it is important that you understand the full Alfresco stack including development with Maven, content models, and web scripts. You can read about the training classes here:

http://summit.alfresco.com/training

On the day of the event, we will start promptly at 9:00. 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.

https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-sdk-aggregator/latest/index.html

http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html

Once the teams are set and everybody has their tasks laid out, we’ll hack together until lunch, at which point we’ll break for 45 minutes or so. After lunch, it’s back to work until approximately 4:30. At 4:30, we start the demos, and enjoy seeing what each team got done.

What to bring:

 

  • Your laptop. 
  • Your charger. 
  • A scratch pad for design work / notes if you need one.
  • Most importantly, your ideas!

 

Projects / Teams

 

The San Francisco Summit Hack-a-thon will be held on September 23, 2014 at the conference location.

The London Summit Hack-a-thon will be held on October 7, 2014 at the conference location.

To attend the hack-a-thon, please register through the conference web site. If you are attending Alfresco Summit but the registration site reports the event as being full, you can try to attend anyway. Though we expect to have room for a few additional walk-in participants, we cannot guarantee room for you at the event. You can also sign up for a team and participate online by joining us in IRC Chat during the same hours as the on-site team. Your team might choose to set up a Google Hangout or provide a different means for you to collaborate.

To list a project, you should include the following:

 

  • The coordinator(s)
  • Locations where the team will be represented (San Francisco and / or London)
  • A brief description
  • Any prep work for the project, such as developer tools or skills participants should understand

Ideally the source code from these hack-a-thon projects ends up available for others to learn from, so please consider where you would like to host your source repository.  Github is always a popular choice, as is Google Code.

 

Archiving Alfresco content to AWS Glacier - Retrieval

 

Coordinator: Nathan McMinn

Location: San Francisco and London

Description: AWS Glacier is a real game changer for the long term archiving space, with a cost that is an order of magnitude lower than other archive solutions.  This project will work to build an AWS Glacier integration for Alfresco, enabling content to be stored long term in the Glacier service, while still being searchable in Alfresco.  During the May virtual global hack-a-thon we were able to get basic archiving working, but retrieval is still left to be completed.  We really need an expert in handling async calls to AWS to help this effort along!

Participants:

  •  ?

 

ContentCraft: Alfresco + CMIS + Minecraft

 

Coordinator: Roy Wetherall

Location: San Francisco and London

Description: ContentCraft is a Bukkit plugin for Minecraft that uses CMIS to communicate to an Alfresco repository and experiments with ways of presenting information and content in a 3D, interactive world.  Areas for investigation include ways to represent deep structures, displaying content in readable books, restricting access to areas based on permissions, periodic refresh of structure based on data changes and users as animals.  These will all extend the existing project started during the virtual global hack-a-thon.  See https://github.com/rwetherall/ContentCraft for docs and source.

Participants:

  •  ?

 

Lambdalf: Clojure + Alfresco + Instaparse

 

Coordinator: Mark Stang

Location: San Francisco

Description: Lambdalf (https://github.com/lambdalf/lambdalf) is an Alfresco AMP/Platform for executing Clojure Code live inside of a running Alfresco Repository.   What can you do?  Better question is what can't you do with live internal access to the Alfresco API.  Clojure, a functional programming language that runs on the JVM is a LISP variation and functional programming language.  'Instaparse aims to be the simplest way to build parsers in Clojure.' (https://github.com/Engelberg/instaparse).  The goal for this Hack-a-thon is to parse the CMIS SQL Language Spec (SQL-92++) using Instaparse and then execute it using the Lambdalf Wrapper.  The CMIS SQL Language Spec is a bit limiting, so we are extending it to include INSERT, UPDATE and DELETE.   The parser for the Grammar has been coded and the AST parser started (https://bitbucket.org/ziadev/cmsql-grammar).  In addition, we may be upgrading Lambdalf along the way.

Participants:

  •  ?

 

Annotated: Add annotation support to the new 2.0 Alfresco SDK

 

Coordinator: Bindu Wavell

Location: San Francisco and London

Description: The new Maven based Alfresco 2.0 SDK promises huge developer productivity gains by allowing for many code changes to be made without restarting the repository or Share web apps. In order to continue the theme of streamlined Alfresco development, I'd like to enable Java annotations for quickly creating: actions, behaviors and webscripts. This is similar to what has been done previously with the dynamic extensions project. The intent here is to add the support with very little extra baggage (i.e. no OSGi container, as cool as that is.) Ideally we could get this working with spring loaded (or possibly the jhipster version of the same) so that we can add actions, behaviors and webscripts without bouncing the repo. Note that it is quite possible that annotation support for behaviors will be included in a future release of 5.0, so short term we'll probably focus on actions and webscripts.

Participants:

  •  ?

 

PDF Form field metadata extraction and insert

 

Coordinator: Nathan McMinn

Location: San Francisco and London

Description: From time to time the requirement comes up to either extract data from PDF forms and store it as searchable metadata, or to take existing metadata for a node and use it to fill out a PDF form.  I'd like to tackle a basic version of this, probably as a simple action.  If you want to participate in this project, it would be helpful to understand the basics of PDF forms, and have a solid understanding of Alfresco metadata.

Participants:

  •  ?

 

JS Chat for Share

 

Coordinator: Angel Borroy

Location: London

Description: Currently, JS Chats based on products like Openfire and converse.js can be integrated into mobile webs. It would be useful to provide a chat web component for Alfresco Share using Site members as chatrooms. See https://github.com/keensoft/alfresco-js-chat-share for a PoC.

Participants:

  •  ?

 

Wiki Clean-up

 

Coordinator: Richard Esplin

Location: San Francisco and London

Description: 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

Participants:

  •  ?

 

Ideas Looking for a Good 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 create a project for it under one of the event sections.

 

(Note, chef recipes for deploying Alfresco in a multi-tier clustered form to AWS will be coming as part of the Alfresco Enterprise Deployment tool that is currently being written by Alfresco)

 

  • 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). But he hasn't had time to clean it up and stick it in an open code repository yet. Let's do it for him!
  • 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 4.2 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. alfresco-colleagues-picker-form-control
  • Build a real-time chat integration for Share: This is another frequently asked integration: How to integrate live, real-time chat into Alfresco Share. For example, something like Openfire might be cool.
  • Build a Redmine integration: Someone in IRC asked recently about building an integration between Alfresco and Redmine, an open source project management tool.
  • Create an extension that lets users select their 'start' page: 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?
  • 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.
  • Update the S3 connector project to work with Alfresco 4.2x: The project is hosted in https://code.google.com/p/alfresco-cloud-store/.
  • Google Docs building and multi-edit enhancement: Get the Google Docs code building, then enhance it to allow multiple people to work on the same document
  • 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)
  • Django ORM support for CMIS: Provide an alternative to https://code.google.com/p/django-alfresco/ which hooks fully into the Django ORM, talking to a remote CMIS repository

Attachments

    Outcomes