Starting with K2 5.1, the App Wizard component is included as part of a standard installation of K2, as part of the K2 Apps feature. The App Wizard component uses standard K2 artifacts (such as workflows, forms and views), and the component is installed using the standard K2 Package and Deployment tool. Since K2 Apps and the App Wizard leverages Out of the Box K2 components, certain assumptions are made with regards to deployment and operation of these components. For example, the App Wizard depends on the SmartForms Runtime Environment Field to be available and configured correctly for the target K2 environment.
SmartForms Runtime Environment Fields
For all environments, there will be at least one SmartForms Runtime field, called SmartForms Runtime by default. For environments where the IIS site has been secured with SSL, there will be an additional field, typically named SmartForms Runtime SSL. When K2 engineering creates packages used by the installer (such as the package used to deploy the App Wizard), it is not known whether the target environment will be configured for SSL or non-SSL. As such, the packaged items can only use artifacts known to exist on the target, which will be the SmartForms Runtime environment field, since that field should always exist in a target environment.
Depending on the configuration of environment that the K2 installer is run on, you may see differing results.
- New Installation: Since the environment is new, both the SmartForms Runtime and SmartForms Runtime SSL environment fields will be present, with the appropriate values configured during the installer. No further action is needed.
- Upgrades in a non-SSL environment: If the original SmartForms Runtime field was created manually, it will be renamed to SmartForms Runtime (Legacy) 1 to keep backward compatibility (because certain components reference these fields using a system identifier, and simply overwriting the field value may cause failures). A new field called SmartForms Runtime will be created using a known system identifier, which will be used by K2 system components (like the App Wizard). See the KB article KB002321: K2 Apps require that SmartForms Runtime environment field exists with a specific GUID for more information.
In environments where the SmartForms Runtime field already exists with the known system identifier, no changes will be made and the K2 system artifacts will continue to use the existing field.
- Upgrades in an SSL environment: If the SmartForms Runtime field does not exist, a new SmartForms Runtime field will be created using the known system identifier. If the field exists, the non-SSL field will be handled as described above for upgraded in a non-SSL environment. The SmartForms Runtime SSL field will not be changed.
Default vs non-default fields
Administrators have the option to choose which one of the fields under a field type, like SmartForms Runtime or Workspace URL, is selected as the default. Components and wizards that make use of field types, like the workflow wizards, will use the configured Default field.
Certain actions in the platform, however, need to be configured with a specific instance (one can choose for example to have different SmartForms Runtime fields to be used by different teams) and as such, will disregard the selected Default field and use the field specified during configuration. The App Wizard and App Catalog are some of those components that exhibit this behavior and, as explained earlier in the article, will always use the SmartForms Runtime field. As such, having both the default and the standard SmartForms Runtime field configured correctly is crucial to a healthy and working environment. This consideration also applies to the Workspace URL field.