Dataform

Activities ::: mod_dataform
Maintained by Itamar Tzadok
Part of set 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.
Latest release:
720 sites
137 downloads
64 fans
Current versions available: 7

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.

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5

Contributors

Itamar Tzadok (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Comments

  • David Mudrák
    Thu, 18 Dec 2014, 11:33 PM
    I am happy to announce the Dataform is our next Featured Moodle plugin! Read more at https://moodle.org/mod/forum/discuss.php?d=277000 Well done Itamar and congrats!
  • Majid Hussain
    Thu, 15 Jan 2015, 6:10 PM
    Hi Itamar,

    I've noticed that the filter feature does not work but instead throws an SQL error on Moodle running PostgreSQL. Please see debug info and stack trace below:

    Error reading from database

    Debug info: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
    SELECT DISTINCT e.id, e.dataid, e.state, e.timecreated, e.timemodified, e.userid, e.groupid, u.id AS uid ,u.picture,u.firstname,u.lastname,u.firstnamephonetic,u.lastnamephonetic,u.middlename,u.alternatename,u.imagealt,u.email,u.idnumber,u.username FROM mdl_dataform_entries e
    JOIN mdl_user u ON u.id = e.userid LEFT JOIN mdl_dataform_contents c16 ON c16.fieldid = 16 AND c16.entryid = e.id WHERE e.dataid = $1 ORDER BY c16.content ASC LIMIT 20 OFFSET 0
    [array (
    0 => '5',
    )]
    Error code: dmlreadexception
    Stack trace:
    line 443 of /lib/dml/moodle_database.php: dml_read_exception thrown
    line 243 of /lib/dml/pgsql_native_moodle_database.php: call to moodle_database->query_end()
    line 748 of /lib/dml/pgsql_native_moodle_database.php: call to pgsql_native_moodle_database->query_end()
    line 343 of /mod/dataform/classes/entry_manager.php: call to pgsql_native_moodle_database->get_records_sql()
    line 133 of /mod/dataform/classes/entry_manager.php: call to mod_dataform_entry_manager->fetch_entries()
    line 341 of /mod/dataform/classes/pluginbase/dataformview.php: call to mod_dataform_entry_manager->set_content()
    line 324 of /mod/dataform/classes/pluginbase/dataformview.php: call to mod_dataform\pluginbase\dataformview->set_entries_content()
    line 404 of /mod/dataform/classes/dataform.php: call to mod_dataform\pluginbase\dataformview->display()
    line 70 of /mod/dataform/view.php: call to mod_dataform_dataform->display()

    Hoping you can fix this.

    Regards,
    Majid
  • Itamar Tzadok
    Thu, 15 Jan 2015, 10:37 PM
    Hi Majid. Please open a tracker issue in the Dataform tracker component (Set: Dataform) https://tracker.moodle.org/browse/CONTRIB/component/13430, with a simple scenario that reproduces this message, and we will take it from there. smile
  • Majid Hussain
    Tue, 27 Jan 2015, 12:46 AM
    Hi Itamar,
    I've created a new issue for you to investigate smile

    https://tracker.moodle.org/browse/CONTRIB-5573
  • Hamed Azimi
    Thu, 25 June 2015, 3:38 AM
    Hi Itamar,

    I just added dataform as an activity to a course, and all students are able to submit their works, but I want all student also be able to "View" all entries from all students (Not able to manage them. no permission to delete and ... . just view).

    I changed the permissions from dataform activity administrator but nothing happened and just course creator and teacher are able to view all entries.

    I use moodle 2.9 and RTL style. Appreciated if you would help me do what I want.

    Best,
    Hamed
  • Hamed Azimi
    Thu, 25 June 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"!

    Thanks for your absolutely great module. And also thanks for your nice support (and fast answer).

    Best,
    Hamed
  • Hamed Azimi
    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
  • L Passaglia
    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
  • Majid Hussain
    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.
  • Hamed Azimi
    Sat, 9 July 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.
  • Itamar Tzadok
    Sun, 10 July 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. smile
  • Hamed Azimi
    Sun, 10 July 2016, 9:43 PM
    Thanks Itamar smile

    It seems That was the solution. I don't see the error anymore.
  • Gareth J Barnard
    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
  • Itamar Tzadok
    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. smile
  • Vernon Spain
    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

Please login to post comments