aximgeo / slap Goto Github PK
View Code? Open in Web Editor NEWSimple Library for Automated Publication of ESRI Map Services
License: MIT License
Simple Library for Automated Publication of ESRI Map Services
License: MIT License
All should just be the default, with no flags.
Might be nice to take a couple of args (server name and directory path), and generate the config file.
Add in section in docs on how to config a service for feature access.
I'd like to go through the modules and define the public interface a little more specifically, then add API-level documentation.
The --git argument currently only diffs against a single commit; we should pass in one (or two?) arguments, so that we can diff arbitrary commit sets (i.e., jenkins' GIT_PREVIOUS_SUCCESSFUL_COMMIT
and or GIT_COMMIT
)
This would make it much easier to use for migrating services from one server to another.
It's nice if you can run something like slap -h
without waiting for arcpy to load; we can do this by only importing arcpy
after we've parsed command line arguments and determined we need to.
In a docker build, the hostname will be set dynamically. We need a way to pass in $HOSTNAME
to override the agsUrl
in config.
Currently the script tries to delete every service before publishing, and will fail if the service doesn't exist :(
Use the logging module instead of printing output
We should ask the server itself for it's token endpoint, rather than requiring it in config (i.e., https://myAgsServer:6443/arcgis/rest/info?f=json)
Currently, slap doesn't handle the case where an MXD is deleted. We should get the operation status from git, and only delete the service without republishing if a source file is removed from the repo.
The Publisher module is getting pretty large; it probably makes sense to extract all the Arcpy calls out to their own module, and keep that dependency in a single place.
Add build process to run tests, and show test status on readme page.
The sha parameter should be added to get_changed_mxds
It looks like the services/exists
endpoint doesn't exist at AGS 10.1, so publishing to 10.1 currently fails. We should be able to just hit the service and check 404 or something similar to support 10.1.
We may need to add some logic to handle token requests for publishing, since it looks like some of the ArcPy.mapping calls make requests from the AGS server itself (needing the token set to "referrer" and the URL of the AGS box), while some calls will be made from the client (or wherever the script is running from).
When uploading the service definitions, it's possible to give an argument to publish the service, but not start it. This should be exposed to the config file.
It would be good to script the site creation as well, at least for testing purposes.
Currently, the script will never copy data to server, and it assumes any data sources have already been registered. We should probably build a set of unique data sources, and register them all if they haven't been already.
Currently, slap doesn't handle the case where the config file changes without a corresponding mxd change. We need to somehow map the line number(s) of the new config version to the MXD(s) that need to be updated.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.