Sign up  login
Home Blog Gliffy Blog - Gliffy Plugin for Confluence

Gliffy Plugin for Confluence

An important note for Gliffy Plugin for Confluence customers

Monday, June 9th, 2008

It’s been a challenge getting the most recent release of The Gliffy Plugin for Confluence shipped.

What follows is a long nerdy story describing one of the challenges we have faced getting Confluence 1.4.0 shipped. If you don’t want to read the whole story, do please take note that it ends with this important notice: The Gliffy Plugin for Confluence 1.4.0 will require Confluence 2.6 or better.

One of the biggest problems we’ve encountered is related to the fact that we’ve tried really really hard to support as many older versions of Confluence as possible. This dedication does, on occasion, create big headaches for us. Sometimes, I’ve learned, we just can’t have our cake and eat it too.

So what’s going on?

Our story begins way back in November of 2006 when we first released the Gliffy Plugin for Confluence (GPFC for short). Be forewarned, this is going to get geeky real fast.

A brief overview about how GPFC is architected
When you save a diagram in Confluence, it is written out in an XML format. That’s just great, but XML isn’t exactly a human readable format. We overcome this by transcoding our Gliffy XML format to SVG, and then use the software package Batik to transcode the SVG to an image.

So what’s the problem?
Well, it turns out that Confluence versions 2.2 through 2.5 all ship with Batik 1.5 pre installed. Unfortunately, Gliffy requires Batik 1.6 in order to render diagrams correctly. Probably the most elegant solution at this point is to let the Confluence Plugin Class Loader solve this by letting us bundle any number of jars with the plugin distribution. The idea is that the Plugin Class Loader should be smart enough to load classes bundled with the Plugin first (ie, Batik 1.6 which we require) before trying to load classes from anywhere else (ie Batik 1.5 that ships with Confluence 2.2). Unfortunately, back in the early days of Confluence 2.2, the plugin class loader wasn’t very smart, and I’m pretty sure it couldn’t even load jars bundled with plugins at that time.

Back in November 2006 when we first released the GPFC, it was critical that we supported as many older versions of Confluence as possible since we knew there would be a ton of customers using those older versions. In fact, back then we were compatible with some Confluence versions in the 1.X series. Anyway, how did we solve the problem?

The Hack
The solution ended up being pretty filthy. Basically, we changed the namespace of the version of Batik we needed from org.apache.batik to gliffyorg.apache.batik, then compiled from source. This allowed us to ship Batik 1.6 with our plugin without running into naming conflicts with the 1.5 version of Batik that is shipped with Confluence.

In retrospect, this probably wasn’t the best solution, but it did solve our problem at the time. If I ran into a similar problem again, I’d probably look more seriously into writing our own class loader as a means for guaranteeing we’d get the versions of a class or library we needed…. but with Confluence this might not be a trivial task since Clustered versions of Confluence store plugins in the database. Arrrr!

So what’s the problem now?
One of the big new features in the GPFC 1.4 is our new symbol libraries. The new symbol libraries are WAY better looking than the old ones, and they generally behave a lot better too. The Gliffy Plugin for Confluence 1.4 will have an awesome set of Network Diagram Symbols, Floor Plan symbols, Wireframe Symbols, and more. When were finally merged the new symbol library codebase with the GPFC, we noticed there were some issues with our re-namespaced version of Batik…. basically, the new symbol libraries didn’t work with our munged version of Batik. Somehow, we introduced a bug when we re-namespaced Batik.

Now, it’s important to realize that Batik is no small bit of code. Digging into why things weren’t rendering correctly was going to be no small task…. and we knew that this hacky-go-lucky thing we had going on with the whole re-namspacing business was… well… unclean in the first place.

We needed a new solution
This got us starting to look at the whole problem again with fresh eyes. We tried a whole bunch of solutions that ended up being dead ends. I tried re-namspacing Batik 1.7 , hoping that the before mentioned rendering issue would just go away. This ended up having it’s own set of issues, plus this was just the same unclean strategy as we had tried before.

I then spent some time looking into seeing which versions of Confluence would let us bundle Batik 1.6 un-modified. Unfortunately, with all versions of Confluence, I was unable to bundle Batik due to yet another class loader problem in Batik or Confluence….

Is this worth it?
It was about this time Friday that I started to get pretty annoyed. Here I am, trying to get the GPFC setup so that customers can take advantage of all these great new symbol libraries, but at the same time watching the clock tick by as I’m stuck trying to solve these annoying problems that seemingly have no solutions. Think about it: Our customers aren’t getting access to a new version of our software simply because we’re trying so hard to support old versions of Confluence.

So we started to re-think assumptions, as we often do. My chief concern all this time has been that we didn’t want to upset current customers by requiring them to upgrade to a recent version of Confluence to get new features.

Well, we tried really hard to support older versions of Confluence with this release, but it’s just not going to happen. Sorry. :(

The Solution
At the end of it all, we’ve decided that The Gliffy Plugin for Confluence 1.4.0 will require Confluence 2.6 or better. Why? Since Confluence 2.6 ships with Batik 1.6, the whole issue just goes away.

Now, back to the original concern, which is that we want to make sure our customers don’t feel like they are forced to upgrade Confluence to get the most recent version of Gliffy. Well, our thinking in this area is that if a customer hasn’t upgraded to Confluence 2.6 or better in the 9 months since it has been available, upgrading to the GPFC 1.4.0 probably isn’t at the top of their list either. Some other plugins, such as the Calendar Plugin, require versions of Confluence as recent as 2.8 to get the latest and greatest plugin features.

OK, if you got this far, thanks for reading. Do please let us know in the comments to this post, or by contacting support directly, if requiring Confluence 2.6 for the next feature release of the Gliffy Plugin for Confluence is asking too much…. we want to hear from you!

Written by Chris K

Gliffy Plugin now offered to Confluence Hosted customers at no additional charge

Wednesday, April 30th, 2008

Great news: The Gliffy Plugin for Confluence is now available to Confluence Hosted customers, at no additional charge.

Through a development partnership, the benefits of the Gliffy Plugin will be available when using the hosted version of this award wining enterprise wiki. Why Confluence Hosted? It enables you to quickly edit your wiki from anywhere without dedicated IT resources. The Confluence Wiki gives you the following added benefits:

  • Enterprise Security - with SSL
  • Attractive, user-friendly WYSIWYG interface
  • Monthly credit-card billing
  • And dozens of other great features!

And now, with the Gliffy Plugin, you can add great looking drawings to that list! Gliffy enables you to create Flowcharts, UI wireframes, Floor plans, Network diagrams, UML diagrams, and many more diagrams or simple drawings with just one click.

Confluence Example

The Gliffy Plugin for Confluence is a secure and easy way to utilize the power of the Gliffy diagram editor to create professional looking diagrams within Confluence. Diagrams created with the Gliffy Plugin for Confluence are stored as attachments, allowing Confluence to manage the revision history.

Learn more about Confluence Hosted:

Overview

Written by Debi Kohlhardt

Meet Gliffy at San Francisco Web 2.0 Expo

Thursday, April 17th, 2008

This is your chance to meet the people behind Gliffy. We will be on hand April 23-25 at the Web 2.0 Conference in San Francisco. Take a moment to introduce yourself to us; we will be sharing booth space 535 with Atlassian Software Systems.

We think this is a great opportunity to:

  • explore the latest that Gliffy has to offer
  • share with us what you’d like to see next with the program
  • meet our talented team
  • ask questions

If your team is considering Gliffy, stop by and test the program with us. We are confident you will be impressed.
As a thanks for saying hello, discount codes for purchase of new Gliffy Plugin for Confluence Licenses will be handed out at the booth (suggestion: other cool schwag available, get there early)
.

Chris Kohlhardt, the CEO & Founder, and Clint Dickson, VP of Engineering & Founder, will be available during the conference. This is a great time to get information about Gliffy from the founders. If you would like to make an appointment with us in advance, drop us a note. Mark your conference schedule for 2pm Wednesday the 23rd and 4pm Thursday the 24th for a mini-presentation in the booth by Chris.

We would be glad to see you at Web 2.0 Expo!

Written by Debi Kohlhardt

Gliffy Plugin for Confluence 1.3.5 released

Wednesday, October 31st, 2007

We are happy to announce the release of The Gliffy Plugin for Confluence 1.3.5. This is a significant bug fix release, and we encourage all customers to upgrade to this release. Download this release or upgrade using the repository client. As always, restart Confluence after you upgrade to complete the installation.

Written by Chris K

Video from June Atlassian User Group Meeting

Monday, August 27th, 2007

Chris at Atlassian User Group

Atlassian has posted video from the June Atlassian User Group Meeting in Palo Alto.

Jon Silvers noted that our presentation was “one of the most provocative presentations of the day”. Thanks Jon!

If you missed it, here is your chance to check it out!

Written by Chris K

Gliffy Plugin for Confluence 1.3.4 released

Monday, August 20th, 2007

We’ve released a minor bugfix update of the Gliffy Plugin for Confluence. Any customer who exports PDF’s of wiki pages from Confluence or has Anonymous users editing diagrams will want to upgrade to this release. You can download this updated plugin via the repository client, or on our download page. The updates in this release include:

  • Fixed issue which caused diagrams saved by anonymous users to throw errors when they were edited.
  • Fixed issue where diagrams in PDF exports of wiki pages containing diagrams with i18n names didn’t render correctly

Restart Confluence after installing any update to the Gliffy Plugin for Confluence to ensure you get back up and running quickly.

Written by Chris K

Gliffy Plugin for Confluence 1.3.3

Monday, July 16th, 2007

Issues resolved:

  • Improved performance of license checking code. Instead of counting the number of Confluence users which was costly in terms of time, we now compare the purchased Gliffy Plugin license against the purchanse Confluence license.
  • Improved performance of Extractor indexing code. Since we only need a small portion of an attachment to check to see if it’s a Gliffy document, we only grab the first 400 characters where as we used to grab the entire document.
  • Fixed minor typos
Written by Chris K

Gliffy Presenting at Atlassian User Group in Palo Alto on June 28th

Friday, June 22nd, 2007

Atlassian is hosting a user group meeting in Palo Alto on June 28th, where I’ll be giving a brief presentation about The Gliffy Plugin for Confluence.

The current full program schedule for the day is:

  • Scott Farquhar, Co-founder and CEO, Introduction
  • Ned Lerner, Sony Playstation, on Confluence
  • Matt Doar, Consulting Toolsmiths, on JIRA
  • Jeff Calado, Apple, on Confluence
  • Joanna Thurmann, Polycom, on JIRA
  • Gautham Hegde, Organic, on Confluence
  • Chris Kohlhardt, Gliffy, on Gliffy and Confluence
  • Break (snacks and drinks to be served)
  • Birds of a Feather
  • Questions and Open Discussion
  • Cocktails and appetizers

RSVP here

If you attend, please come say hi! We’re always excited to meet with and chat with our customers.

Written by Chris K

Gliffy Plugin for Confluence 1.3.2

Monday, June 18th, 2007

Bugs fixed:

  • Fixed user license checking error GLFY-36
Written by Chris K

Gliffy Plugin for Confluence 1.3.1

Wednesday, June 13th, 2007

Bugs fixed:

  • Fixed issue where diagrams appeared ’scrambled’ in some cases.
Written by Chris K