Quote:
Shiva wrote:
Can you recommend a good practice how to create forms. I am briefly aware of form generators as formulize and formulaire, are these any good?
Hello,
As the lead developer on Formulize, I'd have to say it's very good.
Formulize is one way around some of the limitations of manually creating forms with the XoopsForm class that have been discussed here.
Like Liase and Formulaire, Formulize provides a graphical user interface that you can use to create forms. So you specify the elements that you want in the form by picking them from a list, and configuring their options (size of texboxes, options in a dropdown menu, etc) all through a form in your browser.
Formulize also adds a lot of control over how people interact with the form. So you can specify that a form should allow only one entry per user (ie: a profile form) or mulitple entries per user (ie: an activity log). There is also a detailed permission system that lets you control whether people can see entries others have made within their group, or across the whole site. And also whether they can edit or delete their own or other people's entries, among other things.
The forms are displayed by default using the standard XoopsForm class, so the appearance is limited.
However, there is a full API for Formulize that you can use to control how you want the form to appear on an element by element basis. You would create the form in the normal way using the interface described above, specifying all the elements that you want to have. And then you would write some custom PHP on the page where the form should appear. It could look something like this (to use a simple, old style table layout for multiple columns):
print "Title of my Form
";
print "";
print ""; displayElement('myform', 1); print " | "; displayElement('myform', 2); print " |
";
print ""; displayElement('myform', 3); print " | "; displayElement('myform', 4); print " |
";
print "
";
As for reviewing the information once users have submitted it, Formulize includes a powerful searching, sorting and calculation interface that lets you analyze the data however you choose, and save custom views of the information, publish views to other users, and export the data to .csv format.
It is very suitable for any standard data input-output situation, and with the API can be used to create custom applications, which in some cases may be easier or more appropriate than creating a new module from scratch.
The current focus of development is on providing access in the administration screens to the more advanced features currently available only through the API.
If you would like to discuss further, please visit the Formulize area on dev.xoops.org, accessible through this link:
http://www.freeformsolutions.ca/formulizeThanks for reading,
--Julian