Creating a Search on Process Based Form

Comments

1 comment

  • Official comment
    Avatar
    Yaniv Levi

    Hi Derek,

    If your data relies with in a data sources, such as Data Entity, then the simplest way would be:

    1. Create a form based app bounded to your Data Source (DataEntity)

    1. You are mainly going to use the view forms of this FormBased App - this will also provide you the ability to use the List View control (see below additional info in regards).
    2. For using for Search only, make sure the remove the Add Action (and possibly additional actions, i.e Delete, Update - as needed by the app and data interactivity requirements).
    3. Configure the Update form - the update form is used for both the view of a given record and the update - so even if you're not going to use the Update action, this will be valuable for your end users to view the details of a given record.
    4. Optional - Create a page to host this View form and allow users quick and dedicated access to search and interact with the data and app. Off-course, the page is not limited to only host this search form and can host also host additional widgets, which will eventually provide your end users with a dedicated custom app page/WorkCenter - this can include widgets as: Customised WorkCenter - filtered for only this app, card links to quick access the start, report gauge etc'...

    See following video for item #1-3: Adding custom search screen

    See following video for item #4: Page builder overview

    A note with regard to the Form Based app:

    I would recommend to create both the New and Update form, even if actions are not needed currently and there is no intention for providing your end users the ability to use them, reason are:

    1. Cost of creating the 2 forms are relatively very small.
    2. Future version wise, as app progress and new change request comes in, this are likely to surfs out as a request - so you'll be better ready for it.
    3. This can be used for app admin purpose (with appropriate logic on the form for checking users/permission etc) - for data access.

    Another alternative to a Data Driven Form Based app (i.e with primary DataSource), can be a Widget Form Based App - this app will allow you to create a form for the search purpose, just like in a process based app - form would have an auto lookup to fetch the record from the DataEntity and bind it to a repeatable control such as SubForm, Grid etc for visualising the data to the end user.

    If you fund and like the ListView control and find it to be suitable for what you envision for the search result, than I would stick with the Data Drive From Based app, as described above, as the List View control is a dedicated control, which (currently) only available within Data Driven Form Based app and only within the View Forms of this app types.

    Finally, If you'd like this to be in your Process Based App, here are the options and considerations:

    1. Process based apps forms are only accessible within the context of a task and process instance - which is generally not the context you'd like for a general search page/form.
    2. The only exception for the task context above, is the form which is associated with the Activity marked with ReportView=true, this form can be accessed and any given time, regardless of an active task, but it is still limited to the context of the current process instance. If any, would use this form to use/also use for the Search.
    3. Based on the above - another option if you still want t use it within the same Process Based App, would be to add another process model and have the search form used in the Start Task of this process. This would also expose the link to this start form from the WorkCenter > My Apps, so "more proper" for the global search form. Note though that by the default AgilePoint NX license - a given app may only have one start task, so if you want to take this path make sure with you license that it does support more than one Start Task for a given app (known as a Standalone app type). If you do not have this license type, than you can still take this path, but you'll be required to work some nuances regarding the standard task for this purpose - this will require some more in-depth design details to be set and use a the based assumption for the ongoing operation - if needed, PS team will be happy to help you in regards.

    For binding the you data from the Data Entity to the SubForm (or other repeatable control type), when configuring the lookup source:

    1. Make sure you choose the Multiple Columns options (Name Value option is only for option controls such as DropDown, ListBox, Radio Button etc).
    2. Make sure that for each column you select to include (check box on the left), you deleted the default sudgested field name (which will be identical to the column internal name) and from your Data Draw (on the right - open it if its close), under your SubForm control, Drag & Drop the corresponding subform field onto the bounded field (see green bordered in the screen shot below):
    3. Configure filters and sorting as needed, and finish the Confgure Lookup, but when returned back to AutoLookup configure dialog, make sure to "Bind Lookup values to a repeatable control" and choose your subform (or other repeatable control) available in the list.

    See following video for how-to configure lookup and bind to subform (you can jump to the Autolookup part).

    To summarise:

    • There are few options to create a search form - the recommended approach for your needs would be first one detailed described using a Data Driven Form Based App. Second recommended would be Widget form based app.
    • List View control is only available for view forms as part of Data Driven Form Based Apps.
    • For binding DataSource to a repeatable control such as subforms - make sure to explicitly set the fields of your repeatable control in the column fields mapping of the lookup configuration and also make sure to configure the Auto-lookup values to a repeatable control.

    Hope this clear out on the topic and answer on you questions.

    Thanks,

    Yaniv.

    Comment actions Permalink

Please sign in to leave a comment.