DonnaM » 2005 » July

Archive for July, 2005

Connecting Visio to a database

Friday, July 29th, 2005

This post outlines how to connect your Visio diagram to a database to reduce manual entry of data and improve consistency. I’m sure there are plenty of ways to improve on this, but this is a low-tech method that works reasonably well.

Note: I am using my personal site for the examples, Visio Professional 2003 and Microsoft Access 2002. I haven’t tested on anything else – hopefully the instructions will help you to trouble-shoot other combinations.


I recently worked on a small project that was a little different to my previous IA projects. It involved a larger set of deliverables than normal – a site map showing every page and a wireframe for each page. I decided to create all deliverables using Microsoft Visio, knowing that I would be able to use its ability to layer backgrounds to reduce duplication of elements.

I knew from the start that I risked inconsistency in the large deliverable set – for example, it would be easy to have slightly different page titles in the site map and relevant wireframe. I initially thought I just needed to be careful, but after re-working the site map a few of times (manually renaming and renumbering shapes each time) I decided to look for a better way to manage data in the site map and wireframes.

Visio and databases

Visio allows you to connect shapes to data in a database and display database fields automatically in the shape.

You can connect individual shapes, or masters on a stencil – the process is the same for each. You can connect to a range of databases – I use Microsoft Access as I’m already familiar with it and I can easily send the database file to my client.

Create and populate the database

You need to first create a database and set a primary key – you cannot display data from the primary key in Visio, but will use it to select data, so make sure it is something recognisable. For this example, I used the same unique identifier for the page and the primary key. My database also has fields for page title and template/layout (I use different colour schemes and navigation for different parts of the site).

Screenshot of database table, showing ID, page number, page title columns

Populate the database with the data you will need for the site. This becomes the main source of data for the deliverables, and could be used for other parts of the project.

Connect a shape to the database

You connect a Visio shape and the database using the ‘Database Wizard’ (Tools>Add-ons>Visio Extras>Database Wizard). The wizard leads you through fairly well – below are some tips and instructions for the tricky spots only:

  • If you are trying to connect to a master on a stencil, make sure the stencil is editable first
  • If you are trying to connect to a shape and the list of shapes is very long, cancel out of the wizard, select your shape and start again. Your shape will be selected already.
  • The dialog box below sets up the connection between the shape and the database field. If you would like the shape to show the text from the database, select Shape.Text and the relevant database field and click add.

A screen shot of the dialog box used to select the shape element and database field

How I use this

For this project, my site map shapes contained a title, id number and layout/template. I connected each part of the shape to the relevant database record. When I duplicated the shape (copy>paste), instead of retyping the text, I connected it to the correct database record by right-clicking and selecting ‘select database record’ from the contextual menu.
image of some of the shapes on my site map, showing title, template and identifier
My wireframes use database connected shapes in a number of places:

  • background pages contain shapes for navigation items
  • the title bar contains the page number and title
  • the content area has a page title in the content
  • the notes area has the template or layout name
  • the notes area may also have a list of in-line links in the content

example of a wireframe showing where database fields are included, linked to a larger version

Other comments

This won’t be appropriate for all IA projects, but may be helpful for any where you are trying to manage large numbers of pages and repeating information in a number of places.

Visio is far from perfect, and one of the most annoying things is that you can’t ask it to automatically update shapes from the database. If you have changed records in the database, you have to right-click each shape and select ‘refresh shape properties’. So consider carefully before you do connect to a database, because this is almost as tedious as retyping everything (but not quite).

I’m sure I have left out plenty, so please leave a comment if you have questions.

The importance of voice in an RSS world

Friday, July 15th, 2005

I have been reading many posts about blogging and RSS lately. Some bloggers still want to ‘get people to the site’ for various reasons (and offer summary posts only) but many acknowledge that people do, and will continue to, read via a feed reader. I know I do, and I’m not going to be visiting most sites any time soon.

In reading tonight, I realised that I have a few favourite writers who I can recognise via voice alone. I don’t need a visual reminder or to see what their latest redesign looks like. Even in the visual wasteland of RSS readers, I know who I am reading. Their voice shines through and engages me.

So if you are a blogger, wondering how to get people through to your site, switch your perspective, and start focusing on how to engage your readers through a consistent and true voice rather than a visual brand.

Visio and IA tip – paste into same position

Sunday, July 3rd, 2005

Something that drives me crazy about visio is that it always pastes into the centre of the screen. I understand the rationale behind this (i.e. page sizes may vary), but what I almost always want to do is paste into the same position as I copied from – usually because I am duplicating from one page to another and want the positioning to be the same. This usually means I have to paste and then tediously align the pasted shapes.

So given there is no way to duplicate a page (grrrrr…) I have figured a way to get perfectly positioned pasting. For this, the source and destination pages must be the same page size (e.g. all same size paper):

  • On the source page, create a rectangle that is exactly the same size as the page (you may have to zoom in to get it exact), with no fill and a thin line. If you are very orderly, save this on your stencil and you will be able to identify it by name later.
  • Select all items you want to copy, plus this rectangle (select the rectangle by clicking right near the edge of the page).
  • Copy
  • Switch to the page where you want to paste.
  • Ctrl+w to zoom to whole page view (this is important!)
  • Paste

This will still paste to the centre of the screen, but given that whole page view centres the page, and the shape being copied is the size of the page, it will paste perfectly. Beautiful.

Later I delete the big rectangles, just to keep things tidy.

PS. Today I have been playing with ways of showing interactions using layers and events. I’ll practice a little more and post soon.