<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: arcpy.management.ChangeVersion BRANCH not working in toolbox in Geodatabase Questions</title>
    <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1289089#M8455</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/444887"&gt;@RudraniChakraborty&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I change the version using "Change version" menu in ArcGIS Pro, everything is working well.&lt;/P&gt;&lt;P&gt;I am also able to execute the following code inside the Python window in ArcGIS Pro :&lt;/P&gt;&lt;LI-CODE lang="python"&gt;proj=arcpy.mp.ArcGISProject('current')
for mp in proj.listMaps():
	for ly in mp.listLayers():
		if ly.isFeatureLayer:
			cnx=ly.connectionProperties
			if 'version' in cnx['connection_info']:
				url=cnx['connection_info']['url']
				v=cnx['connection_info']['version']
				if v!='sde.DEFAULT':
					arcpy.management.ChangeVersion(in_features=ly,version_type="BRANCH",version_name='sde.DEFAULT',include_participating='INCLUDE')
					print(f'switching from version {v} to sde.DEFAULT for layer {ly}')
					print(ly.connectionProperties['connection_info']['version'])&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="HervW_0-1684151936221.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/70669i2B312B6DDA3322F5/image-size/large?v=v2&amp;amp;px=999" role="button" title="HervW_0-1684151936221.png" alt="HervW_0-1684151936221.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;But when I put the same code inside a toolbox, it didn't work at all. The loop is executed, we can see in ArcGIS Pro that the code is trying to switch from one version to the default, but at the end all the layers stay inside the created version.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hervé&lt;/P&gt;</description>
    <pubDate>Mon, 15 May 2023 12:01:19 GMT</pubDate>
    <dc:creator>HervéW</dc:creator>
    <dc:date>2023-05-15T12:01:19Z</dc:date>
    <item>
      <title>arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1281861#M8417</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;When trying to change the version of a BRANCH service feature class in ArcGIS Pro 2.9.8 with following line of code :&amp;nbsp;arcpy.management.ChangeVersion(in_features=Canalisations_GAZ, version_type="BRANCH", version_name="sde.DEFAULT", date="", include_participating="INCLUDE"), it works well when executed from the Python window or using&amp;nbsp;&lt;A href="https://pro.arcgis.com/en/pro-app/2.9/tool-reference/data-management/changeversion.htm" target="_blank"&gt;Change Version (Data Management)—ArcGIS Pro | Documentation&lt;/A&gt;&amp;nbsp;in the Geoprocessing window.&lt;/P&gt;&lt;P&gt;But when trying to execute the same line of code in a Python script in a toolbox, no error is triggered, but the Feature Service Feature Class is not changed to the sde.DEFAULT version.&lt;/P&gt;&lt;P&gt;Is there any limitation in using that line of code inside a toolbox ?&lt;/P&gt;&lt;P&gt;I already searched the community forum and this behavior is mentioned in some posts, but without any solution.&lt;/P&gt;&lt;P&gt;The purpose is to have the possibility to change the version of BRANCH service feature classes from one version to another (DEFAULT or not).&lt;/P&gt;&lt;P&gt;Any clue on this issue ?&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hervé&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2023 15:06:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1281861#M8417</guid>
      <dc:creator>HervéW</dc:creator>
      <dc:date>2023-04-24T15:06:44Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1289080#M8454</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/126161"&gt;@HervéW&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Are you trying the change version with the below code snippet?&lt;/P&gt;&lt;PRE&gt;arcpy.management.ChangeVersion(in_features, version_type, {version_name}, {date}, {include_participating})&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;Since it is Branch Versioned feature service. Could you try to change the version manually? Switch to List by data source view &amp;gt;&amp;gt; Right click on sde.default &amp;gt;&amp;gt; change version &amp;gt;&amp;gt; select the child version. do we see any error?&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="community.PNG" style="width: 758px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/70667iEBC9B19A8DB73D58/image-size/large?v=v2&amp;amp;px=999" role="button" title="community.PNG" alt="community.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 15 May 2023 11:44:13 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1289080#M8454</guid>
      <dc:creator>RudraniChakraborty</dc:creator>
      <dc:date>2023-05-15T11:44:13Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1289089#M8455</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/444887"&gt;@RudraniChakraborty&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I change the version using "Change version" menu in ArcGIS Pro, everything is working well.&lt;/P&gt;&lt;P&gt;I am also able to execute the following code inside the Python window in ArcGIS Pro :&lt;/P&gt;&lt;LI-CODE lang="python"&gt;proj=arcpy.mp.ArcGISProject('current')
for mp in proj.listMaps():
	for ly in mp.listLayers():
		if ly.isFeatureLayer:
			cnx=ly.connectionProperties
			if 'version' in cnx['connection_info']:
				url=cnx['connection_info']['url']
				v=cnx['connection_info']['version']
				if v!='sde.DEFAULT':
					arcpy.management.ChangeVersion(in_features=ly,version_type="BRANCH",version_name='sde.DEFAULT',include_participating='INCLUDE')
					print(f'switching from version {v} to sde.DEFAULT for layer {ly}')
					print(ly.connectionProperties['connection_info']['version'])&lt;/LI-CODE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="HervW_0-1684151936221.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/70669i2B312B6DDA3322F5/image-size/large?v=v2&amp;amp;px=999" role="button" title="HervW_0-1684151936221.png" alt="HervW_0-1684151936221.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;But when I put the same code inside a toolbox, it didn't work at all. The loop is executed, we can see in ArcGIS Pro that the code is trying to switch from one version to the default, but at the end all the layers stay inside the created version.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hervé&lt;/P&gt;</description>
      <pubDate>Mon, 15 May 2023 12:01:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1289089#M8455</guid>
      <dc:creator>HervéW</dc:creator>
      <dc:date>2023-05-15T12:01:19Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347213#M8675</link>
      <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/126161"&gt;@HervéW&lt;/a&gt;&amp;nbsp;Any luck with this? Trying to do something similar and experiencing same results as you.&lt;/P&gt;</description>
      <pubDate>Wed, 08 Nov 2023 15:53:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347213#M8675</guid>
      <dc:creator>lkirbywrk</dc:creator>
      <dc:date>2023-11-08T15:53:20Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347216#M8676</link>
      <description>&lt;P&gt;&lt;A href="https://community.esri.com/t5/user/viewprofilepage/user-id/126161" target="_blank"&gt;@HervéW&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;Any luck with this? Trying to do something similar and experiencing same results as you.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Nov 2023 15:54:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347216#M8676</guid>
      <dc:creator>LanceKirby2</dc:creator>
      <dc:date>2023-11-08T15:54:11Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347292#M8677</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;We finally abandoned trying to change the version inside a toolbox, it seems it is not possible to do it this way. We keep using versions through ArcGIS Pro menu items.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hervé&lt;/P&gt;</description>
      <pubDate>Wed, 08 Nov 2023 17:43:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347292#M8677</guid>
      <dc:creator>HervéW</dc:creator>
      <dc:date>2023-11-08T17:43:18Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347315#M8678</link>
      <description>&lt;P&gt;Hi all,&amp;nbsp;&lt;/P&gt;&lt;P&gt;This could be related.&lt;/P&gt;&lt;P&gt;&lt;A href="https://support.esri.com/en-us/bug/the-arcpymanagementchangeversion-tool-does-not-work-whe-bug-000156453" target="_blank"&gt;https://support.esri.com/en-us/bug/the-arcpymanagementchangeversion-tool-does-not-work-whe-bug-000156453&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Marlon&lt;/P&gt;</description>
      <pubDate>Wed, 08 Nov 2023 18:18:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347315#M8678</guid>
      <dc:creator>MarlonAmaya</dc:creator>
      <dc:date>2023-11-08T18:18:07Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347472#M8679</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/126161"&gt;@HervéW&lt;/a&gt;. I figured out a solution. I can come back here and share it later. Signing off for the day.&lt;/P&gt;</description>
      <pubDate>Wed, 08 Nov 2023 22:44:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347472#M8679</guid>
      <dc:creator>LanceKirby2</dc:creator>
      <dc:date>2023-11-08T22:44:18Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347473#M8680</link>
      <description>That’s definitely the same situation I dealt with. Thanks.&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Nov 2023 22:45:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347473#M8680</guid>
      <dc:creator>LanceKirby2</dc:creator>
      <dc:date>2023-11-08T22:45:47Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347582#M8681</link>
      <description>&lt;P&gt;Hi Lance,&lt;/P&gt;&lt;P&gt;Don't hesitate to share your solution, maybe we can use it in our development.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hervé&lt;/P&gt;</description>
      <pubDate>Thu, 09 Nov 2023 08:27:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1347582#M8681</guid>
      <dc:creator>HervéW</dc:creator>
      <dc:date>2023-11-09T08:27:03Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1348231#M8684</link>
      <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/126161"&gt;@HervéW&lt;/a&gt;&amp;nbsp;so I have a python toolbox setup with a class/tool called VersionController. In its execute method I use arcpy.mp.ArcGISProProject('current') to grab the project object. I am passing that into an importing module (main.py) and I have another class called APRXVersionManager that takes this object as one of its instance attributes. Inside there I have two methods for switching from a verison to default and from default to a version. Instead of using the change version function, I am constructing dictionaries of the default and version connection info properties and just updating those in a loop.&amp;nbsp;&lt;/P&gt;&lt;P&gt;To get the version GUID needed for the class below, you could just use the python api to get the version, and look it up in the objects properties.&lt;/P&gt;&lt;P&gt;I did not test it, but just grabbing the Project object within the tool itself, and passing that into what ever module you need to may work with the ChangeVersion method.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;class AprxVersionManager:
    def __init__(self, aprx_obj: str, version_name: str, version_guid: str) -&amp;gt; None:
        self.aprx_obj = aprx_obj
        self.version_name = version_name
        self.version_guid = version_guid
        self.map_obj = self.aprx_obj.listMaps("Map")[0]
        self.layers = [
            {
                "layer_name": "myFirstLayer",
                "layer_id": "0",
                "current_layer_obj": self.map_obj.listLayers("myFirstLayer")[0],
            },
            {
                "layer_name": "mySecondLayer",
                "layer_id": "1",
                "current_layer_obj": self.map_obj.listLayers("mySecondLayer")[0],
            },
            {
                "layer_name": "myThirdLayer",
                "layer_id": "2",
                "current_layer_obj": self.map_obj.listLayers("myThirdLayer")[0],
            },
        ]

    def get_default_lyr_conn_dict(self, layer_id: str):
        return {
            "connection_info": {
                "url": "https://domain.com/path/to/featureservice",
                "version": "sde.DEFAULT",
                "versionguid": "{CF8A9817-9A00-41AC-B0CC-58F78DBAE0A1}",
            },
            "dataset": f"{layer_id}",
            "workspace_factory": "FeatureService",
        }

    def get_version_lyr_conn_dict(self, layer_id: str):
        return {
            "connection_info": {
                "url": "https://domain.com/path/to/featureservice",
                "version": f"{self.version_name}",
                "versionguid": f"{self.version_guid}",
            },
            "dataset": f"{layer_id}",
            "workspace_factory": "FeatureService",
        }

    def switch_to_default(self):
        for layer in self.layers:
            default_lyr_conn_dict = self.get_default_lyr_conn_dict(
                layer_id=layer["layer_id"]
            )
            version_lyr_conn_dict = self.get_version_lyr_conn_dict(
                layer_id=layer["layer_id"]
            )

            layer["current_layer_obj"].updateConnectionProperties(
                version_lyr_conn_dict, default_lyr_conn_dict
            )

    def switch_to_version(self):
        for layer in self.layers:
            default_lyr_conn_dict = self.get_default_lyr_conn_dict(
                layer_id=layer["layer_id"]
            )
            version_lyr_conn_dict = self.get_version_lyr_conn_dict(
                layer_id=layer["layer_id"]
            )

            layer["current_layer_obj"].updateConnectionProperties(
                default_lyr_conn_dict, version_lyr_conn_dict
            )
&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Nov 2023 14:58:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1348231#M8684</guid>
      <dc:creator>LanceKirby2</dc:creator>
      <dc:date>2023-11-10T14:58:45Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1408624#M8988</link>
      <description>&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; arcgis.gis &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt; &lt;SPAN&gt;GIS&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; arcgis.features &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; FeatureLayerCollection&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;class&lt;/SPAN&gt; &lt;SPAN&gt;AprxChangeVersion&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;def&lt;/SPAN&gt; &lt;SPAN&gt;__init__&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;aprx_obj&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;str&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;map_name&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;str&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;url_fs&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;str&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;version_name&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;str&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;version_guid&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;str&lt;/SPAN&gt;&lt;SPAN&gt;) -&amp;gt; &lt;/SPAN&gt;&lt;SPAN&gt;None&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.aprx_obj &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; aprx_obj&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.url_fs &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; url_fs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.version_name &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; version_name&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.version_guid &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; version_guid&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.map_obj &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.aprx_obj.listMaps(map_name)[&lt;/SPAN&gt;&lt;SPAN&gt;0&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.layers_tables &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; []&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; lyr &lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt; &lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.map_obj.listLayers():&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.layers_tables.append({&lt;/SPAN&gt;&lt;SPAN&gt;"layer_name"&lt;/SPAN&gt;&lt;SPAN&gt;:lyr.name, &lt;/SPAN&gt;&lt;SPAN&gt;"layer_id"&lt;/SPAN&gt;&lt;SPAN&gt;:lyr.connectionProperties[&lt;/SPAN&gt;&lt;SPAN&gt;"dataset"&lt;/SPAN&gt;&lt;SPAN&gt;], &lt;/SPAN&gt;&lt;SPAN&gt;"current_layer_obj"&lt;/SPAN&gt;&lt;SPAN&gt;:lyr})&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; lyr &lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt; &lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.map_obj.listTables():&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.layers_tables.append({&lt;/SPAN&gt;&lt;SPAN&gt;"layer_name"&lt;/SPAN&gt;&lt;SPAN&gt;:lyr.name, &lt;/SPAN&gt;&lt;SPAN&gt;"layer_id"&lt;/SPAN&gt;&lt;SPAN&gt;:lyr.connectionProperties[&lt;/SPAN&gt;&lt;SPAN&gt;"dataset"&lt;/SPAN&gt;&lt;SPAN&gt;], &lt;/SPAN&gt;&lt;SPAN&gt;"current_layer_obj"&lt;/SPAN&gt;&lt;SPAN&gt;:lyr})&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;def&lt;/SPAN&gt; &lt;SPAN&gt;get_default_lyr_conn_dict&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;layer_id&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;str&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;layer&lt;/SPAN&gt;&lt;SPAN&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"connection_info"&lt;/SPAN&gt;&lt;SPAN&gt;: {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"url"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.url_fs,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"version"&lt;/SPAN&gt;&lt;SPAN&gt;: layer.connectionProperties[&lt;/SPAN&gt;&lt;SPAN&gt;"connection_info"&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;"version"&lt;/SPAN&gt;&lt;SPAN&gt;],&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"versionguid"&lt;/SPAN&gt;&lt;SPAN&gt;: layer.connectionProperties[&lt;/SPAN&gt;&lt;SPAN&gt;"connection_info"&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;"versionguid"&lt;/SPAN&gt;&lt;SPAN&gt;],&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"dataset"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;layer_id&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"workspace_factory"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"FeatureService"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;def&lt;/SPAN&gt; &lt;SPAN&gt;get_version_lyr_conn_dict&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;layer_id&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;str&lt;/SPAN&gt;&lt;SPAN&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"connection_info"&lt;/SPAN&gt;&lt;SPAN&gt;: {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"url"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.url_fs,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"version"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.version_name&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"versionguid"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.version_guid&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"dataset"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;layer_id&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"workspace_factory"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"FeatureService"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;def&lt;/SPAN&gt; &lt;SPAN&gt;switch_to_default&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; layer &lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt; &lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.layers_tables:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; default_lyr_conn_dict &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.get_default_lyr_conn_dict(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;layer_id&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;layer[&lt;/SPAN&gt;&lt;SPAN&gt;"layer_id"&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version_lyr_conn_dict &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.get_version_lyr_conn_dict(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;layer_id&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;layer[&lt;/SPAN&gt;&lt;SPAN&gt;"layer_id"&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; layer[&lt;/SPAN&gt;&lt;SPAN&gt;"current_layer_obj"&lt;/SPAN&gt;&lt;SPAN&gt;].updateConnectionProperties(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;# version_lyr_conn_dict, default_lyr_conn_dict&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;None&lt;/SPAN&gt;&lt;SPAN&gt;, default_lyr_conn_dict&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;def&lt;/SPAN&gt; &lt;SPAN&gt;switch_to_version&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;&lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; layer &lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt; &lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.layers_tables:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;# default_lyr_conn_dict = self.get_default_lyr_conn_dict(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;# &amp;nbsp; &amp;nbsp; layer_id=layer["layer_id"]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;# )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version_lyr_conn_dict &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.get_version_lyr_conn_dict(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;layer_id&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;layer[&lt;/SPAN&gt;&lt;SPAN&gt;"layer_id"&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; layer[&lt;/SPAN&gt;&lt;SPAN&gt;"current_layer_obj"&lt;/SPAN&gt;&lt;SPAN&gt;].updateConnectionProperties(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;# default_lyr_conn_dict, version_lyr_conn_dict&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;None&lt;/SPAN&gt;&lt;SPAN&gt;, version_lyr_conn_dict&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;self&lt;/SPAN&gt;&lt;SPAN&gt;.aprx_obj.save()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;def&lt;/SPAN&gt; &lt;SPAN&gt;change_version&lt;/SPAN&gt;&lt;SPAN&gt;():&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"change_version..."&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; gis &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; GIS(&lt;/SPAN&gt;&lt;SPAN&gt;"pro"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; name_version &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;"VERSION_TEST"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; versionNameProcess &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;{}&lt;/SPAN&gt;&lt;SPAN&gt;.2024_&lt;/SPAN&gt;&lt;SPAN&gt;{}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;.format(gis.users.me.username, name_version)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; lyr &lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; active_map.listLayers():&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; arcpy.management.ChangeVersion(lyr, &lt;/SPAN&gt;&lt;SPAN&gt;"BRANCH"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;version_name&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;versionNameProcess)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; lyr &lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; active_map.listTables():&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; arcpy.management.ChangeVersion(lyr, &lt;/SPAN&gt;&lt;SPAN&gt;"BRANCH"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;version_name&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;versionNameProcess)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; aprx.save()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; version_ok &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; lyr &lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; active_map.listLayers():&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; lyr.connectionProperties[&lt;/SPAN&gt;&lt;SPAN&gt;"connection_info"&lt;/SPAN&gt;&lt;SPAN&gt;][&lt;/SPAN&gt;&lt;SPAN&gt;"version"&lt;/SPAN&gt;&lt;SPAN&gt;] &lt;/SPAN&gt;&lt;SPAN&gt;!=&lt;/SPAN&gt;&lt;SPAN&gt; versionNameProcess:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version_ok &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;False&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"Error change version &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;lyr.name&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;. Se utilizara otro metodo"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;break&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; version_ok &lt;/SPAN&gt;&lt;SPAN&gt;is&lt;/SPAN&gt; &lt;SPAN&gt;False&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"change version AprxChangeVersion..."&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; serviceItemId &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;""&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gisContentParcelService &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; gis.content.get(serviceItemId)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p_flc &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; FeatureLayerCollection.fromitem(gisContentParcelService)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version_manager &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; p_flc.versions&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; version_manager.get(&lt;/SPAN&gt;&lt;SPAN&gt;version&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;versionNameProcess)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version_guid &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; version.properties.versionGuid&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; arc_cv &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; AprxChangeVersion(aprx, &lt;/SPAN&gt;&lt;SPAN&gt;"MAP_RTL"&lt;/SPAN&gt;&lt;SPAN&gt;, gisContentParcelService.url, versionNameProcess, version_guid)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; arc_cv.switch_to_version()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;return&lt;/SPAN&gt; &lt;SPAN&gt;True&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; __name__ &lt;/SPAN&gt;&lt;SPAN&gt;==&lt;/SPAN&gt; &lt;SPAN&gt;'__main__'&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; change_version()&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 11 Apr 2024 17:11:45 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1408624#M8988</guid>
      <dc:creator>wilmoreno</dc:creator>
      <dc:date>2024-04-11T17:11:45Z</dc:date>
    </item>
    <item>
      <title>Re: arcpy.management.ChangeVersion BRANCH not working in toolbox</title>
      <link>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1408631#M8989</link>
      <description>&lt;LI-CODE lang="python"&gt;from arcgis.gis import GIS
from arcgis.features import FeatureLayerCollection

class AprxChangeVersion:
    
    def __init__(self, aprx_obj: str, map_name: str, url_fs: str, version_name: str, version_guid: str) -&amp;gt; None:
        self.aprx_obj = aprx_obj
        self.url_fs = url_fs
        self.version_name = version_name
        self.version_guid = version_guid
        self.map_obj = self.aprx_obj.listMaps(map_name)[0]
        self.layers_tables = []
        for lyr in self.map_obj.listLayers():
            self.layers_tables.append({"layer_name":lyr.name, "layer_id":lyr.connectionProperties["dataset"], "current_layer_obj":lyr})
        for lyr in self.map_obj.listTables():
            self.layers_tables.append({"layer_name":lyr.name, "layer_id":lyr.connectionProperties["dataset"], "current_layer_obj":lyr})

    def get_default_lyr_conn_dict(self, layer_id: str, layer):
        return {
            "connection_info": {
                "url": self.url_fs,
                "version": layer.connectionProperties["connection_info"]["version"],
                "versionguid": layer.connectionProperties["connection_info"]["versionguid"],
            },
            "dataset": f"{layer_id}",
            "workspace_factory": "FeatureService",
        }

    def get_version_lyr_conn_dict(self, layer_id: str):
        return {
            "connection_info": {
                "url": self.url_fs,
                "version": f"{self.version_name}",
                "versionguid": f"{self.version_guid}",
            },
            "dataset": f"{layer_id}",
            "workspace_factory": "FeatureService",
        }

    def switch_to_default(self):
        for layer in self.layers_tables:
            default_lyr_conn_dict = self.get_default_lyr_conn_dict(
                layer_id=layer["layer_id"]
            )
            version_lyr_conn_dict = self.get_version_lyr_conn_dict(
                layer_id=layer["layer_id"]
            )

            layer["current_layer_obj"].updateConnectionProperties(
                # version_lyr_conn_dict, default_lyr_conn_dict
                None, default_lyr_conn_dict
            )

    def switch_to_version(self):
        for layer in self.layers_tables:
            # default_lyr_conn_dict = self.get_default_lyr_conn_dict(
            #     layer_id=layer["layer_id"]
            # )
            version_lyr_conn_dict = self.get_version_lyr_conn_dict(
                layer_id=layer["layer_id"]
            )

            layer["current_layer_obj"].updateConnectionProperties(
                # default_lyr_conn_dict, version_lyr_conn_dict
                None, version_lyr_conn_dict
            )
        self.aprx_obj.save()

def change_version():
    print("change_version...")
    gis = GIS("pro")
    name_version = "VERSION_TEST"
    versionNameProcess = "{}.2024_{}".format(gis.users.me.username, name_version)
    for lyr in active_map.listLayers():
        arcpy.management.ChangeVersion(lyr, "BRANCH", version_name=versionNameProcess)
    for lyr in active_map.listTables():
        arcpy.management.ChangeVersion(lyr, "BRANCH", version_name=versionNameProcess)
    aprx.save()
    version_ok = True
    for lyr in active_map.listLayers():
        if lyr.connectionProperties["connection_info"]["version"] != versionNameProcess:
            version_ok = False
            print(f"Error change version {lyr.name}. Se utilizara otro metodo")
            break
    if version_ok is False:
        print("change version AprxChangeVersion...")
        serviceItemId = ""
        gisContentParcelService = gis.content.get(serviceItemId)
        p_flc = FeatureLayerCollection.fromitem(gisContentParcelService)
        version_manager = p_flc.versions
        version = version_manager.get(version=versionNameProcess)
        version_guid = version.properties.versionGuid
        arc_cv = AprxChangeVersion(aprx, "MAP_RTL", gisContentParcelService.url, versionNameProcess, version_guid)
        arc_cv.switch_to_version()
    return True


if __name__ == '__main__':
    change_version()&lt;/LI-CODE&gt;</description>
      <pubDate>Thu, 11 Apr 2024 17:15:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/geodatabase-questions/arcpy-management-changeversion-branch-not-working/m-p/1408631#M8989</guid>
      <dc:creator>wilmoreno</dc:creator>
      <dc:date>2024-04-11T17:15:59Z</dc:date>
    </item>
  </channel>
</rss>

