My first Gnome Do plugin

I just pushed the code for my first Gnome Do plugin. It is a plugin for Confluence, a popular wiki package, and allows you to search your wiki from within Gnome Do. Do will present you with the results, and selecting one of the results will open that page in a web browser.

I want to give a shout out to the Do developers. Because of their very powerful and flexible plugin architecture, writing the plugin was a snap. Very little code was required. I probably spent no more than 10 hours total on this plugin, and the majority of that time was spent learning the plugin architecture, and learning how to install and test my plugin.

The code is currently on its own branch, waiting to be merged with the Gnome Do community plugins branch. If interested, you can currently find the code at https://code.launchpad.net/~john-p-wood/do-plugins/confluence. Eventually, it will be merged to https://code.launchpad.net/~do-plugins/do-plugins/community.

Next up, I’m working on a Do plugin that will interact with the many Orbitz Worldwide travel websites. Stay tuned!

Be Sociable, Share!

    6 thoughts on “My first Gnome Do plugin

    1. Cool! You should send an email to the mailing list so that people can test your plugin and we can merge it into community! Keep up the awesome work, I’m excited for the orbitz one!

    2. Hi John, The plugin looks good and I’ll try it out soon! Btw, you might be interested in a recent commit I did on the JIRA plugin where I read the credentials from gnome keyring. I’ve committed it to the community mainline.

    3. Alex and Andrew, thank you both for your help and encouragement. I look forward to working more with both of you guys on this project.

    4. First of all thanks for the plugin! I tried to use it with Confluence 3.0.1 and Gnome-Do 0.8.3 but I get the following error:
      [Info 15:31:34.898] [Confluence] Unable to search Confluence: System.Web.Services.Protocols.SoapException: The AXIS engine could not find a target service to invoke! targetService is confluenceservice-v1
      at System.Web.Services.Protocols.SoapHttpClientProtocol.ReceiveResponse (System.Net.WebResponse response, System.Web.Services.Protocols.SoapClientMessage message, System.Web.Services.Protocols.SoapExtension[] extensions) [0x00000]
      at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (System.String method_name, System.Object[] parameters) [0x00000]
      at ConfluenceSoapServiceService.login (System.String in0, System.String in1) [0x00000]
      at (wrapper remoting-invoke-with-check) ConfluenceSoapServiceService:login (string,string)
      at Confluence.ConfluenceSearchAction.Perform (IEnumerable`1 items, IEnumerable`1 modItems) [0x00000]

      Is it possible your plugin is not compatible with Confluence 3.x or is the problem on my side.

      Thanks!

    5. Hi Martin. It’s been a while since I’ve used Gnome-Do, so it very well could be an issue with the plugin. Shortly after writing it, I switched jobs from a Linux shop running Confluence, to a Mac shop running MediaWiki. Based on the error message you posted, it looks like web service API may have changed in Confluence 3.x.

      We recently switched from MediaWiki to Confluence, so I can try reproducing the error. However, if there is an error, I’m not sure I’ll be able to fix it any time soon, as I don’t have a development environment setup to modify the plugin.

      If you have some development experience, and feel like taking a stab at it, you can find the plugin code at https://code.launchpad.net/~do-plugins, and some instructions on how to get started with Gnome-Do plugins at http://do.davebsd.com/wiki/Getting_started_with_writing_plugins.

      If this is being caused by a change in the Confluence web service API, the fix should simply involve re-generating the ConfluenceSoapServiceService class based on the new WSDL, and possibly changing the plugin code to address any name or parameter changes in the API. The plugin only uses one method on the web service API…the search method.

      I’ll email you if I’m able to find out anything more.

    6. Thanks for your quick answer. Unfortunately I do neither have experience with SOAP programming nor a development environment setup.

      Merry Christmas!

    Leave a Reply

    Your email address will not be published. Required fields are marked *