Closed philipbaileynar closed 3 years ago
- Call the git API to get a list of business logic files. @MattReimer what's the URL for this call please?
No API url. Eveything's done with a public manifest file you need to download.
- Loop over business logic files placing them in the correct folder.
Yup. That's basically it. You need to do a presence/absence check and an MD5 checksum on each file too though
- Call the git API to get a list of layer files. @MattReimer are we going to store these non-XML files in RiverscapesXML?
Again, no API call. Lyr files are already in the manifest so it should be the same process as (1)
Let me ellaborate. I'll link to the python code where I can.
The bulk of the code is in net_sync.py
and all the actual values are in config.json
Steps:
.lyr
files and the basemaps xml file)FYI MD5 Checking doesn't seem that hard in DotNEt
From: System.Security.Cryptography.MD5
static string CalculateMD5(string filename)
{
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead(filename))
{
var hash = md5.ComputeHash(stream);
return BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant();
}
}
}
Couple of notes:
It took a while the first time (20+ seconds) and there was no status or progress of any kind. This can be really annoying for a user who might start wondering if Arc has hung. Not saying you need a download progress bar (although that would be nice) but maybe you could just update the ArcMap status bar with some kind of message saying something dumb like "Syncing 2/254" or whatever.
After installing the addin it downloaded everything. This may not be a real issue. I'm not sure what was in that temporary addin you sent me. My worry is that the shipped versions of the resources have a different MD5.
This is VERY minor but potentially confusing for symbology creators
In QGIS:
qrave_toolbar\resources\symbology\Shared
RAVE\Symbology\esri\Shared
Note the esri
folder that is redundant.
When I add the google imagery I get:
USGS hydrography seems to still work. My guess is that we might not have implemented xyz
tiling in ArcRave yet. If so this might warrant its own ticket and we can maybe push this to the next patch if it's hard
<Layer name="Google Imagery" type="xyz" url="https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}">
<Layer name="Watershed Boundary Dataset" type="wms" url="https://hydro.nationalmap.gov:443/arcgis/services/wbd/MapServer/WmsServer?">
@KellyMWhitehead found this. I looked into it. I can tell that my business logic for VBET is failing to load (so it must be excepting somewhere) but I can't figure out why. The BL XML for VBET does validate for me FYI
This is implemented:
Scoping out arcRAVE downloading business logic and symbology from RiverscapesXML instead of being bundled with the software.
Caveats
Experience suggests that ArcGIS does not allow multi-threaded processes. Therefore ArcRAVE will not automate or asynchronously download resources (business logic and symbology.) It will be a synchronous "UI blocking" feature that is triggered by the user. The user will have to wait for the process to finish! No cancel button. Nothing! (For now.)
Features
Update Resources workflow