MarkLogic Toolkits for Word, Excel, and PowerPoint

I thought I’d use this post to provide a brief introduction to the MarkLogic Toolkits for Office.  So here’s an overview:

What is a Toolkit?

A Toolkit is a set of tools for jumpstarting your development with MarkLogic Server and Microsoft Office 2007 / Office 2010 / Open XML.

There are currently 3 Office Toolkits:

  1. MarkLogic Toolkit for Word
  2. MarkLogic Toolkit for Excel
  3. MarkLogic Toolkit for PowerPoint

We care about Word, Excel, and PowerPoint, because with Office 2007, their respective document formats are now XML.  Take a .docx, .xlsx, or .pptx and change it’s file extension to .zip.  Extract the file and inside you’ll find a bunch of interrelated XML parts.

This update to the document formats provides an interesting opportunity as people can now work with XML without learning new, specialized tools, or even really being aware of the fact that they’re working with XML.  Authors continue to use the tools they know and are familiar with in Office, and we can provide additional functionality to them by taking advantage of the XML.  The Toolkits provide ways for us to enhance the authoring experience within Office as well as on the Server where we can prepare content for Office as well as additional consumers.

Each Toolkit is composed of 3 major components:

  1. Add-in for Word | Excel | PowerPoint
  2. XQuery API
  3. Sample Applications

Add-in with supporting JavaScript API

The Add-in is just a standard Windows application you install using a .msi.  Double-click the .msi to start installation, click next, next, next, through the dialog screens as you would with any Windows app, and the next time you start Office you’ll find a Task Pane on the right hand side of the application (see image below).

NOTE: The Task Pane is just a browser!  It’s using whatever version of IE is installed on the client, and exposing that within Office.

The Addin may just be a browser, but it also installs a supporting library for interacting with the active document (the document being authored).   Access to this libary from the browser is available from the JavaScript API that comes with the Addin.  Developers can quickly create a webapp within Word, Excel, or PowerPoint that communicates with and/or is even served from MarkLogic Server and they can use the JavaScript APIs to get XML in and out of the document being authored.

We wanted to avoid creating a situation where users had to constantly re-install Add-ins on the client.  By making it a browser, we can update functionality by simply changing the application code on the Server.

JSDocs are provided with each Toolkit for the respective JavaScript API.

XQuery API

The XQuery APIs for Word, Excel, and PowerPoint provide functions for developers to manipulate and generate Office documents on the Server.

The goal is to simplify the use of Open XML.  Along with each XQuery API,   a CPF pipeline for MarkLogic is also provided that will automatically update Office documents on the Server as they are ingested to make all the XML more friendly for search and reuse.  These updates are done without using any custom XML and without losing any document fidelity.

NOTE: The Add-in and XQuery API can work in concert or separately.  If your authors use Office, it might make sense to use both. If you’re querying Office documents (or some other XML format) on the Server, and delivering results through a regular browser or some other consumer, you might not need Office on the client at all.  But if you’re delivering an Office document as a result, yes,  you still may require the Office application on the client, but you don’t necessarily require Add-in.  It all depends on your use-cases and particular goals.

XQuery API docs are provided with each TK as well.

Sample Applications

Rather than just give developers an empty browser with a .js file and JavaScript API documentation to start development with, each TK comes with Sample Applications.  A developer can just drop the Sample right into MarkLogic, configure their Addin to reference the URL of the Server, and quickly be up and running with applications within the Task Pane.

These Samples are VERY simple.  They provide just a sliver of the available API functionality.  Again, they’re intended to jumpstart development.  We provide these samples so a developer can quickly see some useful functionality, open the source to see how the code looks, and get in there and start hacking to create the app they actually want.  Developers can reference the API docs and add/change functionality as they require.  When you look at the docs you’ll see that there is a LOT that can be done on the client and in the Server that isn’t demonstrated in the Samples at all.

NOTE: The Sample Application is not the Toolkit.  It’s just one example of the type of application you can build using a TK.

NOTE: The Sample Application is not Office.  We skinned the samples to be the colors of Office.  But it’s just HTML, JavaScript, and CSS.  Remember, the Pane is just a browser serving up pages from MarkLogic.  The goal is to keep authors comfortable in their authoring environment, letting MarkLogic do what it does best (search, reuse, enrich, analyze, etc.) and let Office do what it does best (author,analyze,present).  If you want to use crazy colors and  the blink tag for your app, go for it!

A Toolkit Guide rounds out the documentation with details on creating, configuring, and delivering solutions that use the Toolkits.


Office is ubiquitous.  The goal of the Toolkits is to keep authors authoring and analysts analyzing  in the tools they are already using and comfortable with.  Office is a publisher and consumer of XML, MarkLogic is an XML Server.  The products compliment each other very nicely and we can create a much richer Office experience for authors without requiring them to learn new, custom tools, or even be aware of the fact that behind the scenes, it’s all XML.


The Toolkits are all free and now available on codeplex.  They are all open source, released under the Apache 2 license.

The response to the TKs has been very positive.  I’ve seen an increase in interest lately, and it’s been great to hear people are using these and finding them very useful.  I was surprised to hear at #MLUC10 how one person has deployed all 3 TKs across his organization and is very excited about the possibilities.  He also told me that multiple authors are enjoying the Sample apps in PowerPoint as-is.  Very cool!

I just have to say, I get excited too!  Each Office application has a different degree of XML friendliness and Word is by far the friendliest.  With the Toolkit for Word we can use Word as a browser into MarkLogic.  At work I send content back and forth between Word and MarkLogic and never have to save a local .docx on the client.  It’s just XML going back and forth.  Office consumes and publishes Open XML.  Using the XQuery API, I can dynamically create the XML Word requires for consumption from alternative XML formats. Also, Word publishes WordprocessingML, but my destination XML format isn’t necessarily always Office docs.  It’s pretty awesome, and that’s just Word!  Similar opportunities exist for Excel and PowerPoint as well.

Spoiler Alert: there’s more awesome coming!

So that’s it. You’re now Toolkit experts.  Go download the Toolkits and have fun creating your own MarkLogic applications for Office.  If you have any questions , comments, or suggestions for the TKs please feel free to drop me a line in the comments. Thanks!


Ain’t No Party like a MarkLogic Party!

Last week we had the 2010 MarkLogic User Conference and it was awesome!  You can read all about it here and get some sense of the action (for a few days at least) here.  If you were in attendance, thanks to everyone for helping put on such a great event!

I find the conference inspiring for many reasons.  I could go on and on about why, instead you’ll definitely find the influence of #MLUC10 in subsequent posts.  In a nutshell, once a year the entire MarkLogic Community gets together for a 3 day collaborative brainstorming session and celebrates Big, Screaming Fast XML and all things Server.  This was my third, and they keep getting bigger and better.  This year though, for the first time, we had a Conference party.  The shindig was amazing and definitely deserves a special shout-out!

MarkLogic rented out the California Academy of Sciences and it was nuts.  Well first, they gave out temporary tattoos featuring our new logo to everyone.  You can check out the awesomeness on this person’s dome (click images for larger views), as well as the mighty fist here. Some people really got into the tats.

They had buses on a loop from the Intercontinental Hotel, where the main event was held, to the Academy to bring people continuously to and from the event.  We got over there around 7 and started the evening by exploring the new 4-story rainforest exhibit.  We walked spirally up a ramp within a giant, clear, enclosed, warm, humid dome, viewing butterflies, frogs, snakes, geckos, bats, birds, and other creatures of the rainforest.  The habitat circles a giant pool in the center floor where we had the chance to see humongous gars and other fish swimming around.  At the top level, the docents did a butterfly check of clothing before putting us on an elevator that took us down to a level below the rainforest, to the aquarium and an area where we could look at the giant rainforest pool from the under side.

And then it just got ridiculous (in a good way). You got off the elevator and people were waiting there to serve you wine and drinks the moment you walked in the room.  You could walk through the aquarium, and every time you turned a corner, there was a sushi/hor d’oeuvre station or an open bar.  I wandered around, exploring and talking to people, checking out jellyfish and snacking on salmon and dim-sum, while others ate sushi and watched the fish. (yeah, i know!).

I was having a good time and really thought that was it with regard to the party area.  We’d seen the rainforest, and the aquarium was lots of fun.  The Academy closed the rainforest at 8, so I thought what we’d seen was all very impressive and we’d finish the evening drinking and socializing among the eel and octopi.

I’m wandering around and I find a set of stairs that ends up taking me to the main exhibit area.  The top of the stairs opened into a  whole other party section with candle-lit tables, more food and open bars!  There was prime-rib with mashed potatoes, mexican food, sliders and chips, dessert tables with cakes, cookies, and build your own sundaes.  I don’t think i saw all the food available, there was so much of it.

It was just awesome. Everywhere you turned you found good people, good food, good drink, good conversation, and good science!  And to top it off, they had someone taking photos in front of this large skeletal mouth.  When you left the party at the end of the evening, the photo was in a small folder, waiting to be picked up by the door.

I took my pic with Josh, our Vice President of People. This is a pic of a pic, and looks blurry as I resized smaller, click for a better view.  I’m the one throwin up the ML gang sign of course.  In retrospect, I wish I would’ve stood behind Josh with my hands on his hips, both of us at an angle looking over one shoulder, prom style.  🙂  Yeah, that would be just SO wrong, and yet i still think it would’ve been absolutely hilarious.  But this pic is great too!  Ok, the pic tangent is all in good fun, but all kidding aside…

Well done MarkLogic! and Thanks for another great User Conference!