How to stop losing Shape Data

K

Ken M

I am running Visio 2007 on a ThinkPad T60 running Vista Business.
If I save a visio file which contains shapes with data attached and then
read it on a machine running Vision 2003 under Windows XP the shape data
disappears. I tried loading Vision 2003 on the Vista machine and the file
generated again had no shape data when read on an XP machine. I also tried
saving the Visio 2007 file in Vision 2002 format on the Vista machine again
with the same result. Is there a switch I am unaware of, is it a bug is
Visio, is it a bug in Vista? Any help greatly appreciated.
Ken
 
J

John Goldsmith

Hello Ken,

Are you talking about "Shape Data" (aka Custom Properties in previous
versions of Visio) viewable in the Shape Data window or data in the External
Data window. Also are you talking about a specific document type such as a
Pivot Diagram or Flowchart?

Best regards

John


John Goldsmith
www.visualSignals.co.uk
 
K

Ken M

Hi John,
Thanks for the speedy response.
I am referring to Shape Data aka Custom Properties.
I should also have mentioned that I am mapping business processes using flow
chart type symbols. The "template", that is the shapes with the custom
fields defined, was supplied to me by my client and originated from Visio
2003.
Regards
Ken
 
K

Ken M

Good Morning John,
I took you up on your kind offer and emailed the file yesterday
Did you receive it?
Ken
 
J

John Goldsmith

Hello Ken,



I'll copy the first part of this email to the newsgroup so that everyone can
see what's going on and others can shed more light if they have more
information.



Just to re-establish the issue as I see it. As far as I can tell this is
not a Vista issue rather an issue running between Visio 2007 and 2003. The
problem is that when a shape's Shape Data (custom properties) are set by
"Shape Data Sets" (rather than on an individual basis), some changes made to
property values in Visio 2007 are lost when the document is opened in Visio
2003. The problem appears to be connected to the LangID field in the
respective shapes and the source Shape Data Set.



In your document, your BPR-TASK Shape Data Set has a "Description" property
whose LangID (along with the others) is set to French-Canada(3084). This
property also has the "Ask on drop" field set to true and as the user enters
a value, as prompted, the resulting LangID is changed to 2057 in my case
(English-UK) for that property. My guess, and I emphasize that, at what's
happening is that as Visio 2003 opens the document it finds a shape with a
Custom Property Set assigned to it and then carries out some checking that
appears to include matching the LangID's. What it finds is that the shape's
"Description" property has a LangID that does not match its respective
LangID in the Shape Property Set and so it enters a blank value instead and
resets the LangID to 3084.



This behaviour is confirmed by changing the LangID cell value back to 3084
once the drop/ask operation is complete and the subsequent value then
carries through to Visio 2003 intact.



So your options are as follows:



1) Drop the Shape Data Sets model (as it interferes with your current
requirements) and create individual Masters based on manually/or
programmatically set Shape Data.

2) Change the LangID in the Shape Data Set to match whatever you get in
the shapes (you might have to carry out a few tests to get this to work
correctly).

3) Make some batch changes to the shapes' 'Shape Data/custom property'
LangID cell values so that they match the original Shape Data Set prior to
saving the document for consumption by your 2003 colleagues.



My recommendation is that you use the first method as the second two are
likely to be pretty unreliable on a long term basis.



In any case perhaps you could reply to the group if you have further
questions.


Best regards

John


John Goldsmith
www.visualSignals.co.uk
 
K

Ken M

Good Morning John,
First let me thank you for attempting to help me, it is much appreciated.
Second in spite of the rest of this message I acknowledge you know much more
about Visio than I ever will <grin>.

I installed Visio 2003 on my Vista machine.

I made sure that my system default language was French (Canada)
I opened the Visio "template" file.
I verified that the Language field in the document properties was French
(Canada)
I verified that the language code of each of the shapes defined in the
Custom Property Set was set to French Canada
I selected the process box from the template, then Window/Show Shape Sheet
and set the first field langauge code to match all the others as 3084 (Canada
French)
I right clicked the shape, copy, paste. As part of the paste I supplied a
new description and a new owner. The pasted shape displayed correctly.
The pasted shape's properties showed correctly.
I saved the "template" under a new name
I reopened it again on the same machine using Visio 2003.
The properties I changed were gone.
I again selected the process box, clicked windows/show shape sheet and
verified that the language codes had not been changed. The "value" fields
show "No Formula"
Based on this it it reasonable to deduce that Visio 2007 is not involved and
that lanuguage IDs are also not involved?
Any suggestions as to what to do next?
Regards
Ken
 
J

John Goldsmith

Hi Ken,

I'm sorry it's not fixed yet. Can I check the order with you as from your
description below, I'm not certain you've followed my steps (apologies if
that's not the case).

From my end the LangID is being changed on drop so you need to change the ID
for 'each' shape that you drop and that includes copy and pasted ones. So
just taking a chunk of your post below I've inserted a line where I believe
the LangID should be changed:
I right clicked the shape, copy, paste. As part of the paste I supplied a
new description and a new owner.
++++Now change the LangID in the ShapeSheet 3084++++
The pasted shape displayed correctly.
The pasted shape's properties showed correctly.
I saved the "template" under a new name

Does that change things? What I observed was that the LangID was changed
due to the new value being entered (because of 'Ask on drop').

Let me know if this helps.

Best regards

John


John Goldsmith
www.visualSignals.co.uk
 
K

Ken M

Hi John,
I agree that there was a langID code change and I believe that it was caused
by the fact that the Windows system default language code was set to English
(US). I changed that to French (Canada) and the change to langID no longer
occurs. However the problem of losing the data still happens.
Cheers
Ken
 
J

John Goldsmith

Hello Ken,



So still not fixed. I think I stand by my "not a Vista problem" as I can
replicate the problem in both Vista only and XP only scenarios. However it
is difficult if the LangID change doesn't produce the same result for as it
does me.



I think would still encourage you move to the manual addition of Shape Data
rows (ie right click on the Shape Data section in the ShapeSheet and add
rows one at a time) based on a Master rather than Shape Data Sets (they
look exactly the same behind the in the ShapeSheet, but I suspect the react
differently in this instance).



Anyway, I'm sorry I've not been able to solve this for you and please do
feel free to post other questions on the problem as there are many other
more expert voices in the group.


Best regards


John

John Goldsmith
www.visualSignals.co.uk
 
T

T. Burr

All,

In the Shape Sheet, I found that if the "Character" tabs "Lang ID" field is
a formula I would have issues if I tried copying and pasting that shape into
any other drawing. I was able to fix this by changing the "Characters" "Lang
ID" field to a valid number. In my case, the "Lang ID" field of "Characters"
was referencing the "Lang ID" field of a custom property label I had. I fixed
my issues by changing the "Lang ID" field of the "Characters" tab to "1033"
(English US) and also changing it in the Shape Sheet for the shapes master.

I am in no way an expert but I believe this is an issue with Visio 2003
seeing a formula in the "Lang ID" field of the "Characters" tab.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top