I enjoyed Friday's hackathon, it was a good chance to catch up with some community related tasks, hangout in the hangout, and play with something new.
Firstly, I spent a bit of time exploring the new community hub and correcting some things that didn't get transferred correctly. The new hub is actually pretty good once you work out where stuff is, take a look if you’ve not seen it already: http://community.alfresco.com
Then I took a look at some Cloud based IDEs. This is something I wanted to get up and running for a while, partially to see what was possible, but also to investigate if it would be feasible to create a shared workspace for when we collaborate with community members or off-site colleagues.
I started looking at Cloud9, as I’d made some attempts to get started there, but ran into issues with mvn pretty quickly - the version they bundle is old. Update instructions I found included the suggestion that Codenvy might be better for Java projects. Although I’m a JS guy at heart, I can’t deny that Alfresco Records Management, and Alfresco in general, is predominantly a Java project, so thought I’d give that a go instead. I tried CodeAnywhere as well. Of the three, CodeEnvy had the slickest UI and I found it the easiest to use. It’s also the one where I had the most success building Alfresco.
I was a little optimistic in thinking I might be able to spin up an instance of the repo and Share, plus an IDE, in a free cloud hosted VM, and they did all struggle. CodeEnvy didn’t do badly, after a few aborted attempts due to comms issues with the maven repository it successfully fetched all the dependencies and built it. I managed to get the community RM repo building and I was able to push a minor change to the project docs, which I discovered by being able to build community outside my local dev env.
Editing code was slick and the editor was pretty responsive. In some cases, like git history comparisons, it was faster than I get locally with IntelliJ - it didn't have the same level of auto complete though. One niggle is that when leaving the workspaces for a period of time (like, say, lunch), they shut down and take some time to spin up again, but that only take a few minutes, and I believe on a Pro account you can disable that.
If I was working on a smaller project, that didn't have complex server and db requirements and fewer dependencies, or doesn't have the luxury of a top spec Mac Book Pro, I'd certainly take a longer trial with CodeEnvy, but I don’t think it’d speed up day to day Alfresco development. One situation it might be useful is if we're pair programming (or mobbing), using TDD to just run integration tests that don't require a full Alfresco build and repo/share start up to check.