Save user inputs in database for further use
You can control individually for each form whether user inputs should be stored in the database. Stored data can then be exported into a file in CSV format, that can be imported into Microsoft Excel or other spreadsheet software. Stored data can be displayed in frontend using a menu item of type "Visforms -> Formdata". There are lots of useful options to control whether new record sets are autopulished, which data are displayed and which fields and record sets are included in export routines.
Enable "Save results"
This is a form option which you can find in the "result" tab. If you set "Save results" to "yes", Visforms will create a new database table which is used to store user inputs submitted with the form. In addition to the user inputs Visforms stores some overhead information with each record set contains: a unique ID, the IP address of the user who has submitted the form, the transmission date/time and, if the form is submitted be a logged on user, the user id. With the Visforms Subscription there comes an additonal option, which allows you to decide, whether the IP address should be stored with the record set or nor.
View stored data in backend
After you have enabled the "Save Result" option in the form configuration, you will find a new link display data in the forms list view column data. The link will open the data view.
Edit stored user inputs in backend
Due to great flexibility, which allows you to create many different types of forms, Visforms is often used for features which would usually require the use of a specific Joomla! component. When you offer only a single event you may use Visforms for the event registration instead of a complex event component which simple feels "to big". Or you may use Visforms to sell a product or two, because a full shop solutions is overwhelming in your case.
As a result of these uses, the demand to be able to modify submitted user inputs after they were stored, increased.
But for us as developer this demand is difficult. Although we fully understand, that you wish to be able to correct a typo in the registration data, there is a big difference between a custom component for a specific task and a "application made by Visforms". A custom component for a specific task usually has fixed structure, fixed forms and exactly one business logic.
On the other hand Visforms allows you to combine everything with everything and even to change the form definition after the first user data are already stored (and these are totally sensible use cases). Whereas a specified component is able to and focuses on making sure that the validity of submitted data cannot be broken (at the expense of flexibility), the structure of Visforms as a flexible form generator makes this task impossible.
Heads Up! If you use Visforms to create something like a small application for your individual tasks and store, display and edit user inputs you have to make sure, that you do not change the form definition in a way that may result in inconsitent data. Visforms will not prevent you from changing the form and field definitions even if there are already data stored with this form and even if this will result in invalid data which will affect the display of the data and the ability to edit the data!!!
Such changes could be:
- Change field type
- Make field required
- Add validation rules like minimum length, maximum length
- Remove the multiselect option from a field of type select
- Change option values for select, checkbox group, radio button option lists
- ...
You can edit stored user inputs in the administration of your website. Just click on the id of a record set in the data table view or check the box and use the "edit" button in the menu.
Selects, checkbox groups, radio buttons and checkboxes are displayed as the respective field types in the administration edit views. It is possible to remove a uploaded file (field type "file upload") and upload a new one.
Visforms will create a backup of each record set of stored user inputs, when it is changed for the first time and the changes are saved. It will also save a copy or uploaded files in the folder images/visforms_save. You will see a "restore user inputs" button in the menu with which you can reset every modified record set individually to the original user inputs. (Uploaded files will also be restored to the original one's.)
Visforms supports ACL to determine which user level is allowed to edit stored user inputs.
Please note, that Visforms does not validate changes to the data, which you make in the administration, because it assumes, that only administrators, who knows what they are doing, can edit data in the administration. We recommend to use the Visforms Subscription feature Edit data in frontend, if you want to edit data on a regular basis safely. With this feature, submitted user inputs will be displayed in the regular form view in the front end and all validations applied to the form and its field are performed.
Display data in frontend
Out of the box, Visforms provides you with to option to display data in frontend using a menu item of type "Visforms -> Formdata".This will always display a list of all published data which were submitted for a single form (which you can select in the menu configuration).
In addition there are other ways how you can display data in frontend, which allow you to select more specificly which record sets are displayed (for example "Own data only") or to display Visforms data inside an article or a module or to Edit Data in Frontend, which are all included with the paid Visforms Subscription. The article Display user inputs in frontend, will give you a brief overview over the different options of the free Visforms extension and the paid Visforms Subscription about this topic.
There are form, field and menu item options which determine what is displayed in the frontend data view. In order to avoid unintentional disclosure of submitted user inputs, Visforms comes with restrictiv defaults. You have to enable the data view in frontend for each form and for each field actively, if you want the data for the form and the field to be visible.
Frontend Data View Configuration - Form Options
These options are set in the form configuration tab "Dataview in Frontend". You can
- enable data view in frontend
- Display Own data of currently logged in user only. Requires the Visforms Subscription.
- enable/disable auto publishing of new record sets (Auto Publish data)
- decide whether or not to show IP (Display IP address)
- decide whether or not to show the record ID (Display ID).
- decide whether or not to show if the record set was modified (Display modified).
- decide whether or not to show, when the record set was submitted (Display created)
- decide whether the submission date is displayed as date only, or as date and time. (Created As Datetime).
- decide whether or not to show a link to the details of each record set (Display data details). How to use this option wisely see below.
- Choose the icon, which is used to display the link to the data view if the option "Display ID" is disabled, from a small collection of icons (Detail Link Icon).
- enter a title for the data table, that works similar to an article title (Title of List View)
- enter a Description as intro text above the data table (Description)
- enter a title for the data detail view (Tilte of Detail View).<
In addition you can set a separate access level for the data view, so that it is possible now, to have different acces levels for form and for data view.
Notice: If you set "Auto Publish data" to "No" you have to publish every single record set manually!
How the title options of the data views work
A title for the data list view or the data detail view will only be displayed if the menu option "Show Page Heading" (Tab "Page Display) of the menu item which displays the data views, is enabled. Which title is used, then, depends on the configuration settings of the menu item and the form.
If you have set a "Page Heading" in the menu configuration (Tab "Page Display), this page heading will be used as title for the data list view and the data detail view. If the option "Page Heading" in the menu configuration (Tab "Page Display) is left empty, the form configuration settings will be used. For the data list view the value of "Title of List View" is used. If this option is empty, the form title will be displayed. For the data detail view, there is precedence of the "Title of Detail View" over "Title of List View" over the form title.
What's the use of a details view?
A menu item of type "Visforms -> Formdate" displays a list view of all published record sets. If your form consist of many fields, this list can have a considerable width and will not necessarily fit into your website. In a details view fields of one record set are displayed in separate lines, so that you can display as many data as you want without restrictions. As you can decide for each field whether it is to be displayed in the list view, the details view or not you can structure the data views nicely if you use the "Display data details" option and set up the views sensible.
Display "Own Records Only"
This feature is part of the Visforms Subscription and not available in the free Visforms version.
The Visforms Subscription adds a new option "Own Data only" to the form configuration tab "Dataview in Frontend". You have to set this option to "yes" if you want to make sure, that only own data, which the currently logged in user has submitted, are displayed in the front end data view created with a menu item of type "Visforms >> Formdata".
Frontend Data View Configuration - Field options
In the field configuration there is only the "Frontend display" option, which is located in the "Advanced" tab. This option has four self-explaining values to control whether data for the field should be displayed in frontend data views and if yes, which one's. The default setting is "Don't show".
- Don't show
- List and Details
- List only
- Details only
Frontend Data View Configuration - Menu options
At the menu item level (tab "Form data display options") you can control the layout of the data list table. You can determine whether
- Table Headers should be hidden
- Table Borders should be hidden
- Set number of record sets per page
- Set default order field
- Set default sort direction
- add a custom css class for the data table
Search in Data Views
This feature is part of the Visforms Subscription and not available in the free Visforms version.
The Search Tools which are part of the paid Visforms Subscription enables you to add a search bar to your data list view. The search bar automatically creates a search filter for each field of type select, radio button, checkbox and checkbox of your form, which is used in the frontend data view. All "text" fields can be searched with search strings.
Export stored data
Visforms allows you to export stored user inputs into files using CSV format. CSV, an acronym for "Comma-separated values", means that the data of each record set are lined up as a list of comma separated values. Each record set creates a new line.
Most spreadsheet software, like Excel or OpenOffice, can import CSV files very easily, so that you can use and work with user inputs off-site. Often you can just open a CSV-file with a double click and Excel will automatically show it as a sheet.
Visforms provides you with a configuration option, which allows you to add a header line to the CSV file containing the field names, which can than be used as table headers in the spreadsheet. (With the Visforms Subscription you can even create custom field labels which are used as header in the CSV file.)
Data export configuration - which fields are exported?
You can exclude every field separatly from the data export by using the field option "Include field on data export" in the field configuration tab Advanced. The default setting of this option is "yes", so that you only have to change it, if you want to exclude a field.
In the form (tab "Advanced") there are some more options to control the data export, which allow you to determine whether to export published fields only and whether to export the ID, IP, User-Id, published, created and modified information of the record sets, which are part of each data table by default.
Data export configuration - which record sets are exported?
The data export is started in the data view in the administration of your Joomla! website. Just click the Export button in the toolbar. You'll find the backend data view as described above via the link Display data in the forms list view.
You can exclude all unpublished record sets from export with a Form option (Tab "Advanced" in form).
If you select record sets in data view (using the check box) only these record sets (or only the selected published one's, depening on your settings for the form option "published records only") will be exported. Otherwise (no record set selected) all record sets (or all published record sets) will be exported.
Data export configuration - Characterset
Basics: Charactersets
Character sets are used to store characters on computers (in binary code). Character sets basically are rules that determine which binary code matches which character. As different languages uses highly different characters and especially the amount of characters differs significantly, there have been developed different character sets for different regions. Although there are massiv efforts of scaling, export and import of data between different systems (here Linux based database and Microsoft Windows based local programms) may cause problems.
Configuration settings
On most systems export and import works flawless, without making any special settings. Data can be exported with a simple click on the export button and opened with a double click on the CSV file. This works because Visforms converts the UTF-8 character set used on the server into a Windows character set. Doing so, some assumptions are made with regard to the format of the UTF-8 character set and the local Windows character set which may not be correct. This is why sometimes the export fails which will become obvious in strange error messages or wrong characters in your Excel sheet. To improve this Visforms has an addition export option which will disable the character set conversion. Set the option Use Windows-1250 character set to "no", if you run into errors during data import or export. Please note that you have to import the CSV file actively then using the proper import settings, which depend on your system.
Edit data in frontend
This feature is part of the Visforms Subscription and not available in the free Visforms version.
The Visforms Subscription includes an extension which enables you to edit data in frontend, too. Using Joomla! ACL the extension allows you to control which user group can edit all data, which user group can only edit their own data and which user group cannot edit data in frontend at all. Access rules can be set down to the field level, so that you are able to exclude the data, submitted for a specific field, from being modified.