With the ArcGIS Pro SDK at 1.4, the most significant enhancement is the addition of a new add-in pattern and template which allows you to customize the ArcGIS Pro user interface and user experience at start-up. It’s an exciting new capability which allows developers to create a focused solution experience for Pro.
- Solution branding of the Pro UI – you can create a highly customized UI and start-up user experience for Pro, with a custom splash screen, start up page, application icon, and more
- Conditional / role-based customization – allows you to build logic into the Pro start-up experience and tailor the Pro UI ribbon based on conditions, logins, etc.
- Add-in capabilities – configurations provide all of the standard customization capabilities of add-ins
- Control over add-ins – you can choose how and which add-ins are loaded in Pro
Essentially, you can think of a configuration as a special type of add-in with all of the capabilities of a traditional add-in, with even more functionality for a customized Pro startup and solution experience. As configurations are seen as part of an overall solution, you launch one configuration per Pro session, although you can still have multiple add-ins loaded and available from within that session.
Here is a screenshot of a custom Pro start page, from the ConfigWithMap configuration community sample. The sample shows an interactive geographic view, just one approach to selecting a specific project / or work area.
Some similarities and differences between Pro configurations and traditional Pro add-ins are found below.
- Both allow for customization of the overall Pro UI and custom logic
- Both are built from SDK project templates
- Both are compiled into a single deployment package and installed via the standard add-in installation approach
- Multiple add-ins can be run in a single Pro session
- Only one configuration per Pro session, as configurations are intended for a focused solution experience
- Add-ins are only available after a Pro project has been loaded from the default start page
- Configurations provide the ability for a custom start-up UI/UX, including conditional or role-based logic
The Configurations Template
Configurations are built using the new configuration project template provided in the Pro 1.4 SDK templates in Visual Studio. The screenshot below shows the new configuration template which appears below the traditional add-in project template.
Once selected, the configuration template creates a number of new, starter project components which developers can begin using with a new configuration. Here’s a screenshot of the project items that are provided, and a brief description of each:
- Dark Images folder – images for the default configuration file package when viewing in dark theme
- Images folder – images for the default configuration file installation package, Pro app icon and the start page
- UI folder – views and classes for the about page, splash screen, and start page, for users to edit and/or replace with their own images, views and code logic
- A default config.daml file is included just as in a standard Pro add-in project, it determines how Pro controls will appear in the Pro UI
- The ConfigurationManager class controls the logic and some appearance aspects of the configuration is used for adding additional callback functions that allow for you to manage the Pro startup experience
All of the above items can be used as the starter views and classes for your configuration, and are available immediately for you to build and deploy.
Here are the primary resources on configurations that are now available on the SDK documentation site:
- ProConcepts: Configurations – An important document with both introductory and in-depth information. The “Configuration Callbacks and Application State” section has key information on the different callbacks available
- ProGuide: Configurations – A helpful walk-through on using the out of the box template as well as the new community samples
- ConfigurationManager Class – The API reference document
- Community Samples – There are two configurations samples available: ConfigWithMap and ConfigWithStartWizard which are found in the Framework folder
The samples are helpful in demonstrating the different capabilities of a configuration. Some of the specific features you’ll see with the new ConfigWithMaps community sample:
- A custom splash screen, start page, about page and application icon
- Start-up logic requesting a user to login with ArcGIS Online account credentials
- Custom add-in functionality with buttons and a custom dockpane
- Custom streamlined ribbon UI after startup
Here’s a screenshot of the ConfigWithMap sample:
To help you get started, there is also an introductory SDK Configurations video available which includes an overview of the Pro SDK and configurations, with demonstrations of the ConfigWithMap sample and some basic editing of a configuration created from the template.
We look forward to hearing about the new add-ins and configurations that you and your organization develop this year with ArcGIS Pro.