You're right, Maurizio, like apples and oranges.
One has to be careful when adding complexity. A GUI for OpenACS should seek simplicity, because OpenACS historically has issues with overthinking solutions that results in technical debt and artificial limits to what one can do using the framework. By simplicity, I mean:
-
Define html forms by declaration of field names, values and data types.
-
Have form event-handling use a standardized flow.
-
Have code that defines a form take less keystrokes than building a form manually.
-
Have form generation code create accessible and responsive forms by default.
-
The GUI should make it easy to meet best practices by default, even for the most complex permutation of features.
These are things that ad_form may have intended to solve over time, and yet, complexity abounds. ad_form is avoided instead of used by default.
There is a habit of bypassing ad_form by passing variables via urls, which is not good practice. For example, some browsers read ahead to cache pages, which puts more of a burden on the server. By changing these urls to form buttons, browsers (and web spiders) should not follow.
Also, consider re-factoring the table and list display API to default to show best practices in accessibility. For example, one row max for headers.
Also, javascript should be avoided for improving visual rendering, and yet is okay for client-side input validation when html5/browser cases are not adequate.
If one is going to refactor the GUI, why not take a slightly bolder approach with something like Next-Scripting Framework, and really rocket into the next decade?
https://next-scripting.org/xowiki/getstart#hello
https://next-scripting.org/xowiki/docs/nx/nx-migration/index1
Code could be written to migrate most code that is not oacs-core. And, since the majority of oacs-core functionality was coded in about a year that should be doable for an endeavor like this. You might actually get more volunteers. Also, according to the documentation, NSF is made for this type of endeavor --unlike OpenACS core.
While one is at it, make the system usable in a container / microservices environment ie cluster mode by default. You may get even more volunteers.
cheers,
Ben