I have an application entity form that has 3 multi select option sets that determine what questions will appear for the rest of the form based on the chose values. I need this to appear on my portal, or a viable alternative.
the multiselect option set does not render in the portal
Dynamics V9.0 introduced Multiselect optionsets, but this new field type is not support for rendering in the portal (..yet).
There is a well documented workaround (not using the OOB multiselect optionset) approach to creating something that renders as a multiselect optionset in the portal: https://nishantrana.me/2017/03/06/configuring-multiple-choice-field-for-web-form-in-portal-dynamics-365/
TL:DR is to create a a boolean (two option) field for each option on the entity and use the form meta data to create "Multi Select" fields that will render on the portal.
In your example you would need to create 3 groups of fields.
Some considerations for this approach will be:
There are some possible options what would require plugins and custom liquid development, but hopefully this approach will satisfy your requirement.
EDIT: I have limited experience with the Multiselect optionset and with Liquid, but I attempted to create a Web Template that returns JSON with contacts, where the cf_interests field is a multiselect field.
The following is not a complete answer
Ideally this would have pulled all contact (or contact by ID if passed as a param) with their name and all the interest they have. This returns results in the XRM Toolbox but nothing on the portal:
Fetch Used:
Fetch Results:
Output of JSON Web Template:
Regardless, you'd need to use either the web api to update the Multiselect once the user has interacted with the custom multiselect control you would create. I was hoping to use the JSON web template to drive that control.
There is also a new class you can use in a plugin or thorugh the webapi to retrieve and set multiselect optionsets
https://learn.microsoft.com/en-us/dynamics365/customer-engagement/developer/multi-select-picklist
There is a simple sample plugin I created registered on create and update of contact that writes the selected optionset values to a new string:
New TL:DR Multiselect optionsets are new and there are lots of limitations.