I was tidying up my office recently, and came across an old magazine cover that I was on back in 1992. In those days, I was a consultant for a company called Isicad, and I am working on a £30,000+ Unix workstation. I have a small monitor for the Unify database on the left, and a large CRT monitor the CAD system, and a tablet with a stylus for interaction with the drawing. I also had more hair than I do now, which probably started going when I turned up to do some demos in Milan on a workstation that was supplied by the German arm of the company … only they didn’t leave a built one … just loads of boxes with parts, and that also included the circuit boards! I had to build it afresh whilst being instructed over the phone, and with my foot firmly hooked around the radiator because I didn’t have an earthing strap! Well, that picture started me thinking about my current workstation, which is a £3,000 Microsoft Surface Book 2, and how I have to connect to video displays nowadays!
I have been through many Windows Servers, PCs and laptops since 1992, but I think I had my first real desire for a particular model when I was over in Redmond for a conference and tried the Surface Book 2. I wanted one, but I had to wait for it to become available in the UK months later, and then a further few months because I wanted the 15″ screen with a Performance Base. I convinced myself that I needed that particular specification because of my continuous use of graphics, particularly with Visio. I was probably correct about that, but I honestly don’t detach the screen very much at all. So, I have the Surface Pen for freehand work on the screen, which I do use now and then, and the Surface Dial, which I only use for scrolling web pages and the audio volume. Maybe one day I can use it Visio… I also have a Microsoft Designer Bluetooth Mouse, which I like because I am allergic to the rubber wheels on most mice, but this one has hard plastic.
The Surface Book 2 is supplied with a power adaptor that has another USB-A port to add to the two USB-A ports on the left, and one USB-C on the right of the base. Well, I couldn’t connect to any external monitor or to a wired ethernet cable, so I forked out for a Surface Dock, which is a monster with a power adaptor and a separate hub with 4 USB-3.0 ports, 2 Mini Display Ports, 1 audio out, and 1 Gigabit ethernet port. I have been stopped several times at the airport with this unit because it looks very suspicious to the border officers when it goes through the X-ray!
So, if I am traveling and want to connect directly to an external monitor, I have two choices. I can take the Surface Dock, a Mini DisplayPort to HDMI, and an HDMI cable, or I can take the Surface power adaptor and a USB-C to HDMI cable that I bought from Uni Accessories via Amazon! You can see the difference below, and I can feel it in my laptop bag too!
Visio
Controlling Visio layers with linked data
Readers of my blog will know that I use the layers in Visio pages to change the display for different scenarios. My macro to toggle layers on/off has been very popular, and I have written an add-in to manage layers that is widely used. However, I was recently asked if the layer settings can be controlled from linked data. Linking data in Visio has been available in all desktop editions, except Standard, since 2007, and I have written many articles and two books extolling this feature, but I haven’t so far controlled layer settings with it, so this article describes how this can be done … as shown in the following screen recording!
[Read more…] about Controlling Visio layers with linked dataReading the registry for Visio settings
I love writing Visio automation code, but I really don’t like writing setup & deployment scripts. There are so many variables : What Visio version, which edition? Which bitness (x86 or x64)? What are the user settings for the paths of stencils or templates?
So, I decided to write myself some C# functions that can be used in custom actions for an installation writing application, such as Advanced Installer. I think of the methods as being in one of three phases, Installation; Functionality and Configuration. The registry has three different areas to search within, Classes Root (HKCR); Local Machine (HKLM) and Current User (HKCU). In addition, the best way to get the true file version of Visio is to use FileInfo on the executable. The following screenshots are from a Cross-Functional Flowchart of the functions that get values for variables, and use them in other functions, until, eventually, the current user settings can be read.
Each of the functions I wrote handle the part of the registry that needs to be used. By that I mean that some settings for 64bit Visio on 64bit Windows will be in a different branch than 32bit Visio on 64bit Windows.
The first function gets the current version of the application associated with Visio drawings:
Fixing the Layers problem with Callouts in Visio
I recently re-discovered an issue with callouts in Visio for a couple of projects that I am working on, and so I had to find a fix. The problem is that the callouts become dis-associated from their target shapes if either the layer visibility of the callout or the target shape is toggled off, and then back on again. This will result in a diagram with shapes without any connected callouts, so moving any of the target shapes will not move their associated callouts with them! I initially came up with a workaround that involved some jiggery-pokery with sub-shapes and layers, but it seems that the problem could have easily been averted if Microsoft had incorporated one specific User-defined Cell from the very start…
First, I should be clear which callouts I am talking about because the word has been used and abused over the years … This article refers to the callouts that are inserted from the Insert / Diagram Parts ribbon group. These are part of the Structured Diagrams concept that was introduced with Visio 2010.
Support for the Visio JavaScript API in SharePoint Modern Framework, and more
It was the last day of the MSIgnite conference today, and the video of the final presentation about Visio was worth staying for, even though some of it was content I knew about, and have mentioned in previous posts this week ( see Dive into the world of data-driven operation intelligence with Microsoft Visio, Excel and Power BI). However, there was some content I was particularly pleased to see, and that was about support for the Visio Online JavaScript API support in Modern SharePoint Framework. I have pulled out some of the key slides below, but check out the full session for more information.
The hardworking Microsoft Visio product development team have worked hard to almost match all of the functionality of the old server-side Visio services control, but they haven’t quite got everything. So I cheered when I hear that support for html overlays are in the roadmap to be supported! All I ask for now (almost) is layer control, and I will be very happy.
They also stated that they will be enabling all this functionality for non-SharePoint web sites in the future!
Go to http://aka.ms/voapireference got more details.