The Parameters Of Fabrik
Much of the administrative work in Fabrik involves creating elements, which are added to groups, which are added to forms - the collected records of these being displayed in lists.
Each element has its own set of parameters and viewing, editing and deleting rights.
Furthermore, each form, group and list also has its own settings.
The menu items that link to these lists and forms also have their own settings.
Finally, if linking to a form in a module, the module also has its own settings.
Whilst this may seem like a complex set of settings, once you are familiar with the settings of each of these, they do allow for maximum flexibility of your projects.
The main questions you will have to ask yourself for each piece of data being collected in a form are:
- Who can see this data?
- Who can edit this data?
- Who can delete this data?
It is important that you become familiar with the set of parameters that are available for a list, form, group, element, menu item and module.
The following parameters describe a common set of privileges and settings applied to each of these.
Element > Access > Editable: Registered (this means that the element is only editable by 'Registered' users and above)
Element > Access > Viewable: Registered (this means that the elements is only viewable by 'Registered' users and above)
Element > List view settings > List settings > Show in list: Yes (this means this element will show in a list if you are viewing that list of records)
Element (when date) > Formatting > Allow typing in field: No
Tip: Go here for a list of PHP strftime settings ie to see the syntax required for displaying date and time in different formats.
Group > Status: Published
Tip: For multipage forms, make sure you have selected 'Page break: yes' on the group that you want to be a separate page.
Form > Options > Configure how you would like the form to display, for example with page title, print icons etc.
Form > Options > Process Joomla plug-ins: Details & Form View
List > Access > View list: Registered
List > Access > View records: Registered
List > Access > Edit records: Registered or use field id
List > Access > Add records: Registered
List > Access > Delete records: Special
List > Access > Empty records: Special
Form Menu Item > Form: Select your form.
Tip: To have a form that will only record one row of data in a database table per user and not multiple entries in a database table, for example in a user profile form, in the menu item settings Options > Row id you would enter '-1' and in Key name you would enter 'userid'. Note that this is a final step in a process process described in depth in the tutorial here called 'Create a user profile', please view this tutorial for complete information on how to implement this solution.
List Menu Item > List: Select your list.
List Menu Item > Options > Rows per page > Set the number of rows you would like to display per page.
Form Module > Form: Select your form.
Form Module > Advanced Options > Template (select your template - note: this overrides individual form settings).
These are some of the basics parameters in Fabrik and worklows that you may find useful to follow when setting up and managing your lists, forms, groups, elements, menu items and modules.
Two other terms that are important to know and relevant to settings that you will come across in the above processes are:
This refers to the column heading in your database table that is the main reference point for the rest of the information in your database table, for example a user's ID may be the primary key for a database table collecting information specifically connected to users' information. It can also be said that the primary key is the unique identifier for each row or record in a database table.
This refers to a unique row in your database table. The row id, for example, could be the user id and therefore displaying a list that only had a row id of 64 would only display records associated with that user. Using Row id = '-1' and Key name = 'userid' (both without the quotes) is one way to define that what will be displayed will only be related to that user.