The Form and List module is a very powerful tool for handling data that is primarily managed with forms and lists. Typically, forms are used to collect data and lists to display it.
Form and List allows you to define a table (a group of columns or fields) that has the capability to store and display records. In this context, a record is a set of column values where each field is named and has a specific data type definition. Take for example a list of friends, where for each friend you may store a first name, last name, date of birth, phone number, email address, home page and a photo. In this list you could input first name in column 1, last name in column 2, date of birth in column 3, etc. Only data of a predefined type is allowed in any one column. For this example, that is for first/last name columns 1 & 2 - text – and for date of birth, column 3 – date.
With Form and List, once you create a list, an input form containing all the column fields you defined is automatically created for you. After you input at least one record, a default report view is also automatically created for you. This list can be sorted by column and you can specify the number of records to display per page. In addition to this “Default Grid Table” view, the Form and List XSL rendering feature allows for even more flexible display options. Entering records, multiple users can do so simultaneously, and you can set Add, Edit and Delete permissions based on DotNetNuke security Roles.
The Form and List module was originally named the User Defined Table (UDT). It was renamed Form and List in 2009 with the addition of many new form-specific and list enhancement features. This is a brief history of the User Defined Table module. Initially created as a DotNetNuke core module, an independent company, Gamma Concept, then used that core module as the basis to create an enhanced version for DotNetNuke 3 known as gammacon.UserDefinedTable, popular with DNN 3 users.
In December 2004, the initial concept of utilizing and incorporating third party modules as well as spinning off the core modules into individual projects became a reality. This change brought further development into designing the core DotNetNuke framework to be modular by design. For each core module a DNN Project was created and each project is now regarded with equal importance in the development of future DNN releases. The concept of DNN Projects further advanced the participation of more individuals in the DotNetNuke community. This allowed talented software developers to submit code to be included in the core DotNetNuke framework, while following development principles outlined by the DotNetNuke Core Team Architects.
Gamma Concept offered the enhancements of gammacon.UserDefinedTable module to the core framework. Sebastian Leupold, together with Markus Hamburger, created a new version of UDT, UserDefinedTable 3.2.0, which was an amalgamation of the features of the Gamma Concept module as well as other major enhancement such as additional data types, paging, search support and user interface (UI) improvements.
Stefan Cullmann entered the project and started a complete refactoring of the code, a necessary step to prepare for future UDT module development. Stefan also added an XSL rendering alternative that allows for more flexible display output. XSL rendering was the most significant new capability added, however, other important features were included, such as improved search support, import/export capabilities and calculated columns. All these options significantly extended the capabilities of UDT and the scenarios in which the new UDT 3.3.0 module could be used.
The User Defined Table team then drafted the first version of this documentation, to help you become familiar with UDT more quickly, so that you may get most out of the User Defined Table module. Brett Conlan then joined the UDT team in 2007 to provide comprehensive module testing, documentation and UI/Help Tooltip English editing with a focus on end-user experience continuity control.
The enhancements for version 3.4.0 include extended field settings, record filtering and search support, and the first implementation of input validation using Regular Expressions. Also, the all new Token Based XSLT Generator and Editor significantly reduces the effort required to create XSL data rendering style sheets. 3.5.0 added data type User Profile Link and the Records Returned filter.
With the release of DotNetNuke version 5.x, Stefan Cullmann toke over responsibility for the module and added a full set of form based features, list features were significantly enhanced, and the User Defined Table module was renamed Form and List module.