a way to query data from data source directly on creating an interface?

I am learning to use Appian within my Appian Community Edition platform.  I am able to create a record type to get data model and data from desired data source. but I could not find a way to query data from data source directly on creating an interface. I did search online help, it said that there is a feature: Data Tab on the interface is not available for Appian Community Edition but a professional or enterprise edition.  Is it right? Your advice is very appreciated!

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    Clarify what your "data source" is?  The correct answer strongly depends on this.  If the answer is the internal Appian DB, then you will (approaching 100% of the time) want to choose either the older approach of setting up a Data Store Entity and ultimately using a!queryEntity(), or setting up a Record Type pointing to the table(s) in question and using the various Record Type querying techniques available.  Some other folks have suggested that you can use integrations or stored procedures to sidestep these approaches, but those would be useful only in very unusual exception cases, when we're still talking about data coming from the built-in DB.

    Or are you talking about some other external source? If so, you'll need to provide a lot more specific detail before discerning between the available approaches.

  • Thank you, Mike.  My company is going to use Appian.  We are considering whether use the internal Appian DB: MariaDB or still keep using our current Azure SQL DB in our main Azure cloud? while I am studying, I created a data source to connect our Azure SQL database, record types were created based on the data source, and may get data list and view interface to display/write data records from Azure SQ. After, I was trying to find way whether may directly query data from the data source when creating interface.  Online search and found one topic about "use Data Tab when creating interface which may query data directly from data source". 

  • 0
    Certified Lead Developer
    in reply to billyw0002
    I created a data source to connect our Azure SQL database, record types were created based on the data source, and may get data list and view interface to display/write data records from Azure SQ

    This actually sounds like a 100% ideal use case for the Appian Synced Records / Record Types architecture - since syncing is handled by Appian which maintains its own back-end cached copy of the synced data, querying from it becomes very fast allegedly.  It also enables you to seamlessly integreate data sourced from your external (Azure) tables plus any local (MariaDB) tables you decide you need to create that will strictly serve your Appian application.

    query data from the data source when creating interface

    I'd like a bit more clarification about what precisely you mean by "creating interface" here - because it sounds like you have some terminology mixed up.  Namely, "creating an interface" never actually "requires" querying of any data in particular.  Usually what happens is an interface will be fed some pre-queried data via its Rule Inputs, and/or the form will query some data for display using on-form queries (typically into local variables).  But this 100% depends on the scope and intended activity of the given interface.  Ultimately, the method of querying will remain the same between these approaches (i.e. via a!queryRecordType()), though the location of said query will change depending on the use case.

  • Very appreciated!  yes, I felt the way how the Appian may seamlessly integrate data sourced from external source. 

    About "creating an interface.", yes, it is to add necessary component, layout at first, feed pre-queried data after.  I only tried the Rule inputs now and will definitely want to get idea how query data through form, local variable, ...etcs

  • 0
    Certified Lead Developer
    in reply to billyw0002

    The best way to handle this is to experiment a little, honestly.  There are various "basic use case" interface design concepts you could try out as demos.  One is the "overview display of a specified record".  In this, there would be a single rule input (for starters at least) corresponding to a single record entry's primary key ID.  When populated (usually just with an integer value), your form would initially query that record entry into a local variable, in this case just using a!queryRecordType().  Subsequently you'd build a nice-looking interface that contains read-only fields displaying the pertinent values related to the queried record.

  • Sure!  I really need to do more experiments in order to get more ideas.  Thank you so much for your help, Mike. 

Reply Children
No Data