Appian Community and Appian Academy are being upgraded. From July 24–August 3, the Appian Community will be in read-only mode. During this time, the site will be read-only and user registration will be disabled. We apologize for any inconvenience this may cause, but a more secure, stable, and performant Community experience is coming soon!
The new Appian Community launches August 3, followed by Appian Academy on August 7. During the migration, Appian Community Edition, Appian Academy, Documentation, Certifications, Instructor-led Customer Training, Partner Sales Training & Accreditation, and Forum (for Appian Partners and Customers only) will remain available.
Discussion posts and replies are publicly visible
The username which you entered is not exist. please try to use another username.
username is the which we use to login into the environment?
okay thanks
Correct, i used it as text
i wanted to know is there a user type
instead of text if i can set my rule input of type user
you can do like that as well. both are correct. Ideally, we are using as user type but in the initial code you used text that's why i used text.
can you send me a screen shot i am unable to select a user type in the dropdown?
The datatype dropdown lists by default the most common datatypes, but if you start typing into the field (which has 'Search data types' displayed in it!) then you can find all other data types in your environment:
The Appian 'User' datatype is considered to be a primitive datatype.
is that not a CDT? its referring to ae/types/2009
No. A CDT is a "Custom Data Type" which is an assembly of primitive and/or other CDTs, constructed by an Appian Developer.
what is ae/types/2009? is it the namespace?
if i select the one which is highlighted the rule input is of user type... i need to pass only the methods/functions which return user types..or touser(some text value) if the user enters a text value
Yes. Datatypes in Appian are in effect XSD schemas, and require a namespace to disambiguate similarly named datatypes e.g. if I create a datatype called "Instrument" I might mean "Musical Instrument" whereas another developer might mean "Surgical Instrument". Namespacing makes provision for this kind of potential collison.
thank you
If you know for sure that the value you're going to pass is a User object, then use the correct rule input datatype. If you're not sure (for example, the data might be read from a database table which doesn't support the Appian User datatype and thus would have to be stored as Text) then you'd use Text as your rule input datatype. You'd then need to firstly check that the value passed is an actual User in your Appian environment before running any user-oriented functions on it. Note that fn!user() will automatically try to cast the value passed to it to type User so you don't need to run fn!touser() on the value if you already know it's a valid User.
thanks for the detailed explanation, finally got it
can you share a documentation page on how to write test cases?
https://docs.appian.com/suite/help/22.2/Expression_Rule_Testing.html
(note: this is public documentation and is searchable)
can you tell me the difference between assertion output and actual output?
Expected result versus actual result.
okay ..while writing the test cases, we give test inputs, and specify the asserted(expected) output in the value right?