Scripts used in svg publish extension are on github

Recently published all javascript, html, and css code of scripts used in html publishing to the GitHub for the upcoming version 1.1:

This repository contains the default built-in templates, that are used in the Svg Publish extension

The scripts/style files are bundled and minified at the build time by the extension,
and visible in the template as file "vp-script.min.js" and "vp-style.min.css" respectively.
The default template, installed with the app, is also there.

First, these are for reference. Second, they can be easily used your own solution. There are two ways:

Way 1. Just drop the content of the file into "immediate" script window on the diagram.
Remember to uncheck corresponding option, if you ware overwriting it with custom code.

Way 2. You can use these as samples to create your own custom template.
To do so, create a copy of the vp-template.html file, and check "use custom template" in the settings.

Simple example: tooltip. In fact, it's almost 100% stock bootstrap tooltip. The core is just this simple:

// run through all exported shapes
$.each(diagram.shapes, function (shapeId, shape) {

        if (!shape.Comment)  // if shape has no comment, skip it

        // get SVG element for the shape by id
        var $shape = $("#" + shapeId);

        // attach bootstrap tooltip to it:
            container: "body",
            title: shape.Comment

Introducing IdMso visual studio extension

A few months ago I released a visual studio extension, that provides autocomplete if you edit office ribbon files. The extension is open source, and published on GitHub.

By now, it proved to be more of less functional and even some issues with Office 2016 icons were fixed thanks to the user feedback! 🙂

What it can do for you - it can assist you if you edit the XML files to define interface for your extensions in the Visual Studio editor.

The code is based on famous glyphfriend extension (if you don't use it yet - you should start, it's great). Initially there was a plan to merge this part into that extension, but it proved to be quite heavy with all those 5000 office icons, so it is now separate thing.

Continue reading"Introducing IdMso visual studio extension"

Layers support in html publishing

With new update to Version 1.0.9 there is new "out-of-the-box" function of the HTML Export extension- layer support!

Now you can publish diagrams, and add optional layer management, to allow switching layers on/off on the published diagram.

This allows to control diagram's layers on the web to show/hide it's parts.

Check out the example: Suzuki FA50 Shuttle electrical schematic. Yep, in 1990s it was all pretty simple.

You can turn on/off wires of the corresponding color by clicking the layer switch, to see what is connected with what. This is out of the box.
Alternatively (this part is provided by extra tiny script) - you can turn layers on/of by clicking shapes. For example, if you click a lamp, all wires which are connected to that lamp will be turned on/off. Click the picture to go to live diagram.

Live:  The source diagram:  1981-91 Suzuki FA50 Shuttle (152.9 KiB)

Continue reading"Layers support in html publishing"

Pokemon office – more html popovers

New sample with updated javascript code / template created with svg publishing, to show stuff in the office (click the picture open it live)

The javascript is very similar to the one described in the Dynamic popups on published diagrams, you can check it in the source diagram. Just the formatting is different, now it builds a chunk of HTML and populates it with some images/properties from the shapes.

The source diagram and the excel file are here:  PokemonBldgPlan (577.3 KiB)

Continue reading"Pokemon office – more html popovers"

Dynamic popups (“popovers”) on published diagrams

With HTML export, you  can specify any information to show on popup (bootstrap popover)

Firs, simple demo (rectangle):

Live sample: Souce:  SimplePopover (14.5 KiB)

This is just stock popover. The code just defines a standard bootstrap popover, but for a Visio shape (#shape1).

   title: "Hello",
   content: "This is some sample text",
   placement: "top",
   container: "body"

The result might not look that impressive, but I hope it looks clear.

Now let's go for something more advanced. Lets take stock diagram and show in the popover info about the relevant computer models from the HP website.
Click the image to open it live (again, hosted on GitHub)

Continue reading"Dynamic popups (“popovers”) on published diagrams"

Exporting html diagrams – binding to live services

This post briefly explains how to bind Visio diagram, exported as HTML to some external live web-service.
It's based on the HTML/SVG export extension.

If you want the exported diagram to be connected to some live data,  you'll need to connect to some live service (in this example, we consider a REST service). In the following posts, I'll discuss binding a diagram to a SharePoint list using JSOM / REST.

So, let's take map of Europe and show temperature by coloring countries, with colder colors indicating colder temperature! You can check the result in DEMO section (click the picture to navigate):

Here is basically the sequence of steps how to build it:

Continue reading"Exporting html diagrams – binding to live services"

Exporting Visio diagrams as html

Do you want to build interactive diagrams which are available via web?

Well, Visio SharePoint Services are there, but what if you want to go one step further than that and control/animate shapes more precisely and use standard css3 animations for example, or if you don't have / don't need SharePoint Enterprise?

The good old HTML/SVG export is here to help you with that! And yes, you can still have your diagrams in SharePoint. Or on GitHub pages. Or on your network drive 🙂


Check out what you can do with that!

Back-Sync: Visio “backward” data synchronization

Visio has a nice feature, which allows you to link data to shapes. This allows you to create interactive dashboards for example, display data graphics which reflect the current state of some system on Visio diagrams, etc.

One thing may is occasionally needed, is a possibility to update your data source from Visio diagram. Meet the new add-in: BackSync

This add-in uses Visio data-binding infrastructure, and allows you to update the data in the external source from Visio (back-synchronize). There are limitations of course, but basically it should work with most data sources which support update (including Excel files, databases, and SharePoint lists).

Continue to the add-in's page