I have installed User and Group Management Application from

I have installed User and Group Management Application from
forum.appian.com/.../summary
But it is not working for me.
I have all the required plugins installed.
People Functions (v1.0.10)
Group Functions (v3.1.0)
User Search Expression (v2.1.0)

The application failed at GMTA_addMembersForm, due to "Expression evaluation error at function 'getmembergroupspaging': Error evaluating function 'getmembergroupspaging' : The function 'getmembergroupspaging' is unavailable."

Any thought?

OriginalPostID-171318

OriginalPostID-171318

  Discussion posts and replies are publicly visible

  • Check if the function exists by using expression editor. If not, you may have to think about replacing it by a similar function getgroupmemberuserspaging() that returns same results or check if all of your required plugins have been deployed properly.
  • @boh A good point to start resolving the issue would be going through the logs at the time when you are experiencing the error. If you are able to attach the logs, Appian practitioners here could help you identify the issue.
  • Plug-ins can be checked either through Admin console > Plug-ins or through Application server logs by timestamp.
  • Is there a dynamic way we can test for the existence of a loaded plug-in (smartservice or function) in our code? The admin console & logs are useful when you manually check them and the Appian health check works but is manually run, slow to run and creates a heavy load on the system (hc-plugins.csv is created, but we do not run the health check daily in each environment).

    I have a set of processes that run periodically (at least every morning) on each server that checks a number of internal system settings including all of our database connections to make sure they are operational. Adding a plugin check to verify certain plugins (and possibly their version) are operational would be helpful to indicate when a plugin isn't loaded or a developer has updated it to a new version.

    I am testing calling some functions (that are plugins) but they tend to crash the node (expected) when the function doesn't exist and hence the process model crashes. I'd like to capture the success/failure in a try/catch type of method so I can gracefully know of the failure. Sure, I could create a subprocess for each plug-in we have and have a parent process call every subprocess and track which ones succeed or fail (with the failures timing out at 1 minute), but this could become unwieldy with 50 or so plug-ins.
  • The API to get installed plug-ins is a private API. There's no public API to get a list of installed plug-ins.

    I know that if you know the key of the plug-in and smart service you can create a plug-in to see if the smart service is installed:

    ProcessDesignServie.getACSchemaByLocalId(smartServiceId);

    where smartServiceId is a string of type <plugin_key>.<smart_service_key>.

    This will throw "InvalidActivityClassSchemaException" if the smart service is not available.

    For functions you could use

    ProcessDesignService .evaluateExpression(exprString);

    where exprString is an example of the use of the desired expression such as

    String exprString = "=fn!myfunction()";

    This will throw

    com.appiancorp.suiteapi.common.exceptions.ExpressionException: The function 'myfunction' is unavailable.

    if the function is not installed.
  • Thanks for the feedback Eduardo. I tried looking into the health check plugin as well as digging through the /admin console to see if I could find a way to access the plugin list. No easy luck :-) I am working on a few test processes and will see how that goes and try and post an update here.
  • My suggestion would be to use the approach I describe above to stick to public APIs. Healthcare uses Private API since it's an Appian tool.