The wrong workflow is downloaded to smartphone and tablet devices when auto enroll and Proprietary Auth is enabled

Issue: Configuring a Default Workflow for different Device Idioms with auto enrollment or Proprietary auth enabled can cause the wrong workflow to be downloaded to the device. For example a smartphone workflow is loaded on a tablet device and vice versa.

Steps to reproduce:

1) Configure a platform for iPhone and iPad in the Platform Manager of AppStudio as recommended in the Multi-Platform Management Guide on the ResourceCenter:  http://appstudio.verivo.com/display/coredoc/Multi-Platform+Management
2) For each platform, set an appropriate Default Workflow (either tablet or smartphone).
3) In the Security tab of Application Properties:

  • Enable Allow new user enrollment
  • Enable Use custom authentication

4) Log in to the client app using username1 on an iPhone.
5) Confirm the iPhone config is downloaded. 
6) Log in to the client app using username1 on an iPad.

Expected result: iPad config is downloaded 
Actual result: iPhone config is downloaded

Resolution:  A fix is slated for a future release. Until then, the following plug-in script can be used as a workaround:

 

import clr

clr.AddReference("System.Web")

from System.Web import HttpContext

 

def Login(request):

                urlParams = HttpContext.Current.Request.Params

                response = plugin.MakeLoginResponse(request)

               

                # The 'UserGroup' is the name of the workflow to which the user should be assigned

                # The example below assumes that you have a 'Default' workflow and a 'Tablet' workflow for iPads

                response.responseMessage.UserGroup = "Default"

                if (urlParams["width"] == "1536" or urlParams["width"] == "768"):

                                response.responseMessage.UserGroup = "Tablet"

                return response

 

The above script is placed in the Application Studio > ‘Plugins’ directory with the same name as the plugin to which the script applies.  E.g., if the user has set up their app to use custom authentication against a data source using the ‘DynamicPlugin.dll’ plugin, the script would be placed in the plugins directory and named ‘DynamicPlugin.py’.

Have more questions? Submit a request

0 Comments

Please sign in to leave a comment.
Powered by Zendesk