BUG: Underscore sorts to the bottom of a list

I'm in the appian designer and I'm trying to sort my datasets by description.

Normally if you use an underscore "_" as the first character, entries with the "_" as its first character will appear at the top of the list when sorting alphabetically.

Not with Appian however 

Anything with an "_" as its first character sorts to the bottom of the list, not the top.

Example 

Any Name
Bny Name
Cny Name
_ny Name

Why? No one else seems to do it this way. I've worked with dozen of applications and none of them sort the "_" character last like this. 

Is this a bug or is Appian taking a page from MS' playbook and assumes that it knows better than everyone how sorting should work?

How can I fix this or find a work around? I don't want to resort to using 1, 2, 3... in order to force my descriptions to sort properly.

  Discussion posts and replies are publicly visible

Parents
  • To Reproduce

    • Go to the Appian Designer
    • Click on Any Application
    • Click on Build

    That Description - the one right between the Name and Last Modified columns.

    I guess this is a Unix thing because Microsoft, Excel, Google Drive, Google Sheets, and a pile of other programs sort the "_" character first along with !, #, $ etc. even thou its between the Upper and Lower case letters on an Ascii chart. 

    I can use !_ to get the sort order I'm looking for since the ! is a lower ascii value than both numbers and letters.

    Its more an OCD thing as I use the "_" character a lot in order to force a sort order without having to jump through hoops. I was expecting to sort near the top of the sort order like these other programs do.

  • Ok. So now I have a question back at you - why do you want to sort the application object list by "Description"? It seems the least valuable property to sort by? (and btw - it seems to work for me - see screen shots below - unless I'm still misunderstanding you)

Reply Children
  • Using Record Types as an example - I have different types of records (very long list) 

    Some are primary data objects

    Some are controlled vocabularies

    Some are cross reference tables

    I want a way to group like objects (sub-groupings of record type) so that I don't have to scroll through 1000 control vocabulary tables to find the 20 primary record objects that make up the core of my data model

    Since there is no way to include proper metadata associated with the data objects - I'm forced to manipulate the Record Type Description to create a taxonomy for sort order so I can get to the records I want quickly. 

    Unless you guys are planning on allowing us at some point to develop a metadata framework and multiple sort fields

    For right now using "!_" sort of works for sorting primary objects to the top of the list.

    For now I only need 3 control breaks based on one piece of metadata as I'm developing this application

    However eventually I'm going to need more metadata included as part of the record type definition. 

    As a side note - I realize that I could have also done something similar by including the object data type as part of the Record Type Name however I didn't start my data model off that way and there are now too many tables to go back and change the names without destroying all the other interface work that has also been done up to this point. 

    I'm assuming Appian is not smart enough that if I change the name of a table, all associated references in all expressions everywhere will automatically update.

  • 0
    Certified Lead Developer
    in reply to Kevin Feenan

    You can change the name of the record at any time. Internally Appian uses a UUID to reference them. Why not just add hashtags to the description field. This way you can create any structure. And you can search for them.

  • 0
    Certified Lead Developer
    in reply to Kevin Feenan

    Just curious, wouldn't it be more efficient to have 1 table (and Record Type) for the controlled vocabulary?