Its time for Visio MVPs/Developers to help us *sorting* organization chart

Started by nashwaan, September 06, 2010, 01:03:33 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

nashwaan

I think this is one of the most requested feature in Visio organisation chart.

The problem: The order of subordinates is unpredictable/undefined when laying out organization chart by Visio. Everytime you import same source file, it is layed out differently which is really frustrating.

Trying to solve this *small* problem manually is very very time consuming process.

My request for the Visio MVPs/Professionals is to help sorting organization chart automatically based on their order of appearance in the source file (Ex: Excel) or based on a special field/column that contains a sequence number. So a subordinate with smaller sequence number should appear before another collegue/subordinate who has a larger sequence number.

Note: Some common problems with MS Visio (including 2010 version) regarding organisation strucute were addressed previously and solved (fortunately). I will list here a few:
John Goldsmith showed how can you insert staff pictures automatically http://visualsignals.typepad.co.uk/vislog/2008/06/linking-org-chart-images.html
David Parker showed how can you insert country flag automatically http://bvisual.spaces.live.com/Blog/cns!3350D61BC93733A9!521.entry

I think this problem can be solved by iterating through subordinates and reposition them according to their sequence number and then execute "ReLayout" command.

Thanks,
Yousuf
Give me six hours to chop down a tree and I will spend the first four sharpening the axe — Abraham Lincoln

aledlund

As an observation from the side, several of the Visio Mvps became Mvps because they saw a problem that really annoyed them. In my case I followed my wife's advice when she said "If it really annoys you, go fix it". I've been hooked on learning to write software for Visio ever since.

:D

al

wapperdude

To add to Al's comment, I believe, Al included, that everyone who has used Visio extensively, especially the Org Chart feature, is quite frustrated with that feature.  There is very little that can be done from the outside because so much of the Org Chart is coded into Visio itself.  Most enhancements just get clobbered.  On the other hand, Visio is primarily a drawing program with a huge assortment of options and features, but, it is not a full featured Org Chart, or Gantt chart, or Timeline, or schematic entry, etc.  To be so it would become so overly bloated that it would be useless.  Sort of a Catch 22.

Just my observation -- but it would be nice to have improvements to the Org Chart layout importing function.

Wapperdude
Visio 2019 Pro

Visio Guy

I have done several projects for customers that centered around customized org-charts. I usually don't even use Visio's org-chart solution at all, because I end up fighting it more than benefiting from it. While it is good at splitting charts across pages and doing the cool drop-on-superior thing, many customers just need and updated dump from the Excel or other data source, and they need customized layout.

That's why I personally haven't come up with anything FOR the built-in org-chart solution, I'm too busy rolling my own.

Also interesting, I've never done a solution that involved updating an existing chart--ala CRUD (create, read, update, delete) synchronization with the data source. Most folks seem to be working in Excel or the database, and are happy to push a button that generates a new orgchart for "today's meeting".
For articles, tips and free content, see the Visio Guy Website at http://www.visguy.com
Get my Visio Book! Using Microsoft Visio 2010

nashwaan

Quote from: aledlund on September 06, 2010, 01:11:00 PM
In my case I followed my wife's advice when she said "If it really annoys you, go fix it"
I guess i will have to follow this advice as well  :)

Quote from: wapperdude on September 06, 2010, 03:22:46 PM
everyone who has used Visio extensively, especially the Org Chart feature, is quite frustrated with that feature.
Yes, the missing of this feature is frustrating for every visio Org Chart user as you can read about it in other sites/forums.  :'(
Why Microsoft ignored to fix this issue all these years!  >:(
Quote from: wapperdude on September 06, 2010, 03:22:46 PM
it is not a full featured Org Chart...  To be so it would become so overly bloated that it would be useless.
I am not sure if Visio tried to be a full featured Org Chart will make it "overly bloated" as I think Visio already covered 70% or more. It is not very far from being the *super* tool for Org Charting. Because visio has a powerful API and other powerful drawing capabilities making customization and automation of Org Chart a great advantage and a dream.  8)

Quote from: Visio Guy on September 06, 2010, 03:57:17 PM
I usually don't even use Visio's org-chart solution at all, because I end up fighting it more than benefiting from it.
I am very surprised to read this from Viso Guy!  May i ask what do you use to generate Org Chart?  ???

Thanks,
Yousuf.
Give me six hours to chop down a tree and I will spend the first four sharpening the axe — Abraham Lincoln

nashwaan

Now i am thinking to take this initiative using VBA macro to *sort* Org Chart subordinates. Here is the approach in pseudocode:

'// note: this approach will sort the direct subordinates first horizontally (left to right) and then vertically (top to bottom)
'// assumption1: subordiantes shapes are already layed out properly (using one of layout styles), as this algorithm will only *swap* shapes.
'// assumption2: the desired precedance of subordinates is already stored in the imported file (Ex: Excel) as a special field containing a numerical *sequence* number. (this fild will be imported in Prop.Sequence).

declare an array of Points (X, Y)

Starting from *top* superior shape, do the following *recursively* for all direct subordinates untill no more sub-subordinates:
    find all direct subordinates to this superior (by invistigating *to* connectors)
         copy the shape coordinates (PosX, PosY) --> in the array of Points
    sort the array of Points based on X
    sort the array of Points based on Y
    iterate [ i ] through same subordinates (now orderly based on the shape's "Prop.Sequence" value, starting from smallest value)
         copy the Point[ i ](X, Y) to the shape (PosX, PosY)

is this approach right?  :-\

Yousuf.
Give me six hours to chop down a tree and I will spend the first four sharpening the axe — Abraham Lincoln

aledlund


jastronomy

Considering active directory holds user information (name/job title/manager etc), and it's capable of holding graphics (see here on how to import them: http://www.arricc.net/active-directory-photos-sharepoint.php).
Then is it possible to use the orgwiz (via VBA/VBS) to build an org chart including images from AD ?

If so, anyone know how?

nashwaan

Following the advice from Aledlund "If it really annoys you, go fix it"  8), i created some tools to help automating some common tasks in Visio org chart.

The tools are in beta stage v0.8, i will update once more functionalities are implemented.  ;)

Meanwhile, have a look at the attachement file and provide your comments/feedback.  :)

Regards,
Yousuf.

Give me six hours to chop down a tree and I will spend the first four sharpening the axe — Abraham Lincoln

aledlund

Very nice. Here's some other materials that might be of interest. (first the overview doc)
al
moved file to http://visguy.com/vgforum/index.php?topic=2298.0

aledlund

now the data and code.
hth,
al
moved file to http://visguy.com/vgforum/index.php?topic=2298.0

aledlund


Nikolay

Quote from: nashwaan on November 28, 2010, 06:37:05 AM

Meanwhile, have a look at the attachement file and provide your comments/feedback.  :)


Have you seen this picture already? ;)

aledlund

A fair enough observation, but it misses a key discussion point. The point being that without understanding the target audience for the application (and what is attempting to be accomplished) critiquing the UI is moot. The desire to keep screens simple with a minimum of interaction has to be balanced against the business process being supported. Demo code for presentation to peers for discussion normally wouldn't fall into either of those review processes.
;)
Al

Nikolay

Quote from: aledlund on November 28, 2010, 08:29:09 PM
A fair enough observation, but it misses a key discussion point. The point being that without understanding the target audience for the application (and what is attempting to be accomplished) critiquing the UI is moot. The desire to keep screens simple with a minimum of interaction has to be balanced against the business process being supported. Demo code for presentation to peers for discussion normally wouldn't fall into either of those review processes.
;)
Al

Hello Al, Yousuf

Yes, I do understand that the complexity of a user interface should depend on the target audience of the application and reflect the needs of the audience. Not to mention I really appreciate the efforts you guys put into this (I fully agree that this Org Chart Wizard really deserved to be at least "refreshable", for gods sake). But still, didn't the author ask for a fair feedback? I mean, I'm personally quite tired of unnecessarily complex computer stuff I had to burst through from time to time. Wouldn't this world be a better place if we just went with "click" and "push" approach? :)

Maybe it was just that the user interface of the .VSS reminded me that (kinda famous) picture. I am really sorry if it appeared to be kind of rude. I never meant to offend anybody, I just wanted to make a hint that simplifying the user interface a bit, well, might be a good point to consider. Means, I think, this tool in its current condition might be a bit too complicated to be useful for a mere mortal (developer) like myself, and that's it. But it is still just my personal opinion anyways. Maybe it's just that "I'm bad at using devices with more than three buttons" (c) :)

Kind regards, Nick