Three months ago, the Confluence team switched from Subversion to git, just in time for our 4.1 release. In Confluence, git, rename, merge oh my… we talked about the problems we encountered with merges across branches that had lots of renames. In this post, we take a step back to look at the tools we used in order to migrate the Confluence source code from Subversion to git. Preparation Firstly, we wanted to ensure that the following infrastructure supported our source code hosted in git: Since

Continue reading »

Continuous Deployment for Mobile Apps

This is a a blog post from Thomas Dohmke, CEO at Codenauts UG, creators of HockeyApp. HockeyApp allows you to distribute your betas and collect live crash reports for beta and release apps on Mac OS X, iOS and Android. Before founding Codenauts UG, Thomas worked in the automotive industry and learned the importance of efficient processes. Now he is bringing the same quality to the development of mobile apps. Don't Repeat Yourself One of the most important principles in software development is "Don't

Continue reading »

Scanning Confluence for Content Errors

Introduction As technical writers working on a wiki, one of the problems we face is that Confluence doesn't really have any in-built feature for detecting a range of content errors. I refer to things like broken internal links, broken images, broken JIRA issues macros (specifically), any macros that have failed to render (in general) and inclusions that cannot find the page to insert (covering {include} and {excerpt-include} macros). Some other problems are that you tend to end up with a lot

Continue reading »

What are they? Well, as with everything git related, there is usually a helpful man-page. So let's check that out... Submodules allow foreign repositories to be embedded within a dedicated subdirectory of the source tree, always pointed at a particular commit. For those that speak man-page, feel free to skip the rest. For those that want to know what a submodule is, how they are useful, and when to use them, read on! An example The best way to understand the purpose of submodules is to see them

Continue reading »

Raising issues in JIRA is generally pretty straightforward if you have an account and are already logged in to JIRA.  It becomes quite a pain however if you're noticing a bug on a remote site somewhere and want to raise a bug in a JIRA instance that you're not currently logged in to or don't have an account on yet.  This is the problem that the issue collector addresses. Instead of having to: Navigate away from the site where the bug occurred Register for an account Log in to JIRA Find

Continue reading »

The Atlassian technical writers and thirteen developers recently combined forces in a doc sprint. The aim? To develop plugin tutorials that will help people use the upcoming JIRA 5.0 Java APIs. The result is eleven shiny new tutorials and plenty of updates to existing pages. The indomitable doc sprinters were based in Sydney, San Francisco and Gdansk. We got together in chat rooms, in video conferences and on the wiki. What is a doc sprint? A doc sprint is an event in which people get together

Continue reading »