Hello,
I've recently upgraded to ArcGIS Desktop 10.3, but many of my colleagues are using 10.1 or 10.2. They've let me know of this error they get when they try to open any map .mxd I've worked on: "This map document was saved using a newer version of ArcGIS." Following the directions in the error message (see attached), I "Save A Copy" to the older file format and they are able to open the file OK. However, I've noticed that if I open the legacy copy and save it, it reverts back to the 10.3 file format.
I've got two questions related to this process:
1) Is it possible to identify which version of ArcGIS a file is saved in? I don't see it in the map document properties when viewed from ArcCatalog.
2) Is it possible to set ArcMap 10.3 to automatically or by default save .mxd files in an older version, such as 10.2?
I'm new to ArcGIS, so forgive me if this is an issue that has a long history over the many version changes in the past.
Thanks,
Ben
Solved! Go to Solution.
nothing obvious and readily accessed without special measures.
In the interim
myproj_10_0.mxd
myproj_10_1.mxd
myproj_10_2.mxd
myproj_10_3.mxd
as project names within the same folder so relative paths to data can be maintained.
better to be overt...I use similar methods to identity data
myPoints_UTM18N.shp
Nobody cares what the files are named except the user and if someone stumbles upon them...they probably have several clues as to what is contained within.
I am sure stuff can be scripted...but remember, you aren't going to be the only one using them I suspect
nothing obvious and readily accessed without special measures.
In the interim
myproj_10_0.mxd
myproj_10_1.mxd
myproj_10_2.mxd
myproj_10_3.mxd
as project names within the same folder so relative paths to data can be maintained.
better to be overt...I use similar methods to identity data
myPoints_UTM18N.shp
Nobody cares what the files are named except the user and if someone stumbles upon them...they probably have several clues as to what is contained within.
I am sure stuff can be scripted...but remember, you aren't going to be the only one using them I suspect
Hi Dan,
Thanks for the reply! Now that I'm aware of this problem, I'm naming the .mxds similar to your suggestion. It's unfortunate that there's no way to identify the version of a file, or automatically deal with older versions either by creating multiple files on save or maintaining older version saves.
Cheers,
Ben
This will probably never get addressed in ArcMap as it's days are numbered (in years thankfully), but can this functionality be added to Pro at least since it has been built from the ground up?
I think this would be possible using something like:
Created on July 10, 2014
@author: kyleg
'''
import arcpy, os
#workspace to search for MXDs
startplace = r"F:\Cart\projects\KanPlan\MXD\Public"
arcpy.env.workspace = startplace
Workspaces = arcpy.ListWorkspaces("*", "Folder")
for Workspace in Workspaces:
arcpy.env.workspace = Workspace
print str(Workspace)
#list map documents in folder
mxdList = arcpy.ListFiles("*.mxd")
#set relative path setting for each MXD in list.
for mapdoc in mxdList:
#print the mapdocument name
print " "
print "MAPDOCUMENT "+str(mapdoc)
mapdocu = Workspace+"/"+mapdoc
mxd = arcpy.mapping.MapDocument(mapdocu)
#Print the layer name of each layer in each mapdocument, and the layer properties of each layer
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr.supports("SERVICEPROPERTIES"):
servProp = lyr.serviceProperties
print " Layer name:" + lyr.name +" at " + servProp.get('Connection', 'N/A')
#print " Service Type: " + servProp.get('ServiceType', 'N/A')
print " Service Type: " + servProp.get('Database', 'N/A')
#print " Service Type: " + servProp.get('Server', 'N/A')
print " Service: " + servProp.get('Service', 'N/A')
print " Version: " + servProp.get('Version', 'N/A')
print " User name: " + servProp.get('UserName', 'N/A')
#print " Authentication: " + servProp.get('AuthenticationMode', 'N/A')
#print " Workspace path: "+ lyr.workspacePath
#print " Feature Dataset: "+ lyr.datasetName
print "------------------------------------------------"
else:
pass
only take out the layer name code and print the mxd name and version. mxd SaveAsCopy can be done in the loop to export to a specific version.