## Activities: Dataform

mod_dataform
The Dataform module allows the course manager to design and construct an entry form from various input elements (text and rich text fields, urls, files, pictures, etc.) in a flexible layout. Users can then add information records to a collection, which can be viewed in various ways and searched for particular items.
668 sites
25 fans
Moodle 2.0, 2.1, 2.2, 2.3

The dataform module is a major enhancement of the standard Database activity module and is meant to offer all the functionality offered by the Database module and much more in a more flexible way.

The module allows the course manager to design and construct an entry form from various input elements (text and rich text fields, urls, files, pictures, etc.) in a flexible layout. Users can then add information records to a collection, which can be viewed in various ways and searched for particular items.

The dataform features include (among other things):

• A multiple views system - allows the instructor to design several different views of the entries in a datform activity. Each view can show a designated subset of the entries in a designated layout.
• Enhanced template tags - A new template tags system allows for exposing many more bits of information and makes it easy to add designated patterns in new field and view types.
• Enhanced entry actions - Bulk edit, duplicate, delete, approve etc. Inline editing. Form editing options such as required fields (via Moodle forms).
• New packaging system - based on Moodle backup/restore and allows for packaing a dataform instance and restoring into an existing instance.
• Enhanced filtering system - allows the instructor to define different filters each of which can determine sort (including nested sort) and search options (various search criteria). Filters can be fixed to particular views or applied on the file from the activity main page (if included in the view template).

New view/field types include (among others):

• Tabular view - a view type which allows for displaying the entries in a table. The design of the entries table has been simplified to drawing the desired table with optional header row and an entry row in the moodle editor.
• Nanogong field - a field type for adding audio content to an entry via the nanogong applet.
• Calculated field - a field type which can display a result of a simple calculation on one or two number fields in the entry.

### Sets

This plugin is part of set Dataform.

### Awards

• Thu, 25 Jun 2015, 4:29 AM
Hi Itamar,

Thanks a lot. You are right (as you helped in private message). The problem was "Separate participants" option which was set to "Yes"!

Best,
Hamed
• Thu, 5 Nov 2015, 5:01 PM
Hi Itamar,
Is it possible to control the width of "File" fields? We have two part in one of our dataforms, (1. text field 2.file) I want to make it side by side while user is adding new entry. But now it shows the editor below the upload file box.
Regards
• Thu, 24 Dec 2015, 4:43 AM
Hi,
Does Dataform work with Moodle version 3.0?
Can the tables mdl_dataform_fields and mdl_dataform_views be modified without affecting the plugin?
Thank you
• Tue, 15 Mar 2016, 12:37 AM
Hi Itamar,

I have upgraded to the latest version (2.9 - 2015051100) of this plugin and see the following database error:

Debug info: Error: for SELECT DISTINCT, ORDER BY expressions must appear in select list
LINE 1: ... e.id WHERE e.dataid = $1 ORDER BY c12.conten... Error code: dmlreadexception My database server is PostgreSQL v9. Hope you can help resolve this. Regards, Majid. • Sat, 9 Jul 2016, 10:50 PM Hi Itamar, Since upgrading to moodle 3.1, we get this error in different places of our site: Navigation node intersect: Adding a node that already exists availabilitysettingdataformcontent line 780 of /lib/navigationlib.php: call to debugging() line 344 of /lib/navigationlib.php: call to navigation_node_collection->add() line 320 of /lib/navigationlib.php: call to navigation_node->add_node() line 3712 of /lib/navigationlib.php: call to navigation_node->add() line 3730 of /lib/navigationlib.php: call to settings_navigation->load_administration_settings() line 3730 of /lib/navigationlib.php: call to settings_navigation->load_administration_settings() line 3681 of /lib/navigationlib.php: call to settings_navigation->load_administration_settings() line 3539 of /lib/navigationlib.php: call to settings_navigation->load_administration_settings() line 724 of /lib/pagelib.php: call to settings_navigation->initialise() line 773 of /lib/pagelib.php: call to moodle_page->magic_get_settingsnav() line 7211 of /lib/adminlib.php: call to moodle_page->__get() line 849 of /admin/index.php: call to admin_externalpage_setup() Any opinion will be appreciated. • Sun, 10 Jul 2016, 5:16 AM This seems to be related to the availability_dataformcontent plugin and due to Moodle core change in availability plugin settings since Moodle 3.0. The availability_dataformcontent plugin was adjusted accordingly in release 3.0.4. See if upgrading resolves the issue. • Sun, 10 Jul 2016, 9:43 PM Thanks Itamar It seems That was the solution. I don't see the error anymore. • Mon, 29 Aug 2016, 12:53 AM Hi Itamar, Will the M3.0 version work on M3.1 or does there need to be changes? Cheers, Gareth • Mon, 29 Aug 2016, 1:56 AM The Dataform 3.0 should work on Moodle 3.1 without changes. Then again, if you encounter any issue post it in the Dataform forum or tracker and we can take it from there. I'll release a version for 3.1 soon enough. • Mon, 5 Dec 2016, 12:03 PM Getting version errors when I try to install in version 2.7.8. The 2.6 and 2.7 dataform versions say they need 2014111000 (which is Moodle 2.8) when I try to install from the 2.6 or 2.7 versions. It's doing this from the plugins repository. Any suggestions? Regards, Vernon p.s Works fine in 3.1 • Tue, 6 Dec 2016, 8:43 AM Vernon, dataform 2.7 requires Moodle 2.7. This is set in the$plugin->requires, not the $plugin->version. Since then I also changed the$plugin->version to reflect the corresponding branch. If you tried to install several times the version errors may be a caching issue which may be tricky to reset. The 2.6 and 2.7 branches are no longer supported. 2.8 is also not supported although there may be an opportunity in the next few weeks to release an updated (albeit not upgradable) version for 2.8. hth
• Mon, 12 Dec 2016, 10:10 PM
Hi Itamar

We're currently testing an upgrade from Moodle 2.5 to 3.1.
We're using a Moodle Partner company to do this for us.
There seems to be a problem with the Dataform that seems not to uninstall properly. Here's the error message they're giving me:
mod_dataform - [!!! required !!! due errors while upgrading either to 2.7 or 3.1 [see error notes below]

Error notes:

Is there a way to uninstall the old Dataform version and reinstall the 3.1 version ?

Thanks

Sébastien
• Mon, 12 Dec 2016, 10:24 PM
Hi Sebastien. The problem is that Dataform 2.5 or earlier doesn't upgrade to 2.6 or later. The 2.6 included significant changes and was in a sense a "new module". Unfortunately there is no simple way to migrate 2.5 or earlier activities to a recent version. If you have many such activities it might be worthwhile to consider writing a migration script. Otherwise migration would require export/import and some manual reconstruction of structure and data.
• Mon, 19 Dec 2016, 6:44 AM
Hi there,
Ive posted in the forums but have gotten no response, I'm getting errors when using the plugin:
"Warning: Parameter 1 to dataformfield_entryauthor_renderer::display_edit() expected to be a reference, value given in /var/www/html/Dev/mod/dataform/classes/pluginbase/entriesform.php on line 68"

"Warning: Parameter 1 to dataformfield_file_renderer::display_edit() expected to be a reference, value given in /var/www/html/Dev/mod/dataform/classes/pluginbase/entriesform.php on line 68"

Any idea what could be going on here?
Im thinking its a PHP7 compatibility issue but any help would be greatly appreciated.
Cheers
• Fri, 13 Jan 2017, 10:08 AM
Hi Itamar

I'm using the entry pattern EAU:edit in a view to display a selectable menu of enrolled users in order to let teachers input a student name.

The teachers have the role "non editing teacher".

We've just ugraded from 2.5 to 3.1.

Previously the EAU:edit pattern enabled this. Since the upgrade, non editing teachers can only see their name during entry. The dropdown menu with a list of all users enrolled in the course displays for other roles, such as editing teacher, but not for the non editing teacher role.

I'm sending you screenshots through e-mail for more clarity.

I don't want these teachers to be editing teachers so I tried to find the one permission that is blocking this action, but I couldn't find it. Do you now what permission should be changed ?

Cheers

Sébastien