Hi Yuniar,
There may be an existing feature request for this out there, but if possible, something that would be helpful in making Machform a bit more enterprise friendly in my eyes would be the ability to tap into other data sources that an organization might have so that dropdown menus could be populated on the fly. One way of approaching this would be to allow multiple database connections to be defined for these other databases, but another perhaps simpler approach, for those organizations that could implement this for themselves, would be to designate a format that users would have to provide the keys/values for the dropdown in and the organizations could implement some sort of JSON endpoint that they could specify in the form config. Then Machform could go and get the live data on each request (and/or cache it for a short period).
Related to this would be having the option for logins in the frontend for forms as well (this would be an extension of the current capability to limit a form by password and would allow people to login with their actual LDAP and/or Machform credentials...in this case though I'm thinking of LDAP credentials specifically).
Here are some additional details on how these could be useful for organizations:
On our end we have our campus database which has a ton of data which changes over time, it would be good if we could define additional "custom fields" that tapped into this data. A simple example of this would be Term Codes for students. The table in our main database (which is an Oracle database) has a mapping like 201710 = Fall 2016, 201715 = Winter 2017, 201720 = Spring 2017, 201730 = Summer 2017, 201810 = Fall 2017, etc. If I could create a simple JSON endpoint that handles the communication with our Oracle database and outputs a mapping for these keys/values and could be used to populate a dropdown menu that'd be really helpful.
Additionally, a long time ago (before you had added in the LDAP login capability into Machform) I had built my own LDAP integration for Machform and I set it up so I could use multiple LDAP sources (I haven't gotten to use the newer versions of Machform that have this feature yet so I'm hoping that capability is present already). In theory, if it were possible to enable a form so that it required authentication, what this would allow for us would be the option to tie results directly back to a particular student (for example, if we were using Machform for surveys). Right now with alternatives like SurveyMonkey (which is managed by a different group on our campus) it is difficult to collect data that might be tied back to a particular student so having that capability would be handy.
Going back to your comment above though, the Approval Workflow feature looks like it will be nice too! I know we use our helpdesk product currently (Solarwinds' Web Help Desk) for a few approval workflow functions here on campus so having an additional option for approvals would be good. This ties into a previous feature idea I had as well, where I was hoping that there could be some simple ticket/review like functions built-in, particularly for the Entries/Review area. Not all forms require it, but in some I can think of it would be nice to have some ability to "mark off" a submission as having been responded to or reviewed.
One other thought I just remembered...there have been times when Machforms has been used for an event and they only have so many seats they can take (the example I'm thinking of used a radio button selection with 3 different dates that people could sign up for). On these occasions it would have been nice if we could setup a limit for the total number of registrations that can occur for each item in the radio list and automatically remove the items from the list as they are filled up (or disable the option from being selected) and then perhaps close the form automatically if all of the options are filled up (or show some user defined message).
Keep up the good work! Machform has been a lifesaver for quite a few groups on our campus since I first introduced it here (probably around 2009 or so)!