<?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>idea Human/GIT Readable APRX &amp; STYLX formats in ArcGIS Pro Ideas</title>
    <link>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idi-p/931760</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Although not necessarily the&amp;nbsp;&lt;EM&gt;most&lt;/EM&gt; human readable, the MAPX (exported map) and LYRX (layer file) are all human readable, essentially being JSON by nature. Although not its main purpose, editing these files is nice, but what's even nicer, is the fact that versioning systems such as GIT (such as in use in our company in the form of Azure DevOps) really really play well with these files:&lt;BR /&gt;&lt;IMG __jive_id="434386" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/434386_pastedImage_1.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For some inexplicable reason, however, the APRX (project) and STYLX (style... especially styles...) are very much still:&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="434390" class="image-2 jive-image" src="https://community.esri.com/legacyfs/online/434390_pastedImage_2.png" /&gt;&lt;/P&gt;&lt;P&gt;Binary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is troublesome, especially for a system such as a style, where many people could be working on one style... a GIT Merge would be awesome for this potentially... but also for APRX this would be nice.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would love to just... commit, push, merge to my hearts' desire... at the moment the workflow's slowly turning into "export mapfiles, export layers, make own copy of style, commit, push"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Make ArcGIT real! Make our files version-tracked &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 21 Jan 2019 12:50:40 GMT</pubDate>
    <dc:creator>Anonymous User</dc:creator>
    <dc:date>2019-01-21T12:50:40Z</dc:date>
    <item>
      <title>Human/GIT Readable APRX &amp; STYLX formats</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idi-p/931760</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Although not necessarily the&amp;nbsp;&lt;EM&gt;most&lt;/EM&gt; human readable, the MAPX (exported map) and LYRX (layer file) are all human readable, essentially being JSON by nature. Although not its main purpose, editing these files is nice, but what's even nicer, is the fact that versioning systems such as GIT (such as in use in our company in the form of Azure DevOps) really really play well with these files:&lt;BR /&gt;&lt;IMG __jive_id="434386" class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/434386_pastedImage_1.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For some inexplicable reason, however, the APRX (project) and STYLX (style... especially styles...) are very much still:&lt;/P&gt;&lt;P&gt;&lt;IMG __jive_id="434390" class="image-2 jive-image" src="https://community.esri.com/legacyfs/online/434390_pastedImage_2.png" /&gt;&lt;/P&gt;&lt;P&gt;Binary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is troublesome, especially for a system such as a style, where many people could be working on one style... a GIT Merge would be awesome for this potentially... but also for APRX this would be nice.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would love to just... commit, push, merge to my hearts' desire... at the moment the workflow's slowly turning into "export mapfiles, export layers, make own copy of style, commit, push"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Make ArcGIT real! Make our files version-tracked &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Jan 2019 12:50:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idi-p/931760</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2019-01-21T12:50:40Z</dc:date>
    </item>
    <item>
      <title>Re: Human/GIT Readable APRX &amp; STYLX formats</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/931761#M3041</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;APRX files are zip archives. STYLX are SQLite databases. At this point there are no plans to change this.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Apr 2019 20:27:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/931761#M3041</guid>
      <dc:creator>CraigWilliams</dc:creator>
      <dc:date>2019-04-22T20:27:53Z</dc:date>
    </item>
    <item>
      <title>Re: Human/GIT Readable APRX &amp; STYLX formats</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/931762#M3042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That actually helped me to at least build a model to change-track APRX files. SQLite Stylx is another issue though... i'd be great for them to have some history/tracking/multi-user/centered-ness in them. We hook a lot of them up in portal, so our users can re-use them as well, but the act of actually changing them involves a re-upload, and that's frankly a hassle. Not to mention the awkward merges if they change up in GIT...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Jun 2019 08:24:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/931762#M3042</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2019-06-14T08:24:00Z</dc:date>
    </item>
    <item>
      <title>Re: Human/GIT Readable APRX &amp; STYLX formats</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/931763#M3043</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Craig,&lt;/P&gt;&lt;P&gt;It would be REALLY sweet if you released the xsd document for the various xml files found in the unzipped APRX. Any chance of that?&lt;/P&gt;&lt;P&gt;Nathan Warmerdam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2019 19:00:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/931763#M3043</guid>
      <dc:creator>NathanWarmerdam</dc:creator>
      <dc:date>2019-07-25T19:00:39Z</dc:date>
    </item>
    <item>
      <title>Re: Human/GIT Readable APRX &amp; STYLX formats</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/931764#M3044</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We've been focusing on documenting the JSON variation of this spec (see&amp;nbsp;&lt;A href="https://github.com/Esri/cim-spec"&gt;https://github.com/Esri/cim-spec&lt;/A&gt;). We've had requests to have a JSON schema version of this which we're considering, but no plans to do an XML schema at this point.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mapx, lyrx, pagx, and items in styles all use the JSON spec.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2019 21:23:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/931764#M3044</guid>
      <dc:creator>CraigWilliams</dc:creator>
      <dc:date>2019-07-25T21:23:19Z</dc:date>
    </item>
    <item>
      <title>Re: Human/GIT Readable APRX &amp; STYLX formats</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/931765#M3045</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Craig,&lt;/P&gt;&lt;P&gt;Thanks for getting back to me.&amp;nbsp; I'd actually be happy with either the JSON or XML schemas for the CIM.&amp;nbsp; There are tools that can get you a long way from sample xml/json files but I know that I'll never be able to provide a fully complete sample to these tools and thus never have full confidence in what comes out the other side.&lt;/P&gt;&lt;P&gt;Nathan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jul 2019 17:11:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/931765#M3045</guid>
      <dc:creator>NathanWarmerdam</dc:creator>
      <dc:date>2019-07-26T17:11:18Z</dc:date>
    </item>
    <item>
      <title>Re: Human/GIT Readable APRX &amp; STYLX formats</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/1176378#M19659</link>
      <description>&lt;P&gt;Projects (aprx files) will be stored as JSON starting in ArcGIS Pro 3.0 expected to be available in June 2022. See&amp;nbsp;&lt;A href="https://www.esri.com/arcgis-blog/products/arcgis-pro/announcements/get-ready-for-arcgis-pro-3-0/" target="_blank"&gt;https://www.esri.com/arcgis-blog/products/arcgis-pro/announcements/get-ready-for-arcgis-pro-3-0/&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 23 May 2022 13:04:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/1176378#M19659</guid>
      <dc:creator>KoryKramer</dc:creator>
      <dc:date>2022-05-23T13:04:07Z</dc:date>
    </item>
    <item>
      <title>Re: Human/GIT Readable APRX &amp; STYLX formats</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/1493515#M30700</link>
      <description>&lt;P&gt;Hey have there been any updates on this? I would like to know if anyone have been able to open the aprx as a JSON file yet, and how did you manage to do it,&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;</description>
      <pubDate>Mon, 17 Jun 2024 00:47:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/1493515#M30700</guid>
      <dc:creator>RoggerCorrea</dc:creator>
      <dc:date>2024-06-17T00:47:49Z</dc:date>
    </item>
    <item>
      <title>Re: Human/GIT Readable APRX &amp; STYLX formats</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/1572695#M33412</link>
      <description>&lt;P&gt;Certainly as of ArcGIS Pro 3.4, files within the .aprx file are JSON, though, somewhat annoyingly, the .aprx and .atbx files are compressed archives (.zip). If you have 7-Zip (or another archiving tool) installed, you're able to open a .aprx file to see (and extract) its contents.&lt;/P&gt;&lt;P&gt;Because .aprx and .atbx files are still compressed archives it's still a bit more difficult and annoying to version control them, whilst still being able to compare diffs on the internal JSON objects, etc. Of course it's easy to version control the binary .aprx and .atbx files directly, though you lose the diff/merge capabilities of git.&lt;/P&gt;&lt;P&gt;That said, thinking-outside-the-box, git has the concept of &lt;EM&gt;hooks&lt;/EM&gt; which allows git to run scripts before git actions (&lt;FONT face="courier new,courier"&gt;commit&lt;/FONT&gt;, &lt;FONT face="courier new,courier"&gt;push&lt;/FONT&gt;, &lt;FONT face="courier new,courier"&gt;archive&lt;/FONT&gt;, etc.) so it's possible to unpack the .aprx and .atbx files before committing them to a git repo. Indeed there's an entire (Python-based) framework for managing this functionality, which can be found here: &lt;A href="https://pre-commit.com/" target="_blank"&gt;https://pre-commit.com/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;I haven't experimented with this yet, though it's possible. I just have to work out how to re-create the .aprx and .atbx files transparently, or detecting changes when the project is saved in ArcGIS Pro but before the atomic JSON files within are extracted.&lt;/P&gt;</description>
      <pubDate>Mon, 06 Jan 2025 02:23:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/1572695#M33412</guid>
      <dc:creator>MadeleineSavidge</dc:creator>
      <dc:date>2025-01-06T02:23:39Z</dc:date>
    </item>
    <item>
      <title>Re: Human/GIT Readable APRX &amp; STYLX formats</title>
      <link>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/1572713#M33413</link>
      <description>&lt;P&gt;Doing a little more digging, it's possible to just generate a diff (or log) between two .aprx or .atbx files without having to extract them, by telling git that certain file types need to be extracted on-the-fly first, returning the result to stdout (in effect, printing to the command line):&lt;BR /&gt;&lt;BR /&gt;(relevant git documentation: &lt;A href="https://git-scm.com/docs/gitattributes#_performing_text_diffs_of_binary_files" target="_blank"&gt;https://git-scm.com/docs/gitattributes#_performing_text_diffs_of_binary_files&lt;/A&gt;)&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Open (or create) a .gitconfig (note the . before gitconfig) in the following directory. This file is your git configuration file:&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;C:\Users\&amp;lt;username&amp;gt;\&lt;BR /&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;Add the following lines to your git configuration file (.gitconfig), then save and close it:&lt;BR /&gt;&lt;BR /&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;[diff "zip"]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;textconv = unzip -c -a&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier"&gt;[log "zip"]&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;textconv = unzip -c -a&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;Create a .gitattributes file in the git version controlled directory the .aprx file is in (denoted by a .git folder):&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MadeleineSavidge_4-1736136009480.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/122742iCBBF1FE01132FDC3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="MadeleineSavidge_4-1736136009480.png" alt="MadeleineSavidge_4-1736136009480.png" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;Add the following lines to the new .gitattributes file. Save and close it:&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier"&gt;*.aprx diff=zip&lt;BR /&gt;*.aprx log=zip&lt;BR /&gt;*.atbx diff=zip&lt;BR /&gt;*.atbx log=zip&lt;BR /&gt;&lt;BR /&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;LI&gt;Using the the git client (other software that utilises git may also be able to do this, if they don't use their in-built git client), you can now view text representations of .aprx and .atbx files:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MadeleineSavidge_1-1736135644147.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/122739i51E49C76A392FC1B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="MadeleineSavidge_1-1736135644147.png" alt="MadeleineSavidge_1-1736135644147.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MadeleineSavidge_2-1736135720181.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/122740i00FB12B854DEC2C1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="MadeleineSavidge_2-1736135720181.png" alt="MadeleineSavidge_2-1736135720181.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MadeleineSavidge_3-1736135742033.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/122741i69536123E2579B71/image-size/medium?v=v2&amp;amp;px=400" role="button" title="MadeleineSavidge_3-1736135742033.png" alt="MadeleineSavidge_3-1736135742033.png" /&gt;&lt;/span&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Jan 2025 04:01:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-ideas/human-git-readable-aprx-stylx-formats/idc-p/1572713#M33413</guid>
      <dc:creator>MadeleineSavidge</dc:creator>
      <dc:date>2025-01-06T04:01:00Z</dc:date>
    </item>
  </channel>
</rss>

