BPM, Workflow, and Case

BPM, Workflow, and Case

Come for answers. Stay for best practices. All we’re missing is you.

 View Only
  • 1.  Hide certain items in a drop-down list

    Posted yesterday
    Hello
     
    I use Entry template to display a drop-down list of document types (a drop-down list declared in BAW).
     
    I want to hide some of them and display others.


    ------------------------------
    Mansour SOW
    ------------------------------


  • 2.  RE: Hide certain items in a drop-down list

    Posted 11 hours ago

    Hi,

    there are a couple of ways to achieve this, depending on how much control you want and how much effort you're willing to invest:

    1) Model / configuration approach

    On the backend side you can:

    • Create separate subclasses / document classes that use different choice lists for the "document type" property,

    • or define different choice lists in BAW and bind only the relevant one to the entry template.

    That way the entry template only exposes the reduced list, because the underlying class/property is already restricted to the allowed values.


    2) ICN plugin – filter the choice list in a response filter

    If you need more dynamic control (e.g. depending on user/role/context), you can use an ICN PluginResponseFilter and modify the returned choice list before it is rendered.

    You register a response filter for the relevant service (for example openContentClass / the entry template–related services) and then filter the choiceList.choices array – only leaving the values you want:

    "criterias": [ { "...": "...", "description": "Type du document", "choiceList": { "choices": [ { "displayName": "neededEntry", "value": "neededValue" } // keep only the entries you want to expose ] } } ]

    In the PluginResponseFilter you:

    • inspect the response JSON,

    • find the criteria/property for your "document type",

    • remove all unwanted entries from choiceList.choices.


    3) Simple & pragmatic: one entry template per document type

    If you want to keep it really simple, you can also:

    • create one entry template per document type,

    • pre-fill the document type value,

    • and make that property read-only in the entry template.

    Then the user never even sees a drop-down – they pick the right entry template, and the document type is fixed and protected.


    All three approaches work –

    • #3 is the easiest to implement,

    • #1 is clean from a modelling perspective,

    • #2 gives you the most flexibility at runtime.



    ------------------------------
    Christoph Sünderkamp
    ------------------------------