ffeathers — a technical writer’s blog

A technical writer’s blog on Wordpress

Archive for the ‘wiki’ Category

Gadgets on Confluence wiki pages – oh, and in JIRA and iGoogle

without comments

A beta version of the next Confluence release is out. And guess what — it’s got gadgets. This is pretty cool, so I’m jumping the gun and telling you about it right now.

It’s still just a beta release: Confluence 3.1 Open Beta. The announcement is on the Atlassian News Blog, along with an invitation to try it out. So I got myself a copy and put some gadgets onto a wiki page.

Now, the gadgets I chose are perhaps not the most useful. ;) The most usual business case would be to add gadgets published by other Atlassian applications. For example, you might want to add a gadget that displays some information from another Confluence site or from  JIRA, Bamboo, FishEye or Crucible. (Those are other applications developed by Atlassian, the company I work for.)

But for me, the fun bit is that I can add the gadget that I created and blogged about 8 months ago.

The same 2 gadgets in 3 different applications

Here’s a screenshot of a Confluence wiki page with two gadgets. One is mine, displaying an up-to-date list of recent blog posts about technical writing from WordPress.com. The other gadget was created by Donna, our support diva, showing recent entries in a Jive discussion forum. (Click the image to enlarge it.)

Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle

Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle

Here are the same two gadgets on my iGoogle page:

Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle

Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle

And here they are in JIRA:

Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle

Gadgets on Confluence wiki pages - oh, and in JIRA and iGoogle

How do you add a gadget to a Confluence page?

Your Confluence page can display two types of gadgets:

  • Internal — These are gadgets published by the same Confluence site as where they are displayed. Typically such a gadget would display information sourced from the Confluence site, such as an activity stream or a search function.
  • External — These are gadgets published by another Confluence site, or a JIRA site, or even something totally different like Remember the Milk, a hamster in a wheel or a pet monkey. :)

If your gadget is external, the Confluence administrator needs to add the gadget to the list of available gadgets before you can add it to your Confluence page. This needs to happen only once for each gadget.

To make an external gadget available in your Confluence site:

  1. Log in as a Confluence administrator.
  2. Go to ‘Confluence Admin‘ and click ‘External Gadgets‘ in the left-hand navigation panel.
  3. Paste the URL of your gadget into the field labelled ‘Gadget Specification URL‘. The URL should point to the XML file that describes the gadget.

For example, take a look at the URLs for the two gadgets in my screenshots above. The URL for the WordPress gadget is:

http://hosting.gmodules.com/ig/gadgets/file/117695765658379330528/
WordPress-dot-comRSSFeed.xml

And the URL for the Jive forums gadget is:

http://confluence.atlassian.com/download/attachments/203394872/forums.xml

Gadgets on Confluence wiki pages

Friendly warning: I’m just using my gadget as an example here. It’s a total hack, so please don’t insert it into any Confluence sites that matter! You’ll get all sorts of weird display problems, plus potential security issues too.

To add a gadget (external or internal) to a Confluence page:

  1. Create a new page or edit an existing page.
  2. Put your cursor in the edit box where you want the gadget displayed.
  3. Click the ‘Insert/Edit Macro‘ icon Macro Icon in the toolbar.
  4. You’ll see the ‘Select Macro’ popup window. Enter some text into the search box at top right, to find the gadget you want.
    Gadgets on Confluence wiki pages
  5. Click the gadget you want. You’ll see a preview of the gadget. Most gadgets also offer you some options to configure the gadget, such as width of the display, background colour, etc.
    Gadgets on Confluence wiki pages
  6. Change the settings if you like, then click ‘Insert‘.
  7. Save the Confluence page.

Extra authorisation step (OAuth)

Some gadgets require extra authorisation, to reassure the publishing server that it’s OK to send its data to the server where the gadget is displayed. Gadgets use an authorisation protocol called OAuth. There are two parts to the authorisation, one performed by the administrator and one by the person adding the gadget to or viewing the gadget on the page.

  1. The administrator needs to set up the OAuth relationship between the gadget publishing server (called the provider) and the displaying server (called the consumer). This authorisation step needs to happen only once for each site. Once you’ve authorised one server to send information to another server, then you can add multiple gadgets from that server. For example, let’s say you want to display JIRA gadgets on a Confluence page. Your JIRA server needs to trust your Confluence server. So you’ll need to add Confluence as an OAuth consumer in JIRA. To do this, you will give JIRA the URL of your Confluence server. The instructions are in the JIRA documentation.
  2. When you add a gadget to a page, you will need to authorise the display of information under the authority of your user ID. Similarly, every user who views the page will need to authorise the display of the information under their user ID.  The authorisation lasts for a while (a week or so, unless you revoke it). The gadget will display a ‘Log In and Approve‘ button. When you click the button, you will go to the login page of the site concerned. Log in and then approve the gadget’s access to the server’s information. Now you’ll see the gadget information displayed. There’s a full write-up in the Gadgets documentation.

Phew, I’m glad we’ve got that out of the way! ;)

Would you like to try it yourself?

The Confluence 3.1 beta release is out, so you can hack away. If you’re very brave, you could even write your own gadget and put it on a Confluence page!

Google Wave in Confluence wiki pages

with 4 comments

I’ve just come across a new plugin developed by 224 team. It provides a Confluence macro that lets you embed a Google Wave into a Confluence wiki page. I’ve just got back from holiday, so I haven’t played around with the plugin much yet. But I’m blogging about it so that more people can try it out too. It’s cool to see this sort of development happening and even to get involved in the early stages.

A friendly warning: The plugin is pretty new, so it’s best to try it out on a test installation of Confluence.

To install the plugin:

  1. Download the JAR file from the link provided on the 224 team page (at time of writing, the link is here) and save it somewhere on your computer.
  2. Open Confluence in your browser and go to “Confluence Admin”.
  3. Click “Plugins” in the left-hand menu.
  4. Click “Browse” and find the JAR file that you saved in step 1. Select the file.
  5. Click “Upload”. You should now see the “wave” plugin listed on the page, in the middle and slightly to the right of the words “Installed Plugins”.

To embed a wave onto a wiki page:

  1. Create a new page or edit an existing page.
  2. Add the {wave} macro, including the URL of the wave you want to embed. You can add the macro by typing the wiki markup or by using the Confluence macro browser. The format is:
    {wave:url=my.wave.url}

I decided to add my wave within a {panel} macro, to make it look a little neater. Here’s the code I used (but it’s a private wave, so you’ll need a different wave URL):

{panel}
{wave:url=https://wave.google.com/wave/#restored:wave:googlewave.com!w%252BFelxosoIC.2}
{panel}

Once I’d added the wave to my Confluence page, I replied to one of the segments in the wave on the Confluence page. See the segment that starts with “I’m replying via the Confluence plugin”:

Google Wave on Confluence wiki pages

Google Wave on Confluence wiki pages

Then I had a look at the same wave in the original Google Wave client. Ta da! My reply appears there too:

Google Wave in Confluence wiki pages

Google Wave in Confluence wiki pages

So you can take part in a wave from within Confluence. Awesome. Once I’ve found a chocolate plugin, why would I ever need to leave Confluence? ;)

The developers of the Confluence Wave plugin say that they have great plans for the plugin. They’re inviting discussion on the Confluence feature request and on the 224 wave page. If you have a Google Wave account, you can even join the 224 team wave. Fun!

Written by ffeathers

1 November 2009 at 4:37 pm

WebWorks ePublisher for converting documents to Confluence wiki

with 6 comments

Over the past couple of weeks I’ve had the chance to experiment with WebWorks ePublisher, a set of tools that converts documents from Word, FrameMaker and DITA XML to a number of different output formats. One of those output formats is Confluence wiki. It’s been very interesting, so I thought I’d blog about it and see if anyone else wants to give it a go as well.

I started off knowing a bit about what ePublisher can do, having attended a WebEx demo. But I had never used it. This was such fun! Most of this blog post is going to look like a “how to” guide, because I’m hoping it will be useful to people who want to try this tool too.

A quick introduction to ePublisher

ePublisher is not a Confluence plugin. It is a set of standalone tools that can publish to Confluence as one of the output destinations. ePublisher allows you to transform content from Word, FrameMaker or PDF into a number of different output formats, including Confluence. It also provides a number of styling and design options for you to tailor the output documents.

These are the three components of ePublisher:

  • ePublisher Pro – Use this component to design your “stationery” i.e. the appearance of the documents that ePublisher will output.
  • ePublisher Express – Use this component to generate your documentation.
  • ePublisher AutoMap – Use this component to automate the documentation generation process, and to perform batch processing, scheduling, etc.

The Evaluator Guide is in the form of a video tutorial.

Requirements

Because I wanted to convert my documents to Confluence wiki, here’s what I needed:

  • Confluence version 2.10.2 or later. I’m using Confluence 3.0.
  • Confluence remote API and XML RPC API enabled.
  • The Content Formatting Macros plugin for Confluence, created and maintained by Adaptavist. This is a free plugin. You can install it directly from the Confluence administration console. (Instructions below.) The plugin is not officially supported by Atlassian, but is supported by Adaptavist.
  • If your input documents are in Word or FrameMaker format, then you will need Word or FrameMaker installed on your machine. Supported formats are:
    • Microsoft Word 2000 to Microsoft Word 2007.
    • Adobe FrameMaker 6.0 to Adobe FrameMaker 8.0. I don’t have FrameMaker, so I didn’t try this out.
    • DITA XML 1.0 and 1.1.
    • In addition, for DITA input documents you will need the Java Development Kit (JDK) 1.4.2 or later. I have Sun JDK 1.6. You need this for Confluence too, so if you’ve already got Confluence you’re cool.

Install ePublisher and Confluence

Download WebWorks ePublisher and install it. I was using a full version of ePublisher, complete with all three components. If you’re looking for a trial version, you can try out the ePublisher Express part of the product for free.

Download Confluence and install it. You can get a free 30-day trial licence or a free personal licence.

Set up additional requirements in Confluence

1) Install the Content Formatting Macros plugin into Confluence. Step by step: Open the Confluence ‘Browse’ menu and select ‘Confluence Admin’. Click ‘Plugin Repository’ in the left-hand panel. Find the ‘Content Formatting Macros’ and click ‘Install’. Wait a while for the process to complete. It will eventually say “Installed” in the table next to the macro name.

2) Enable the remote API in Confluence. Step by step: Click ‘General Configuration’ in the left-hand panel of the Administration console. Click ‘Edit’ and click the ‘ON’ radio button next to ‘Remote API (XML-RPC & SOAP)’. Save the change.

3) Create the Confluence space where you want to put your documents. I gave my space a key of ‘TESTEPUB’. Note that you must create the space in Confluence before you deploy content to it via ePublisher.

Here’s my space:

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

Use ePublisher Pro to design the styles and format for your output documents

You will start off with a template created in the original software for your input document(s). For example, if your input documents are in Word, then you will import your Word template into ePublisher. If you also have input documents in FrameMaker then you will need a FrameMaker template to import into ePublisher.

Hint: For a quick start, if you don’t have a Word template you can just use the Word document you want to convert as your template. That’s what I did.

You will import your template(s) and/or sample document(s) into ePublisher Pro. ePublisher Pro will analyse the styles in the imported documents and provide you with a list of styles. You will then map the styles to your requirements for your output documents.

1. Open ePublisher Pro and create a new project. When you create the project, you will also define the output target. Because I wanted to create Confluence wiki pages, I selected “Wiki – Confluence” as my target. (You can add other targets later too, via the “Manage Targets” menu option.)

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

2. Add your templates or sample documents to the new project. You can do this as part of the create-project procedure. Or you can do it afterwards, by clicking ‘Project’, ‘Add Document’.

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

3. ePublisher Pro will scan your documents and extract all the styles, putting them into your new project.

4. Now you can map the styles from the input documents to the styles you want for your output documents. In ePublisher Pro, click the ‘Style Designer’ icon in the top tool bar. (When you move your mouse over the tool bar icons, a prompt appears in the status bar at the bottom to tell you what the icons mean.)

5. You will see a list of the styles extracted from your input documents, categorised into groups like paragraph styles, character styles, table styles etc. You can also add new styles, by clicking the ‘New Style’ icon (a tick mark) in the styles toolbar.

For each style, there are two tabs: the ‘Properties’ tab and the ‘Options’ tab. This is where you can determine your output styles, and also things like page breaks via ‘Page Break Priority’ (e.g. start a new page for each heading level 1) and table of contents levels.

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

6. Save your style definitions by choosing ‘File’, ‘Save as Stationery’.

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

That’s the ePublisher Pro part of the process done, i.e. the design work that will often be done by specialised designers. Now you can put on your document publisher hat and start converting your documents.

Use ePublisher Express to convert your input documents to the chosen output format(s)

1) Start ePublisher Express.

2) Create a new Express project. When it prompts you for stationery, select the stationery that you created from your input document templates earlier.

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

3) Add your input documents. You can do this while creating the project, or later via ‘Project’, ‘Add Document’. I did it by dragging the documents from my Windows file explorer into the ePublisher Express window.

Hint: When dragging and dropping, you need to drop the documents directly into the folder in the Express ‘Document Manager’ panel, not just into the panel itself.

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

I added a number of Word documents, and also a DITA document just for fun. I used the DITA sample document from project Gutenbert: 20,000 Leagues Under the Sea by Jules Verne. I simply dragged the ‘ditamap’ file into my ePublisher Express project. Here’s the result:

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

4) Next I needed to tell ePublisher Express what output format I wanted. I did this by adding a ‘Deployment Target’. Step by step: Click the ‘Target Settings’ icon in the ePublisher Express toolbar, then click ‘Add deploy target’, then ‘Add’. Select ‘Wiki – Confluence’ then ‘Edit Configuration’. A popup dialogue now asks you for the location of your Confluence site and the space key. This is the wiki space where your documents will end up. I entered the URL of my Confluence wiki (http://localhost:8080) and my space key (TESTEPUB):

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

After adding the new deployment target, I selected the Confluence target in the ‘Deploy to’ field as well:

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

5) Now for the fun part! :) I clicked the ‘Generate All’ icon in the ePublisher Express toolbar. Sure enough, the generation process started:

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

6) Antici… pation!Excitement! I kept flipping between my ePublisher window and my Confluence screen, to see the wiki pages appear.

Duh! This is where Sarah calls herself a “banana”.

ePublisher for converting documents to Confluence

I hadn’t realised that there’s another step required if you are publishing your content to a wiki. The generation process produces the output files, containing wiki markup, CSS and your text. Then you need to deploy the content to the wiki. I tried various configurations, then gave up and called WebWorks for support. That support WebEx session must be the shortest in history. :)

7) Deploy your content to the target — In ePublisher Express, click ‘Target’ then ‘Deploy’:

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

8) Yippee! My pages appeared in Confluence. If you leave all the design settings at their defaults, as I did, then you get a table of contents page and some neat navigation buttons at the top of every page. Here’s the automatically-generated table of contents page:

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

For my quick and dirty experiment, I exported some of the Crowd documentation pages from Confluence to Word, then pushed them through ePublisher to put them back into Confluence. Here’s one of the resulting pages back in Confluence:

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

And here’s a page from the Jules Verne DITA document, in the same Confluence space:

ePublisher for converting documents to Confluence

ePublisher for converting documents to Confluence

What happens when you update or comment on wiki pages?

After deploying my pages to Confluence, I updated a page in Confluence and also added a comment to the page. Then I redeployed the content from ePublisher.

When you deploy your content from ePublisher, it updates any existing pages with the content from the ePublisher source document. In effect, if you have updated the page in Confluence, your change will be overwritten by the ePublisher deployment. The page history retains every version of the page. The comments on the wiki page remain untouched. (This is as you would expect, because ePublisher uses the Confluence API to apply the updates.)

There is no “round trip” option available, i.e. you can’t update the pages in the wiki and then export the updates back to your source documents via ePublisher. The tool is intended for people who use Word, FrameMaker or DITA as their primary authoring environment, or people who want to convert their documents to wiki format permanently.

Conclusion

This was a rough-and-ready test, because I didn’t have time to set up my own templates or design stationery to make my output pretty. Even so, it was easy to push my Word and DITA documents through to Confluence and to produce a wiki documentation set that has a consistent format and navigation. Apart from my “banana” moment, the process was quick and painless.

I’d like to spend more time exploring the setup of the templates and of the stationery, to see how I can refine the output and tailor the Confluence pages to a specific style. Just examining the options available in ePublisher shows that it has a lot to offer in this respect. Alas, I don’t have time right now, and I wanted to blog about how far I’ve got without waiting til I do have time.

I’d also like to explore ePublisher AutoMap, which lets you automate the generation and deployment processes. This means that you can schedule batch jobs to tackle large volumes of documentation and to do the conversion on a regular basis.

I hope the above step-by-step guide through my experiment will be useful to anyone who wants to try ePublisher with Confluence. This tool will be very useful to people who have a large set of legacy documents that they want to convert to wiki format, or people who want to author their content outside the wiki on an ongoing basis, and convert it regularly to wiki as well as other formats. Single-sourcing of content is great for environments where different readers or customers need their documentation in different formats.

More information

WebWorks are holding a Round Up ‘09 conference in Austin on 19-21 October. There’s sure to be lots of information there, about using and publishing to wikis, social documentation and other interesting stuff. Wish I could be there too!

Bill Arconati wrote a post on the Atlassian blog, describing the demo the WebWorks guys gave us, including a video of the session.

Let me know if you decide to give it a go, and whether the step-by-step guide above was useful. If you get further into the templates, stationery and AutoMap side of things before I do, I’d love to hear your experiences too.

ePublisher Pro – Use this component to design your “stationery” i.e. the appearance of the documents that ePublisher will output.

ePublisher Express – Use this component to generate your documentation.

ePublisher AutoMap – Use this component to automate the documentation generation process, and to perform batch processing, scheduling, etc.

I found the online help shipped with the product more useful than the online documentation. Start ePublisher Pro and click ‘Help” to open the local help system in your browser.

Written by ffeathers

4 October 2009 at 4:18 pm

Getting content into and out of wikis

with 25 comments

As wikis mature, we’re using them for more complex business cases such as technical documentation, business analysis and project management. It’s becoming more and more interesting, if not essential, for wikis to support the import and export of content to and from other formats. Most wikis allow you to convert their pages at least to PDF and HTML. But what of other formats, and what about tools for getting content into wikis as well as out of them?

For the past couple of months I’ve been writing myself notes whenever I see mention of such a tool. Now I’ve added a bit of web searching to the mix. Here’s the resulting motley collection of tools that convert to/from wikis to/from wherever/whatever. It’s by no means complete, its order is decidedly random, and it focuses on Confluence and MediaWiki more than on other wikis, because Confluence is the wiki I use and MediaWiki is a biggie. If you know of other tools not mentioned here, I’d love it if you add a comment to this post.

What’s not in this post

I haven’t included the various widgets, gadgets and macros that allow you to include content onto a wiki page dynamically from another source, so that the external content is displayed to the user when the wiki page is rendered. Examples of these not-included tools are dynamically-rendered RSS feeds, Twitter feeds, extracts of code from source repositories, etc.

Rather, I’m looking at tools that convert an entire document or set of documents from one output format to another.

Converting from a wiki to something

Tool What it does What it is
Mylyn WikiText Converts from wiki markup (MediaWiki, Textile, Confluence, TracWiki and TWiki) to HTML, Eclipse Help, DocBook, DITA and XSL-FO. An Eclipse plugin plus a parser toolkit, Ant tasks and API. Mylyn WikiText can be installed into Eclipse or used as a stand-alone tool.
Maven Doxia Converter Converts from a number of input formats (APT, Confluence, DocBook, FML, TWiki, xdoc, XHTML) to a number of output formats (APT, Confluence, DocBook, XSL-FO, iText, LaTeX, RTF, TWiki, xdoc, XHTML). An extension to Doxia, the documentation framework used by Maven.
Scroll Wiki Exporter Exports from Confluence wiki to DocBook-XML and PDF. A Confluence plugin.
Confluence space export Exports Confluence pages to PDF, HTML or XML. (The XML is a Confluence-specific format) Tools built into Confluence.
Confluence Office Connector Allows you to use Microsoft Office or OpenOffice to edit a Confluence page; import an Office document into Confluence, converting its content to wiki format; attach an Office document to a Confluence page and display its content in Confluence, without converting the content; edit the attached document in the Office application, directly from the Confluence page. A Confluence plugin, also bundled with Confluence itself by default.
Universal Wiki Converter Converts from a number of wikis (TWiki, PmWiki, DokuWiki, Mediawiki, MoinMoin, Jotspot, Tikiwiki, Jspwiki, Sharepoint, SWiki, Vqwiki, XWiki, Trac, SMF) to Confluence. Binaries and a command-line script to run the tool.
OpenDocument Export Exports single pages or collections from MediaWiki to OpenDocument Text format (.odt). MediaWiki extension.
PDF Export Lets you view MediaWiki pages as PDF. MediaWiki extension.
PdfBook Composes a book from MediaWiki articles in a category and exports as a PDF file. MediaWiki extension.
KML Export Generates KML files for Google Earth from content in MediaWiki article pages. MediaWiki extension.
Wiki2LaTeX Exports Mediawiki-articles to LaTeX and PDF. MediaWiki extension.

Converting from something to a wiki

Tool What it does What it is
Maven Doxia Converter Converts from a number of input formats (APT, Confluence, DocBook, FML, TWiki, xdoc, XHTML) to a number of output formats (APT, Confluence, DocBook, XSL-FO, iText, LaTeX, RTF, TWiki, xdoc, XHTML). An extension to Doxia, the documentation framework used by Maven.
HTML-to-wiki-converter Allows you to enter raw HTML online, and convert it to Confluence, DokuWiki, GoogleCode, JSPWiki, Kwiki, Markdown. MediaWiki, MoinMoin, Oddmuse, PhpWiki, PmWki, SnipSnap, Socialtext, TikiWiki, Usemod, WakkaWiki, Wikispaces, WikkaWiki, XWiki A web site.
WebWorks ePublisher Converts from Microsoft Word, FrameMaker and DITA-XML to Confluence, MoinMoin or MediaWiki (as well as a number of non-wiki formats) A publishing platform.
DITA2wiki/DITA2Confluence Publishes DITA content (maps and topics) to Confluence wiki. A toolkit in the form of binaries and configuration files. You edit the configuration files then use Ant to run the conversion.
Confluence Office Connector Allows you to use Microsoft Office or OpenOffice to edit a Confluence page; import an Office document into Confluence, converting its content to wiki format; attach an Office document to a Confluence page and display its content in Confluence, without converting the content; edit the attached document in the Office application, directly from the Confluence page. A Confluence plugin, also bundled with Confluence itself by default.
Universal Wiki Converter Converts from a number of wikis (TWiki, PmWiki, DokuWiki, Mediawiki, MoinMoin, Jotspot, Tikiwiki, Jspwiki, Sharepoint, SWiki, Vqwiki, XWiki, Trac, SMF) to Confluence. Binaries and a command-line script to run the tool.
HTML to Confluence Converter Converts a web page (HTML source) into Confluence markup. A PHP script and a Confluence macro.
MsWordToTWiki add-on Converts from Microsoft Word to TWiki. A VBA script to convert from Word to HML, and a Perl script to convert from HTML to TWiki markup.
CopyMsOfficeTable add-on Copies a table from an Office program (OpenOffice or MS Office) to TWiki. This is just one of a few listed in the TWiki add-on pages. A TWiki add-on.
Sun Wiki Publisher Publishes from StarOffice or OpenOffice to MediaWiki. OpenOffice extension.
RoboHelp2Wiki Converts from RoboHelp to MediaWiki. MediaWiki extension.
Custom tools developed by IBM Anne Gentle’s book, Conversation and Community (page 165), describes how IBM uses XSL and DITA to convert content from Framemaker to Mediawiki. Custom tools developed by IBM.
Calc2Dokuwiki Exports a selected ranges of cells to tables in Dokuwiki syntax. OpenOffice extension.

Wow, so many?

Yes, and more. My list is just a start! From the number of tools already being used and under development, it’s clear that this is one of the growth areas for wikis in the next year or so. Some of the tools above are already a core part of one or more wikis. Others are stand-alone, fully-featured and well supported publishing or authoring platforms. And still others are plugins, extensions or add-ons created by the “ecosystem” of talented developers that surround and support wikis.

At this time, it’s a case of caveat explorator, for anyone needing to convert their documents to or from a wiki. Especially if you need to convert your content regularly as part of your authoring and publishing workflow, it’s worthwhile doing some in-depth investigation before using some of the tools mentioned above. Even more so if you’re looking for a “round-trip” conversion, where you need to convert from one format to another and then back again without losing content or formatting.

On the other hand, many of the above tools are already much used and well supported. It’s an exciting area for anyone interested in or already using wikis. Please let me know about all the tools I’ve missed. :)

Written by ffeathers

14 September 2009 at 5:04 pm

Linking to external blog posts from our documentation

with 5 comments

At work, we’ve just started a new set of documentation pages called “Tips of the Trade“. The project is still in the early stages. I thought other tech writers might be interested, so I’m blogging about it now. There will be a page for each of the products we document. The pages contain a set of links to useful blog posts written by people out there on the www. It’s a way of giving our readers more information and a way of involving external bloggers, developers and authors in our documentation.

Here are the first two:

The pages for JIRA bug tracker and Bamboo build manager are under review. We’ll be adding pages for our other products soon too.

Why have we started doing this?

The idea has been skulking around my head for a while, and it finally got dragged out into the open two weeks ago when, for the umpteenth time, someone asked me how we use wiki spaces to manage documentation versions. My answer was to point them to a blog post I’d written on this topic. But first I had to sift through the plethora of blog posts to find the ones about doing tech docs on wikis. And it’s not only me. Our technical sales and support guys have repeated the same search many times.

How much handier it would be if we could point the enquirer to a whole set of links about using wikis for technical documentation. Or even better, how awesome if people could just find the links for themselves in our documentation. Time saved, for them and for us. FTW.

Funnily enough, apart from tech docs on wikis, there are other things in life too. For example, haven’t you been dying to know how to secure a Grails application with Acegi and Crowd, or how to do SSO for RoundCube Webmail? Heh, the Crowd “Tips of the Trade” page has links to people who’ve done it.

Bringing the idea to life

So I put together two strawman pages, one for Confluence and one for Crowd. That was a fun and interesting exercise in itself. It took many hours. I had to search for the blog posts, then read each one and decide whether it suited the purpose. Because we’re talking about the technical documentation, I was looking specifically for “how to” guides rather than the broader use case materials.

Then I blogged about the idea and the strawmen on our extranet (a Confluence site that we use for company blog posts, planning, information management and so on). The response was immediate and enthusiastic.

That’s one of the things I love about working at Atlassian — all the feedback and support you get when you post an idea on the extranet. If you get no comments, then there’s a good chance the idea is a dud.

A rose by any other name

Isn’t it so often true that finding the name is the most difficult part of a new project? The page title started out as “Tips from the Trade”. But that wasn’t quite right. So for a short period of time we dubbed the pages “Tips from the Coalface”. Not ideal either. So now they’re “Tips of the Trade”. Better, but still not awesome.

The title doesn’t really resonate, scintillate, titillate :)

Any ideas?

The page layout

To categorise or not to categorise? I decided to go for “soft categorisation”. I don’t know if that term has ever been used before, but it kind of expresses what I mean.

Our human brains like to categorise things. It gives us a fuzzy sense of security and well being :) On a more mundane level, categories give a page a structure that is pleasing to the eye. They soften the “wall of text” effect. On the other hand, categories are fairly arbitrary or subjective and can hide valuable information.

So I put the blog posts into more-or-less meaningful categories, and put a box around each block of links with the category as title. But I didn’t mark the category as a heading. The result is that the table of contents at the top of the page does not show the categories. So you get the best of both worlds — a categorised and an uncategorised view of the world, uh, page.

For those who want to know the wiki markup:

  • The table of contents at the top of the page is produced by a {toc} macro, showing only heading level 6: {toc:minLevel=6|maxLevel=6}
  • The boxes are produced by the {panel} macro, with a choice of colours: {panel:title=Application Connectors
    |borderStyle=solid|borderColor=#ccc|titleBGColor=#6699cc
    |bgColor=#cee7ff}

Hint: You can see the wiki markup for yourself. Go to the Crowd Tips of the Trade, open the “Tools” menu and select “View Wiki Markup”.

I also decided not to put the posts into any particular order. I’m assuming that most people will find what they want via a search, so I’ve added some short descriptions of the content of each blog post.

Tips of an entirely different sort

Diversion alert!

This morning I had to trim the tips of my hair. Fully two inches off! But the cause of this tip-trimming is suitably romantic. My hair got hopelessly tangled when I flew in an open-cockpit Tiger Moth. Tip: If you ever get the chance to do something similar, tuck your hair under the helmet. It was a fantastic experience. Here are some pics and videos: Flying in a Tiger Moth.

A couple of months ago I radically pruned one of our bushes, because it was getting tall and a bit sparse in the middle. We were worried for a while that I’d been too enthusiastic. But now such pretty flowers have bloomed on all the blunt tips:

Linking to external blog posts from our documentation

Linking to external blog posts from our documentation

My faith in gardening “how to” manuals is restored ;) A close up view:

Linking to external blog posts from our documentation

Linking to external blog posts from our documentation

What’s next for the “Tips of the Trade” project

When we have published more of the “Tips of the Trade” pages, I’ll write about them on the Atlassian blog. That way, our customers, community developers and community authors will know about them too. People will start stumbling across the pages via Google search and other searches, word of mouth, etc.

The documentation is on a wiki, so other Atlassians and contributors can add links to useful blog posts they come across. The tech writers monitor the wiki pages and will intervene if the links don’t quite suit the purpose of the document.

The pages provide useful information for our readers, especially about the edge cases and specific use cases that it’s so hard to cover in the core technical documentation. Thinking of the blog authors, they’ll probably like the fact that we’re linking to their posts. You scratch my back, I’ll scratch yours. That’s social, mate ® ;)

I’m totally enjoying the work of compiling the pages and it will be interesting to see what feedback we get.