liferay / liferay-frontend-projects

A monorepo containing assorted Frontend Infrastructure Team projects
Other
69 stars 68 forks source link

Expand configuration capabilities #195

Open jwanner83 opened 3 years ago

jwanner83 commented 3 years ago

Hey there! We currently have a highly customizable portlet and we would like to migrate and refactore it to a new, JavaScript only Portlet without the need for JSP and Java. The only thing that prevents us to do so are the limited options in the configuration feature.

  1. Missing translatable fields One of our configuration is responsible to define the content of a confirmation mail. This content needs to be translatable. image

  2. Missing repeatable fields Another configuration contains some ids which are currently repeatable. It would be very cool to just add a key to the configuration to define that this field is repeatable. Bildschirmfoto 2020-09-16 um 14 04 26

  3. Missing possibility to group configurations into tabs or something similar Because our Portlet has so many configurations, we grouped them into 5 different tabs. This improves the overview a lot. image

I would really like to hear your opinion to this topic.

(Btw. this Issue replaces the issue liferay/liferay-js-toolkit#623 because I noticed there are some more things missing, than only the translation feature of fields)

jbalsas commented 3 years ago

Hi @jwanner83, @TheSoeren, thanks for your feedback!

If I remember correctly, we support as many input field types as DDM does, since we're simply mapping to our form auto-generation mechanisms. This might be incomplete if we're failing to map some of the field types.

That being said, one of the main issues with auto-generated UIs is that it's often hard to contemplate all the user needs beforehand.

Are you currently using a custom configuration.jsp to render your complex configuration screen? If that's the case, I think we would probably want to provide a way in which you can provide a configuration.js file or something like that to render complex scenarios not covered by our default mechanism.

/cc @david-truong, @dsanz

jwanner83 commented 3 years ago

Hey @jbalsas thank you (again) so much for your fast response!

Yes correct, we currently use a custom configuration.jsp file (splitted into multiple jsp files). I really like your idea for the possibility to add a configuration.js file to add our own custom configuration because it would open the door for Vue or React configurations which would be very convenient to have.

wincent commented 3 years ago

Going to do a mass-transfer of issues (including this one):

Note that many of the issues that we move may be stale, but we can close those once we've had time to review them. In the meantime, doing a bulk move makes is cheap and it will allow us to mark the liferay-js-toolkit repo as archived (read-only), which is an important final step in the consolidation process in order to avoid confusion.

jwanner83 commented 2 years ago

Hey @jbalsas / @izaera / @wincent

I wanted to give this ticket a friendly bump. Just today, we found a new use case where we would need the ability to have our own custom configurations, to be able to dynamically add and remove configurations according to a rest service.

Is this issue on your roadmap, or is the direction changing on how to add custom portlets and configurations to liferay?

I would highly appreciate a response ☺️

izaera commented 2 years ago

Hi there :wave:

Is this issue on your roadmap, or is the direction changing on how to add custom portlets and configurations to liferay?

Not that I know. It hasn't changed and I don't think we have any plans to extend it. In any case, as I'm not the responsible for the roadmap so I'm going to mention the people who may help with this...

CC: @bryceosterhaus @dsanz @pablo-agulla

izaera commented 2 years ago

AFAIK, this is not in our backlog, and we won't be priotitizing it any time soon.

I'm flagging it as help-wanted because the feature makes sense and it could theoretically gain more interest.

izaera commented 2 years ago

Note, however, that implementing this would mean changing liferay-portal too, so it's not an easy task to be contributed.