Geocortex Web has a tiered deployment strategy which allows there to be multiple copies of an app, one for development to occur and one for end-users to use. This tiered functionality can save time and increase efficiency by allowing users to start using an application before development is complete!
This Geocortex Tech Tip will demonstrate how to push an application from a development state to a production state, both initially and after changes are made. Additionally, it will explain how to share a deployed app with the appropriate end-users.
What’s up everybody, my name is Aaron Oxley and I’m a Technical Sales Specialist. In this Tech Tip we’ll be looking at deploying apps from development to production in Geocortex Web. Let’s take a look!
Here we are in Geocortex Web Designer. I have this app that I’ve been working on, it’s pretty basic not a lot of components here, but I do have some tools in my “I Want To…” menu and my users are anxious to start using this app, so I want to make it available to them, but I also want to keep working on it and I don’t want my changes to affect their work. If I make this app available to them and then start making changes I’m just asking for trouble, something is going to go wrong for those users!
So, in Geocortex Web we have built in functionality to support a tiered deployment strategy. What that means is I can have multiple copies of the same app. One where I do my development, making all my changes and potentially I could be breaking things as I go which would cause issues for my end users. So, that’s why I can deploy a production copy. This one will not be affected by any changes I make here until I click “Deploy to Production” again.
We can see that my development copy shows “Last saved”, my production copy shows “Not Deployed” because I haven’t ever clicked this “Deploy to Production” button for this app, but we’ll do that shortly. First, I want to talk about these options down here.
Clicking “Environment Values” allow us to substitute text for each deployment stage. It’s mostly used for different deployment stages of an app to use different service URLs. For example, I want my development copy to use services from my development ArcGIS Server and I want my production copy to use services from my production ArcGIS Server rest endpoint. So, with this in place when I deploy this app from dev to prod, Geocortex Web will find every single instance of the dev text and replace it with the prod text.
Now I can also click “Change Deployment Strategy” to add more tiers to my deployment strategy. Testing and staging are the two others that are available, but the pattern is the same. So, I’ll just stick to development and production now. It’s just more steps to go through all four.
Now at each stage a copy of this application gets created and it gets given an ID. The production version gets an ID that remains with the app and that is what I send to end users so that they can access the live production copy. An important concept here, it might seem obvious, but an app only moves in one direction through the stages. Any changes need to get made in development and then pushed through whatever stages I have configured to production before my users will see those changes.
Let’s click this “Deploy to Production” button.
We’ll get a Pre-Deployment Summary here and this gives us a chance to verify what’s changed in the app as well as any environment values that we set. In “Environment Values” we can see “Text Not Found”, no big deal. In “Web Maps and Scenes” we can see that there is a web map added, all good. And we don’t have any workflows, report templates or print templates configured in this app so there’s nothing listed in this “Geocortex Capabilities” section. All good, let’s click “Deploy” to proceed.
And that’s it. I’ve pushed this app to production. Now I can see the context menu for my production app. Important here, I’ll never actually be able to see this production app in designer because it’s non-editable, so we need to access it here from the “Production” menu. I can “Launch App” directly, or I can click “Get Links”. There’s an “Embed Link”, a standard “Launch URL” and a QR code as well. So, these are what I’d be sharing with my end users so that they can access the production copy of my app.
You’ll notice after I pushed the app that the “Deploy to Production” button is now greyed out. This is because there are no changes to push. If we make a quick change, let’s just grab a component here in the “I Want To…” menu and change a setting. We’ll make a “Save” and now that button is available again. And this time in the Pre-Deployment Summary, in the “App Changes” section, I’ll see the change that I made to the “I Want To…” menu. Again, we can “Deploy”, and I’ve now deployed that change to my production application.
Now one other thing that I want to show before we wrap up here – “Sharing Permissions”. So, this is where I can confirm that my production copy and all the supporting resources are shared properly. In this case the production copy is brand new, so it says, “Not Shared”. And in “Web Maps and Scenes”, I get a copy of that created as well, that is also “Not Shared”. Geocortex Web creates these automatically when I push to production.
The ones down here, the underlying data in “ArcGIS Enterprise Layers”, gives a warning because I don’t actually own this item, but it’s shared with everyone so that’s perfect.
These two here, “App” and “Web Maps and Scenes”, I do need to share them with everybody in order for my users to be able to access them. Or at least share with users within my organization. This “Manage my items in ArcGIS Enterprise” button down here saves us some work. It takes me directly to the source of these items and I can just check this box above to select both and then click “Share” and share appropriately. In this case it’s sharing with my “Organization”. I’ll click “Save” and that’s up to date. If I close this page, close the Sharing Permissions menu and click “Sharing Permissions” again, we can now see that “App” and “Web Maps and Scenes” are shared with my organization, all good. That is now ready to be made available to my end users. I can close the Sharing Permissions menu. I can come and click “Get Link” in the “Production” menu and start sending this out to anybody who I want to have access to this application as long as they’re within my organization.
So, that is deploying apps from development to production in Geocortex Web. If you want to know more just let us know. Email email@example.com. If this video was helpful for you, please like, share, subscribe and check out our other videos. Thanks for watching!
Want to learn more about how you can enhance the user experience in Geocortex Web? Click the button below for more information on the capabilities of Geocortex Web.