===== Creating a Table in the Vortex ===== This guide will teach you how to create a table and add a couple of fields to your Vortex DBI. === Requirements === * A running instance of the Vortex with a working DBI. See [[vortex:installation|Installation instructions]] for information on how to set this up. * Access to an account with the TableAdmin permission === Step 1: Find the Table Administration and edit the view for readability === - Log in to the DBI with a user with the TableAdmin permission. Normally this is the //admin// user. - Open the //Admin// menu and choose //Tables//. This will show a list of all tables. {{ :vortex:examples:vortex_3.png?600 |}} - To make this list easier to read we can edit the default view. To do this, right click the //i// symbol next to the //[Standard view]]// and choose //Edit view//. {{ :vortex:examples:vortex_4.png?400 |}} - In the view editor we can remove the unwanted fields by clicking the red //-// symbol next to the field name. Usually we remove all fields except: * Name * Description * Describing field * Keep History * Enable WorkFlow === Step 2: Create a new table === - On the empty green row in the bottom of the table, enter the //Name// and //Description// of the table {{ :vortex:examples:vortex_5.png?600 |}} - If there is no empty green row your user does not have sufficient permissions to add tables to the DBI. - More information regarding the different fields in the table are found [[vortex:usermanual&#tables_administration|in the User Manual]] - Click the //Save// icon - The table is now created === Step 4: Setting permissions === - Enter the //Details view// of the table you want to add fields to, for example the table we just created. - Click on the //Security tab// near the bottom of the page to open the security settings {{ :vortex:examples:vortex_7.png?600 |}} - Specify an //Individual//, which is either a //User// or a //Group// that you wish to grant some kind of access to this table - Specify the permissions this //individual// is to have. * //Read// permission decides wether the individual is permitted to read records from this table or not * //Create// permission decides wether the individual is permitted to create new records in this table or not * //Update// permission decides wether the individual is permitted to update existing records in this table or not * //Delete// permission decides wether the individual is permitted to delete existing records in this table or not - The different levels of permissions are: * //No// - takes precedence over all other permissions and makes sure this individual does NOT have permission to perform this action * //Inherit// - transparent for this rule, if no other rules exists for this individual permission is not granted, otherwise the other matching rules apply * //Own// - grants this permission on records created by the current user. Not applicable on //Create// permission. * //Yes// - grants this permission to this individual === Step 5: Adding fields to the table === - Enter the //Details view// of the table you want to add fields to, for example the table we just created. - Click on the //Field tab// near the bottom of the page to open the field list. This is open by default. {{ :vortex:examples:vortex_8.png?600 |}} - To make this list more readable we will hide unwanted fields and system records - Edit the standard view by right clicking the //i// symbol to the right of the view dropdown list and choosing //Edit view// - Remove all unwanted fields, usually leaving * Name * Descriptive * Type * Sort order * Permissions (you need to have this one to be able to edit the information in the fields later) - Save the view, reducing the list to the chosen fields - In the same manner, edit the //Filter// by right clicking the //i// symbol to the right of the filter name and choose //Edit filter// {{ :vortex:examples:vortex_9.png?300 |}} - Add a filter rule by clicking the //+// icon in the bottom of the screen - In the left part of the filter rule, choose the field //System field// - Set the operator to = - Change the //value// to 0 - This will make the //SearchString// field in the bottom show //[system="0"]// which is correct, this filter will show all records that does not have the //System field// set - Save the filter {{ :vortex:examples:vortex_10.png?300 |}} - To add a field to the table, simply enter a field //Name// and //Descriptive// and choose the //Type// of the field - Save the table to create the fields - More information regarding the fields describing a //Field// can be found [[vortex:usermanual#tables_administration|in the User Manual]] == List field == The //List// field type is special. The list contains a set of pre-defined values to choose from. To create a //List// field, create the field as any other field with the type //List//. After saving the field, left-click the //i//-symbol to the far left on the row for the //List// field to enter the fields //Details view//. Near the bottom of the page there is a tab called //Strings//. Here you enter the pre-defined strings to be chosen from in this list. * Value - is the value stored in the database for this list item. Used when scripting. * Text - is the text shown in the chosen language when expanding the dropdown box * Language - the language for which this text translates to the given value * Order - the list is ordered with the item with the lowest //Order// value first === Step 6: Details view and Sort order === When entering the //Details view// for a record by left clicking the leftmost //i//-symbol all information for the record is shown. {{ :vortex:examples:vortex_12.png?400 |}} The way the information is shown can be customized using a couple of information elements in the table. == Category fields == To create a category, which is a closeable pane containing data fields, simply create a new field and give it the //Category// type. The pane is open by default when entering the //Details view//, if you want it to be closed add the //closed// keyword to the //extra information// field. == Sort order == All fields are shown ordered by their //sort order//. A lower //sort order// value is shown before a higher value. Categorys shown before a field will contain that field, ie if there is one category with //sort order// 100 and one category with //sort order// 200, all fields with a sort order between 101 and 199 will be contained in the first category, and fields with a //sort order// of 201 or higher will be contained in the second category. All system fields by default have a sort order of 9000 and above. To contain them in a pane, add a category field with //sort order// 9000. If you want to hide it, check the //Hidden// flag for the category field, and the category and none of its fields will be visible in the //Details view//. == Overview == An HTML overview can be added per table to the //Details view//. This is done using scripts and closely described [[vortex:scripting:tablescripts#overview|in the Scripting section]].