AQuAMan

Overview

As a Peer Reviewer I want to have a fast and predictable method of checking the quality of application patches so that I do not have to exert a lot of time and energy manually checking these against the application standards.

As a Lead Developer I want to define and manage the quality standards that comprise the 'Definition of Good' for my application so that they can be applied and reported on in a peer review against an application patch.

Key Features & Functionality

  • Automate 80% of the Peer Review checklist items
  • Register Appian applications and define common standards across that application
  • Run a suite of tests across an application patch
  • Report on failed tests
  • Copy tests between applications
  • Define new object/attribute tests (including database table and view objects) and apply within an application
  • Set the reported significance for a failed test (Fail/Warning/Information)
  • Report on unused variables in Expression Rules and Interfaces
  • Report on the complexity score for Expression Rules and Interfaces
  • Report on missing labels/accessibility text for Interface Object components

Anonymous
  • Hi Manoj

    I have not provided any support or DDL Scripts for other database languages other than the default Appian Cloud database (MariaDB). I understand others have made their own scripts for the likes of MySQL but I have not heard of anyone generating the equivalent Postgres scripts. I personally have no experience of Postgres and do not have access to any environment where I could gain such experience. 

  • Hi Anusha

    Apologies for not responding earlier, it seems I don't get automatic  notifications when comments are added here. I only saw this because I have just release a new version of AQuAMan and came to see it was published correctly here.,

    The process model you're having issues with was indeed invalid (it wasn't being used anyway and I have now removed it from the application).

    Please try again with the new version.

    regards

    Stewart

  • Hi author,

    I am trying to import this application, two components are failing while import with the following message:

    Problems (1):
    processModel 0002e4db-81cc-8000-bee7-044d98044d98 "{en_US=AQA Add Default Tests}": An error occurred while creating processModel [uuid=0002e4db-81cc-8000-bee7-044d98044d98]: com.appiancorp.process.validation.ValidationException: Process Model is not valid. (APNX-1-4071-007)

    Cascading Problems (1):
    content _a-0000e49d-c146-8000-be4f-04ef9004ef90_19600 "AQA_PROCESS_ADDDEFAULTTESTS": The content [id= uuid=_a-0000e49d-c146-8000-be4f-04ef9004ef90_19600] was not imported because a required precedent is missing: processModel [uuid=0002e4db-81cc-8000-bee7-044d98044d98 location=Constant Value] cannot be found. (APNX-1-4070-001) (APNX-1-4071-006)

    I am not sure, if the application has some issues.

    Could you please help me with this.

    Help is appreciated.

    Regards

    Anusha Jain

  • Any update on this issue?  We tried the fix mentioned by but still see this error for a subset of the objects.

    Thanks

    Steve Z

  • @Authuor, could you please confirm whether the prerequisite database script file is valid for MySQL alone. We are not able to use plugin since our database is of Postgres type and unsure about how effective the manually converted script will work. Please help us how we can have common script in placed or pre-converted script file for Appian supported data sources.

  • Hi Ed - I am looking into this issue. Initially I also thought it was because the was related to the patch now containing the 'patches.xml' file (which isn't an Appian design object) but even excluding this (as you previously mentioned) I am still getting failures. The symptom appears to be that the analysis is incorrectly identifying some objects. Since this was working previously my current hypothesis is that one (or more) object type has changed its structure that the XPath is no longer correct.

    As an interim you can (as I have just done) cancel any failed process instances as this then allows the analysis process to proceed on the remaining objects. In my example I am cancelling 34 out of 2000 objects, which means I can still successfully analyze >98% of the objects. Given that it's all about risk, then if you're prepared to accept that you don't have automated insight into those that are failing you could still manually examine those if you are risk averse.

    I'll come back with an update when I determine the root cause of the error.

    Stewart

  • If you just updated like we had done it seems that the file structure of the patch has changed.  I made some changes to AQA_ER_getPatchObjects and we were back up running.

    fn!reject( fn!isnull, a!forEach( items: ri!patchContent, expression: if( and( contains( rule!AQA_ER_allObjectFileExtensions(), document( fv!item, "extension" ) ), /*file not called patches*/ document(fv!item,"name")<>"patches.xml" ) , fv!item, null ) ) )

  • even we are getting this error, Appian CommunityAppian Internal CST/CSE Developer User Group, please resolve this issue as soon as possible, we are not able to use Aquaman

  • AQA_ER_getObjectAttributeValueByAttributeName--its failing here in this rule, every time, we run  a  patch

  • I got this error while analyzing patches with individual objects.  The patch contained one expression rule only.