With the 2010 version, SharePoint and Visio can interoperate.
In this post, I will show you how to use Visio to generate an organization chart based on SharePoint contact list.
To do that, you need SharePoint 2010 (at least Foundation Server) and Visio 2010.
Create the source contact list
Connect to your SharePoint site and create a Contact list. I don’t do any customization on this list ‘(ie adding/deleting field) but you can do for matching your need.
Create the organization chart
Launch Visio 2010 and choose to create an organizational chart (Business\Organization Chart)
Define the data source
Click on the Data tab and choose Link Data to Shapes
Choose Microsoft SharePoint Foundation list and follow the wizard
Enter the URL of your SharePoint site hosting the contact list
Select the contact list you have previously created
Data are automatically retrieved from the SharePoint list
Then you just have to drag and drop these data onto your Visio Shape and manage the organization chart
As Visio Organization Shape are already provided with attributes, you may have to manage the link with your data source (and off course, also if you have added some additional fields on your list)
To perform this action, you can use the Automatically link external data wizard
To keep the organizational chart data up to date, configure automatic data refresh
Finally, you can publish your Visio organization chart onto SharePoint to provide it on your intranet