Ragic Logo
Printer friendly

Designing your Ragic applications

  • 1. Basic form design
    1. 1.1. Listing page & Form pages
      1. 1.2. Creating a sheet
        1. 1.3. Field types
          1. 1.3.1. Auto generated field values
          2. 1.3.2. Cascaded selection
        2. 1.4. Field attributes
          1. 1.4.1. Default values
          2. 1.4.2. Date and number formatting
          3. 1.4.3. Additional field settings
        3. 1.5. Field descriptions
          1. 1.6. Subtables
            1. 1.7. Tuning the layout of your form
              1. 1.8. Formulas
                1. 1.9. Approval flow configuration
                  1. 1.10. Reverting to a previous design
                  2. 2. User Management
                    1. 2.1. Internal Users
                      1. 2.2. Access Rights
                        1. 2.3. User Groups
                          1. 2.4. Assigning entries
                            1. 2.5. Entry review
                              1. 2.6. External Users
                                1. 2.7. Temporary login for guests
                                  1. 2.8. Feature Access Settings
                                  2. 3. Account Setup
                                    1. 3.1. Customizing Ragic for your Company
                                      1. 3.2. Account Billing
                                        1. 3.3. Backup & Restore
                                          1. 3.4. Recent Changes
                                            1. 3.5. DB Maintenance
                                              1. 3.6. Global constant
                                                1. 3.7. Notifications
                                                  1. 3.8. UI Translations
                                                    1. 3.9. Configuring your database home
                                                      1. 3.9.1. Event Calendar
                                                  2. 4. Searching
                                                    1. 4.1. Saving frequent searches as views
                                                      1. 4.2. Customizing the left sidebar
                                                      2. 5. Advanced form design
                                                        1. 5.1. Linking sheets together
                                                          1. 5.1.1. Link & load
                                                          2. 5.1.2. Multiple versions
                                                          3. 5.1.3. New sheet from subtable
                                                          4. 5.1.4. Show references from existing sheets
                                                          5. 5.1.5. Link fields from parent sheets
                                                          6. 5.1.6. Dynamic Filtering
                                                        2. 5.2. Custom action buttons
                                                          1. 5.2.1. Convert records button
                                                          2. 5.2.2. Update Values
                                                          3. 5.2.3. Update Value on Another Sheet
                                                        3. 5.3. Validation
                                                          1. 5.4. Conditional Formatting
                                                            1. 5.5. Reminders
                                                            2. 6. Moving your data in and out of Ragic
                                                              1. 6.1. Importing & Exporting
                                                                1. 6.1.1. Mail merge (Export as Word/Excel)
                                                                2. 6.1.2. Publish to The Web
                                                                3. 6.1.3. Import your file from URL
                                                              2. 6.2. Embedding on your website
                                                                1. 6.3. Calendar Sync
                                                                  1. 6.4. Zapier Integration
                                                                  2. 7. Reports
                                                                    1. 7.1. Dashboard report
                                                                      1. 7.2. Ranking report
                                                                        1. 7.3. Pivot table
                                                                          1. 7.4. Calendar Report
                                                                            1. 7.5. To do list
                                                                              1. 7.6. Label maker
                                                                                1. 7.7. Address mapping
                                                                                  1. 7.8. Line graph
                                                                                    1. 7.9. Grouping report
                                                                                    2. 8. Customizations - for developers
                                                                                      1. 8.1. HTTP API integration
                                                                                        1. 8.2. Javascript workflow engine
                                                                                      2.  

                                                                                        1.1    Listing page & Form pages

                                                                                        What are the "Listing page" and "Form page"?

                                                                                        One big difference that you'll first notice between Ragic and other spreadsheet applications is the concept of listing pages and form pages. This distinction is extremely important for developing or using Ragic.

                                                                                        A Listing Page is a table that contains the summary of many entries.

                                                                                        A Form Page is the full detail of a single entry as a page.

                                                                                        Entries that are made to the form pages are shown as rows on the listing page, and the fields that you set for the entries are shown as the column headers, with the values of these entries listed in the correlating row of the entry. Clicking on an entry on the listing page will take you to the form page of this entry, where you can see the full detail.

                                                                                        In the example below, clicking on the sales order entry in the listing page takes us to the form page of that particular sales order, where the ordering customer and a detailed breakdown of the ordered products can be seen.

                                                                                        While designing your sheet, you can also toggle between the listing page and the form page in the design mode with the arrow icon on the right.

                                                                                        The Form Page

                                                                                        When you design a Form Page, remember that you should start with lining up the fields' headers vertically as a form. Lining up the fields horizontally means that you would like to create a subtable (like the products that were added to the sales form above), and a form page cannot start with a subtable in Ragic.

                                                                                        The Listing Page

                                                                                        Remember that the Listing Page serves as a table, where field headers are lined up horizontally as the header row of the table. A listing page must have all its fields in one big table, and cannot have any other fields lying around that are not connected.

                                                                                        This is all pretty easy when you are designing your own application, because the listing page is automatically generated after saving your form page. Therefore, the normal process of designing your database application starts with creating a form page, which is covered in the next section.

                                                                                        Fields Displayed on the Listing Page

                                                                                        After creating and saving your form page, you can click the back button in Ragic to go back to your listing page to see the automatically generated listing page derived from the form page that you just created. You can enter the design mode for the listing page, and use the listing page field picker to choose the fields that will be displayed in the listing page, as well as the order of display.

                                                                                        Adding New Fields

                                                                                        One thing that you should notice is that once you changed the design of the listing page, the change is saved, and Ragic will no longer auto generate the listing page from your form page so that it will not overwrite your design. You should add new fields in your form page, and if you would like it to be displayed on the listing page too, you will need to add it manually using the listing page field picker in the listing page design mode.

                                                                                        Video Tutorial

                                                                                        To have a clearer idea on how listing and form pages will make using your Ragic database easier, you can watch the short video tutorial below.

                                                                                        1.2    Creating a sheet

                                                                                        Tip: This tutorial shows you how to create a Ragic database sheet from scratch through steps 1-5. If you want to create a database sheet by importing your data, check this section on creating a new Ragic sheet with your spreadsheet file.

                                                                                        Here is an overview on how the structure of your database would be once it is complete.

                                                                                        Step 1. Creating a Tab

                                                                                        You can create a new tab by clicking on the "+" sign at the top of your page.

                                                                                        (skip this step if you already have a tab you'd like to add your sheet to)

                                                                                        Step 2. Add a New Sheet to your Tab

                                                                                        You can create your new sheet from the tab configuration, or if you already have tabs, click on the "+" sign again. While naming your new sheet, make sure that it's under the correct tab (you can click on the correct tab during this step. Once you save this sheet by clicking the Create button, it will take you to the Design Mode of your new Form Page, as described in the last section.

                                                                                        Step 3. Create Fields in your New Sheet

                                                                                        Usually, the process of designing the page starts with creating new form fields for the Form Page. Start by typing in the field names that you would like to create, and line them up vertically. You can put these fields in more than one column if needed. Just remember to keep the space needed for the values of these entries.

                                                                                        When a field is created, remember that you can set the input types, which is generally the most often used attribute. If the field value is like a category, or if it will be repeated many times during input, choose Selection or Multiple Select. If the field is a Number or Date, it should be a good idea to set them accordingly. Ragic will set some field types according to what you're typing, but you can change this from the left sidebar. These fields all have their own formatting options, which will be discussed in the Field Types documentation.

                                                                                        Step 4. Adjusting the Height and Width of Fields

                                                                                        When the fields are created, you can adjust the height and width of a cell with your mouse by dragging the edges of the description column and rows of the sheet, just like how you would do it on a spreadsheet application such as Excel. This will make the form look a lot better.

                                                                                        When you're done, click Save and exit the design mode, you will see your form online and ready to take input.

                                                                                        Step 5. Pick the Fields Displayed in the Listing Page

                                                                                        Now let's take a look at your Listing Page, you can click on the back button at the upper left corner of your sheet to go to the listing page, which should contain all the fields that you just created.

                                                                                        Users usually don't like to have many fields in a listing, and to remove columns from the listing page, you can click on the Change Design button on the listing page to go to the design mode. Here you will see a listing page field selector. You can select the fields that you would like to display on the listing page, and decide on the order that these fields are displayed. You can also adjust the width of the columns like you have done in your Form Page. When you're done, don't forget to click Save to save your design.

                                                                                        Creating a Simple Ragic Database Video Tutorial

                                                                                        You can watch the process of creating a simple Ragic database sheet in the video tutorial below.

                                                                                        Create a Database Sheet by using Quick Templates

                                                                                        When you're adding a new sheet, there will initially be some quick templates displayed on the right side of your screen for you to use under the design mode. You can check out how each quick template looks like by clicking on the icons.

                                                                                        You will see the designed sheet with the fields automatically placed for you. The fields can be deleted or adjusted to your preference. You can also add more fields.

                                                                                        Create a Database Sheet by Importing your Data

                                                                                        You can use an Excel or CSV file to create a new sheet as you import your data into Ragic, instead of creating the Ragic sheet first. (If you would prefer to build a Ragic sheet first, please check the normal process of developing Ragic sheets.)

                                                                                        Note. if your Excel file includes some formulas, it can't be auto applied to Ragic sheet when you create a new sheet by importing. You will need to manually add them to your Ragic sheet design. For the list of supported formulas in Ragic, you can refer to here.

                                                                                        You can create a new sheet by clicking on the + sign at the top of your page.

                                                                                        Name your new sheet and check the box Create new sheet with my Excel file. This will take you to the import wizard. The step-by-step wizard will guide you through the field mapping process as well as other configurations for the data to import correctly.

                                                                                        Pick a file from your computer to upload into Ragic.

                                                                                        Ragic supports .xls .xlsx and .csv files. We recommend that you save your file as .csv for the best performance.

                                                                                        For Ragic to map your information correctly to entries, you will need to have a unique identification that we call key field, such as "Product ID" for products, or "Customer No." for your customers. To make your database easier to use, let the first column of your import data be this type of key field.

                                                                                        Determine if your first row is the header. If so, Ragic will automatically determine how the data in this row will be mapped to your fields for the next step.

                                                                                        You can choose an initial field type for each field.

                                                                                        There are many other field types available in Ragic, and you can later edit your fields according to your own requirements.

                                                                                        The last step is to import your data and create your new sheet in Ragic. This step can take up to a few minutes if you have a lot of columns and rows in your spreadsheet.

                                                                                        Congratulations, you have now created your new database sheet in Ragic.

                                                                                        Next step: Entering or Importing your Data

                                                                                        If you have already finished your design, the next step is to create new entries! You can do this by clicking the +New button on your new sheet, but if you already keep some data in spreadsheets, you can import your data directly into the fields you have just created.

                                                                                        1.3    Field types

                                                                                        Ragic supports different field types that could be specified from the Design Mode while designing a sheet. The field type is defaulted to Free Text, which allows the user to enter content without restrictions, but Ragic will try to determine what field type you need when you enter a field name. While this works in most cases, the application will generally work better if you specify the right field types. The Field Type can be set in the left sidebar, under the Basic tab in the Design Mode.

                                                                                        We will explain some of the field types available in Ragic below:

                                                                                        Free Text

                                                                                        The default field type. Users can enter whatever they want under these fields, and there are no length restrictions for text input.

                                                                                        Selection

                                                                                        Users may select a value from the dropdown menu, with values that you have supplied in the "Choices" box in the Design Mode.

                                                                                        This field can also work like a text filter that displays the options available while the user types, when there are many choices to choose from. It is also possible to set a value as the default value.

                                                                                        If you need to set different categories, such as options that will display results connected to what is selected previously in another selection field, you can set cascaded selections.

                                                                                        Multiple Select

                                                                                        This field type works pretty much like the Selection field, but lets users pick from multiple choices with checkboxes.

                                                                                        Checkbox

                                                                                        This field type works similar to the Selection field, but shows the option with icon.

                                                                                        By default, there will be two options, Yes and No.

                                                                                        You may also refer to the table below to add different or more options:

                                                                                        Options Icon
                                                                                        X
                                                                                        Important
                                                                                        Star
                                                                                        Green
                                                                                        Yellow
                                                                                        Red
                                                                                        Blue
                                                                                        Black
                                                                                        White

                                                                                        Select from other Sheet

                                                                                        Users can select values that are referenced from another sheet when inputting to this field. You can select the sheet to be linked from the Design Mode. This sheet could be from any applications that you have under your account. Clicking on the dropdown menu will make a panel pop out that will display detailed information from the referenced sheet. For example, in the "order form" displayed in the image below, the "customer" field is set to "select from other sheet", in which the user will be able to pick from a list of customers to be set as the customer related to the order form that is being filled.

                                                                                        The Select from other Sheet field can also work like a text filter that displays the options available while the user types.

                                                                                        If you need other values to load when you select a value from another sheet, you can set this with the link & load linking type instead.

                                                                                        File Upload

                                                                                        Users can upload a file as the value of the field, which will be shown as a downloadable link.

                                                                                        While there are no restrictions that Ragic has on what type of files can be uploaded, if you would like to restrict the file type that users upload, type the file name extension in the file name extension filter. If more than a single file name extension should be accepted, please use a comma (,) to separate them.

                                                                                        If the upload file is an audio or video file, Ragic will display a media player for supported files so that you can stream your media.

                                                                                        Audio files will be displayed in an audio streamer. The supported audio files are .mp3 and .ogg

                                                                                        Video files will be displayed in a video streamer. The supported video files are .mp4, .ogv, and .webm

                                                                                        When there is a media streamer present, the upload file can still be downloaded by double-clicking on the upload field.

                                                                                        If you'd like to upload files to multiple existing records, you can use the mass file upload feature.

                                                                                        Image Upload

                                                                                        The user can upload an image as the value of the field, which will be displayed as a thumbnail in this field.

                                                                                        Users can view and download this image in a lightbox upon clicking on the thumbnail, provided they have the necessary access rights to the sheet.

                                                                                        If you'd like to upload images to multiple existing records, you can use the mass file upload feature.

                                                                                        Select User

                                                                                        Lists the users of this account to choose from.

                                                                                        It's also possible to specify a certain user group that this user can be selected from, or have the selected user be from the same user group as the submitter.

                                                                                        If you choose "Set selected user as entry owner", the person that is chosen as the value for this entry will have the same accesss right as the person who created this entry. This access right will enable a user to see an entry when his role is "survey user", or enable him to edit an entry when his role is "bulletin user".

                                                                                        Please view this documentation on assigning an entry to a user for more information.

                                                                                        Select Group

                                                                                        Lists the groups of this account to choose from. If you choose "Set selected group as entry owner", all users in the group that is chosen as the value for this entry will have the same access right as the person who created this entry. This access right will enable the users of a group to see an entry when their role is "Survey User", or enable them to edit an entry when their role is "Bulletin User".

                                                                                        Date

                                                                                        Specifies that the field is a date. A date picker will appear when the user clicks on the field. You can also choose a date format from the formatting options in the Design Mode listed under "Format Type".

                                                                                        If you have a time formatting applied, the date picker will show a date and time picker.

                                                                                        Formulas can be applied on dates in order to calculate dates.

                                                                                        Another common usage for the date field is to create a time stamp. This can be done by assigning a default value to the date field.

                                                                                        Date fields can trigger reminders, or help you remember dates by adding fields to your favorite calendar application.

                                                                                        Numeric

                                                                                        Specifies that the field is a numeric value. You can also choose a format from the formatting options in the Design Mode listed under "Format Type".

                                                                                        Numeric fields are most commonly used with formulas.

                                                                                        Auto Generate

                                                                                        The value of the field will be automatically generated by Ragic. This is a great help for generating system ID and document numbers. You can choose from a list of formatting options provided in the Design Mode, or customize by writing your own.

                                                                                        The user will see the field Auto Generate when they are entering data to the form.

                                                                                        Ragic will generate a number or string according to your formatting.

                                                                                        For more information about this field, please see the Auto Generated Field Values section.

                                                                                        Signature

                                                                                        A digital signature can be added to this field by the user via mouse or trackpad.

                                                                                        Rich Text Editor

                                                                                        The Rich Text Editor field type gives your users options to format text being written in this field, as well as inserting images, tables, and links. When editing this field, the Rich text editor window will pop up with various options that will help with the styling of content being added.

                                                                                        Barcode

                                                                                        You can use the Barcode field type to generate a Barcode. There are a selection of Barcode types you can generate in Ragic, such as Code 128 and QR Code.

                                                                                        Alternatively, you can configure additional field settings to display the value as a Barcode. (Code 128)

                                                                                        Money

                                                                                        Similar to the field type Number, this field specifies that the field type is a money field which you can apply formulas to. You can edit the currency format from the formatting options in the Design Mode listed under "Format Type".

                                                                                        Exchange Rate

                                                                                        Ragic will automatically fetch the latest exchange rate in the specified currency combination as its value. You can use this exchange rate in formulas to calculate the currency based on the latest exchange rate data.

                                                                                        Reviewer

                                                                                        You can assign specific users to review specific entries by setting up a "Reviewer field".

                                                                                        E-mail

                                                                                        The value of this field will be formatted as a link to the e-mail. Clicking on the value of an e-mail field will act according to your browser settings, such as launching an e-mail application.

                                                                                        Phone

                                                                                        The value of this field will be formatted according to the format type that you specify in the Design Mode. Clicking on the value of a phone field will act according to your browser settings, such as launching a conferencing application.

                                                                                        Address

                                                                                        The value of this field will be recognized as an address and clicking on the value will take you to google maps.

                                                                                        URL

                                                                                        The value of this field will be recognized as a link, and clicking on the value will take you to the linked website.

                                                                                        Special Format

                                                                                        The value of this field will be formatted according to universal standards that you can specify.

                                                                                        There are some options that are available such as SSN (Social Security Number) and VIN (Vehicle Identification number), but you can also enter your custom format too.

                                                                                        1.3.1    Auto generated field values

                                                                                        Setting your Field to be Automatically Generated

                                                                                        When you set a field type as Auto Generate, the value of the field will be automatically generated by Ragic. This is a great help for generating system ID and document numbers.

                                                                                        You can start by choosing a sequence format in the formatting box below and see how the generated value is like in the example area. To understand this formatting structure, we could analyze how Ragic responds to parts of these sequences.

                                                                                        Example: Quote with Date

                                                                                        The following sequence format is written for a quotation's document number:

                                                                                        QUOTE-{1,date,yyyyMMdd}-{0,number,000}

                                                                                        Two variables are provided to generate the pattern;

                                                                                        the {0,number,000} is a serial number,

                                                                                        and the {1,date,yyyyMMdd} is the date that the value is generated.

                                                                                        When the date variable is not present, the number variable will be a count of quotations generated.

                                                                                        For example if the pattern is:

                                                                                        QUOTE-{0,number,000}

                                                                                        The generated document number will be:

                                                                                        QUOTE-001

                                                                                        QUOTE-002

                                                                                        QUOTE-003

                                                                                        ...

                                                                                        If the date variable is present, the number variable will be a count of quotations generated under the same date string. For example, if the pattern is:

                                                                                        QUOTE-{1,date,yyyyMMdd}-{0,number,000}

                                                                                        The generated document on 2013/5/8 will be:

                                                                                        QUOTE-20130508-001

                                                                                        QUOTE-20130508-002

                                                                                        QUOTE-20130508-003

                                                                                        ...

                                                                                        On the next day it will be:

                                                                                        QUOTE-20130509-001

                                                                                        QUOTE-20130509-002

                                                                                        QUOTE-20130509-003

                                                                                        ...

                                                                                        If we change the format to:

                                                                                        QUOTE-{1,date,yyyyMM}-{0,number,000}

                                                                                        Then the quotation generated on 2013/5/8, and 2013/5/9 will be:

                                                                                        QUOTE-201305-001

                                                                                        QUOTE-201305-002

                                                                                        QUOTE-201305-003

                                                                                        QUOTE-201305-004

                                                                                        QUOTE-201305-005

                                                                                        QUOTE-201305-006

                                                                                        ...

                                                                                        The sequence will only be reset in the following month:

                                                                                        QUOTE-201306-001

                                                                                        QUOTE-201306-002

                                                                                        QUOTE-201306-003

                                                                                        ...

                                                                                        Resetting the Sequence

                                                                                        You can reset or change the status of the automated sequence in the auto generate setting through the Sequence Status at the bottom of the left panel in the Design Mode.

                                                                                        Enter the sequence number you want to start from and click the Set current seq button. If you would like to view the current sequence number, click on Get current seq. This is especially useful when you have a sequence that you're using in Ragic but would like to import data from another source, and then continue with the current sequence.

                                                                                        Populating Empty Values

                                                                                        Ragic has the ability to populate empty autogenerate fields according to the set sequence.

                                                                                        You can run this for an autogenerate field in the form page design mode, in the bottom of the Field Settings > Basic panel.

                                                                                        This feature can be used if you don't already have a key identifier for your records when you import your data from spreadsheets.

                                                                                        Sequence Patterns

                                                                                        For more information on the formatting of these sequence patterns that are based on Java MessageFormat, you may visit the Java MessageFormat class page.

                                                                                        1.3.2    Cascaded selection

                                                                                        What is Cascaded Selection?

                                                                                        Cascaded Selection helps you to set options connected to another Selection field depending on what is selected previously.

                                                                                        Setting up Cascaded Selection for your Fields

                                                                                        To set cascaded selections for a selection field, when you're in the Design Mode, simply choose Selection as the field type, and check the "Set Cascaded Selections" box.

                                                                                        A pop-up menu will display all options of the reference Selection field, in which you can add the cascaded selections choices, with each choice written in a line.

                                                                                        When you are done with adding cascaded selection options, don't forget to click on the Save button at the bottom of the window.

                                                                                        It is possible to set cascaded selection that refer to a field with cascaded selections, so you can have many levels of selection depending on categories.

                                                                                        Note. If you want to display either your cascaded parent field or child field on the listing page, you will need to select both onto listing page and use hidden attribution to the one you don't want it to be shown on the listing page.

                                                                                        1.4.1    Default values

                                                                                        Setting up a Default Value

                                                                                        In some cases you might need Ragic to fill out some of your fields with a default value, such as the current date or time to save time while filling entries, and for error avoidance.

                                                                                        You can set default values to applicable field types by clicking the link next to the "Default Value" option in the Design Mode, under Field Settings > Basic.

                                                                                        Variables Offered in Ragic

                                                                                        You can use the variables offered in Ragic to generate a default value when an entry is being created or updated, or write a value to set as default that will populate this field in each new entry (in the case of setting a free text or selection field.

                                                                                        Default Value Default Formatting Variable Example
                                                                                        Create date yyyy/MM/dd $DATE 2015/05/19
                                                                                        Create time HH:mm:ss $TIME 09:21:05
                                                                                        Create date time yyyy/MM/dd HH:mm:ss $DATETIME 2015/05/10 09:21:05
                                                                                        Create year yyyy $YEAR 2015
                                                                                        Create month M $MONTH 5
                                                                                        Create weekday E $WEEKDAY 2
                                                                                        Create user name Name LastName $USERNAME Jane Doe
                                                                                        Create user e-mail email@domain.com $USERID jane@initech.com
                                                                                        Last modified date yyyy/MM/dd #DATE 2015/05/23
                                                                                        Last modified time HH:mm:ss #TIME 09:32:06
                                                                                        Last modified date time yyyy/MM/dd HH:mm:ss #DATETIME 2015/05/23 09:32:06
                                                                                        Last modified year yyyy #YEAR 2015
                                                                                        Last modified month M #MONTH 5
                                                                                        Last modified weekday E #WEEKDAY 2
                                                                                        Last modified user name Name LastName #USERNAME Karen Moore
                                                                                        Last modified user e-mail email@domain.com #USERID karen@initech.com
                                                                                        Sequence 1,2,3 $SEQ 3

                                                                                        The above are shown as options under the default value configuration, which you can select directly.

                                                                                        Inputting your own Formatting for Default Values

                                                                                        If you need a different formatting for the default value, you can input this in the formatting box below the default value options, or choose from the offered formatting options. You can choose to set a custom date format for date fields as well.

                                                                                        Applying formulas

                                                                                        You can also apply formulas to a default value. Please navigate to the design mode of your form page, check the box "Interpret as formula" below the default value box, and then add your formula directly in the default value box. For supported formulas in Ragic, please refer to this documentation.

                                                                                        Please note that the interpreted formulas in your default value will be triggered when your edit the reference field for the first time. Once the formula is triggered, it will not be re-calculated when you edit the reference field afterwards. If you would like to have the default value re-calculated according to the reference field value all the time, please use formulas instead of adding a formula as a default value. Formulas are explained in detail here.

                                                                                        Using with the Read-only Option

                                                                                        Fields with default values are often used with the "Read Only" option, to prevent the value being changed manually by a user.

                                                                                        Populate empty values

                                                                                        When you already have entries in the sheet and you would like to add a new field with a default value or change an existing field type to a field type that has a default value applied, Ragic will not automatically populate the default values to existing entries according to the new configuration. Therefore, the new or newly modified field might be empty. If you would like to have all empty values to be populated according to the set default value, such as the last update date, or created by username, you can click on the Populate empty values button in the Design Mode under your default value setting.

                                                                                        Step 1 Enter the Design Mode to configure your default value

                                                                                        Step 2 Save your modification

                                                                                        Step 3 Click on Populate empty values under the default value setting.

                                                                                        Once you click on the Populate empty values button, Ragic will start to populate the empty values in the background. This may take awhile depending on the number of records in your sheet. You can navigate away from the design mode if needed. There will be a pop-up notice at the lower-left corner of your screen once the process is done.

                                                                                        You can then see the auto-populated default value in the form page.

                                                                                        1.4.2    Date and number formatting

                                                                                        Setting the Formatting of your Fields

                                                                                        You can change the formatting of field values, or choose from the offered formatting options when applicable, depending on the field type.

                                                                                        The formatting that is set will automatically format the input value, according to your custom format string. This makes it easier to make quick inputs on entries in Ragic.

                                                                                        You can set the formatting of certain field types in the Design Mode of your form, under Field Settings > Basic.

                                                                                        Example Formatting Types

                                                                                        See some of the examples on what you can do with custom field formatting below.

                                                                                        Field Type Formatting Applied Input Formatted Value Notes
                                                                                        Date yyyy/MM/dd 20151022 2015/10/22 Ragic will format your date value according to what you enter.
                                                                                        Date dd-MM-yyyy 1022 22-10-2015 If you do not enter the year value, Ragic will input the current year.
                                                                                        Date yyyy/MM/dd 22 2015/10/22 If you only enter the day, Ragic will autofill with the current month and year.
                                                                                        Date yyyy, MMMM, dd EE 22 2015, October, 22 Thursday Please check the section below for custom date formats
                                                                                        Numeric #,###.## 3266.528 3,266.53 Your input will be rounded to the nearest decimal according to the formatting.
                                                                                        Numeric #,##0.00 3266 3,266.00 If no value exists in a position, access displays a zero (0).
                                                                                        Auto Generate PO-{1,date,yyyyMMdd}-{0,number,000}   PO-20150519-029 Auto Generate fields do not require input from the user, and will generate a serial number in sequence.
                                                                                        Money $#,###.## 12859.2 $12,859.2 You can change the currency symbol in the formatting box by replacing $.
                                                                                        Phone (XXX) XXX-XXXX 9497692270 (949) 769-2270 You can enter your own formatting if your country isn't listed.
                                                                                        Special Format XXX-X-XX-XXXXXX-X 9781451673319 978-1-45-167331-9 Some options include the standard ISBN, SSN, and VIN, but you can also enter your custom format.

                                                                                        Custom Date Formatting

                                                                                        If none of the available date formats fit your requirements, you can write your own formatting with the table below:

                                                                                        Field Full Form Short Form
                                                                                        Year yyyy (4 digits) yy (2 digits), y (2 or 4 digits)

                                                                                        Month MMMM (name. Ex. January),MMM (Aabbr. Ex. Jan), MM (2 digits), M (1 or 2 digits)
                                                                                        Day of Month dd (2 digits) d (1 or 2 digits)
                                                                                        Day of Week EE (name) E (abbr.)
                                                                                        Hour (1-12) hh (2 digits) h (1 or 2 digits)
                                                                                        Hour (0-23) HH (2 digits) H (1 or 2 digits)
                                                                                        Hour (0-11) KK K (1 or 2 digits)
                                                                                        Hour (1-24) kk (2 digits) k (1 or 2 digits)
                                                                                        Minute mm (2 digits) m (1 or 2 digits)
                                                                                        Second ss (2 digits) s (1 or 2 digits)
                                                                                        AM/PM a

                                                                                        Setting Default Formatting Through Account Settings

                                                                                        It's extremely useful to apply default formatting for designing your sheet if you have a regularly used formatting for numeric field type or date field type.

                                                                                        1.4.3    Additional field settings

                                                                                        Configuring Additional Field Settings

                                                                                        You can configure additional field settings apart from a default value and a field formatting from the Design Mode, under Field Settings > Basic.

                                                                                        Unique

                                                                                        When you set a field as unique, the value of this field cannot be a duplicate.

                                                                                        This feature is most useful when you want to make sure that you do not register the same thing twice in your database, for example, a username, e-mail or phone number.

                                                                                        With this configuration, when a user tries saving a record with the same value for a field marked as "unique", not only would the database prevent the user from saving, but will also display a pop-up window that includes a link to the original saved record.

                                                                                        Read Only

                                                                                        A field can be set as read-only, which means that the value of this field cannot be changed.

                                                                                        This feature is most useful for fields that are referenced from another sheet, autogenerated fields, or fields that have a default value set.

                                                                                        Column Span (Merge Cells)

                                                                                        You can merge cells on your forms to span columns so that a single field may look wider.

                                                                                        This is significantly different than the method to adjust the height of a row or the width of a column.

                                                                                        Do Not Clone

                                                                                        If you're creating many entries with similar data, sometimes it's useful to clone the entry instead of rewriting data.

                                                                                        If you use the clone entry function often, you can set the fields that should not be cloned while cloning an entry as "do not clone".

                                                                                        Wrap Text

                                                                                        When this configuration is set, the text in this field will be wrapped.

                                                                                        Barcode

                                                                                        Specifies that the value of this field will be displayed in barcode. (Code 128)

                                                                                        If you would like to generate other types of Barcode, such as a QR Code, you may use the Barcode field type.

                                                                                        Hidden

                                                                                        Specifies that the field that will be hidden in the following:

                                                                                        1. Spreadsheet interface

                                                                                        2. Printer Friendly view

                                                                                        3. Excel download (and related export options)

                                                                                        4. Web embed form

                                                                                        The hidden field can be used to store values that you might need as constants, for formulas, and other use cases where the ability to view this value will not be practical for the user.

                                                                                        When used in a subtable, a hidden field will leave a gap, therefore while designing a form, please consider moving hidden fields to the end of the subtable.

                                                                                        Field Instruction

                                                                                        You can add field instruction to help user enter data to the field.

                                                                                        The configuration for field instruction can be found from left panel under design mode > Field Settings > Other.

                                                                                        This will add a (?) to the field header, and your instruction will show when user clicks on the (?).

                                                                                        1.5    Field descriptions

                                                                                        Field Descriptions / Static Text Fields

                                                                                        A Ragic form not only contains fields, but can also contain Static Descriptions that serve as instructions, or can be used as a decorative elements on your form. Normally when you start typing in a field in the sheet's Design Mode, it creates a field ready for input. You can change the current editing mode by clicking on the Editing Fields button at the top, and choose Editing Descriptions. By doing so, when you type on the sheet, you will be able to create descriptions instead of fields.

                                                                                        Another way to create descriptions is to go to the Add Component tab at the right, and drag & drop a description field listed under Static Text directly into your sheet.

                                                                                        Styling your Field Descriptions

                                                                                        When you click to focus on a description field, you can change its style using the panel on the left sidebar.

                                                                                        There are a variety of formatting options for static text fields displayed on the left sidebar when the field is selected (make sure you focus on the field you are editing). You can set the font style, text size, alignment, text color, cell color, and link to a URL.

                                                                                        Selecting the color options for a static text fields will display a color picker, which has a range of options. You have the option of choosing from swatches, the canvas, or enter a hexademical code in the upper left hand corner.

                                                                                        To adjust the width of a static text field, drag the lower-right corner of the field in the design mode.

                                                                                        Formulas in Field Descriptions

                                                                                        Formulas work in static description fields for display purposes only.

                                                                                        This is useful if you need to recalculate a formula each time your database form is loaded, and do not need to keep this value in your database. You will need to use the BBCode [formula] for your formula to work.

                                                                                        For example, let's say that you would like to view a person's age according to their birthday. The formula [formula](TODAY() - A1)/365.25[/formula] written in a description field would display the age of this person, and will be recalculated according to the current day.

                                                                                        Adding a default image on a form

                                                                                        If you would like to add an image to your form that would show up every time anyone views, you can add it to a description field by using the HTML image tag or BBCode tag. For this, your image should have a URL (whether your image is on Ragic or elsewhere on the internet).

                                                                                        Add a static description field to the field you would like your image to show up in.

                                                                                        Use this snippet to point to your image:

                                                                                        <img src="your URL here"/>

                                                                                        or

                                                                                        [img]your URL here[/img]

                                                                                        Make sure you save the changes you have made to your design.

                                                                                        Your image will now show up in your form and will also be displayed in the Printer Friendly version. This is useful if you would like to customize your form design more by adding logos, banners, headers and footers to your forms.

                                                                                        1.6    Subtables

                                                                                        What are Subtables?

                                                                                        Subtables are extremely useful for handling one-to-many relationships in your form. For example, you might have a customer account with multiple contacts and multiple contact history that you would like to record. Or you might need to record multiple items in a purchase order or quotation. Subtables are everywhere in business applications, and Ragic provides the easiest way for you to create forms to manage them.

                                                                                        Creating Subtables

                                                                                        You can create a subtable simply by lining up the fields horizontally while you are in the Design Mode. Please note that the field headers should be right next to each other, you can start typing in the cell to place a field header while disregarding where the field value of the previous field would be. This will shift where the field values will be displayed below the field headers.

                                                                                        It's recommended to put your subtables at the bottom in your sheet design, since the subtable row will extend when containing more than 3 rows. And it's also not recommended to have different subtables designed in the same row for the same reason.

                                                                                        For a more detailed explanation about the creation process, please see our video tutorial below.

                                                                                        To learn how to move subtable fields, please refer to this article.

                                                                                        Entering Data into Subtables

                                                                                        In this subtable, your users can enter many sub-entries that belongs to the main form entry. The subtable will initially have three empty rows shown to the user, and as they are filling more entries, more rows will appear.

                                                                                        Filtering and Sorting in Subtables

                                                                                        In some cases, you might want to filter or sort records in your subtables. This can be done by clicking on the arrow next to the field headers of your subtable to filter or sort the results displayed.

                                                                                        Filtering your subtable records

                                                                                        You can use the "Filter by text" option to filter your subtable. If the field is a selection field or a multiple selection field, you can also choose one of the selection options to filter results.

                                                                                        The filters applied can be cleared with the "Clear Filters" button on the top of your page, or the "Clear Filter" option through the arrows next to the field headers.

                                                                                        Setting a default filter to a subtable

                                                                                        You also have the option to set a default filter to subtables in order to view this filter whenever you are viewing entries.

                                                                                        To set a default filter, click the "Save filter as default" option under the options accessible from the arrow next to the field headers.

                                                                                        Default filters can be cleared via the "Remove subtable default filter" option.

                                                                                        Sorting the order of your subtable records

                                                                                        Options include sorting ascending or descending.

                                                                                        Sorting applied to the subtable can be cleared via the "Clear sorting" option through the arrow next to the field header you're applying the sorting from.

                                                                                        Exporting Data from your Subtables

                                                                                        The best way to export data from your subtables is outlined below:

                                                                                        1. Create a new sheet from your subtable with this linking type, this will generate a new sheet with all your subtable values from all of your entries in that subtable, spanning different records.

                                                                                        2. Add other necessary fields If necessary, you can add stand-alone fields from your parent sheet with the link fields from parent sheets method. This way you can export your subtable data with other fields that are related.

                                                                                        3. Export your data from your new sheet Exporting data from the new sheet is just like exporting from a regular sheet.

                                                                                        More about Subtables

                                                                                        You can use formulas to make calculations in subtables.

                                                                                        When you have many entries in your subtables, you can consider creating a new sheet from this subtable that will display each subtable entry you saved.

                                                                                        Video Tutorial: Creating a Subtable

                                                                                        Here is a video tutorial showing how you can create a new subtable on your form.

                                                                                        1.7    Tuning the layout of your form

                                                                                        Formatting the appearance of your sheet is really quick and easy with Ragic in the Design Mode. Having a consistent appearance among your sheets helps to keep your database look more organized. You can also design different versions of the sheet to match the look and feel you need when printing or exporting your data as files.

                                                                                        Changing the Height and Width of your Fields

                                                                                        Changing the height and width of cells works like spreadsheet software applications such as excel. Dragging the right border of a column's reference tab helps you to adjust the width of the column.

                                                                                        Similarly, dragging the bottom border of a row's reference tab will adjust the height of the row.

                                                                                        Changing the Style of Field Headers and Values

                                                                                        You can change the style of the field header and values from the Styles tab in the design mode. This can be done separately for the form page and listing page.

                                                                                        If you want to have custom styling for your field values while entering data, you can use BBCodes for text formatting while doing so.

                                                                                        Adding Field Borders

                                                                                        Add field borders to the field header and/or value from the Styles tab in the design mode. This can be done separately for the form page and listing page.

                                                                                        Click on the square border icon under the label style or the value style.

                                                                                        The menu will display your options on adding borders to the sides that you prefer.

                                                                                        You can also select a border color and style.

                                                                                        Your border will be placed in your form design.

                                                                                        Copying Styles

                                                                                        To copy already designed field header and/or value styles to another field, you can click the "Copy Styles" button with the brush icon. This will apply the same style configurations to the next clicked field.

                                                                                        To copy a selected style to multiple fields, check the box "Paste copied styles to multiple fields".

                                                                                        Moving Fields

                                                                                        You can move your existing fields in the design mode by dragging and dropping. Click and hold the field header with your primary mouse button, drag this field header to an empty space on your form, and drop it by releasing your mouse button.

                                                                                        Moving your subtable to another row can also be done in the design mode by dragging. First make sure that you have enough space (3 cells beneath your subtable field headers (these will expand in your form in editing mode later). You can drag one of your subtable fields to an empty space on your form to start the process. Ragic will show you a prompt, asking if you want to move your subtable. Select the cell that you would like your first subtable field (the leftmost) would go to. Ragic will move your entire subtable upon confirming.

                                                                                        If you want to move your subtable fields to change the order of your subtable fields, you can drag and drop the fields horizontally to achieve it.

                                                                                        Formatting Static Text Fields

                                                                                        You have the option to format static text fields in the field Description. Static text fields are helpful for some users when they are using the database, and their usage ranges from headers to description text fields.

                                                                                        There are a variety of formatting options for static text fields displayed on the left sidebar when the field is selected. You can set the font style, text size, alignment, text color, cell color, and link to a URL.

                                                                                        Selecting the color options for a static text fields will display a color picker, which has a range of options. You have the option of choosing from swatches, the canvas, or enter a hexademical code in the upper left hand corner.

                                                                                        Span (merge) cells

                                                                                        You can span cells in multiple columns, by selecting the Span Multi Column option in the left sidebar for regular fields, which will merge the number of cells you input in the same row.

                                                                                        To do this in static text fields, just drag the lower right corner of the field.

                                                                                        1.8    Formulas

                                                                                        Usage of Formulas in Ragic

                                                                                        Formulas in Ragic work very similar to the formulas you use on spreadsheet software such as Excel. But the major difference is, instead of assigning formulas to field values, you assign cell references to field headers. Formulas can calculate not only numbers, but also strings and dates. Ragic will try to determine what type of formula that is needed automatically, but it's safer to assign the right field type (such as Number or Date) to be more specific.

                                                                                        To assign a formula to a field header, navigate to the Design Mode on your form page, and focus on the field header. On the left hand side, choose the tab Formula, and write your formula here.

                                                                                        Below you can see an example of a Sales Order sheet and its calculations. The Amount Due (A20) field has the formula that will calculate the addition of the Total (A17) and the Tax (A19) fields.

                                                                                        Please kindly note that "Multiple Select" field type cannot be configure as reference field in formulas.

                                                                                        Check all the supported formulas in the list of supported formulas below.

                                                                                        Calculation Operators in Ragic

                                                                                        Operators specify the type of calculation that you want to perform on the elements of a formula. There is a default order in which calculations occur, but you can change this order by using parentheses.

                                                                                        Please note that a colon (:) character cannot be used as a reference operator to combine ranges of cells.

                                                                                        Arithmetic Operators

                                                                                        To perform basic mathematical operations such as addition, subtraction, or multiplication and produce numeric results, use the following arithmetic operators.

                                                                                        Arithmetic operator Meaning Example
                                                                                        + (plus sign)Addition 3+3
                                                                                        – (minus sign) Subtraction  3–1
                                                                                        * (asterisk) Multiplication 3*3

                                                                                        / (forward slash) Division 3/3
                                                                                        ^ (caret) Exponentiation 3^2

                                                                                        Comparison Operators

                                                                                        You can compare two values with the following operators. When two values are compared by using these operators, the result is a logical value either TRUE or FALSE that can be used within conditional formulas.

                                                                                        Comparison operator Meaning Example
                                                                                        = Equal to A1=B1
                                                                                        == Equal to A1==B1
                                                                                        > Greater than A1>B1
                                                                                        < Less than A1<B1
                                                                                        >= Greater than or equal to A1>=B1
                                                                                        <= Less than or equal to A1<=B1
                                                                                        !=Not equal to IF(A1!=B1,'yes','no')

                                                                                        Strings in Formulas

                                                                                        You can use either single quote like: 'Single Quoted String' or double quote like: "Double Quoted String" to denote a string in the formula. In this document we will use single quoted strings for consistency, but both formats are acceptable.

                                                                                        Values in Subtables

                                                                                        Assigning formulas to the field headers like this makes calculations much easier, especially for Subtables, for which you can write more complicated formulas with less effort.

                                                                                        Let's go back to our Sales Order example. The subtable that lists the items being ordered includes the Unit price (B12) and quantity (C12). The multiplication of these will give the amount of money (D12) the customer will be paying for each item. Notice how the subtotal of this amount on cell D17 references the field header of the amount in D12.

                                                                                        Formulas can also work with subtables. For instance, if you need to count how many rows there are in a subtable, you can simply create a separate field in your form that uses the COUNT() formula.

                                                                                        For more advanced conditional formula types to count or sum up values in subtables, please see the COUNTIF Function, the COUNTIFS Function, the SUMIF Function, or the SUMIFS Function.

                                                                                        Calculating Dates and Times

                                                                                        Formulas that refer to date fields

                                                                                        A formula referencing to date fields will be calculating dates based on the number of days.

                                                                                        For example if A1 is a date field, then A1+7 will be the date for 7 days after A1.

                                                                                        Another common use for using dates in calculations would be: if B1 is a birthday, you can set the formula to "(TODAY() - A1)/365.25" to represent the age of the person who has that birthday.

                                                                                        Check the list of supported formulas below for detailed information about formulas that work with dates.

                                                                                        Formulas that refer to time fields

                                                                                        To calculate the time differences within a single day, you can use time fields with formatting (HH:mm).

                                                                                        For example, A1 is start time (HH:mm), A2 is end time (HH:MM), and there will be two ways to calculate the duration from time A1 to A2 base on the number of hours :

                                                                                        1. Use a time field A3 with formatting (HH:mm), you can set up formula "A2-A1". or

                                                                                        2. Use a numeric field A3 with formatting (0.0), you can set up formula "(A2-A1)/60".


                                                                                        If your time spans across different dates, you will need to use a date field with formatting that contains both time and date elements.

                                                                                        For example, A1 is start date and time (yyyy/MM/dd HH:mm), A2 is end date and time (yyyy/MM/dd HH:mm), you will need to use a numeric field for A3 with formatting (0.0), and the formula would be "(A2-A1)*24"

                                                                                        WORKDAY Function

                                                                                        Returns a number that represents a date that is the indicated number of working days before or after a certain date (the starting date). Working days exclude weekends and any dates identified as holidays. Use WORKDAY to exclude weekends or holidays when you calculate invoice due dates, expected delivery times, or the number of days of work performed.

                                                                                        Formula Syntax
                                                                                        WORKDAY WORKDAY(start_date,days,["holidays"])

                                                                                        Start_date Required. A date that represents the start date.

                                                                                        Days Required. The number of non-weekend and non-holiday days before or after start_date. A positive value for days yields a future date; a negative value yields a past date.

                                                                                        Holidays Optional. An optional list of one or more dates to exclude from the working calendar, such as state and federal holidays and floating holidays. The list can be either a date value or an array constant of the serial numbers that represent the dates.

                                                                                        Example

                                                                                        Apply the formula "WORKDAY(A1,A2,["2017/06/16","2017/06/19"])" in a date field.

                                                                                        When A1 contains the value "2017/06/15", and A2 contains the value "9", the formula will identify the dates "2017/06/16" and "2017/06/19" to be excluded,

                                                                                        The date 9 workdays from the start date, excluding identified holidays (2017/06/16 and 2017/06/19) would be 2017/06/30

                                                                                        NETWORKDAYS Function

                                                                                        Returns the number of whole working days between start_date and end_date. Working days exclude weekends and any dates identified in holidays. Use NETWORKDAYS to calculate employee benefits that accrue, based on the number of days worked during a specific term.

                                                                                        Formula Syntax
                                                                                        NETWORKDAYS NETWORKDAYS(start_date,end_date,["holidays"])

                                                                                        Start_date Required. A date that represents the start date.

                                                                                        End_date Required. A date that represents the end date.

                                                                                        Holidays Optional. An optional range of one or more dates to exclude from the working calendar, such as state and federal holidays, and floating holidays. The list can be either a date value or an array constant of the serial numbers that represent the dates.

                                                                                        Example

                                                                                        Apply the formula "NETWORKDAYS(E1,E2,['2017/10/04','2017/10/09','2017/10/10'])" in a numeric field.

                                                                                        When E1 contains the value "2017/10/01" while E2 contains the value "2017/10/31", the dates "2017/10/04","2017/10/09",and "2017/10/10" will be identified to be excluded.

                                                                                        The number of workdays between the start (2017/10/01) and end date (2017/10/31), with the three identified holidays as non-working days ("2017/10/04","2017/10/09", and "2017/10/10") would be 19.

                                                                                        NETWORKDAYS.INTL Function

                                                                                        Returns the number of whole workdays between two dates using parameters to indicate which and how many days are weekend days. Weekend days and any days that are specified as holidays are not considered as workdays.

                                                                                        Formula Syntax
                                                                                        NETWORKDAYS.INTL NETWORKDAYS.INTL(start_date,end_date,weekend_number,["holidays"])

                                                                                        Start_date and End_date Required. The dates for which the difference is to be computed. The start_date can be earlier than, the same as, or later than the end_date.

                                                                                        Weekend Optional. If the weekend days are not on Saturday and Sunday, you can use a weekend number that specifies when weekends occur.

                                                                                        Holidays Optional. An optional set of one or more dates that are to be excluded from the working day calendar. Holidays shall be a date, or an array constant of the serial values that represent those dates. The ordering of dates or serial values in holidays can be arbitrary.

                                                                                        Example

                                                                                        Apply the formula "NETWORKDAYS.INTL(E1,E2,11,['2017/06/16'])" in a numeric field.

                                                                                        When E1 contains the value "2017/06/01", while E2 contains the value "2017/06/30", taking only Sunday as weekend, and identify the date "2017/06/16" to be excluded.

                                                                                        Results in 25 workdays by subtracting 10 nonworking days (4 Sundays, 1 Holiday) from the 30 days between 2017/06/01 and 2017/06/30. Uses the 11 argument for weekend, which is Sunday only. There is one holiday identified in this time period.

                                                                                        Weekend number values indicate the following weekend days:

                                                                                        Weekend number Weekend day(s)
                                                                                        1 or omitted Saturday, Sunday
                                                                                        2 Sunday, Monday
                                                                                        3 Monday, Tuesday
                                                                                        4 Tuesday, Wednesday
                                                                                        5 Wednesday, Thursday
                                                                                        6 Thursday, Friday
                                                                                        7 Friday, Sunday
                                                                                        11 Sunday only
                                                                                        12 Monday only
                                                                                        13 Tuesday only
                                                                                        14 Wednesday only
                                                                                        15 Thursday only
                                                                                        16 Friday only
                                                                                        17 Sunday only

                                                                                        List of Supported Formulas

                                                                                        Below is a short list of the formulas available. Please note that the following formulas are case-sensitive.

                                                                                        Formula Description
                                                                                        SUM(value) Returns the sum of all the field values. The call to SUM() is actually unnecessary, it's equivalent to just "value".
                                                                                        AVG(value1, value2,...) Returns the average of all the listed field values. Using the average function also works for subtables, but please note that the average of all field values that are being referenced will be added to the calculation.
                                                                                        AVERAGE(value1, value2,...) Returns the average of all the listed field values. Using the average function also works for subtables, but please note that the average of all field values that are being referenced will be added to the calculation.
                                                                                        MIN(value) Returns the minimum of all the listed field values. Using the minimum function also works for subtables.
                                                                                        MAX(value) Returns the maximum of all the listed field values. Using the maximum function also works for subtables.
                                                                                        ABS(value) Returns the absolute value of a number.
                                                                                        CEILING(value) Returns the smallest integer greater than or equal to a given number.
                                                                                        FLOOR(value) Returns the largest integer less than or equal to a given number.
                                                                                        ROUND(value) Round a number to the nearest integer.
                                                                                        SQRT(value) Return the square root of a number.
                                                                                        COUNT(value1,value2,...) Returns the number of field values.
                                                                                        LEFT(value,length) Returns a Variant (string) containing a specified number of characters from the left side of a string.
                                                                                        RIGHT(value,length) Returns a Variant (string) containing a specified number of characters from the right side of a string.
                                                                                        MID(value,start,[length]) Returns a Variant (string) containing a specified number of characters from a string.
                                                                                        FIND(find_text,within_text,[start_num]) Locates one text string within a second text string, and returns the number of the starting position of the first text string from the first character of the second text string.
                                                                                        LEN(value) Returns a Long containing the number of characters in a string.
                                                                                        TODAY() Returns the current date.
                                                                                        NOW() Returns the current date and time.
                                                                                        EDATE(start_date, months) Returns the serial number that represents the date that is the indicated number of months before or after a specified date (the start_date).
                                                                                        EOMONTH(start_date, months) Returns the serial number that represents the date that is the last day of the month. If the integer "months" is specified, the specified number of months are added or removed.
                                                                                        YEAR() Returns the year value of a date field
                                                                                        MONTH() Returns the month value of a date field
                                                                                        DAY() Returns the day value of a date field
                                                                                        WEEKDAY() Returns the day of the week, with numbers 1 (Sunday) through 7 (Saturday)
                                                                                        PI() Ratio of the circumference of a circle to its diameter, approximately 3.14159
                                                                                        RAND() Returns a random number between 0 and 1.
                                                                                        TOUPPERCASE(value) Converts a string to uppercase letters, without changing the original string.
                                                                                        TOLOWERCASE(value) Converts a string to lowercase letters, without changing the original string.
                                                                                        SUBSTITUTE(text,old_text,new_text,[instance_num]) Substitutes new_text for old_text when you want to replace specific text in a text string.
                                                                                        TEXT() Formats a number or date value into a specified format. For details, click here.
                                                                                        POWER(value,power) Returns the result of a number value raised to a power.
                                                                                        MOD(value,divisor) Returns the remainder after a number value is divided by divisor. The result has the same sign as divisor.
                                                                                        GCD(value1,[value2],...) Returns the greatest common divisor of two or more integers. The greatest common divisor is the largest integer that divides the specified number values without a remainder.
                                                                                        LCM(value1,[value2],...) Returns the least common multiple of integers. The least common multiple is the smallest positive integer that is a multiple of all integer arguments value1, value2, and so on. Use LCM to add fractions with different denominators.
                                                                                        FIRST(value) Returns the first data of the column in your subtable.
                                                                                        LAST(value) Returns the last data of the column in your subtable.
                                                                                        IF(value==condition,value_if_true,value_if_false) Returns one value if a specified condition evaluates to TRUE, or another value if it evaluates to FALSE. For details, click here.
                                                                                        LOOKUP(value,lookup_list,[result_list]) Searches for the value in the lookup_list and returns the value from the same position in the result_list. For details, click here.
                                                                                        AND(logical1, [logical2], ...) Returns TRUE if all its arguments evaluate to TRUE; returns FALSE if one or more arguments evaluate to FALSE. For details, click here.
                                                                                        OR(logical1, [logical2], ...) Returns TRUE if any argument is TRUE; returns FALSE if all arguments are FALSE. For details, click here.
                                                                                        COUNTIF(range,criteria) Returns the number of values in a range within a subtable field that meet criteria you specify. For details, click here.
                                                                                        COUNTIFS(criteria_range1,criteria1,[criteria_range2,criteria2]...) Applies criteria to cells across multiple ranges and counts the number of times all criteria are met. For details, click here.
                                                                                        SUMIF(range,criteria,[sum_range]) Returns the sum of values in a range that meet criteria you specify. For details, click here.
                                                                                        SUMIFS(sum_range,criteria_range1,criteria1,[criteria_range2, criteria2],...) Adds all of its arguments that meet multiple criteria that you specify. For details, click here.
                                                                                        UPDATEIF(condition,value_if_true) Update a field value only when a condition is met. For details, click here
                                                                                        REPT(value,number_times) Returns the repeated value a given number of times.
                                                                                        COUNTA(value) Counts the number of cells that are not empty in a range.
                                                                                        SUBTABLEROW(value,nth_row) Returns the targeted data of the column in your subtable.
                                                                                        PREVIOUSROW(value) Returns the targeted data of the value field in your subtable, used for calculating running balances
                                                                                        WORKDAY(start_date,days,["holidays"]) Returns a number that represents a date that is the indicated number of working days before or after a date. For details, here
                                                                                        NETWORKDAYS(start_date,end_date,["holidays"]) Returns the number of whole working days between start_date and end_date. For details, click here.
                                                                                        NETWORKDAYS.INTL(start_date,end_date,weekend_number,["holidays"]) Returns the number of whole workdays between two dates using parameters to indicate which and how many days are weekend days. For details, click here.
                                                                                        CHAR(value) Returns a character when given a valid character code. For example, CHAR(10) returns line break, and CHAR(32) returns a space.

                                                                                        Formulas in Strings

                                                                                        A string formula is pretty straightforward: if the value on C1 is Michael, and C2 is Scott, then C1+' '+C2 will be "Michael Scott".

                                                                                        Concatenating Text

                                                                                        As a more advanced example, we will create a field that will display an address in the standard address format for shipping purposes in the US.

                                                                                        Make sure you have all the fields that you need to display the information required.

                                                                                        Here we would like to have the field Full Shipping Address to display the title and name of the customer, with the shipping address in the standard postage format. We add the following formula to the field settings:

                                                                                        A3+' '+A4+' '+D14+' '+D13+' '+D12+' '+D10+' '+D11

                                                                                        Now that the Full Shipping Address displays, we can use the information from this field when we only need the full address information, for example when printing labels for shipping.

                                                                                        Extracting Text before and after a specified character

                                                                                        You can use the combination of RIGHT() or LEFT() with the FIND() function to find a specific character and get the corresponding string values before and after this character.

                                                                                        In the example below, we will get the first and last name of a person, using the space character.

                                                                                        Our form design is quite simple, with the full name on A1.

                                                                                        Using LEFT(A1,LEN(A1)-FIND(" ",A1,1)) for the first name,

                                                                                        and RIGHT(A1,LEN(A1)-FIND(" ",A1,1)) for the last name. Notice that we're looking for the space character with the blank space in between quotation marks (" ") with FIND.

                                                                                        The output is the first name and last name that is extracted from the full name.

                                                                                        Conditional Formulas

                                                                                        Ragic supports conditional formulas. Please note that the conditional formulas are case sensitive, and that the field input type changes how formulas calculate in some situations.

                                                                                        For example, when used on free text or selection fields that contain strings, .RAW is required to be added to the referenced field name (please see below for "Referencing a string condition with the IF function"), while this is not needed when used to reference a numeric field. Date fields are calculated as days.

                                                                                        Conditional formulas can be nested.

                                                                                        The IF Function

                                                                                        The IF function returns one value if a specified condition evaluates to TRUE, or another value if it evaluates to FALSE.

                                                                                        Formula Syntax
                                                                                        IF IF(value==condition,value_if_true,value_if_false)

                                                                                        Examples

                                                                                        Basic example: IF(A2==10,10,0)

                                                                                        If the value in the reference field A2 equals to 10, the value in this field would be 10. For any other value of A2, the value of this field will be 0.

                                                                                        Having a string value as a result: IF(A1==1,'true','false')

                                                                                        If the value in the reference field A1 equals to 1, the value in this field would be "true". For any other value of A1, the value of this field will be "false".

                                                                                        Practical usage: IF(A2>=60,'yes','no')

                                                                                        If the age field is equal or greater than 60, the value in this field "qualifies for senior discount?" would be "yes", otherwise, the value would be "no".

                                                                                        Note

                                                                                        An older syntax of using the IF function in Ragic is still supported.

                                                                                        Value=='condition'?'value_if_true':'value_if_false'

                                                                                        Basic Example: A1=='open'?'O':'C'

                                                                                        If A1 is open, give O. if not, give C.

                                                                                        Referencing a string condition with the IF function

                                                                                        If you would like to reference string values in numeric or selection fields, please add .RAW after the field that you're referencing to.

                                                                                        Syntax
                                                                                        IF(value.RAW='string condition',value_if_true,value_if_false)

                                                                                        Examples

                                                                                        Basic Example: IF(A1.RAW=='Active',1,0)

                                                                                        If the value in the reference field A1 is "Active", the value in this field would be 1. For any other value of A1, the value of this field will be 0.

                                                                                        Having a string value as a result: IF(A1.RAW=='Pending','Open','Closed')

                                                                                        If the value in the reference field A1 is "Pending", the value in this field would be "Open". For any other value of A1, the value of this field will be "Closed".

                                                                                        The LOOKUP Function

                                                                                        The conditional process in formulas can also be done with the LOOKUP function, which is the equivalent of conditional processing.

                                                                                        Formula Syntax
                                                                                        LOOKUP LOOKUP(value,lookup_list,[result_list])

                                                                                        Searches for the value in the lookup_list and returns the value from the same position in the result_list.

                                                                                        value is the value to search for in the lookup_range.

                                                                                        lookup_list is an array like [0,100,500]. The LOOKUP function searches for value in this list, which would need to be in ascending order.

                                                                                        result_list is optional. It is an array that is the same size as the lookup_range like ['Small','Medium','Large']. If the result_list parameter is omitted, the LOOKUP function will return the value in the lookup_list. If the LOOKUP function can not find an exact match, it chooses the largest value in the lookup_range that is less than or equal to the value. If the value is smaller than all of the values in the lookup_range, then the LOOKUP function will return empty string.

                                                                                        Examples

                                                                                        Basic Example: LOOKUP(A1,[0,45,65],['Small','Medium','Large'])

                                                                                        The value would be 'Small' if A1 is between 0 and 45, 'Medium' for 45~65 and 'Large' for over 65.

                                                                                        Referencing multiple fields: LOOKUP(A1,[0,45,65],[A3+A4,B5,B6])

                                                                                        The value would be A3+A4 if A1 is between 0 and 45, B5 for 45~65 and B6 for over 65.

                                                                                        The AND Function

                                                                                        Returns TRUE if all its arguments evaluate to TRUE; returns FALSE if one or more arguments evaluate to FALSE.

                                                                                        Formula Syntax
                                                                                        AND AND(logical1, [logical2], ...)

                                                                                        The AND function syntax has the following arguments:

                                                                                        logical1 is required. The first condition that you want to test that can evaluate to either TRUE or FALSE.

                                                                                        logical2, ... is optional. Additional conditions that you want to test that can evaluate to either TRUE or FALSE.

                                                                                        The OR Function

                                                                                        Returns TRUE if any argument is TRUE; returns FALSE if all arguments are FALSE.

                                                                                        Formula Syntax
                                                                                        OR OR(logical1, [logical2], ...)

                                                                                        The OR function syntax has the following arguments:

                                                                                        logical1 is required. Subsequent logical values such as logical2, ... is optional. Additional conditions that you want to test that can evaluate to either TRUE or FALSE. The arguments must evaluate to logical values such as TRUE or FALSE, or in arrays or references that contain logical values.

                                                                                        The COUNTIF Function

                                                                                        Use COUNTIF to count the number of rows in a subtable that met a criterion, for example, to count the number of times a particular item appears in a reciept.

                                                                                        Formula Syntax
                                                                                        COUNTIF COUNTIF(range,criteria)

                                                                                        The COUNTIF function syntax has the following arguments:

                                                                                        range is required. This range must be a subtable field that you want to check for values that fit in the criteria.

                                                                                        criteria is required. A number, expression, reference to another field, or text string that determines which cells will be counted. For example, you can use a number like 8, a comparison like ">8", a subtable cell like A4, or a word like "apple".

                                                                                        COUNTIF can only refer to a single subtable, and can be set in stand-alone fields.

                                                                                        COUNTIF uses only a single criteria. Use COUNTIFS if you want to use multiple criteria.

                                                                                        Example:

                                                                                        The Formula COUNTIF(A4,'apple',A4) that is set on A9 returns the number of rows in subtable cell A4 contains for the product name apple.

                                                                                          

                                                                                        The COUNTIFS Function

                                                                                        Formula Syntax
                                                                                        COUNTIFS COUNTIFS(criteria_range1,criteria1,[criteria_range2,criteria2]...)

                                                                                        The COUNTIFS function syntax has the following arguments:

                                                                                        criteria_range1 is required. This first range must be a subtable field that you want to check for values that fit in the associated criteria.

                                                                                        criteria1 is required. A number, expression, reference to another field, or text string that determines which cells will be counted. For example, you can use a number like 8, a comparison like ">8", a subtable cell like A4, or a word like "apple".

                                                                                        criteria_range2, criteria2,... is optional. Additional ranges to be counted and their associated criteria.

                                                                                        COUNTIFS can only refer to a single subtable, and can be set in stand-alone fields.

                                                                                        The SUMIF Function

                                                                                        Use SUMIF to sum up the value stored in a specified subtable row that met a criterion, for example, to sum up the monetary value of a specific merchandise item when it appears in a reciept.

                                                                                        Formula Syntax
                                                                                        SUMIF SUMIF(range,criteria,[sum_range])

                                                                                        The SUMIF function syntax has the following arguments:

                                                                                        range is required. This range must be a subtable field that you want to check for values that fit in the criteria.

                                                                                        criteria is required. A number, expression, reference to another field, or text string that determines which cells will be added. For example, you can use a number like 8, a comparison like ">8", a subtable cell like A4, or a word like "apple".

                                                                                        sum_range is optional. The actual cells to add, if you want to add values within subtable cells other than those specified in the range argument. If sum_range is omitted, the cells that are specified in the range argument will be added (the same cells to which the criteria is applied).

                                                                                        SUMIF can only refer to a single subtable, and can be set in stand-alone fields.

                                                                                        SUMIF uses only a single criteria. Use SUMIFS if you want to use multiple criteria.

                                                                                        Example:

                                                                                        The Formula SUMIF(A4,'apple',B4) that is set on A9 returns the sum of the values in subtable cell B4, when subtable cell A4 is product name apple.

                                                                                          

                                                                                        The SUMIFS Function

                                                                                        Use SUMIFS to sum up the value stored in a specified subtable row that met multiple criterion, for example, to sum up the monetary value of a number of specific merchandise items in specific store locations when it appears in a reciept.

                                                                                        Formula Syntax
                                                                                        SUMIFS SUMIFS(sum_range,criteria_range1,criteria1,[criteria_range2, criteria2],...)

                                                                                        The SUMIFS function syntax has the following arguments:

                                                                                        sum_range is required. This range must be a subtable field that you want to check for values that fit in the criteria.

                                                                                        criteria_range1 is required. criteria_range1 and criteria1 set up a search pair whereby a range is searched for specific criteria. Once items in the range are found, their corresponding values in sum_range are added.

                                                                                        criteria1 is required. The criteria that defines which cells in criteria_range1 will be added. This can be a number, expression, reference to another field, or text string that determines which cells will be added. For example, you can use a number like 8, a comparison like ">8", a subtable cell like A4, or a word like "apple".

                                                                                        criteria_range2,criteria2,... is optional. Additional ranges to be summed and their associated criteria.

                                                                                        SUMIFS can only refer to a single subtable, and can be set in stand-alone fields.

                                                                                        The UPDATEIF Function

                                                                                        Use UPDATEIF to retain the old value in the field if the condition is false. The value in a field where the UPDATEIF function is used should change only if the condition being tested by the UPDATEIF Function is true.

                                                                                        Formula Syntax
                                                                                        UPDATEIF UPDATEIF(condition,value_if_true)

                                                                                        Examples

                                                                                        Basic Example: UPDATEIF(A2==10,10)

                                                                                        If the value in the reference field A2 equals to 10, the value in this field would be 10. For any other value of A2, the value of this field would be unchanged from the previous saved version of the record.

                                                                                        Practical Example: UPDATEIF(A2=='Same as home address',A1)

                                                                                        If the value in field A2 is 'Same as home address', the value in this field "Shipping address" would be A1 (home address), otherwise, the value would remain empty.

                                                                                        Nesting Conditional Formulas

                                                                                        Conditional formulas can be nested, when you have multiple conditions to meet.

                                                                                        Example:

                                                                                        IF(A1==1,'Bad',IF(A1==2,'Good',IF(A1==3,'Excellent','No Valid Score')))

                                                                                        The above formula means that

                                                                                        if A1 is 1, the result is "Bad"

                                                                                        if A1 is 2, the result is "Good"

                                                                                        if A1 is 3, the result is "Excellent"

                                                                                        if A1 is anything else, the result would be "No Valid Score".

                                                                                        Example:

                                                                                        IF(

                                                                                        AND(A1.RAW=='YES',A2.RAW=='Jimmy'),

                                                                                        C3*C7,

                                                                                        IF(

                                                                                        AND(A1.RAW=='YES',A2.RAW=='John'),

                                                                                        C3*C8,

                                                                                        IF(

                                                                                        AND(A1.RAW=='YES',A2.RAW=='Jane'),

                                                                                        C3*C9,

                                                                                        C3*C10

                                                                                        )

                                                                                        )

                                                                                        )

                                                                                        The above formula means that

                                                                                        if A1 has the value "YES", and A2 has the value "Jimmy", the result is C3*C7

                                                                                        if A1 has the value "YES", and A2 has the value "John", the result is C3*C8

                                                                                        if A1 has the value "YES", and A2 has the value "Jane", the result is C3*C9

                                                                                        if these conditions do not apply, then the result is C3*C10.

                                                                                        Formula Recalculation

                                                                                        A calculation based on the formula you have written will be done whilst you are entering data in your database. This value is saved when you save your entry.

                                                                                        This values that are already saved in your database do not change by default when you change the formula in the design of your sheet. The reason for this is because, in most cases a previous calculation is still valid for older entries and it should not be automatically changed when you have update the formula. An example for this would be calculating taxes after a tax hike, the previous entries would still need to show the older tax rate.

                                                                                        In some cases, you may need to recalculate a formula on all the previous entries. To do this recalculation, navigate to the Advanced Setting under your Formula tab. You can choose to apply your new formula change to all saved records, or apply all formulas on this sheet to all saved records if you have modified more than one formula.

                                                                                        If you change a formula or a variable that is used in a formula very often, you also have the option to add a script that will recalculate your formula every day.

                                                                                        Triggering formula recalculation on related sheets

                                                                                        If you need a formula to run a formula recalculation on related records on other sheets, you can configure this from Form Settings > Form Settings > Recalculate all formulas on related sheets.

                                                                                        If you need to run a formula recalculation on related records on parent sheets instead, check the Recalculate all formulas on parent sheets setting instead.

                                                                                        Note that the setting to recalculate all formulas on related sheets will be ignored if the number of records to be recalculated exceeds system limitations.

                                                                                        Formulas in Description Fields

                                                                                        Formulas also work in static text fields for display purposes only.

                                                                                        This is useful if you need to recalculate a formula each time your database form is loaded, and do not need to keep this value in your database. You will need to use the BBCode [formula] for your formula to work.

                                                                                        For example, let's say that you would like to view a person's age according to their birthday. The formula [formula](TODAY() - A1)/365.25[/formula] written in a description field would display the age of this person, and will be recalculated according to the current day.

                                                                                        Suggest a Formula

                                                                                        If you need to use other unsupported formulas, please write to Ragic Support to suggest them.

                                                                                        1.9    Approval flow configuration

                                                                                        Configuring the Approval Process

                                                                                        You may configure the Approval process for your database sheets in Ragic for all users in your account.

                                                                                        Configure the approval flow of a form by going to the Design Mode. You will see a checkbox in the lower-right hand corner.

                                                                                        Hovering on this checkbox will display where you can set the approval steps.

                                                                                        This dialogue box can also be opened through the Form Tools menu.

                                                                                        You can add as many approval steps as you would like to from the configuration box.

                                                                                        Set the Approver Title you wish to use for an approval step such as "Purchasing Manager", or "Project Manager". The Name field is where the approver will be set for each approval step.

                                                                                        You may select an approver Name from Users in your account.

                                                                                        If an approver can be anyone from a certain user group in your account, you can select this user group instead.

                                                                                        If the approver should be a user's direct supervisor, you can choose the option Direct Supervisor under the title Company Organize Tree.

                                                                                        To set the approver to users' supervisor's supervisor, you can choose the option Supervisor of Supervisor.

                                                                                        Please note that you will need to fill in the information in the system sheet "User" for the system to identify users' supervisors. If you don't have the field Direct Supervisor in your User sheet, please contact support@ragic.com on updating system default sheets.

                                                                                        Below are some additional settings you can configure for your approval flow:

                                                                                        Strict identity verification: Verify user identification when pending approval. You may have to set this option to comply with local laws, for example, FDA 21 CFR Part 11.

                                                                                        Allow to reject approval: Users will be able to reject the approval.

                                                                                        Lock record when approval starts: The record will be locked once the approval process starts.

                                                                                        After finishing setting up the approval steps, don't forget to Save the changes you have made in the design mode.

                                                                                        Using the Approval Flow

                                                                                        The approval steps you have set for the form will show up in every entry for your users. After an entry is saved, clicking the Start Approval button will begin the approval process.

                                                                                        You may refer to this guide regarding using approval flow in Ragic.

                                                                                        1.10    Reverting to a previous design

                                                                                        x
                                                                                        Reverting to a previous design

                                                                                        Previous versions

                                                                                        History Analyzer

                                                                                        Previous versions

                                                                                        While designing your database forms, sometimes you might find that the previously saved version was better, or you mistakenly changed something unintentionally. In such cases, you can revert to a previous design version that was saved earlier.

                                                                                        Under the Design Mode, you will see the Previous Versions button at the upper right corner.

                                                                                        You'll be able to view all previously saved design versions in the menu. Select the version you would like to restore, you will be prompted that the loaded version will not take effect until you save your form design. After clicking the "Restore" button you will be able to view the previous version of your form design in the design mode.

                                                                                        Note that the previous version will literally be restored only if you click the "Save" button, so even though you click on the wrong version, it won't be saved immediately.

                                                                                        Another important thing is that it's better to save periodically while working on a form design, as it's easy to make mistakes.

                                                                                        If you make a lot of changes in a version and wish to undo the design, you will need to either exit the Design Mode without saving the changes, as manually changing the design back is more time-consuming.

                                                                                        History Analyzer

                                                                                        If you would like to check major design changes between each design version, you can use the History Analyzer, which can be found by clicking the graph icon within the Previous Versions menu.

                                                                                        In the History Analyzer, the details for each design version, such as new fields that were added or modified field types will be displayed.

                                                                                        Please note that only significant design changes will be shown in the History Analyzer, such as formula, field name, field types, etc.

                                                                                        2.1    Internal Users

                                                                                        Managing Users in your Account

                                                                                        You can manage your users from your Account Setup in Ragic.

                                                                                        To access the user management menu, you can hover on your user name on the top-right corner of your account and select Users under Account.

                                                                                        Alternatively, you can click on Account Setup, under the Start tab which will take you to your user management menu.

                                                                                        This user management menu will show you a list of all the users in your account.

                                                                                        Adding New Users

                                                                                        You can add a new user by clicking on the +New button and enter their user information. When the user information is saved, Ragic will automatically send an e-mail to the new user containing their temporary password to log into the system. The user can then change their password when they log on to Ragic.

                                                                                        Custom E-mail

                                                                                        You can customize the subject and the content of your e-mail notification when adding new users by clicking on Custom Email.

                                                                                        In the pop-up window, you can design the e-mail template using HTML formatting and use the following parameters:

                                                                                        Parameters for custom e-mail notification

                                                                                        Parameters Description
                                                                                        {{AP_NAME}} Your Ragic account name
                                                                                        {{USER_NAME}} Name of record creator
                                                                                        {{RECORD_LINK}} URL of this record
                                                                                        {{SERVER_DOMAIN_NAME}} Server domain name
                                                                                        {{RECORD_SUMMARY}} Summary of this record
                                                                                        {{FIELD ID}} Value of the field specified with Field ID
                                                                                        {{FIELD NAME}} Value of the field specified with the field name. Case sensitive. If there are more than one field with the same field name, use {{FIELD ID}} instead

                                                                                        You can click on Preview button which will show you a demo on how the custom e-mail looks like. If you decide to use our standard template instead, click on Restore to default will discard all the changes you've made. Once the editing completed, remember to save before you exit the pop-up window.

                                                                                        Please kindly note that the e-mail template will be applied when you add a new internal user or external user.

                                                                                        User Page

                                                                                        When you save a user, this user will have their information you entered shown in a user page in the system. You can change the design of this page if you need additional information about your users, but please make sure that you do not move or delete any of the default fields.

                                                                                        Resetting the Password for a User

                                                                                        If, for any reason, you would need to reset a user's password, go the user page of this user and click on the "Reset Password" button in the Actions menu on the lower right side.

                                                                                        If you have already set a default password for your company, the password will be reset to this default, and upon logging in, the user will be prompted to create a new password for their account. If you haven't set a default password, the password will be 0000.

                                                                                        User Privileges

                                                                                        When you are adding a new user in your account, think of what privileges you would like to grant for specific users, depending on the sheets you have created, and add them to the appropriate user groups. This can be configured from the user page under the field "Ragic Groups". You can set the access rights to each sheet for different user groups. By adding your users into the correct user groups, and setting up access rights on each sheet, you will ensure what each user has access to. If a user is in multiple groups, they will access the form with the group that grants them the most privilege.

                                                                                        User Suspension

                                                                                        Suspended users will not be able to access your account. This is useful to do when an employee leaves your company, but you still need to retain their account information. It is best practice to suspend a user, and deleting a user is not recommended.

                                                                                        Status -> SUSPENDED

                                                                                        2.2    Access Rights

                                                                                        Levels of Access Rights

                                                                                        The Access Rights to your sheet determines the group of users that can view, modify, and add to the data on your database sheet.

                                                                                        Here is a comparative table for each of these assigned rights can do:

                                                                                        Setting View Create Modify Description Level
                                                                                        No Rights Nothing No No Will not be able to see this sheet at all.
                                                                                        Survey User Own entries Yes Own entries Will be able to create and edit their own entries, won't be able to see other entries. Additional "no create" or "no edit" options can be set. **
                                                                                        Viewer All entries No No Will be able to view all entries and entry details, won't be able to edit or create new entries. ***
                                                                                        Bulletin User All entries Yes Own entries Will be able to create and edit their own entries, and view all other entries. Won't be able to edit entries that they don't own. Additional "no create" or "no edit" options can be set. ****
                                                                                        Admin All entries Yes All entries Will be able to create, edit, and view all entries in the sheet. *****

                                                                                        Having different access rights are useful for different user groups to see different versions of the same sheet. You can create multiple versions of the same sheet, and assign different rights to each version.

                                                                                        You can create your own user groups if necessary.

                                                                                        By defaut, the account owner is granted SYSAdmin rights, which is slightly different from the access rights in the table above, as a system administrator has access to change the design of all the forms. To give other users this privilege, you will have to add them to the SYSAdmin group in their user page under Ragic Groups. Alternatively, you can also assign users to become SYSAdmin for certain tabs.

                                                                                        Global Access Rights Panel

                                                                                        You can configure the access right settings on all of your sheets for each user group in the Global Access Rights Panel, which can be reached through your Account Setup under the Start Tab.

                                                                                        If a user is in multiple groups, they will access the form with the group that grants them the most privilege. If a user still cannot see the data after you grant them the privilege, ask them to log out and log back in to refresh their access right settings.

                                                                                        Setting up Access Rights for Individual Sheets

                                                                                        You can change the access right settings on your sheet by going to the Design Mode. You will find the Access Rights tab under Form Settings.

                                                                                        All of the user groups in your account will be listed here, as well as an additional group Everyone, which represents everyone, including the users who haven't logged in, or individuals who are not a user in your account.

                                                                                        You can set the access rights for every group of users listed here for this sheet. The access privileges that are being set is specified on the configuration interface. If a user is in multiple groups, they will access the form with the group that grants them the most privilege.

                                                                                        Remember to save the form design after you change the access right settings. You do not need to set this to both listing page and form page, the access right is applied to all pages of a sheet.

                                                                                        If a user still cannot see the data after you grant them the privilege, ask them to log out and log back in to refresh their access right settings.

                                                                                        Additional Access Rights Settings

                                                                                        Additional access rights settings can be set for user groups that have the "Bulletin User" or "Survey User" access rights for a more fine-tuned control from the Access Rights tab in your design mode.

                                                                                        The "No create" and "No edit" checkboxes will be displayed when a user group is set to either "Bulletin User" or "Survey User".

                                                                                        Below are the edited settings if options are selected:

                                                                                        Setting Additional Settings View Create Modify Description
                                                                                        Survey User No create Own entries No Own entries Will be able to edit their own entries, won't be able to see other users entries or create new entries.
                                                                                        Survey User No edit Own entries Yes No Will be able to create new entries, won't be able to edit previous entries or see other users entries.
                                                                                        Survey User No create, No edit Own entries No No Will be able to view previously created or assigned entries, but won't be able to edit them or create new entries.
                                                                                        Bulletin User No create All entries No Own entries Will be able to edit their own entries, and view all other entries. Won't be able to edit entries that they don't own, or create new entries.
                                                                                        Bulletin User No edit All entries Yes No Will be able to create their own entries, and view all other entries. Won't be able to edit entries.
                                                                                        Bulletin User No create, No edit All entries No No Will be able to view all other entries. Won't be able to edit entries or create new entries.

                                                                                        Setting a sheet to be publicly viewable

                                                                                        You can create a public database sheet in Ragic by setting the correct access rights.

                                                                                        Navigate to the database sheet you want to make public.

                                                                                        Click on "Change Design" to go to the Design Mode.

                                                                                        Navigate to Form Settings and Access Rights

                                                                                        Set the default user group "Everyone" to "Viewer".

                                                                                        This method will allow anyone to see your database entries. The best way to display your public database is through the web embed option, where you can embed your database as a list of entries, database search options, or a form that will populate your database when filled on your website.

                                                                                        Setting a form to collect entries from public

                                                                                        You can create a public database form that anyone can save entries, in Ragic by setting the correct access rights.

                                                                                        Navigate to the database sheet you want to make public.

                                                                                        Click on "Change Design" to go to the Design Mode.

                                                                                        Navigate to Form Settings and Access Rights

                                                                                        Set the default user group "Everyone" to "Survey User".

                                                                                        This method will allow anyone to create records in your database. For others to fill out this form, you can embed it with the web embed option, as a form that when saved, will automatically populate your database.

                                                                                        You can also send the URL of your form page instead of embedding your form.

                                                                                        2.3    User Groups

                                                                                        Why Have User Groups?

                                                                                        By adding your users into the correct user groups, and setting up access rights on each sheet, you will ensure what each user group has access to, such as viewing, creating, and modifying rights for entries on each sheet.

                                                                                        Adding User Groups Through your Account Setup

                                                                                        You can add new user groups to your Ragic account in your account setup, through Start tab > Account Setup > Manage Groups.

                                                                                        Adding User Groups Through your Sheet Design

                                                                                        Alternatively, you can quickly add a new user group through the Design Mode while you are setting up access rights. This setting can be reached under Form Settings > Access Rights, by clicking on "Add User Group", under the list of your user groups.

                                                                                        2.4    Assigning entries

                                                                                        Why Assign Entries?

                                                                                        Sometimes you need to assign specific entries to specific users. In this case the "Select User" field type is helpful. Entries are typically managed by the entry creator who can edit an entry after the entry is created.

                                                                                        On the other hand, if the user normally does not have the necessary access rights to view records in one sheet, and you have to grant them access, you can use the "Set selected user as entry owner" attribute.

                                                                                        You can also assign an entry to the users in a user group, with the "Select Group" field type. This lists the groups of your account to choose from. If you choose "Set selected group as entry owner", all users in the group that is chosen as the value for this entry will have the same access right as the person who created this entry.

                                                                                        Assigning for Different Levels of Access Rights

                                                                                        If the access rights for your sheet is set to "survey user", when you set a selected user as the owner of an entry, they can see this entry even if they aren't the creator.

                                                                                        If the access rights for your sheet is set to "bulletin user", when you set a selected user as the owner of an entry, they can edit this entry even if they aren't the creator.

                                                                                        Revoking the Assignment

                                                                                        This right can be revoked when the user or user group is removed from the field that sets the user as an entry owner.

                                                                                        View All Entry Managers

                                                                                        Viewing all the users that can manage an entry can be done from the info panel in the bottom.

                                                                                        2.5    Entry review

                                                                                        What is entry review?

                                                                                        Sometimes you might need to assign specific users to review specific entries. In this case the "Reviewer" field type is helpful. Reviewers can be any user in your account, or further configured to be users that belong in specific user groups.

                                                                                        Ragic will detect when the entry is reviewed by the assigned reviewer and mark the Reviewer field accordingly.

                                                                                        Setting an entry to be reviewed

                                                                                        To create a "Reviewer" field, simply select the "Reviewer" option from the dropdown menu under Field Types in the Design Mode while creating your field.

                                                                                        You can alternatively create a Select User field, and select the option Invite user to review this record.

                                                                                        By default, all users who have access to this sheet will be shown as a reviewer. You can further configure a user group if appropriate.

                                                                                        You can also set multiple users to be reviewers by checking the Multiple select option.

                                                                                        Inviting a user to review an entry

                                                                                        While filling your form, select a user (or multiple users if available) from the dropdown in the Reviewer field. Upon saving, Ragic will e-mail the reviewer(s), prompting them to review this entry. Once the review e-mail is sent, the reviwer(s) will also receive a notification in the task icon.

                                                                                        If you would like to customize the e-mail that send to reviewer(s), please refer to this article.

                                                                                        Ragic will display a gray check mark icon next to the username, and upon hovering on this cell, a timestamp stating when this user is notified while this entry is still unread by this user.

                                                                                        Reviewing an entry

                                                                                        When reviewing an entry, all you have to do is to view this entry in the notification e-mail sent to you, or by navigating to the actual entry in Ragic. The task box will be checked automatically either you view in the notification e-mail or in the form page.

                                                                                        Ragic will display a green check mark icon next to the username of the reviewer, and upon hovering on this cell, a timestamp stating when this user was notified, and when this user has viewed this entry.

                                                                                        Custom E-mail template

                                                                                        You can customize the subject and the content of your review e-mail if necessary. The instruction of setting custom E-mail template for reviewer is here.

                                                                                        2.6    External Users

                                                                                        What are External Users?

                                                                                        External users can be clients, vendors, partners, freelancers or other people who are not in your organization, but would like to access your Ragic account. Ragic allows an unlimited number of free External Users in your account.

                                                                                        External users can log on and access your Ragic account just like any other users, but with just a few restrictions:

                                                                                        1. They can only be Survey User or Viewer on a Ragic sheet. Meaning that they can only either see and edit records that are assigned to them, or have read-only access to all the records on a sheet. These two are typical use cases for people outside of your organization.
                                                                                        2. They do not have access to certain of the functions inside the Tools or Reports button. These buttons are generally for internal users to manage and analyze your data.
                                                                                        3. They cannot submit a record for approval. But they can approve or reject a record if they are included in an approval flow.

                                                                                        Important note: If your account was created before Fall 2015, please view this documentation on managing your external users.

                                                                                        Enabling External Users in your Account

                                                                                        To enable the external user function in your account, navigate to your Account Setup in Ragic under the Start tab. Click on External Users on the left side.

                                                                                        Fill the form to submit your application to enable external users in your account for the Ragic team to review.

                                                                                        Once your application is approved, you will have access to the external user management panel that will display external users in your account.

                                                                                        User Groups for External Users

                                                                                        External users can only belong to user groups with names that begin with X-, such as X-User. You can add your own user groups with names that begin with an X-, such as X-Vendors or X-Partners. The X- prefix specifies that this user group is an external user group. The system default group for external users is X-User, which will include all your external users.

                                                                                        By adding your users into the correct user groups, and setting up access rights on each sheet, you will ensure what each user has access to. If a user is in multiple groups, they will access the form with the group that grants them the most privilege.

                                                                                        By default, the user group X-User is set to "No Rights", therefore Ragic may prompt you to add access rights to your external users from the Global Access Rights Panel if you haven't configured access rights in your sheets yet.

                                                                                        External User Privileges

                                                                                        External users can only be assigned with the following access rights:

                                                                                        Access Right Setting Description View Create Modify
                                                                                        No Rights The user group will not be able to see this sheet at all. Nothing No No
                                                                                        Survey User The user group will be able to create and edit their own entries, and won't be able to see other entries. Own entries Yes Own entries
                                                                                        Viewer The user group will be able to view all entries and entry details, but won't be able to edit or create new entries. All entries No No

                                                                                        If you would like your users to have more privileges in your account, you can add them as internal users.

                                                                                        Adding External Users to your Account

                                                                                        After your application to add external users is approved by the Ragic staff, you will be able to add new external users to your account from your Account Setup under the External Users menu by clicking on the +New button, or by importing to your database under the Tools menu.

                                                                                        This information will be saved for each external user you add in their profile.

                                                                                        These users will be notified with the e-mail you have provided, and will be able to access your Ragic account with the access rights that you have assigned to their user group.

                                                                                        You can make modifications to the external user form, as long as you don't edit the default fields.

                                                                                        Custom E-mail

                                                                                        You can customize the subject and the content of your e-mail notification when adding new users by clicking on Custom Email action button.

                                                                                        In the pop-up window, you can design the e-mail template using HTML formatting and use the following parameters:

                                                                                        Parameters for custom e-mail notification

                                                                                        Parameters Description
                                                                                        {{AP_NAME}} Your Ragic account name
                                                                                        {{USER_NAME}} Name of record creator
                                                                                        {{RECORD_LINK}} URL of this record
                                                                                        {{SERVER_DOMAIN_NAME}} Server domain name
                                                                                        {{RECORD_SUMMARY}} Summary of this record
                                                                                        {{FIELD ID}} Value of the field specified with Field ID
                                                                                        {{FIELD NAME}} Value of the field specified with the field name. Case sensitive. If there are more than one field with the same field name, use {{FIELD ID}} instead

                                                                                        You can click on Preview button which will show you a demo on how the custom e-mail looks like. If you decide to use our standard template instead, click on Restore to default will discard all the changes you've made. Once the editing completed, remember to save before you exit the pop-up window.

                                                                                        Please kindly note that the e-mail template will be applied when you add a new internal or external user.

                                                                                        External Users Requesting Access to your Account

                                                                                        Steps for external users

                                                                                        After your application to add external users is approved by the Ragic staff, if you don't want to manually add external users like in the previous step, you can ask others to request access to your account. This can be done on your Ragic homepage with the URL

                                                                                        www.ragic.com/accountname
                                                                                        from the link "Request Access", which will be visible since they do not have access to your account yet.

                                                                                        Clicking on this link will take your potential external users to a Database Access Request form, which will ask contact details for your convenience. After this form is filled and saved, the request will be submitted for your approval.

                                                                                        Steps for the SystemAdmin

                                                                                        You will be able to approve or reject the received external user requests from your Account Setup, under External User > Approve Requests.

                                                                                        Under individual entries, you'll see the "Approve" or "Reject" buttons.

                                                                                        Approved external users will be saved to your External Users menu.

                                                                                        When approved, the external user will receive a notification e-mail, and will be able to login to your account. After you approve external users' request to sign up to your account, don't forget to assign them to the correct user group.

                                                                                        If needed, you can also make modifications to the external user registration form, so that you can ask for additional information from users as they register, but please make sure that you do not change the system default fields.

                                                                                        Please note that you can always invite external users by adding them directly to your account.

                                                                                        Public Sheets and Temporary Log-in

                                                                                        You can also have public sheets and control how everyone can see your Ragic database through Ragic's access rights settings.

                                                                                        Ragic also has a convenient way of giving a user temporary log in without him having an account on Ragic, by setting an E-mail Id. attribute.

                                                                                        It is also possible to sign into Ragic with open ID.

                                                                                        2.7    Temporary login for guests

                                                                                        Setting up an E-mail ID Field

                                                                                        Ragic has a convenient way of giving temporary log-in rights for guests without them having to register an account on Ragic. This can be done by setting an E-mail Id. attribute. To do this, set the field type as an E-mail field, and check the E-mail Id. box below.

                                                                                        Guest Log-in with E-mail ID

                                                                                        When this attribute is set to a field in the form, the temporary user will need to put down their e-mail in this field. As the form is saved, Ragic will automatically send an e-mail to this e-mail address. This e-mail will contain a link that can authenticate that the guest user is the owner of this e-mail, which they can use to log in to Ragic.

                                                                                        Ragic would now determine which records the guest user has permissions to view and edit. This type of temporary login is usually used so that the guest user can see and edit changes in the entries they have created.

                                                                                        Custom E-mail Template

                                                                                        You can customize the subject and the content of your e-mail notification by clicking on Custom Email link under the chosen E-mail field type.

                                                                                        In the pop-up window, you can design the e-mail template using HTML formatting and use the following parameters:

                                                                                        Parameters for custom e-mail notification

                                                                                        Parameters Description
                                                                                        {{AP_NAME}} Your Ragic account name
                                                                                        {{USER_NAME}} Name of record creator
                                                                                        {{RECORD_LINK}} URL of this record
                                                                                        {{SERVER_DOMAIN_NAME}} Server domain name
                                                                                        {{RECORD_SUMMARY}} Summary of this record
                                                                                        {{FIELD ID}} Value of the field specified with Field ID
                                                                                        {{FIELD NAME}} Value of the field specified with the field name. Case sensitive. If there are more than one field with the same field name, use {{FIELD ID}} instead

                                                                                        You can click on Preview button which will show you a demo on how the custom e-mail looks like. If you decide to use our standard template instead, click on Restore to default will discard all the changes you've made. Once the editing completed, remember to save before you exit the pop-up window.

                                                                                        Resend Verification Email

                                                                                        A verification e-mail is sent out when your record is created, with the e-mail address that is entered in the e-mail ID field. A verification e-mail will be sent out when the record is updated as well.

                                                                                        To manually re-send the verification e-mail without updating the record, you can click on the blue "E-mail" icon next to the field name.

                                                                                        Limitations

                                                                                        The limitations of temp log in ids are that

                                                                                        1. The guest user will always need that e-mail to log in.

                                                                                        2. Guest users cannot be managed in groups, therefore you cannot assign different privileges to them through Ragic's access right settings.

                                                                                        2.8    Feature Access Settings

                                                                                        Feature Access Settings

                                                                                        Ragic has certain default access rights for user groups for features, that is visible under the Feature Settings menu. This is accessible from Start tab > Account Setup > Feature Settings.

                                                                                        Below are the features that are listed in the Feature Access Setting menu.

                                                                                        Feature Access SettingDescriptionDefault Setting
                                                                                        Import/Export
                                                                                        Import Data From FileThe ability to import data from .csv and .xls files. This includes doing a mass update by importing dataSYSAdmin
                                                                                        Download ListingExporting data from the listing pageEveryone
                                                                                        Download FormDownloading single entries from the form pageEveryone
                                                                                        Mass Actions
                                                                                        Mass E-mailSending out mass e-mailsEveryone
                                                                                        Mass SMSSending out mass text messagesEveryone
                                                                                        Mass DeleteDeleting filtered entries from the listing page. Users also need to have the Admin access right to the sheet to be able to use this featureSYSAdmin
                                                                                        Mass EditEditing entries through the listing page through the Edit multiple entries feature or with Mass update.
                                                                                        Users need to have Admin access rights on the sheet
                                                                                        Everyone
                                                                                        Mass File UploadUploading multiple files into existing records in a sheetSYSAdmin
                                                                                        Reporting
                                                                                        View ReportGenerate and view reports from sheets. Saving reports under the report tab will require SYSAdmin rightsEveryone
                                                                                        Generate Website PluginsCreating a website plugin through the web embed toolSYSAdmin
                                                                                        Basic Actions
                                                                                        Single DeleteDeleting a single entrySYSAdmin
                                                                                        Single CopyCloning an entryEveryone
                                                                                        Email EntryE-mailing an entryEveryone
                                                                                        LockingLocking an entry so it cannot be edited without unlockingSYSAdmin
                                                                                        New RecordCreating new entriesEveryone
                                                                                        Side Bar
                                                                                        Most VisitedMost visited sheets listed on the left side panelSYSAdmin
                                                                                        Recent ItemsRecent items listed on the left side panelEveryone
                                                                                        ViewsViews listed on the left side panelEveryone

                                                                                        Configuring Feature Access Settings

                                                                                        You can configure the access rights for certain features within Ragic if you have a professional plan subscription or above. Simply select the user groups that should have access to use a certain feature.

                                                                                        Currently only the features listed below are available for External users, if the feature access rights are granted.

                                                                                        1. Download listing and form pages. (Export)

                                                                                        2. Clone, and create records. (Basic Actions)

                                                                                        3.1    Customizing Ragic for your Company

                                                                                        If you don't see one of the settings mentioned below in your Company Settings sheet and you would like to use it, please send an email to support@ragic.com so we can help manually update your system default sheets.

                                                                                        Company Settings

                                                                                        It's always a great idea to customize Ragic to fit your company's look & feel. If you are using Ragic's professional, on-premise, or enterprise plan, you can replace some assets like the logos and banners to fit your corporate identity.

                                                                                        The following settings can be done in your Company Setting Panel, under your Account Setup.

                                                                                        Setting up a Custom Logo

                                                                                        You can upload your company logo on the Company Setting Panel, in the Logo field.

                                                                                        Your uploaded logo will replace every Ragic logo image on the top-left corner on all pages in your database.

                                                                                        Setting up a Custom Banner

                                                                                        You can upload a banner image on the Company Setting Panel, in the Custom banner field. If your banner image is dark, you can choose the option "Y" for the Dark Banner? setting so that the layout's visibility can adjust accordingly with lighter text.

                                                                                        It's recommended to create your banner image's width depending on the resolution the monitors set on your computers that your company uses. The recommended height for the banner image is 102px. You can also download from the custom banners we made for you.

                                                                                        Your uploaded banner will replace the gray area on the top of all pages in your database that is visible behind the search bar and your tabs.

                                                                                        Setting up a Custom Domain

                                                                                        You can make it easier for your users to find your database in Ragic by creating a custom web address, also known as a URL.

                                                                                        For example, with a custom address, users can sign in to their Ragic account at ragic.yourdomain.com instead of at the longer default address http://www.ragic.com/youraccountname.

                                                                                        To change this setting, under your Start tab, click on Account Setup. Navigate to go to your Company Setting.

                                                                                        Fill the Company Domain field with the URL you have assigned for this custom domain.

                                                                                        Add a CNAME record with your domain host that points to www.ragic.com

                                                                                        Example:

                                                                                        ragic.yourdomain.com points to www.ragic.com

                                                                                        Note that adding a CNAME record requires logging in to your account at your domain host's website, not with Ragic. (You might have already done this to verify your domain, in which case you'll find the steps are similar.) If you can't access your domain's DNS records, contact your domain host directly for assistance.

                                                                                        You can also refer to this document on typical CNAME configurations

                                                                                        Setting up a Custom Login Screen

                                                                                        You can set up a custom login screen for your company that will make it easier for users to recognize your branding while logging in.

                                                                                        To do this setting, access your Company Setting Panel.

                                                                                        Upload a custom banner image to the Login banner field with the specified recommended image size setting.

                                                                                        You can change the Ragic logo on the login screen from the Login logo field.

                                                                                        You can also change what the greeting message header is through the Login page greeting 1 field, and the greeting message text through the Login page greeting 2 field.

                                                                                        Your custom login screen will be displayed according to the settings you have made in the company setting page.

                                                                                        Setting up a Custom Splash Screen

                                                                                        You can set up a custom splash screen for your company that will make it easier for users to recognize your branding during the short time that it takes to load a page in Ragic.

                                                                                        To do this setting, access your Company Setting Panel.

                                                                                        For your custom splash screen, you can use basic HTML in the Custom splash screen field to add your company logo or other type of image.

                                                                                        Example HTML code:

                                                                                        <img src="http://www.companywebsite.com/companylogo.png"/>

                                                                                        Design tip: depending on the size of the image you are using, the progress bar might overlap your image. For your progress bar to display below your image, you can do some adjustments such as adding a margin property to your image to adjust your overall layout.

                                                                                        Example HTML code:

                                                                                        <img style="margin:0 0 100px 0;" src="http://www.companywebsite.com/companylogo.png"/>

                                                                                        Your custom splash screen will be displayed according to the settings you have made in the company setting page.

                                                                                        Setting up Custom Security Policies

                                                                                        You can set up custom security policies for your users in your company.

                                                                                        To do this setting, access your Company Setting Panel.

                                                                                        View the last section, Security Settings and make the necessary changes to the fields.

                                                                                        Password complexity

                                                                                        Setting the password complexity to high will require the passwords include numbers and special characters. Your password will need to have at least two of the following: numbers, symbols, and uppercase characters.

                                                                                        Setting the password complexity to medium will require the passwords include at least 6 characters in their passwords.

                                                                                        Change password every __ days

                                                                                        When set, the user will be prompted to change their password according to the number of days you enter. If there is no need for your users to change their passwords periodically, enter 0 for this value.

                                                                                        Reuse old password?

                                                                                        Input number only.

                                                                                        Set to 0 to allow your users to reuse passwords that they have used before.

                                                                                        Set to 1 to allow your users to reuse passwords except last passwords.

                                                                                        Set to 2 to allow your users to reuse passwords except last two passwords.

                                                                                        And so on.

                                                                                        Default password

                                                                                        This password will be the default password for users who have had their password reset by the admin. You can change this to another string if required.

                                                                                        Auto logout after idle time (Minute)

                                                                                        If set, Ragic will automatically log the user out after the specified minutes of idle time. Set to 0 if this is not required.

                                                                                        Account Settings

                                                                                        Under this section, there are few things you can set:

                                                                                        Company Local Time Zone: UTC (GMT 00:00) is the default timezone.

                                                                                        Daily Workflow Execution Time: The default execution time for daily workflow is 19:00 according to your Company Local Time Zone.

                                                                                        Default Language

                                                                                        Default Number and Money Format

                                                                                        Default Date Format

                                                                                        You can refer to this article for example formatting types.

                                                                                        It's extremely useful to apply default formatting for designing your sheet if you have format that you regularly use for numeric or date field types.

                                                                                        Recommended image sizes for custom assets

                                                                                        Asset Name Recommended image size (pixels, width x height)
                                                                                        Logo 144 x 44
                                                                                        Banner any x 102
                                                                                        Splash Screen No limitations
                                                                                        Log in Logo any x 28
                                                                                        Log in Banner 420 x 420 (the bottom 145px will be clipped by the message box)

                                                                                        3.2    Account Billing

                                                                                        For the first time to subscribe for your account, you can click on the "Upgrade Account" link at the top right corner of the page to start your subscription. You can choose your Ragic plan from the Pricing page, and continue on to your trial for your upgraded account.

                                                                                        You will be redirected to a secure credit card transaction system for payment.

                                                                                        You can also upgrade or change plans, any time by going to the Account Setup page and choose Account Billing.

                                                                                        In the Account Billing, it tells your current account plan, including the billing cycle, next billing date, the number of licensed users, billing amount, as well as your accounts' billing contact.

                                                                                        Through this setup window, you can change your plan or plan details, update your credit card information, or purchase add-ons such as SMS credits or extra storage space. Clicking on the Billing History link on the right side will show you a breakdown of your previous payments.

                                                                                        You can access each payments' invoice by clicking on a line item through the links on your payment description column.

                                                                                        3.3    Backup & Restore

                                                                                        How is Data Backed Up?

                                                                                        Ragic servers are backed up automatically, on a daily basis, therefore usually you wouldn't have to go through a manual backup process, although it is still recommended to save a snapshot or save a manual backup before making major design changes, such as linking your existing data in Ragic, so that you can restore the backup you saved if needed.

                                                                                        Auto Backup

                                                                                        If you're using a Professional or higher plan, through your Backup & Restore panel, you will be able to view when the backups were last saved on the Ragic servers. You will be able to download or restore the daily backup, a 3-days backup, or a weekly backup if needed.

                                                                                        To view when you're automatic backups were saved, navigate to Start Tab > Account Setup > Backup & Restore.

                                                                                        Restore to a Automatically Saved Backup

                                                                                        If you need to restore a backup that was saved automatically, you can do so by clicking the "Restore to" link on the appropriate Auto Backup.

                                                                                        The restoration process will overwrite your entire database with the restored backup. Make sure that you want to restore to your saved backup, and that the version you are restoring is the correct backup.

                                                                                        Creating a Snapshot of your Database

                                                                                        You can save the current version of your database by creating a snapshot that you can restore to at a later time if needed. This feature is available for Professional or higher plans.

                                                                                        To save a snapshot of your current database, navigate to Start Tab > Account Setup > Backup & Restore. You'll see the "Create Snapshot" on the bottom of the "Auto Backup" section.

                                                                                        Click "Create Snapshot". Ragic will save a backup of your account, this may take some time if you have a very large amount of data.

                                                                                        Your snapshot will be saved under the "Auto Backup" section.

                                                                                        Restoring to a Snapshot of your Database

                                                                                        If you need to restore a backup that was saved as a snapshot, you can do so by clicking the "Restore to Snapshot" link.

                                                                                        The restoration process will overwrite your entire database with the restored backup. Make sure that you want to restore to your saved snapshot.

                                                                                        Manually Save a Backup

                                                                                        Usually you wouldn't have to go through a manual backup process, but it's still recommended to save a manual backup before making major design changes, so that you can restore the backup you saved if needed.

                                                                                        To save a backup manually, navigate to Start Tab > Account Setup > Backup & Restore > Backups.

                                                                                        Make sure that none of the checkboxes are checked to save an entire backup of your database with the current state. Click the "Backup" button. This will save a backup on your computer with the file extension .ragicdb. This is a special file format that only Ragic can read, so you will not be able to open it with other software.

                                                                                        If you only want to backup the design of your database without your data (which is usually used to share designs between different accounts), you can check the "Backup database definition only" box before saving this backup. This will save a backup on your computer with the file extension .ragic, which is a special file format that only Ragic can read. If you restore this backup on another account, only your design will be restored, and your data won't have been saved when backing up.

                                                                                        Restoring a Manually Saved Backup

                                                                                        If you need to restore a backup that was saved manually, you can do so by navigating to Start Tab > Account Setup > Backup & Restore > Restore.

                                                                                        The restoration process will overwrite your entire database with the restored backup. Make sure that you want to restore to your saved backup, and that the version you are restoring is the correct backup.

                                                                                        Download your Data as Excel or Text Files

                                                                                        You can use the Download as Excel File or Download as Text File feature that could be accessed in the listing page of a form from Toolsto export multiple entries.

                                                                                        You can choose if you want to export all fields, or only the fields that are displayed on the listing page from the download configuration, as well as the number of entries you would like to export.

                                                                                        3.4    Recent Changes

                                                                                        Recent Changes - data

                                                                                        Except viewing the history of a record, SYSAdmin can also view the edit history for multiple sheets from Recent Changes, which can be found from Start Tab > Account Setup.

                                                                                        You can click on the modified records, to view details on additions and modifications.

                                                                                        To check all edits only on a sheet, you can apply filter from the Filter by sheet box.

                                                                                        Database Design Changes

                                                                                        Scroll down on the Recent Changes page, you can also find history of design changes for all sheets.

                                                                                        3.5    DB Maintenance

                                                                                        The DB Maintenance section in your Account Setup has some advanced settings used for the maintenance of your account.

                                                                                        Reset DB connection

                                                                                        Reset your database connection to Ragic when you would like to clear your database's cache data. You can try resetting your DB connection when you notice some that changes you have made to data or form design are not showing up.

                                                                                        Rebuild search engine index

                                                                                        Ragic's top search bar works like a search engine, which can help you to find full values, while also offering you search suggestions when you begin to type. This is a very useful tool when you are looking for a specific entry where you know at least one of the values.

                                                                                        If you find that you cannot see related search suggestions when you're typing into the top search bar, the reason may be that Ragic's search engine hasn't indexed these records yet.

                                                                                        You can rebuild your Ragic database's search engine index through the Rebuild search engine index option under your DB Maintenance menu.

                                                                                        This will allow Ragic to crawl through the values within your database and index your records by sheet. You'll see the indexing status on a pop-up menu on the lower-left side of your screen. Feel free to work on your database elsewhere while indexing is being done.

                                                                                        Once the indexing is done, the pop-up will display a Done note.

                                                                                        Download system log

                                                                                        This option will download a .log file to your computer, which is a system log including the date, time, and IP number of users that have logged on to your account.

                                                                                        Download data dictionary

                                                                                        Your data dictionary shows the data schema of all your sheets, which contains all the field IDs, field names, and stored field types.

                                                                                        You can save this as a PDF through your browsers' Print to PDF setting, and send it to a trusted person who would need this data to work with your account, such as an external developer you're working with, who needs to read and write data using Ragic's HTTP API or to write server-side Javascript workflow.

                                                                                        Delete my account

                                                                                        Ragic has a forever free version that you can use, but for any reason, you can still delete your Ragic account.

                                                                                        Deleting your Ragic account can be done through your DB Maintenance menu. Since this action is not reversible, make sure that you back up your data in case you would need to restore this data at another time. You can also export your data instead, or make sure that you do not have any data of importance on your account.

                                                                                        Access your Account Setup from the Start tab, and navigate to the DB Maintenance Menu page. You'll see the Delete My Account option on the bottom.

                                                                                        Please check this documentation if you are looking to cancel payment to your account.

                                                                                        You can contact support@ragic.com at anytime to help point you in the right direction while setting up your database, or leave feedback regarding using your Ragic database.

                                                                                        3.6    Global constant

                                                                                        If you don't see one of the settings mentioned below in your Company Settings sheet and you would like to use it, please send an email to support@ragic.com so we can help manually update your system default sheets.

                                                                                        What are global constants?

                                                                                        When you're adding a formula or working on creating a Javascript workflow in Ragic, there might be some character strings such as your company URL, company name, and company address that you type often. To configure global constants that you can refer to with text shortcuts later, navigate to Start Tab > Account Setup > Global constants.

                                                                                        As the SYSAdmin of the database, you can save parameters as global constants. You can later refer to these global constants to auto-populate the company website or address in javascript workflows and in formulas. When you need to update this information in the future for fields that have a global constant with a formula, all you need to do is update the field value in the "Global Constant" sheet and then run a formula recalculation.

                                                                                        Field description

                                                                                        Field Name Description
                                                                                        Constant name Name of the constant. Spaces are not allowed in this field.
                                                                                        Constant value Value that will to be replaced by global constant.
                                                                                        Constant type Type of the constant. Please choose from the dropdown menu.
                                                                                        Effective date (GMT) Effective date of the constant (optional).
                                                                                        Expiry date (GMT) Expiry date of the constant (optional).

                                                                                        After configuration, please enter the constant name as below in your workflow or formula with a c_ as the prefix. Ragic will recognize the constant, and replace it with the constant value.

                                                                                        c_Constant name

                                                                                        Example

                                                                                        As shown in the image above, when writing scripts or formulas, www.ragic.com will be auto-populated once you enter c_Website.

                                                                                        3.7    Notifications

                                                                                        Users can configure Notification settings for the listing and form pages through the Tools menu under Notification Setting.

                                                                                        A window will pop up that shows the options available for e-mail notifications

                                                                                        If you would like to set the notifications for many sheets at the same time, or for your Ragic System configurations, you can go to the Notification Settings from the Account Setup under the Start tab, where you can also see your past notifications. (This page can also be reached through the URL http://www.ragic.com/accountname/notificationSetting - make sure to replace your account name in the URL.)

                                                                                        Clicking on any of your application tab names in the menu will take you to a list of all the sheets under that application tab where you can configure the e-mail notifications you would like to receive.

                                                                                        If you are the administrator of the Ragic account and would like to configure the notifications being sent to other users under this account, you can use this type of URL by replacing the account name and the user's e-mail.

                                                                                        http://www.ragic.com/accountname/notificationSetting?e=user@email.com

                                                                                        3.8    UI Translations

                                                                                        Ragic is offered in English, Traditional Chinese, and Simplified Chinese. While you can design your apps in any language you want, Ragic gives you the opportunity to translate the user interface into your own language so that it would be easier for your users to navigate.

                                                                                        To translate Ragic into your own language, navigate to Start Tab > Account Setup > UI Translations

                                                                                        Pick the language you would like to translate Ragic into under Language to translate. The UI Sections are the sections to translate.

                                                                                        You'll see the names of the classes Ragic uses to identify where your text goes in blue. Do not edit this blue text.

                                                                                        The green text is where you'll be editing into the language you are translating to. After editing the text, click Save above the translation window.

                                                                                        After you're done with a few sections, you'll start noticing that your saved translations are automatically being displayed in the Ragic menus where your UI sections were pointed at.

                                                                                        You can keep translating to your own language. Users in your account will be able to see these translations and interact with Ragic in the language you're translating to.

                                                                                        3.9    Configuring your database home

                                                                                        x
                                                                                        Configuring your Database Home

                                                                                        Tabs and Sheets

                                                                                        Configuring Side Bar feature access

                                                                                        Tabs and Sheets

                                                                                        When you enter your Ragic database, you'll see a list of all available sheets under each tab that you have access rights to on the user Homepage. You can either scroll down to find the sheet that you want to access, or navigate from the Tab on the top.

                                                                                        To delete a sheet or tab, you may refer to this documentation file.

                                                                                        To move and rearrange your tabs and sheets, please refer to this documentation file.

                                                                                        Configuring Side Bar feature access

                                                                                        You can configure the access rights of the features listed in the side bar for users from the feature access settings.

                                                                                        3.9.1    Event Calendar

                                                                                        If there are date fields on your sheet, the Event Calendar on your user homepage lists up to 10 upcoming entries that are entered with date information as events.

                                                                                        Clicking the name of the event will take you to the form page of the related entry.

                                                                                        Clicking the Show calendar button will open a calendar report listed with these events.

                                                                                        You may make configurations to the events shown on the calendar by hovering on the event name and clicking on the gear icon next to it:

                                                                                        Hide this type of events: Hide the events that are from the same date field on that sheet.

                                                                                        Set a short name for this sheet: Set up a short display name for the sheet of the events that are from the same date field.

                                                                                        If you would like to change the field value of the Event shown on the calendar, you would need to configure the title field of your sheet.

                                                                                        4.1    Saving frequent searches as views

                                                                                        What is View?

                                                                                        Ragic gives each user the ability to create different View types. As we query more and more often, there are a set of queries that users will regularly execute.

                                                                                        Users can save these types of frequent searches on any combination of fields from the left sidebar on the sheet as Personal Views.

                                                                                        As the SYSAdmin of the database, you can save common frequent searches as Shared Views for your users. And a shared view can be set as a Default View if necessary.

                                                                                        If you want your users to view the filtered entries only, you can apply Fixed Filter on the sheet.

                                                                                        The saved Views are listed on the left side, above the Search button.

                                                                                        After finishing your search, clicking on the Clear Filters button will lead back to the full database.

                                                                                        Different types of Views are explained in the below sections:

                                                                                        Shared View

                                                                                        If you want every user who has access to the same sheet to be able to see a view that is saved, you can set up a Shared View. This way users can see the views you created directly without setting them up themselves.

                                                                                        Users can configure notifications based on a shared view if they would like to receive notifications only from the filtered records instead of all records in the sheet.

                                                                                        Default View

                                                                                        You can set a Shared View as a Default View for a sheet, so that whenever the users go to a sheet, the default view will automatically be applied. You can set a view as the default view by right-clicking on the shared view's name, or through the arrow on its right side.

                                                                                        The user can clear the filter conditions applied by this default view by clicking on Clear Filters at the top of the sheet.

                                                                                        Fixed Filter

                                                                                        Another type of view is called a Fixed Filter. A fixed filter is pretty much like a default view, but the filter conditions cannot be removed by the user. This can be used in conjunction with Duplicate Sheet, so that you can create different versions of a sheet by assigning different fixed filters to them.

                                                                                        You can combine fixed filter with the field type "select from other sheet" and fixed filter to limit the selection options.

                                                                                        4.2    Customizing the left sidebar

                                                                                        You can configure the fields that are displayed, as well as the displayed order of your fields under the left sidebar search tool.

                                                                                        Click on the gear icon underneath the Search button. From the prompt window, you can remove fields that are displayed on the left sidebar search tool by adding them to the "Available Fields" section. This would not remove the fields from your listing page or form page design. You can also adjust the order of the fields that are displayed in your left sidebar from the "Selected Fields" section. Click "Save" to save your changes.

                                                                                        5.1    Linking sheets together

                                                                                        Ragic supports several ways of one-to-many relationships. The following sections will show you how to do these through the Sheet Linking Tools that could be found under the Design Mode, within the Form Tools menu.

                                                                                        These methods are:

                                                                                        Link & Load

                                                                                        Multiple Versions

                                                                                        New Sheet from Subtable

                                                                                        Show References from Existing Sheets

                                                                                        You can also edit the existing links through the Sheet linking tools menu or change settings according to the linking type, more details are available in each individual article for the sheet linking tools.

                                                                                        It's also possible to link fields from parent sheets for sheets that were generated from a subtable, or sheets that have an added reference subtable.

                                                                                        5.1.1    Link & load

                                                                                        Linked Field & Loaded Fields

                                                                                        Linking two fields in different forms together consists of creating a Linked Field and the corresponding Loaded Fields.

                                                                                        Let's say that we want to create a form for entering sales orders, in which we would like to include the related customer information, linked from another form that keeps all our customer data.

                                                                                        The Linked Field would be the field in which the user could select a Customer ID for this sales order.

                                                                                        A linked value is configured as a field linked to the Selection Title Field of another form. The selection title field is basically the name to identify an entry in a selection box. The "Customer ID" field in the sales order in this example connects to the "customer ID" field in the customer form. Therefore, it's a good practice to choose a field that can clearly and uniquely identify an entry as the Selection Title Field.

                                                                                        When the user chooses a Customer ID by either clicking on the field, or typing in the sales order form, Ragic can automatically load the customer's information, such as their phone number and address into the sales order. This can greatly reduce data entry work and will also give users a more responsive feeling to your application. We call these type of fields Loaded Fields.

                                                                                        Link Manager

                                                                                        The Linked Field and Loaded Fields are really easy to set up using our Link Manager. Just go to the Design Mode from the "Change Design" button on the right side, and click on the Link & Load option in the Form Tools menu, listed under Sheet Linking Tools.

                                                                                        The Link Manager will ask you to set up the Linked Field first. You can create the Linked Field by clicking on the field you would like to load on the right side of the page (which shows the form you will be loading data from) and click on the corresponding field on the form on the left side (the form that you are editing the design of). Note that this field will automatically be linked to the Selection Title Field of the form that is being linked, as we described above. The Link Manager will display the Linked Field with a blue outline.

                                                                                        After creating the Linked Field, you can link the Loaded Fields to the corresponding cells. These fields will load the corresponding values when the user selects a value in the linked field. Creating Loaded Fields is done the same way as the Linked Field. Note that the Link Manager displays the Loaded Fields with a gray outline.

                                                                                        You don't have to create the corresponding fields for the form that will include the linked fields beforehand in both steps, as the Link Manager will automatically create the field for you.

                                                                                        Using Link & Load for a Subtable

                                                                                        You may link & load data from other forms as a subtable. This works best if you would like to manually select (or type to see options) in one field of the data, and load the corresponding information in other fields in a row of the subtable, such as having multiple line items for products in a sales order.

                                                                                        Please refer to our documentation for generating a new sheet from a subtable and adding a reference subtable for more linking options regarding subtables.

                                                                                        Linking Multiple Sets of Link & Load to the Same Sheet

                                                                                        When using link & load for a subtable isn't appropriate, you may link & load data from a form in multiple sets to your sheet. This works best in cases where you'd like to load multiple instances of data that have similar information, such as having multiple legal guardians assigned to one student in the example below.

                                                                                        First we link the first legal guardian from our "Guardians" sheet as usual. On the top right, you'll see a dropdown menu that allows you to create a new data link from the sheet you're linking data from.

                                                                                        Creating a new set of link will allow you to use link & load from the same data source again.

                                                                                        It is recommended to edit your field names on the sheet you have linked to, to make sure that the information can be clearly defined when a user is browsing your sheet.

                                                                                        Once you're done and have saved your design, you will be able to link & load from the same source sheet.

                                                                                        This feature is also useful when you'd like to link data from the sheet you're linking to.

                                                                                        Unlinking Fields

                                                                                        If you would like to remove an existing link, you can do so by going to the link manager, and clicking on the link you want to remove. This will display a red icon on the sheet you're linking from. Click on this icon to remove the link for these two fields on Loaded Fields.

                                                                                        If you remove the link for the Linked Field with the blue outline, links you created for all Loaded Fields will also be removed.

                                                                                        Common Mistakes when Creating Links with Link & Load

                                                                                        1. Linking data from subtables to your form.

                                                                                        This type of link will not be permitted in the link manager, as you cannot link from a subtable and load to a regular field (from a subtable on the right side of the link manager to the left side), since a subtable could have many different values entered in an entry, but a regular field would only have one value.

                                                                                        2. Linking a different subtable on the same row.

                                                                                        This would not have any technical issues on Ragic, but bear in mind that if you have other users that use the same account, having different subtables on the same row could lead to confusion.

                                                                                        3. Linking from a linked field or numeric field as the linked field

                                                                                        The linked field is one kind of selection field (select from other sheet), in order to identify each selection unique, the linked field should be linked from a key value that can identify each entry on the source sheet as an unique entry, which is usually the id number or serial number field. Thus, you cannot link from a linked field or a numeric field as the linked field.

                                                                                        Repopulating Loaded Fields from their Source Sheet for Link & Load

                                                                                        For fields that load data on a sheet A, that links data from another sheet B with the link & load method, changes that are made on the data in sheet B will not be reflected on sheet A on previous entries.

                                                                                        The reason for this we can explain with an example. Let's say sheet A is sales orders, and sheet B is customers. When a sales order is entered by user Martha Stewart, her address information is populated with link & load on your sales order. Let's say Martha changed her address. Her previous sales order would still be under her previous address for the records, but new sales orders will be saved with her new address.

                                                                                        We do understand this might not be how you use link & load, and that you will need to repopulate the loaded fields in all your previous records in sheet A.

                                                                                        To do so, navigate to the Form page Design Mode, and click on Form Tools to see a list of sheets that are linked with Link & Load under the category. Click on the gear icon next to the appropriate sheet.

                                                                                        A prompt will show you the option for dynamic filtering above, and the option for repopulating below, that gives you the option to syncronize a single set of linked fields with the updated source value for all records, or all of your linked fields on this form.

                                                                                        After choosing your option, a prompt will state that loading has started. This means that your loaded fields are reloading in the background, so you may now close this window and continue using your database while your data is syncronizing.

                                                                                        To keep the loaded values updated, you can check the box next to the option "Keep Loaded Value Sync With Source". Every time the source data changes, Ragic will check your entries for records that are loading values from this source, and will execute a Link & Load sync for all the records that load values from the specific record that has been edited.

                                                                                        Please note that the option to keep loaded values synced with the source data is turned off for imports. Users will need to do a manual link & load sync after doing an import.

                                                                                        As an alternative method for using the gear icon to repopulate loaded fields, the following URL (modified according to your own account) will run a script that will force the loaded fields to reload according to the current data in sheet B, provided you still have the same info on the linked field, like an ID number.

                                                                                        If the URL link of the sheet you want to run this script is

                                                                                        https://www.ragic.com/accountname/tabname/3

                                                                                        Use this URL to reload all loaded fields according to the current data from where it is linked from:

                                                                                        https://www.ragic.com/sims/dev/loadLinkNLoad.jsp?a=accountname&p=/tabname&si=3

                                                                                        Changing the linked field

                                                                                        A good rule of thumb is to use the linked field to be a link from a key field, which can identify each record as a unique entry on the source sheet (on the right side of the link manager). If you'd like to change a linked field that is already set, you can simply drag the linked field indicated in blue without unlinking all of your fields and re-setting the link & load.

                                                                                        Example:

                                                                                        On the sheet "Sales Order", there's a set of link & load from the sheet "Customer", which uses the field "Customer Name" as the linked field. This is not the most ideal field to be set as the linked field, since there may be different customers who share the same name. In data management practices, it's best to use a unique identifier to eliminate user error. We will change the linked field to "Customer ID" instead, so that we can identify customers in a better way.

                                                                                        To change the linked field to "Customer ID" (right side), you can first unlink this field to remove the gray line that indicates this field is a loaded field.

                                                                                        We change the linked field from "Customer Name" to "Customer ID" by dragging the blue linked field on the right side within the link manager.

                                                                                        The linked field is now linked from the field "Customer ID" on the right side.

                                                                                        You may want to adjust the field names on the sheet you are designing. The field names do not affect links. Now the users would select the value from the sheet "Customer" according to "Customer ID". The previously saved records will also have the Customer ID as the linked field value.

                                                                                        Video Tutorials

                                                                                        Here are video tutorials showing how the link & load type of linking can be used with your other sheets.

                                                                                        5.1.2    Multiple versions

                                                                                        Creating a Duplicate Sheet

                                                                                        A lot of times you will want to create different versions of the same form so that you may let different groups of users see different versions of the form.

                                                                                        To create two versions of the same sheet, right-click on the sheet, or click on the little arrow when you hover on the sheet's name, and choose Duplicate Sheet.

                                                                                        Another way to do this is to click on the Multiple Versions option in the Form Tools menu in the Design Mode, under the Sheet Linking Tools category.

                                                                                        Check if the box that says "Use same data source on new sheet" is selected and click on the "Duplicate Sheet" button.

                                                                                        Ragic will create a second sheet that has the same name, fields, and data. The two sheets point to the same set of entries in the database, therefore when you enter a new entry in one of the sheets, it will also appear on the other. All edits and deletion of entries will also be reflected on both sheets.

                                                                                        On the other hand, changes you make in the design of one of the sheets will not be reflected on the other sheet. This feature is extremely useful since you can delete fields that you want to keep confidential on one of the sheets, but still have the data on the other sheet. You can also create a fixed filter for this reason. Learn more about creating a Fixed Filter in our Shared View and Fixed Filter documentation.

                                                                                        After having your sheets display the necessary amount of information, you can set up the Access Rights from the Design Mode on the left sidebar. You can set the two sheets to be visible to different user groups with different access rights.

                                                                                        Configuring this should be pretty useful in cases where you need different user groups see similar pools of data in different ways. In the example below, there are two versions of an employees sheet, one copy seen from the HR department's perspective, and the other copy edited for the IT department.

                                                                                        click to enlarge

                                                                                        click to enlarge

                                                                                        This feature is also useful when you have a large database on only one sheet and would like to display certain fields in another listing page.

                                                                                        Adding a New Field on Both Copies

                                                                                        If you would like to add a new field to the design in both of the copies of this sheet after saving the design, first add this to one of the copies. On your other copy of the sheet, click on the Form Tools menu in the Design Mode to view all the existing links. You'll see the duplicated sheet's name, and will be able to go to a configuration to add available fields by clicking on this name.

                                                                                        Drag and drop the new fields you would like to add that have already been added to your other sheet from this configuration.

                                                                                        Just remember that the fields that you are adding will show up for every user that has the correct access rights for this sheet.

                                                                                        Switch to a Different Version of an Entry

                                                                                        If you have multiple versions of the same sheet, you can add an action button to easily switch between the same record's entries in other sheets within Ragic.

                                                                                        To do this, go to the design mode of the form page you would like to add the action in. You will find a list of your linked sheets under the Form Tools menu, sorted beneath the type of linking. Click on the gear icon next to the version of the sheet you would like to navigate to through your entries.

                                                                                        You will be prompted to name the button that will be added to your action.

                                                                                        This will create an action button that will take you to the URL from each entry to the associated entry in your duplicated sheet.

                                                                                        To have a link back to the first sheet, you can redo these steps in your second sheet.

                                                                                        Note: If you want to remove action button, you may refer to this article

                                                                                        5.1.3    New sheet from subtable

                                                                                        Creating a New Sheet from your Subtable

                                                                                        Subtables are a great start to build one-to-many relationships. But in some cases, it's a bit hard to enter a lot of information on a subtable since the values will only populate one row, and it will be a bit harder to search for the information entered to the sub-entries inside the subtable, since queries in Ragic is based on the main entries in the form, rather than the subtable sub-entries.

                                                                                        To make the data in the subtables more accessible, you can create a new form from a subtable. When you're in the Design Mode, simply click on the Form Tools button, and choose the New sheet from subtable option, listed under Sheet Linking Tools.

                                                                                        Doing so will show you a list of subtables that are on this form. Clicking on the Create New Sheet link will create a new form with the fields of the corresponding subtable.

                                                                                        Apart from containing all the fields in the subtable, the newly created form will contain an additional field that will link back to your original form, based on your selection in the dialogue window. This field will show the main entry that this subtable entry belongs to.

                                                                                        In our example above, we create a form out of the Contacts subtable in a "Companies" form, the new Contacts form will contain a field named Company Name, so that you would know which company this contact is from. If you edit this contact and change the company, the corresponding subtable entry will be moved to the new company that you choose.

                                                                                        Below is a video example of how this type of linking can be used in conjunction with the link & load type.

                                                                                        It is also possible to insert a subtable from fields that are in another form, which is covered in the next section.

                                                                                        Adding New Fields from your Sheet to your Subtable

                                                                                        If you add new fields to your new sheet that you'd also like to add to your original subtable, click on Form Tools to view all the existing links on your sheet. You'll see the name of the sheet you generated, listed under "New sheet from subtable". You will be able to add available fields to your linked subtable by clicking on this name. A pop-up window will be displayed, showing available fields and selected fields. By moving new fields on your generated sheets from available fields to selected fields, you will be able to display new fields on your original subtable.

                                                                                        Create a Full Entry in a Linked Subtable

                                                                                        If you have a subtable that is linked to a full entry with a sheet generated from this subtable, or is a reference from another sheet, you can add an action button to easily add a new entry in the form where this subtable is referring to.

                                                                                        To do this, go to the design mode of the form page you would like to add the action in. You will find a list of your linked sheets under the Form Tools menu, sorted beneath the type of linking. Click on the gear icon next to the linked sheet you would like to add a new entry in.

                                                                                        You will be prompted to name the button that will be added to your action.

                                                                                        This will create an action button that will allow you to add a new entry to your subtable by filling out the full version of the form.

                                                                                        Note: If you want to remove action button, you may refer to this article

                                                                                        Link your Subtable Rows to the Related Entry on your Generated Sheet

                                                                                        When you have created a new sheet from your subtable, you can create a link on your original subtable row for a text field of your choice to take you to the related entry on your generated sheet when clicked.

                                                                                        In our example below, we have a Companies sheet that contain related Contacts' information in a subtable, which the Contacts sheet is generated from.

                                                                                        In the form page Design Mode, navigate to Form Tools. You will see the sheet generated from your subtable, with a gear icon next to its name. Click the gear icon to set up the link.

                                                                                        This will show you a dialogue box to set the field your link will be in. In our example, we want this to be the "Contact Name" field.

                                                                                        Save your process and exit the design mode. You'll now see that your selected field values have become links.

                                                                                        Clicking on any of these links will take you to the related entry in the sheet generated from this subtable.

                                                                                        5.1.4    Show references from existing sheets

                                                                                        Creating a Reference Subtable

                                                                                        If you have a linked field with Link & Load on your database sheet, you can use reference subtables in order to display all related entries that belong to the sheet you're linking to, in the original sheet that you're linking from.

                                                                                        For example, let's say that you have a Sales Orders sheet, with a link & load that links the related customer from the Customers Sheet. We can add our Sales Order records related to one customer as a reference subtable on our Customers sheet, so that we can see all sales orders a customer has placed. This is a great way to find back references to your data, which provides great value in database applications.

                                                                                        Please note that the sheet that you choose should contain a reference to the current sheet. In our example, the sales orders that are being included in the customer form design has a field that selects a customer with link & load. Otherwise, there will be no way for Ragic to determine the connection between a sales order and the customer.

                                                                                        Below, we're showing the Sales Orders sheet, where a Customer ID field is the linked field, which helps us select a customer.

                                                                                        Since this link exists, we're able to go to our Customers sheet to add the reference subtable.

                                                                                        To add a reference subtable to a form, go to the Design Mode of the form where you would like to add a subtable. Choose the option Show references from existing sheets listed under the From Tools button, listed under Sheet Linking Tools.

                                                                                        Choose the sheet that you would like to reference, and drag the Linked Subtable component below it to the desired location of your sheet.

                                                                                        When you drop the component, a field selector window similar to the listing page field selector will appear for you to choose the fields that you would like to include in this subtable. You will need to choose at least 2 fields since Ragic needs to display the field values underneath your field titles. When you're done, click the Insert Subtable button to have the reference subtable added to your sheet.

                                                                                        Don't forget to save your sheet design once you've added your reference subtable.

                                                                                        Ragic will now automatically display related sales order entries from the Sales Orders sheet, under the related customer.

                                                                                        Please note that the reference subtable is meant to be view-only. Data entry should still be done on the original sheet; in our example, sales orders would still be added through the Sales Orders sheet, and they will automatically be displayed under the respective customers.

                                                                                        Video Tutorial

                                                                                        In the video tutorial below, you can see how showing references from an existing sheet would work.

                                                                                        Adding New Fields in your Reference Subtable

                                                                                        If you would like to add a new field in the reference subtable that exists on your form, click on Sheet Linking Tools to view all the existing links. You'll see the source form's name under "Show references from existing sheets". You will be able to add available fields to your linked subtable by clicking on this name.

                                                                                        Link your Reference Subtable Rows to the Related Entry on your Source Sheet

                                                                                        Once you have created a reference subtable on your sheet, you can create a link on the subtable rows for a text field of your choice to take you to the related entry when clicked.

                                                                                        In our example below, we're going to change one of the reference subtable fields on our Customers sheet to link to the related sales order record in the Sales Orders sheet.

                                                                                        In the form page Design Mode, navigate to Form Tools. You will see that the source sheet of the reference subtable with a gear icon next to its name. Click the gear icon to set up the link.

                                                                                        This will show you a dialogue box to set the field your link will be in. In our example, we want this to be the "Sales Order #" field.

                                                                                        Save your process and exit the design mode. You'll now see that your selected field values have become links.

                                                                                        Create a Full Entry in a Linked Subtable

                                                                                        If you have a subtable that is a reference from another sheet, or is linked to a full entry with a sheet generated from this subtable, you can add an action button to easily add a new entry in the form where this subtable is referring to.

                                                                                        To do this, go to the design mode of the form page you would like to add the action in. You will find a list of your linked sheets under the Form Tools menu, sorted beneath the type of linking. Click on the gear icon next to the linked sheet you would like to add a new entry in.

                                                                                        You'll see the option to Create a button to add records with the new sheet.

                                                                                        You will be prompted to name the button that will be added to your action.

                                                                                        This will create an action button that will allow you to add a new entry to your subtable by filling out the full version of the form.

                                                                                        Note: If you want to remove action button, you may refer to this article

                                                                                        5.1.5    Link fields from parent sheets

                                                                                        When to Link Fields from Parent Sheets

                                                                                        If you have added new fields to a sheet generated from a subtable, or have added a reference subtable to a sheet and would like to add new fields from the parent sheet, you can use the link fields from parent sheets option to link the new fields.

                                                                                        How to Link Fields from Parent Sheets

                                                                                        To use this type of linking, navigate to the Design Mode through the Change Design button. Click on Form Tools. You'll see the available parent sheets as options listed under Link fields from parent sheets, in the Sheet Linking Tools category.

                                                                                        When you click on the sheet name, you can drag and drop the available fields listed in the pop-up window.

                                                                                        Don't forget to save your design before exiting the design mode.

                                                                                        5.1.6    Dynamic Filtering

                                                                                        Similar to Ragic's cascaded selections, you can set options connected to another linked field in a different sheet, depending on what is selected previously. The values in these fields can update dynamically according to values on other sheets that they are linked from.

                                                                                        You can set this type of dynamic filter for fields that already have a link created with link & load, or alternatively, link from another sheet with the select from other sheet field type.

                                                                                        To create this dynamic filter, navigate to your form page's design mode, and from Form Tools, click on the gear next to the related sheet name under the Link & Load category.

                                                                                        This will show you the setting to create a dynamic filter. Select a field value on the sheet that you're linking from, and match it depending on your requirements with the value or criteria that is going to be filtered from the sheet you're linking to. You can set multiple conditions by clicking on the + sign below the configuration, or enter a custom criteria with the pen tool next on the right.

                                                                                        Example: Display fields that have the same status

                                                                                        In our example below, we want to offer VIP services depending on the customers' loyalty program. The service request form can only select customers that belong to a certain loyalty program so we set the "VIP Club Membership" field on the Customers sheet to be filtered by the service type offered on the Service Request field.

                                                                                        After a Service Type is selected, only the customers that belong to the related VIP club are displayed.

                                                                                        These dynamic filter rules can be set on fields that are linked as a subtable as well.

                                                                                        Example: Display fields that fit into a date range

                                                                                        In our example below, the sales order form can only display products in the subtable that is linked from the product sheet that are currently running under a sales promotion. This promotion date range is set on the products sheet, and we check to see if the current date is between the start date and end date. This allows you to set promotion dates beforehand for products.

                                                                                        5.2    Custom action buttons

                                                                                        Currently there are three different features for you to create custom action buttons for your sheet design.

                                                                                        The following sections will show you how to do these through the Custom Buttons that could be found under the Design Mode, within the Form Tools menu.

                                                                                        These methods are:

                                                                                        Convert Records

                                                                                        Update Values

                                                                                        Update Value On Another Sheet

                                                                                        You can also edit the existing custom buttons through the Custom Buttons section > click on the action button name > adjust your configuration of the button > Save design changes.

                                                                                        There are some additional settings you can configure for action buttons, you may refer to this article for detailed information.

                                                                                        If you want to remove the buttons you don't need anymore, you can refer to this article.

                                                                                        5.2.1    Convert records button

                                                                                        Converting Records

                                                                                        Creating a button in order to convert records to post some data values in an entry to be saved in another sheet can be done with this custom action button.

                                                                                        Your users will be able to click an action button in your source sheet to create a copy of your data (which can be all of your fields, or a selection of your field values) to be saved in this other sheet.

                                                                                        This linking type is different from having multiple versions of the same sheet as when you convert a record, the data values will be essentially copied and saved in a new entry in another sheet, and will not be using the same data pool. Therefore, it is possible to overwrite the data in the converted record without having it being changed in the source.

                                                                                        Creating a Link to convert records from one sheet to another

                                                                                        To create an action that will enable users to convert an entry from a source sheet to another sheet that the data will be saved into, click on the Convert Records option under the Sheet Linking Options button in the Design Mode of your source sheets' form page.

                                                                                        In our example below, we will be creating a sales order sheet that will use values from a quote sent to a customer.

                                                                                        The Quotes sheet already has some values for the customer to decide if they would like to place a sales order or not. At this stage, we do not have a link with the Sales Orders sheet.

                                                                                        The Sales Orders sheet is very similar to the structure of the Quotes. Having a similar design or sharing many fields is not a necessity for converting records, but it's helpful to be consistent with your design.

                                                                                        Navigate to the Design Mode of your sheet that will contain the source values. In our example, this is the Quotes sheet, as we'll be creating a sales order according to the values we quoted to the customer.

                                                                                        Click Form Tools to see a list of custom action button types you can add to your form. Click Convert Records.

                                                                                        This will display a dropdown with a list of sheets in your account. Select the sheet where you'll save values from the source. For our example, this is the Sales Orders sheet.

                                                                                        In this step, you'll be asked to map fields to each other. The section Use value from this field will show you fields from the source sheet, while the Fill in this field section will display fields that are in the destination sheet. Select the fields that you'd like to save during the conversion, this can be all the fields on your sheet, or only some of the fields on your sheet depending on your specific requirements.

                                                                                        Make sure that you have mapped all fields correctly. Depending on your sheet design, the field names can be the same, or entirely different. It's always helpful to have clear field names in order to have clear communication with different database designers and other users in your account. Once your done with the fields you'd like to map, click Create convert record button.

                                                                                        Ragic will prompt you to enter a name for the action button that your users will see. Make sure that the action name you are writing will be clear to other users.

                                                                                        After confirming the above, Ragic will have added your record conversion as an action button, which will be accessible from the Actions menu under your Form Settings. Make sure that you save your form design for your new action button to take effect.

                                                                                        Using the Action Button to Convert Records

                                                                                        Once you have completed all the steps to create a convert record link, you'll be able to see your new action button on the lower-right corner of your saved records in your source sheet. When a user clicks this button, this will create a new record in your destination sheet.

                                                                                        In our example, after clicking the Create Sales Order from Quote action button, the values from our quote record will be saved as a new record in our sales orders sheet. This way, we're able to see the Quote ID of the original quote that was sent to the customer, and all other related field values from our quote such as the product line items are being copied as well.

                                                                                        Each time the action button is clicked, a separate new record will be saved in the destination sheet. In this example, this means that we can generate different sales orders from the same quote.

                                                                                        You can make revisions to your destination sheet to have more fields according to your specific requirements. In our case, this could be adding the tax percentage and amount, and a discount percentage that is applied before the sales order is finalized.

                                                                                        Other configurations for action buttons

                                                                                        Additional Settings

                                                                                        There are some additional settings you can configure for action buttons, you may refer to this article for detailed information.

                                                                                        Remove the action button

                                                                                        If you want to remove the action button, you may refer to this article.

                                                                                        5.2.2    Update Values

                                                                                        About Update Values

                                                                                        Sometimes you might want to update field values on a record without manually inputting the values, especially for repetitive actions in your workflow. For this, you can create an update values action button that will run an update for your record without entering the editing mode.

                                                                                        We are taking a sheet "Tickets" as our example here, to create an action button that can enter a field value in the field "Need Action?" by clicking the Update Values action button.

                                                                                        Setting up an Action Button to Update Values

                                                                                        Nevigate to the form page Design Mode, and click Form Tools. You'll find Update Values under the Custom Buttons section.

                                                                                        You can now set up one or more fields to be updated with this action button, by entering their field values.

                                                                                        You can click + to add more fields that you would like this action button to help update simultaneously if necessary.

                                                                                        After your configuration is completed, click "Create Update Values button".

                                                                                        You will be prompted to name the button, which will be added to your "Actions" menu, visible to users in every records' form page on the lower-right corner.

                                                                                        Note: If you click "Create Update Values button" with your value empty in the update value action button configuration, you will be prompted that your values for these fields will be cleared, therefore please make sure you want these values to be empty when the action is run.

                                                                                        Don't forget to save your design changes once you set up your update values action button.

                                                                                        Once your update values action button in saved, you will see this action button on the lower-right corner of every form page when you access your records.

                                                                                        You can click the action button to update your values.

                                                                                        The value updated by this action button will be recorded in the record history, in the i icon on the lower right corner.

                                                                                        If you want to update a field with different sets of values depending on the situation, you can create multiple update values action buttons.

                                                                                        Supported variables of updated values

                                                                                        Below are the supported variables you can use in the update value action button configuration as updated values.

                                                                                        {{USER}} - The user who clicks on this action button.

                                                                                        {{TODAY}} - The updated date (default timezone: UTC+0 if there's not custom configured timezone in company setting.)

                                                                                        {{NOW}} - The updated time (default timezone: UTC+0 if there's not custom configured timezone in company setting.)

                                                                                        Other configurations for action buttons

                                                                                        Additional Settings

                                                                                        There are some additional settings you can configure for action buttons, you may refer to this article for detailed information.

                                                                                        Remove the action button

                                                                                        If you want to remove the action button, you may refer to this article.

                                                                                        5.2.3    Update Value on Another Sheet

                                                                                        About Update Value On Another Sheet

                                                                                        Sometimes you might want to update field values in sheet A's records according to the values in a record from sheet B, for example, issuing goods from a Sales order to change the inventory of the products, or running balances of an account according to your transaction records. To achieve this, you can create an update value on another sheet action button that will run an update for your records.

                                                                                        How to set up an Action Button to Update Values On Another Sheet

                                                                                        Let's say we have two sheets "Sales Order" and "Inventory". We can take issuing goods as our example here.

                                                                                        To change the inventory of the products based on a sales order, we can create an action button on sheet "Sales Order". Navigate to the design mode on your form page by clicking on the "Change Design" button, and click Form Tools. You'll see Update Value on Another Sheet listed under the Custom Buttons category.

                                                                                        Choose the sheet to be updated from the pop out window. In our case, we want to update our "Inventory".

                                                                                        You will be able to configure the conditions for ways to update Inventory records as explained further below:

                                                                                        Updating value on other sheet

                                                                                        Use this field value on sheet Sales Order: Qty (this is a subtable field)

                                                                                        Update to: "-" (To deduct)

                                                                                        This field value on sheet Inventory: Total Quantity

                                                                                        The conditions of updating value on another sheet

                                                                                        When field value on sheet Sales Order: Item

                                                                                        Matches

                                                                                        This field value on sheet Inventory: Product Name

                                                                                        You can add as many conditions as you'd like by clicking the "+" button.

                                                                                        Note: if your conditions are not reasonable, you will not be able to save your configuration. To check what common mistakes are while setting conditions, please see here.

                                                                                        Advanced Setting

                                                                                        Clicking on "Advanced Setting", you will be able to configure these advanced settings:

                                                                                        Recalculation formulas in sheet Inventory: If you have any fields that have formulas referring to the field values that will be updated by the "Update Value On Another Sheet" action button, you should check this box to recalculate formulas once the field value is updated.

                                                                                        Create reverse action button: This will create a new action button, which will allow you to reverse the update that was submitted with the "Update Value On Another Sheet" action button.

                                                                                        Automatically execute when saving: The update value on another sheet action will be triggered automatically when saving the entries after creating new entries, or after modifying existing entries. The updated value will always be based on the latest value. Only one set of action button can be configured as automatically executed on a sheet.

                                                                                        After your configurations are complete, click "create update value on another sheet button".

                                                                                        You will be prompted to name the button, which will be added to your "Actions", visible in every records' form page on the lower-right corner.

                                                                                        You may notice there are new date & time fields created by the system in order to record the time you execute an update value on another sheet action. Please do not delete this field.

                                                                                        And if your action button is created after 2017/06/01, with reverse action button, it's recommended to configure this field as read only to prevent users modifying the field value manually, which might cause the action execute revers action multiple times.

                                                                                        Now that your update value on another sheet action button is created, don't forget to save your design changes.

                                                                                        We can create a new sales order and try out the new action to update value on sheet "Inventory".

                                                                                        As you can see from the link & load pop-out list, the quantity of the item "2017 Calendar" in our inventory is 5, and in this sales order, the customer wants to order 2 copies.

                                                                                        After saving this record, you can click on update records action button "Good issue".

                                                                                        The system will prompt you with a message that the update is finished, and will automatically fill the date & time field.

                                                                                        The item quantity of the item "2017 Calendar" in our inventory will now be updated, and there are only 3 left.

                                                                                        To reverse the action "Goods issue", you can click on the action button "Reverse Goods issue". The reverse action will be executed and the value in date & time field will be cleared.

                                                                                        (You will have this action button only if you have checked the box Create reverse action button while setting your update records action.)

                                                                                        If your action button is created before 2017/06/01, you may need to refer to this section for the information regarding using reverse action button.

                                                                                        Reverse Action Button

                                                                                        Note: The "Reverse action button" that reverses the action for the update value on another sheet button has been updated on June 2017.

                                                                                        If your update value another sheet action button was created or edited before June 2017, to reverse the action, please clear the value in the system generated date & time field first, then click on the "Reverse action button".

                                                                                        The following outlines the update of the "reverse action button".

                                                                                        Previously, users would check the last executed date & time field. If the field is not null, the action button will be executed, and update the executed date & time.

                                                                                        The current behavior has changed to directly executing the action, and clearing the executed date & time field automatically.

                                                                                        Previously, there was no prevention mechanism for repetitively executing reverse actions.

                                                                                        You can now execute the reverse action button only if the last modified time field has a value. The system will determine whether the update value on another sheet action button has been executed or not based on the recorded executed date & time.

                                                                                        Note that Ragic still supports the previous versions' action button, following the previous rules.

                                                                                        Common Mistakes and Tips While Setting Conditions

                                                                                        1. The field types of both source and field to be updated have to be Numeric.

                                                                                        2. You need at least one set of condition.

                                                                                        3. You are not allowed to set different conditions on the same field of the target sheet.

                                                                                        4. Your update record action button will become invalid if you remove the date & time field that is created by the system. (You can rename the field if necessary, or hide the field if you do not wish to create a reverse action.)

                                                                                        5. You cannot click on the update records action button twice or click on Reverse action button without clearing the value from the date & time field created by the system.

                                                                                        Other configurations for action buttons

                                                                                        Additional Settings

                                                                                        There are some additional settings you can configure for action buttons, you may refer to this article for detailed information.

                                                                                        Remove the action button

                                                                                        If you want to remove the action button, you may refer to this article.

                                                                                        Other use cases

                                                                                        Apart from the example of inventory in this article, you probably would like to know how to calculate a running balance on Ragic.

                                                                                        5.3    Validation

                                                                                        Validation with Regular Expressions

                                                                                        Ragic provides a simple validation mechanism via regular expressions. If you know how to write regular expressions, you can create a regular expression to check if the user input is valid.

                                                                                        If you are not familiar with regular expressions, you can still choose a validation template from the sample box.

                                                                                        Validating Unique Attributes

                                                                                        A common validation that our users usually need is to make sure that the field value being stored has not been stored in the database before. This requires backend database check, which cannot be done by regular expressions. You can simply go to the field configurations under the Basic tab in Field Settings, and check the Unique attribute. Ragic will then check if the value that the user has entered is unique. If not, the value will not be stored and the user will be prompted of the duplication.

                                                                                        Validating the Number of Characters Inputted

                                                                                        You can use a regular expression in the validation tab for your field to validate the input.

                                                                                        The regular expression

                                                                                        ^.{6,7}$

                                                                                        validates that the field has a minimum of 6 characters and a maximum of 7.

                                                                                        Other than changing the set of numbers, you can also set it to a maximum, such as ^.{,7}$ (a maximum of 7 characters), or a minimum, ^.{6,}$ (a minimum of 6 characters).

                                                                                        Validating the Language of Input

                                                                                        You can ensure the user fills in a field in a certain language by using the validation feature by adding a regular expression that checks the input to be in a certain language code range.

                                                                                        For example if you want to make sure the language is in Cyrillic, you can use:

                                                                                        [\u0400-\u04FF\u0500-\u052F]

                                                                                        Below is a list of language code ranges for each languages. You can also go to this link for more references.

                                                                                        Code Language
                                                                                        0000-007F Basic Latin
                                                                                        0080-00FF Latin-1 Supplement
                                                                                        0100-017F Latin Extended-A
                                                                                        0180-024F Latin Extended-B
                                                                                        0250-02AF IPA Extensions
                                                                                        02B0-02FF Spacing Modifier Letters
                                                                                        0300-036F Combining Diacritical Marks
                                                                                        0370-03FF Greek and Coptic
                                                                                        0400-04FF Cyrillic
                                                                                        0500-052F Cyrillic Supplement
                                                                                        0530-058F Armenian
                                                                                        0590-05FF Hebrew
                                                                                        0600-06FF Arabic
                                                                                        0700-074F Syriac
                                                                                        0750-077F Arabic Supplement
                                                                                        0780-07BF Thaana
                                                                                        07C0-07FF NKo
                                                                                        0900-097F Devanagari
                                                                                        0980-09FF Bengali
                                                                                        0A00-0A7F Gurmukhi
                                                                                        0A80-0AFF Gujarati
                                                                                        0B00-0B7F Oriya
                                                                                        0B80-0BFF Tamil
                                                                                        0C00-0C7F Telugu
                                                                                        0C80-0CFF Kannada
                                                                                        0D00-0D7F Malayalam
                                                                                        0D80-0DFF Sinhala
                                                                                        0E00-0E7F Thai
                                                                                        0E80-0EFF Lao
                                                                                        0F00-0FFF Tibetan
                                                                                        1000-109F Myanmar
                                                                                        10A0-10FF Georgian
                                                                                        1100-11FF Hangul Jamo
                                                                                        1200-137F Ethiopic
                                                                                        1380-139F Ethiopic Supplement
                                                                                        13A0-13FF Cherokee
                                                                                        1400-167F Unified Canadian Aboriginal Syllabics
                                                                                        1680-169F Ogham
                                                                                        16A0-16FF Runic
                                                                                        1700-171F Tagalog
                                                                                        1720-173F Hanunoo
                                                                                        1740-175F Buhid
                                                                                        1760-177F Tagbanwa
                                                                                        1780-17FF Khmer
                                                                                        1800-18AF Mongolian
                                                                                        1900-194F Limbu
                                                                                        1950-197F Tai Le
                                                                                        1980-19DF New Tai Lue
                                                                                        19E0-19FF Khmer Symbols
                                                                                        1A00-1A1F Buginese
                                                                                        1B00-1B7F Balinese
                                                                                        1D00-1D7F Phonetic Extensions
                                                                                        1D80-1DBF Phonetic Extensions Supplement
                                                                                        1DC0-1DFF Combining Diacritical Marks Supplement
                                                                                        1E00-1EFF Latin Extended Additional
                                                                                        1F00-1FFF Greek Extended
                                                                                        2000-206F General Punctuation
                                                                                        2070-209F Superscripts and Subscripts
                                                                                        20A0-20CF Currency Symbols
                                                                                        20D0-20FF Combining Diacritical Marks for Symbols
                                                                                        2100-214F Letterlike Symbols
                                                                                        2150-218F Number Forms
                                                                                        2190-21FF Arrows
                                                                                        2200-22FF Mathematical Operators
                                                                                        2300-23FF Miscellaneous Technical
                                                                                        2400-243F Control Pictures
                                                                                        2440-245F Optical Character Recognition
                                                                                        2460-24FF Enclosed Alphanumerics
                                                                                        2500-257F Box Drawing
                                                                                        2580-259F Block Elements
                                                                                        25A0-25FF Geometric Shapes
                                                                                        2600-26FF Miscellaneous Symbols
                                                                                        2700-27BF Dingbats
                                                                                        27C0-27EF Miscellaneous Mathematical Symbols-A
                                                                                        27F0-27FF Supplemental Arrows-A
                                                                                        2800-28FF Braille Patterns
                                                                                        2900-297F Supplemental Arrows-B
                                                                                        2980-29FF Miscellaneous Mathematical Symbols-B
                                                                                        2A00-2AFF Supplemental Mathematical Operators
                                                                                        2B00-2BFF Miscellaneous Symbols and Arrows
                                                                                        2C00-2C5F Glagolitic
                                                                                        2C60-2C7F Latin Extended-C
                                                                                        2C80-2CFF Coptic
                                                                                        2D00-2D2F Georgian Supplement
                                                                                        2D30-2D7F Tifinagh
                                                                                        2D80-2DDF Ethiopic Extended
                                                                                        2E00-2E7F Supplemental Punctuation
                                                                                        2E80-2EFF CJK Radicals Supplement
                                                                                        2F00-2FDF Kangxi Radicals
                                                                                        2FF0-2FFF Ideographic Description Characters
                                                                                        3000-303F CJK Symbols and Punctuation
                                                                                        3040-309F Hiragana
                                                                                        30A0-30FF Katakana
                                                                                        3100-312F Bopomofo
                                                                                        3130-318F Hangul Compatibility Jamo
                                                                                        3190-319F Kanbun
                                                                                        31A0-31BF Bopomofo Extended
                                                                                        31C0-31EF CJK Strokes
                                                                                        31F0-31FF Katakana Phonetic Extensions
                                                                                        3200-32FF Enclosed CJK Letters and Months
                                                                                        3300-33FF CJK Compatibility
                                                                                        3400-4DBF CJK Unified Ideographs Extension A
                                                                                        4DC0-4DFF Yijing Hexagram Symbols
                                                                                        4E00-9FFF CJK Unified Ideographs
                                                                                        A000-A48F Yi Syllables
                                                                                        A490-A4CF Yi Radicals
                                                                                        A700-A71F Modifier Tone Letters
                                                                                        A720-A7FF Latin Extended-D
                                                                                        A800-A82F Syloti Nagri
                                                                                        A840-A87F Phags-pa
                                                                                        AC00-D7AF Hangul Syllables
                                                                                        D800-DB7F High Surrogates
                                                                                        DB80-DBFF High Private Use Surrogates
                                                                                        DC00-DFFF Low Surrogates
                                                                                        E000-F8FF Private Use Area
                                                                                        F900-FAFF CJK Compatibility Ideographs
                                                                                        FB00-FB4F Alphabetic Presentation Forms
                                                                                        FB50-FDFF Arabic Presentation Forms-A
                                                                                        FE00-FE0F Variation Selectors
                                                                                        FE10-FE1F Vertical Forms
                                                                                        FE20-FE2F Combining Half Marks
                                                                                        FE30-FE4F CJK Compatibility Forms
                                                                                        FE50-FE6F Small Form Variants
                                                                                        FE70-FEFF Arabic Presentation Forms-B
                                                                                        FF00-FFEF Halfwidth and Fullwidth Forms
                                                                                        FFF0-FFFF Specials

                                                                                        5.4    Conditional Formatting

                                                                                        What is Conditional Formatting?

                                                                                        You can set Conditional Formatting to hide, or show fields, as well as set the color of a field label, field label background, field value, or field value, according to their value, or other fields' values. Your conditional formatting will also be applied on the embedded version of your form (currently only Database Form and Raw Embed).

                                                                                        Setting up Conditional Formatting

                                                                                        Our example form design is a shop that has different categories and subcategories of products, named "Product Category" and "Product Type" respectively. We have set the product types in cascaded selections, but don't want to display the "Product Type" field when it's empty (when the category "Special Collection" is selected).

                                                                                        Navigate to Conditional Formatting under Form Tools in the Design Mode.

                                                                                        Click New Rule to set options.

                                                                                        For our example, we would like to show the field "Product Type" if the "Product Category" is not "Special Collection".

                                                                                        Multiple formatting conditions can be set by clicking + button for the conditional formatting rule.

                                                                                        You can click on New Rule to add a new rule. In the example below, we would like to color the label background of the "Product Name" field when "Special Collection" category is selected. To set the color, you can click on the color swatch next to the field.

                                                                                        Make sure you save your form design.

                                                                                        The rule we have just set works great to avoid confusion during form filling.

                                                                                        Note: Previously, our conditional formatting setting was called "Form Rules".

                                                                                        5.5    Reminders

                                                                                        What are Reminders?

                                                                                        You can set reminders triggered by the values entered in the date fields in Ragic. You will have the option to send(according to your daily workflow execution time) these reminders to either the entry creator, or an e-mail entered to an e-mail field in the same form.

                                                                                        Setting up Reminders

                                                                                        To access the reminder settings in a form, go to the Reminder tab under the Form Settings in the Design Mode.

                                                                                        Here you can set reminders according to the fields that contain dates. You will only have to do this once in your form design, and Ragic will send reminders automatically according to the date values that are entered in entries. You can set as many reminders as you want.

                                                                                        In the example below, we have already set two reminders for a Sales Order form that contains two date fields that are sent to the data creator, and we're adding a new one for the field "Shipping Date", which will send a notification to the Customer's e-mail the day an order is shipped.

                                                                                        How Reminder E-mails are Displayed

                                                                                        The image below shows the order shipping reminder e-mail.

                                                                                        Custom reminder E-mail

                                                                                        You can customize the subject and the content of your e-mail notification by clicking on Custom Email.

                                                                                        In the pop-up window, you can design the e-mail template using HTML formatting and use the following parameters:

                                                                                        Parameters for custom e-mail notification

                                                                                        Parameters Description
                                                                                        {{REMINDER_NAME}} Reminder name
                                                                                        {{SHEET_NAME}} Sheet name
                                                                                        {{DATE_FIELD_NAME}} Name of remind field
                                                                                        {{REMINDER_DATE}} Remind date
                                                                                        {{DAYS}} "Days" before or after remind date
                                                                                        {{BEFORE_OR_AFTER}} Days "before" or "after" remind date
                                                                                        {{RECORD_LINK}} URL of this record
                                                                                        {{RECORD_SUMMARY}} Summary of this record
                                                                                        {{FIELD ID}} Value of the field specified with Field ID
                                                                                        {{FIELD NAME}} Value of the field specified with the field name. Case sensitive. If there are more than one field with the same field name, use {{FIELD ID}} instead

                                                                                        You can click on Preview button which will show you a demo on how the custom e-mail looks like. If you decide to use our standard template instead, click on Restore to default will discard all the changes you've made. Once the editing completed, remember to save before you exit the pop-up window.

                                                                                        Creating a Custom Automatic E-mail Notification

                                                                                        If you would like to have a customized message upon an action being completed instead of Ragic's default reminder e-mail, please check our documentation on creating an automatic e-mail notification.

                                                                                        6.1    Importing & Exporting

                                                                                        Preparing your Import Files

                                                                                        For Ragic to map your information correctly to entries, you will need to have a unique identification that we call key field, such as "Product ID" for products, or "Customer No." for your customers. To make your database easier to use, let the first column of your import data be this type of key field.

                                                                                        Your file should have the first row as the headers of the fields. If you have other types of formatting such as logos or informational text on your first few rows, for your specific import file, you can remove these and save a version with field headers on the first row.

                                                                                        Ragic supports .xls .xlsx and .csv files. We recommend that you save your file as .csv for the best performance.

                                                                                        To import multiple values for your multiple selection fields, you can format your fields in the file you are importing with a vertical bar character (|) separating your values.

                                                                                        Importing your Data

                                                                                        Ragic has a convenient import wizard for users to import from their existing data from Excel or CSV files. To import from your files to Ragic, you can go to the listing page that you would like to import your data to, and choose Import Data From File under Tools. There will be a step-by-step wizard to guide you through the field mapping process as well as other configurations for the data to import correctly.

                                                                                        Upload your file.

                                                                                        Determine if your first row is the header. If so, Ragic will automatically determine how the data in this row will be mapped to your fields for the next step.

                                                                                        Check to see if all the target fields are correct. This is especially important if you have similar names for two seperate fields. You can also choose to ignore columns of data that you do not want to import. Note that the target field values should also be in the correct formatting, such as the date format. If you're importing into a "select user" field, you will need to have the user's e-mail that's used in Ragic instead of the username that you see to uniquely identify the person.

                                                                                        Choose the import policy to handle duplicated keys during your import. If you choose Create new entry, new entries will be created containing data with the same key values. If you choose Renew data, your existing data will be updated if you have entries with the same key value, and new entries will be created for the key values that aren't in your database. This type of import policy is especially useful when you are doing mass editing.

                                                                                        You can configure Advance Settings in Import Policy as well if necessary.

                                                                                        Advanced Setting Description
                                                                                        Fill in default field values If you have a configured default value in your sheet, please check this box so that the field value will be updated or populated with the import.
                                                                                        Execute link and load If there are sets of link and load configured on your sheet, please check this box to have the loaded fields auto-populated. Otherwise, the loaded fields will be left empty if the field values aren't included in your import file.
                                                                                        Recalculate all formulas Recalculate all formulas during the import.
                                                                                        Execute work-flow Execute work-flow, if any, in your sheet.
                                                                                        Execute not empty check Check if there are field values configured with the "Not Empty" feature. If there is no field value, Ragic will skip that row during the import.
                                                                                        Create detail history Show editing history in entry's information panel.
                                                                                        Execute validation check Check if the field value meets the configured validation . If it doesn't, Ragic will skip that row during the import.

                                                                                        If you're not importing into an existing Ragic sheet, you can also use the Excel or CSV file to create a new sheet as you import. Just choose "Create Form From Excel" in the "Tools" menu instead. This method is explained in detail here.

                                                                                        Creating a New Database Sheet by Importing Data

                                                                                        You can use an Excel or CSV file to create a new sheet as you import your data into Ragic, instead of creating the Ragic sheet first. (If you would prefer to build a Ragic sheet first, please check the normal process of developing Ragic sheets.)

                                                                                        Note. if your Excel file includes some formulas, it can't be auto applied to Ragic sheet when you create a new sheet by importing. You will need to manually add them to your Ragic sheet design. For the list of supported formulas in Ragic, you can refer to here.

                                                                                        You can create a new sheet by clicking on the + sign at the top of your page.

                                                                                        Name your new sheet and check the box Create new sheet with my Excel file. This will take you to the import wizard. The step-by-step wizard will guide you through the field mapping process as well as other configurations for the data to import correctly.

                                                                                        Pick a file from your computer to upload into Ragic.

                                                                                        Ragic supports .xls .xlsx and .csv files. We recommend that you save your file as .csv for the best performance.

                                                                                        For Ragic to map your information correctly to entries, you will need to have a unique identification that we call key field, such as "Product ID" for products, or "Customer No." for your customers. To make your database easier to use, let the first column of your import data be this type of key field.

                                                                                        Determine if your first row is the header. If so, Ragic will automatically determine how the data in this row will be mapped to your fields for the next step.

                                                                                        You can choose an initial field type for each field.

                                                                                        There are many other field types available in Ragic, and you can later edit your fields according to your own requirements.

                                                                                        The last step is to import your data and create your new sheet in Ragic. This step can take up to a few minutes if you have a lot of columns and rows in your spreadsheet.

                                                                                        Congratulations, you have now created your new database sheet in Ragic.

                                                                                        Importing Data into your Existing Subtables

                                                                                        Importing data to your existing subtables should be fairly simple. Firstly, you would have to create a linked form from your subtable. To do this, select New sheet from subtable under the Sheet Linking Tools in the Design Mode.

                                                                                        Apart from containing all the fields in the subtable, the newly created form sheet will contain an additional field named after the sheet containing your subtable. This field will show the main entry that this subtable entry belongs to. You should take care how this data is mapped while importing your data.

                                                                                        Importing to the generated form will populate the subtables in your original sheet according to this linked field.

                                                                                        Exporting your Data

                                                                                        Exporting Options

                                                                                        Ragic has many useful export options, that are accessible from the Tools Menu. Please note that if you're exporting many entries from the listing page with any method, the filter that is applied from searches will have effect on the records that are exported.

                                                                                        Download as Excel or Text Files

                                                                                        You can use the Download as Excel File or Download as Text File feature that could be accessed in the listing page of a form from Tools to export multiple entries.

                                                                                        You can choose if you want to export all fields, or only the fields that are displayed on the listing page from the download configuration, as well as the number of entries you would like to export.

                                                                                        To export one entry, navigate to Tools under the form page instead.

                                                                                        Printer Friendly Option

                                                                                        The Printer Friendly option will display your data in a clear way, ready to print. In the printer friendly configuration, you can choose to print your data as it is displayed on your listing page, or download individual entries as they look like on the form page.

                                                                                        Other Exporting Options

                                                                                        Learn more about the types of reports you can generate in Ragic here.

                                                                                        Our mail merge tool allows you to export your data in a specific excel template that you can upload into Ragic.

                                                                                        You also have the option to backup your entire Ragic database.

                                                                                        Exporting Data from your Subtables

                                                                                        The best way to export data from your subtables is outlined below:

                                                                                        1. Create a new sheet from your subtable with this linking type, this will generate a new sheet with all your subtable values from all of your entries in that subtable, spanning different records.

                                                                                        2. Add other necessary fields If necessary, you can add stand-alone fields from your parent sheet with the link fields from parent sheets method. This way you can export your subtable data with other fields that are related.

                                                                                        3. Export your data from your new sheet Exporting data from the new sheet is just like exporting from a regular sheet.

                                                                                        6.1.1    Mail merge (Export as Word/Excel)

                                                                                        What is Mail Merge?

                                                                                        You can download reports of individual entries in a customized Excel or Word format in Ragic with the mail merge tool.

                                                                                        Creating a Template for Mail Merge

                                                                                        Click Mail Merge under Tools in your listing page.

                                                                                        You can download the template created by Ragic according to your form page design, by clicking the Download button next to Sample Template.

                                                                                        Feel free to make modifications to customize your template in any way you want. You can choose to omit fields if you want, and repeating field values is also possible. Just make sure that you are writing:

                                                                                        <<Field Name>>

                                                                                        where you want to add the field values.

                                                                                        If the field values are in subtables, they can be written as

                                                                                        #Field Name#

                                                                                        in a row.

                                                                                        Note. If you have duplicated field names, and you want to mail merge the data from all these fields (those with same name), you will need to change them with different names, in order to let system map the fields correctly while downloading your data by mail merge.

                                                                                        In the example above, Microsoft Excel is used to edit the template, but basically any type of spreadsheet application would work as long as you are able to save your spreadsheet with .xlsx format.

                                                                                        If you need a text document instead, you can create a template directly in a text editor application such as Microsoft Word. The field values would be formatted like the above. Save the text document with the .docx format. Please note that some elements like text boxes are not supported for variables yet.

                                                                                        If you need to mail merge the subtable records, it's currently only supported with Excel.

                                                                                        After you're done with designing your template, upload this report template to your sheet by clicking on Create a template on the mail merge configuration.

                                                                                        You can name and save your uploaded template here (don't forget to click Upload to save).

                                                                                        You can upload as many report templates as you want.

                                                                                        Download Reports Formatted with your Template

                                                                                        Clicking the Mail Merge button next to your report name when you would like to generate reports from the data in your database will take you to an option that displays the number of entries you would like to download with the mail merge template applied.

                                                                                        The reports will then be downloaded to your computer in a .zip file. If a filter is applied to your listing page, only the filtered records will be mail merged.

                                                                                        This would be how a single report looks with the uploaded template example above:

                                                                                        Here are other examples, with an image field included:

                                                                                        Video Tutorial

                                                                                        Please view the video below for a step-by-step tutorial:

                                                                                        6.1.2    Publish to The Web

                                                                                        Publishing to the Web

                                                                                        If you want to send an Excel file of your records to others with a link to other people to allow them to download the file directly, you can use our export feature Publish to The Web.

                                                                                        To use the Publish to the Web feature, navigate to Listing page > Tools > Publish to The Web under the Export section.

                                                                                        When you publish to the web, you will need to configure the correct access rights for the user group EVERYONE, in order to let others download records of this sheet. Keep in mind that configuring the EVERYONE user group is directly related to configuring access rights to the public for your sheet.

                                                                                        If you haven't made your sheet public through the access rights settings, you will be prompted to Set access right of group EVERYONE to Viewer. This will make this sheet public to everyone, but they still won't be able to create or edit any records. You can change the access right any time.

                                                                                        Once you finish using Publish to The Web and would like to stop publishing, you can configure the access right for user group EVERYONE to No Rights or Survey User through the panel of this feature without navigating to the Design Mode.

                                                                                        Using Publish to the Web

                                                                                        You can share the links you have generated with the Publish to the Web tool directly to allow others to download data in different formats.

                                                                                        You may also import your data with third party tools that allow you to import from a URL.

                                                                                        Example: Google Sheets

                                                                                        In the example below, we're using Google Sheets to further analyze our data.

                                                                                        You can view the example Ragic database here, and the example Google Sheet here.

                                                                                        Using the IMPORTDATA formula with the .csv format, we can import data into our spreadsheet from our Ragic database sheet.

                                                                                        Using this data, we can create charts with different criteria using the Charts tool.

                                                                                        This pivot table was created by selecting the range of data on the spreadsheet, and navigating to Data > Pivot Table.

                                                                                        Using the Report Editor menu, we can use multiple criteria to group fields, and display values accordingly. On our example, since we can use different criteria and stack them within the pivot table, we're able to group our products in our example under different product categories.

                                                                                        More information about pivot tables on Google Sheets can be found here.

                                                                                        6.1.3    Import your file from URL

                                                                                        If you have a spreadsheet file that is updated periodically, you can have Ragic import this file from a URL and automatically update your records within your Ragic sheet with Import your file from URL. You can choose to keep your data synchronized from the URL.

                                                                                        In order to import your file from a URL, please make sure that you uploaded file is formatted correctly. Similar to the Ragic import process, you'll need to prepare your import files with the first row as the headers of the fields, and the other rows as the corresponding values.

                                                                                        Once you have your import file ready, please make sure that you are hosting your file online. Some online spreadsheet applications such as Google sheets will also let you publish your sheets to the web, which will give you the URL link to your file that you can use for the import process. Please make sure that the link is for downloading as .csv or .xlsx file.

                                                                                        Navigate to the Tools menu on your form, and select Import File From URL under Import.

                                                                                        Enter your file URL to the import process, and select your file type. You can use .csv, .xlsx, .xls, and .txt files with this import process. Please use the full URL to do the import, which should include the Protocol (http:// or https://)

                                                                                        If you check the option Keep data synchronized from the URL, Ragic will automatically import data from your file hosted on the URL every day. The data on your sheet will be overwritten by the imported data if you do select this option.

                                                                                        Follow the import wizard through the next few steps. Determine if your first row is the header. If so, Ragic will automatically determine how the data in this row will be mapped to your fields for the next step.

                                                                                        Check to see if all the target fields are correct. This is especially important if you have similar names for two separate fields. You can also choose to ignore columns of data that you do not want to import. Note that the target field values should also be in the correct formatting, such as the date format. If you're importing into a "select user" field, you will need to have the user's e-mail that's used in Ragic instead of the username that you see to uniquely identify the person.

                                                                                        Choose the import policy to handle duplicated keys during your import. If you choose Create new entry, new entries will be created containing data with the same key values. If you choose Renew data, your existing data will be updated if you have entries with the same key value, and new entries will be created for the key values that aren't in your database.

                                                                                        You can configure Advanced Settings in the Import Policy if necessary.

                                                                                        Ragic will import your data from the hosted file, and update records accordingly if you've selected the option to keep data in sync with your hosted file.

                                                                                        6.2    Embedding on your website

                                                                                        1. What are Website Plug-ins?

                                                                                        Ragic applications come with a variety of useful Website Plug-ins that could be embedded on your website, or sent as a separate link to others. These website plug-ins become available automatically as you create the sheets in your applications.

                                                                                        This means that you could embed forms to your website that will be stored in your database once they are submitted, or give access to your customers and clients to search your database, or even view your entire database.

                                                                                        2. Embedding your Database with the Web Embed Tool

                                                                                        To view the website plug-ins that are available, click on the Tools menu on either the listing page or form page, and select Embed This Sheet under Share in the menu.

                                                                                        Here you can choose from five types of plug-ins that are offered.

                                                                                        After following the steps in the wizard, Ragic will give you an HTML code snippet that you can copy & paste to the place where you want to embed the plug-in on your website. You will also see a form link for you to simply send out to directly use the plug-in as a standalone page.

                                                                                        Ragic also supports embedding on wordpress with a wordpress plug-in.

                                                                                        3. Types of Website Plug-ins

                                                                                        Deciding on how your viewers will be viewing your database is the key when choosing which type of website plug-in to use. Here is a condensed guide to choosing the correct plug-in depending on your purposes (click on the plug-in name for more information).

                                                                                        Name Purpose
                                                                                        3.1. Database Viewer A simple listing of all your entries in your sheet that your website user has access to, with three different layouts to choose from.
                                                                                        3.2. Database Query Displays query fields that allows users to create queries to search for entries in your database.
                                                                                        3.3. Database Form Displays a blank database entry form that will allow users to submit forms, that will be saved as a record in your database.
                                                                                        3.4. Database Search Displays a search engine box that will enable keyword searches for entries in your database sheet.
                                                                                        3.5. Raw Embed Embeds your database in an iframe with the Ragic UI you see on your account

                                                                                        Once you choose the type of the website plug-in, you may also tune the layout of your embedded forms with custom CSS.

                                                                                        3.1. Database Viewer

                                                                                        The database viewer is a simple listing of all the entries that your website user has access to. You can grant access to your entries with Ragic's access rights, which also gives you the option to make the entire database public if needed.

                                                                                        You can configure different types of layouts listed below on the first step after picking "Database Viewer" as your web embed type.

                                                                                        Just like the listing page - form page transition, your viewers would be able to click on the entries to view the more detailed form page.

                                                                                        3.1.1. Database Viewer Layout Types

                                                                                        The table layout shows your records with a bare-bones list, which is displayed according to how you display your listing page.

                                                                                        The block layout has a little more flexibility, it will display your records in rows according to the fields you would like to pick in this configuration. Simply hover on the fields that are displayed in the preview to change the field that is mapped to.

                                                                                        The album layout is suitable if you have images in your database. This layout shows an image as a thumbnail, and your records will be arranged in a grid. Like the block layout, you can hover on the fields that are displayed to change the fields they are mapped to.

                                                                                        3.2. Database Query

                                                                                        The database query form allows your users to query your Ragic database with the criteria available for each field you decide to add.

                                                                                        You can pick which query fields will be shown as default, as well as the order you would like the fields to appear in, on the configuration page. To do so, click "Set Default Query Field"

                                                                                        The query fields will be displayed in accordance to the field types in your sheet. For example, if your field is a selection field, the query form can show multiple selection options in a dropdown menu so that the query can be made in multiple categories.

                                                                                        After the query is submitted, users of your form will be able to view records that fit into their query criteria with the database viewer layout type you pick in the next step.

                                                                                        Just like the listing page - form page transition, your viewers would be able to click on the entries to view the more detailed form page.

                                                                                        3.3. Database Form

                                                                                        The database form gives you the option to embed a form that your users can fill. The forms will automatically be saved as entries in your database when submitted by your users.

                                                                                        You can slightly tune the way your form is displayed for some field types, such as selection fields. Clicking on the "change type" text on the bottom of fields in the configuration will switch a selection field from a dropdown menu to radio buttons.

                                                                                        3.4. Database Search

                                                                                        This search engine box will allow your users to search your Ragic database with keywords.

                                                                                        The search results will be displayed similarly to the database viewer with the criteria that was entered. After the search is submitted, users of your form will be able to view records that fit into their query criteria with the database viewer layout type you pick in the next step.

                                                                                        Just like the listing page - form page transition, your viewers would be able to click on the entries to view the more detailed form page.

                                                                                        3.5. Raw Embed

                                                                                        Embed the exact same spreadsheet UI you see on Ragic with an iframe on your website. This is not a bare-bones HTML form or list, so it will be different from the other embedding options. Users will need to log in to your account if you don't have public sheets set up.

                                                                                        On your settings, you will have the options of defaulting to create a new entry or not, show the search sidebar, and show the top form buttons to users.

                                                                                        After setting up, you can copy and paste the embed code and use it to embed Ragic on your website.

                                                                                        4. Access Rights

                                                                                        One great advantage of using the Web plug-in is that you do not need to purchase user licenses for users of the Web plug-in if your sheets are set as public (except for the raw embed).

                                                                                        On the other hand, if you didn't set your sheets as public while using Web plug-ins, visitors will see a log in page if they are not logged in.

                                                                                        6.3    Calendar Sync

                                                                                        You can add your event data from Ragic database sheet to your calendar applications with more information like title, description, and duration with beginning and ending date & time.

                                                                                        To do this, navigate to the Calendar Sync option found under Tools

                                                                                        Configure the timezone for your Calendar sync, and select the fields you would like to add to your calendar like Start Date (required), Start time, End Date, and End time, Title, Description, and the Location of a event from the pop-up menu, you can create another set by clicking plus button if needed. (You can also select subtable fields if the events data you would like to sync is in subtable.)

                                                                                        Obtain your iCalendar URL from the button below, and follow the instructions to add these dates to your favorite calendar application.

                                                                                        Ragic's calendar feature is supported on major calendar applications, including iCal, Google Calendar, IBM Lotus Notes, and Microsoft Outlook, which means that you'll be able to track the important dates within your Ragic database from all devices.

                                                                                        Below is the result of Calendar sync with Google calendar:

                                                                                        You can also refer to this topic about how to force refresh Google Calendar.

                                                                                        6.4    Zapier Integration

                                                                                        x
                                                                                        Integrating Ragic with your other Apps on Zapier

                                                                                        Gain beta access

                                                                                        Create a zap

                                                                                        Example: Ragic + Trello

                                                                                        Gain beta access

                                                                                        Zapier lets you easily connect the web apps you use, making it easy to automate tedious tasks. Ragic's Zapier integration is currently under beta testing. If you'd like to join in to use Ragic as a trigger or action application, you can gain beta access for your Ragic sheets by navigating to the Tools menu, and selecting Sync with your web app under the Sync section.

                                                                                        Alternatively, you can also click here to gain access to use Ragic on Zapier.

                                                                                        Create a zap with Ragic and the app you want to integrate with.

                                                                                        Log into your zapier account (or create an account if you don't have one yet.) Click "Make a new Zap" to get started on your integration.

                                                                                        You should be able to see Ragic in the available apps (if you haven't requested beta access to Ragic on zapier, check the previous section).

                                                                                        Ragic can be used as either a trigger or an action on Zapier for creating entries.

                                                                                        Example: Ragic + Trello

                                                                                        In this example, when a new record is created in Ragic for a project task, a new card for this task will be created in Trello, a team collaboration tool. The possibilities are endless with all the available apps that have Zapier integration.

                                                                                        If you're doing an integration with an app on Zapier for the first time, you'll need to connect the apps you use to allow Zapier access to read and write data.

                                                                                        In Ragic's case, you'll need to connect the API Key and Sheet Path. These can be found on your Ragic API page, which will be linked from Zapier in this step.

                                                                                        Since you can have many different apps on your Ragic account in different sheets, make sure that you are connecting the correct sheet path.

                                                                                        Once you have connected your accounts, you can continue on with the next step.

                                                                                        The steps that Zapier offers for integration might differ according to the app combination you are creating. Usually, you will need to map which fields correspond to each other.

                                                                                        Tip: Since the fields available on Ragic differs depending on your sheet design, you can always go back to design your sheet if you would like to make modifications, such as adding extra fields if necessary. Zapier will save the zap you are editing as a draft.

                                                                                        Once you have mapped all the necessary fields, you will be able to test and view samples from each app you are using.

                                                                                        Once you have finished linking your apps together, you can name your Zap which will automate actions that you have specified according to your settings, in the timeframe that is specified depending on your Zapier account.

                                                                                        In this example, Zapier would automatically check for new Ragic records in our Project tasks sheet every 5 minutes, and will post them to Trello if there are new records with no further action required from the user.

                                                                                          

                                                                                        7    Reports

                                                                                        Types of Reports in Ragic

                                                                                        Ragic has a few types of reports that you can generate from the data you have in your Ragic sheets, and save to your account.

                                                                                        Dashboard Report

                                                                                        Ranking Report

                                                                                        Pivot Table

                                                                                        Calendar Report

                                                                                        To do list

                                                                                        Label Maker

                                                                                        Address Mapping

                                                                                        Line Graph

                                                                                        Mail Merge

                                                                                        Saving Reports

                                                                                        You can save your reports that you generate often to the by clicking the Save as a report button that comes up on the right side when you generate a report.

                                                                                        You can also save as a pdf file or print your report by clicking the print icon on the right side.

                                                                                        You can find your saved reports under the Reports tab for easy access.

                                                                                        Filtering Reports With Views

                                                                                        Your report will be generated according to the filter you have applied, but you can also generate reports for a certain shared view to display results within a different filtered criteria. You can change the applied view within the report, from the top-right side.

                                                                                        If a fixed filter view is applied to your sheet, the report will display results accordingly.

                                                                                        Report Embed

                                                                                        Ragic applications provide you with a tool to embed reports on your website. Alternatively, reports can be sent as a separate link to others.

                                                                                        The report embed tool can be found by clicking the </> icon in the upper right corner on any report.

                                                                                        7.1    Dashboard report

                                                                                        Generating a Dashboard Report

                                                                                        You can find Reports on the right side of your listing page or create report from the tab.

                                                                                        The Reports tab will display reports that you have saved, and an option to create new reports in your account.

                                                                                        Ragic can analyze your data to generate a quick dashboard.

                                                                                        The Dashboard Report will show you the total and average values for fields containing numbers, as well as a number of comparison charts below.

                                                                                        You can change which criteria the bar charts are displayed in (total vs. average) when applicable, by clicking on the drop-down menu displayed next to the headers, which are generated according to your field names.

                                                                                        Saving your Report

                                                                                        If you generate the same dashboard report often, you can save your report by clicking the Save as a report button that comes up on the right side when you generate a report.

                                                                                        Printing or Saving your Report as a PDF

                                                                                        You can also save as a pdf file or print your report by clicking the print icon on the right side.

                                                                                        Viewing Saved Reports

                                                                                        You can find your saved reports under the Reports tab for easy access.

                                                                                        Filtering your Report with Views

                                                                                        Your report will be generated according to the filter you have applied, but you can also generate reports for a certain shared view to display results within a different filtered criteria.

                                                                                        If a fixed filter view is applied to your sheet, the report will display results accordingly.

                                                                                        Report Embed

                                                                                        Ragic applications provide you with a tool to embed reports on your website. Alternatively, reports can be sent as a separate link to others.

                                                                                        The report embed tool can be found by clicking the </> icon in the upper right corner on any report.

                                                                                        7.2    Ranking report

                                                                                        Generating a Ranking Report

                                                                                        You can find Reports on the right side of your listing page or create report from the tab.

                                                                                        The Reports tab will display reports that you have saved, and an option to create new reports in your account.

                                                                                        Ragic can analyze your data to generate a ranking report with the numerical fields in your database. Just determine the field and values to sort, and Ragic will automatically calculate the differences in total, and the differences by timeframe, as well as the percentage.

                                                                                        Configurations for Ranking Reports

                                                                                        Below is a chart of the configurations you can make on your ranking report.

                                                                                        Option Description Optional?
                                                                                        Date Range Pick a month as a date range. You also have the option to choose "All time". Optional
                                                                                        Date Field Choose a date field in your sheet for Ragic to analyze. Mandatory
                                                                                        Rank Field Pick a field that Ragic should rank according to values. Mandatory
                                                                                        Value Field Pick a number field that should be analyzed aggregated by the record's value in the Rank Field. Ragic will show you the total and changes compared with the past time period. Mandatory

                                                                                        Saving your Report

                                                                                        If you generate the same ranking report often, you can save your report by clicking the Save as a report button that comes up on the right side when you generate a report.

                                                                                        Printing or Saving your Report as a PDF

                                                                                        You can also save as a pdf file or print your report by clicking the print icon on the right side.

                                                                                        Viewing Saved Reports

                                                                                        You can find your saved reports under the Reports tab for easy access.

                                                                                        Filtering your Report with Views

                                                                                        Your report will be generated according to the filter you have applied, but you can also generate reports for a certain shared view to display results within a different filtered criteria.

                                                                                        If a fixed filter view is applied to your sheet, the report will display results accordingly.

                                                                                        Report Embed

                                                                                        Ragic applications provide you with a tool to embed reports on your website. Alternatively, reports can be sent as a separate link to others.

                                                                                        The report embed tool can be found by clicking the </> icon in the upper right corner on any report.

                                                                                        7.3    Pivot table

                                                                                        Generating a Pivot Table

                                                                                        You can find Reports on the right side of your listing page or create report from the tab.

                                                                                        The Reports tab will display reports that you have saved, and an option to create new reports in your account.

                                                                                        Ragic can analyze your data to generate a pivot table with the numerical fields in your database according to the criteria you choose. You can change the column field and row field to create the report you need, and Ragic will automatically calculate the total values according to your settings.

                                                                                        Configurations for Pivot Tables

                                                                                        Below is a chart of the configurations you can make on your pivot table report.

                                                                                        Option Description Optional?
                                                                                        Value Field Pick a numeric field that Ragic should analyze according to the column and row labels. Mandatory
                                                                                        Row Labels Pick a field that Ragic should display numeric values for. Mandatory
                                                                                        Column Labels Pick a field that Ragic should display numeric values for. Mandatory

                                                                                        Check the box "Hide zero values" if you would like to hide zeros on the Pivot Table report. This will display a blank space instead.

                                                                                        Saving your Report

                                                                                        If you generate the same pivot table report often, you can save your report by clicking the Save as a report button that comes up on the right side when you generate a report.

                                                                                        Printing or Saving your Report as a PDF

                                                                                        You can also save as a pdf file or print your report by clicking the print icon on the right side.

                                                                                        Viewing Saved Reports

                                                                                        You can find your saved reports under the Reports tab for easy access.

                                                                                        Filtering your Report with Views

                                                                                        Your report will be generated according to the filter you have applied, but you can also generate reports for a certain shared view to display results within a different filtered criteria.

                                                                                        If a fixed filter view is applied to your sheet, the report will display results accordingly.

                                                                                        Report Embed

                                                                                        Ragic applications provide you with a tool to embed reports on your website. Alternatively, reports can be sent as a separate link to others.

                                                                                        The report embed tool can be found by clicking the </> icon in the upper right corner on any report.

                                                                                        7.4    Calendar Report

                                                                                        Generating a Calendar Report

                                                                                        You can find Reports on the right side of your listing page or create report from the tab.

                                                                                        The Reports tab will display reports that you have saved, and an option to create new reports in your account.

                                                                                        Ragic can analyze your data in a form that has two date fields, to generate a Calendar Report according to the criteria you choose. Configuring a start and end date for certain events or tasks, and determining which field should be used as a title for the label is required.

                                                                                        Different Calendar Report Views

                                                                                        You can view your calendar in a Monthly, Weekly, or Daily view.

                                                                                        It's recommended to use a date format that includes hours for the weekly and daily views.

                                                                                        The monthly view is ideal for tasks that may span a few days.

                                                                                        The weekly view is ideal to view weekly tasks or shifts, taking advantage of the date formatting with hours.

                                                                                        The daily view is ideal to view a quick overview of the days' tasks.

                                                                                        Saving your Report

                                                                                        If you generate the same calendar from your form often, you can save your report by clicking the Save as a report button that comes up on the right side when you generate a report.

                                                                                        Printing or Saving your Report as a PDF

                                                                                        You can also save as a pdf file or print your report by clicking the print icon on the right side.

                                                                                        Viewing Saved Reports

                                                                                        You can find your saved reports under the Reports tab for easy access.

                                                                                        Filtering your Report with Views

                                                                                        Your report will be generated according to the filter you have applied, but you can also generate reports for a certain shared view to display results within a different filtered criteria.

                                                                                        If a fixed filter view is applied to your sheet, the report will display results accordingly.

                                                                                        Report Embed

                                                                                        Ragic applications provide you with a tool to embed reports on your website. Alternatively, reports can be sent as a separate link to others.

                                                                                        The report embed tool can be found by clicking the </> icon in the upper right corner on any report.

                                                                                        7.5    To do list

                                                                                        Creating a To-do List

                                                                                        You can find Reports on the right side of your listing page or create report from the tab.

                                                                                        The Reports tab will display reports that you have saved, and an option to create new reports in your account.

                                                                                        You can create a to-do list with your records in Ragic.

                                                                                        You'll need to have at least one empty date field, in order to record a finished date of a task in your to-do list.

                                                                                        Using your To-do List

                                                                                        You can check fields off with the checkbox as you complete tasks, the current date will be automatically saved in your empty date field in your database when you do so.

                                                                                        The next time you're in your to-do list, your checked off tasks will not appear.

                                                                                        Saving your Report

                                                                                        If you will use the same to do list often, you can save your report by clicking the Save as a report button that comes up on the right side when you generate a report.

                                                                                        Printing or Saving your Report as a PDF

                                                                                        You can also save as a pdf file or print your report by clicking the print icon on the right side.

                                                                                        Viewing Saved Reports

                                                                                        You can find your saved reports under the Reports tab for easy access.

                                                                                        Filtering your Report with Views

                                                                                        Your report will be generated according to the filter you have applied, but you can also generate reports for a certain shared view to display results within a different filtered criteria.

                                                                                        If a fixed filter view is applied to your sheet, the report will display results accordingly.

                                                                                        Report Embed

                                                                                        Ragic applications provide you with a tool to embed reports on your website. Alternatively, reports can be sent as a separate link to others.

                                                                                        The report embed tool can be found by clicking the </> icon in the upper right corner on any report.

                                                                                        7.6    Label maker

                                                                                        Generating Labels from your Data

                                                                                        You can find Reports on the right side of your listing page or create report from the tab.

                                                                                        The Reports tab will display reports that you have saved, and an option to create new reports in your account.

                                                                                        You can generate simple labels for a specified field for all your entries on a sheet with the label maker report with Ragic.

                                                                                        You can change some of the styling of the labels such as the font size, and label width and height.

                                                                                        Printing your Labels

                                                                                        These labels can easily be printed by clicking on the printer icon on the top-right corner.

                                                                                        Configurations for the Label Maker Report

                                                                                        Below is a chart of the configurations you can make on your label maker report.

                                                                                        Option Description Optional?
                                                                                        Label Field Pick a field on your Ragic sheet so that Ragic can display the values in this field as a label. Mandatory
                                                                                        Font Size Enter the desired font size for your label content. Optional
                                                                                        Width Enter the desired label width. Optional
                                                                                        Height Enter the desired label height. Optional

                                                                                        Saving your Report

                                                                                        If you generate the same labels often, you can save your report by clicking the Save as a report button that comes up on the right side when you generate a report.

                                                                                        Saving your Report as a PDF

                                                                                        You can also save as a pdf file or print your report by clicking the print icon on the right side.

                                                                                        Viewing Saved Reports

                                                                                        You can find your saved reports under the Reports tab for easy access.

                                                                                        Filtering your Report with Views

                                                                                        Your report will be generated according to the filter you have applied, but you can also generate reports for a certain shared view to display results within a different filtered criteria.

                                                                                        If a fixed filter view is applied to your sheet, the report will display results accordingly.

                                                                                        Report Embed

                                                                                        Ragic applications provide you with a tool to embed reports on your website. Alternatively, reports can be sent as a separate link to others.

                                                                                        The report embed tool can be found by clicking the </> icon in the upper right corner on any report.

                                                                                        7.7    Address mapping

                                                                                        Generating a Map for Address Mapping

                                                                                        You can find Reports on the right side of your listing page or create report from the tab.

                                                                                        The Reports tab will display reports that you have saved, and an option to create new reports in your account.

                                                                                        If you have an address field in your database sheet, you can generate a report with Ragic to show all records on a map. Just pick a label field and the map will show you where these addresses are.

                                                                                        To display the addresses next to the label field, check the box If show address.

                                                                                        Saving your Report

                                                                                        If you generate the same address mapping report often, you can save your report by clicking the Save as a report button that comes up on the right side when you generate a report.

                                                                                        Printing or Saving your Report as a PDF

                                                                                        You can also save as a pdf file or print your report by clicking the print icon on the right side.

                                                                                        Viewing Saved Reports

                                                                                        You can find your saved reports under the Reports tab for easy access.

                                                                                        Filtering your Report with Views

                                                                                        Your report will be generated according to the filter you have applied, but you can also generate reports for a certain shared view to display results within a different filtered criteria.

                                                                                        If a fixed filter view is applied to your sheet, the report will display results accordingly.

                                                                                        Report Embed

                                                                                        Ragic applications provide you with a tool to embed reports on your website. Alternatively, reports can be sent as a separate link to others.

                                                                                        The report embed tool can be found by clicking the </> icon in the upper right corner on any report.

                                                                                        7.8    Line graph

                                                                                        Generating a Line Graph

                                                                                        You can find Reports on the right side of your listing page or create report from the tab.

                                                                                        The Reports tab will display reports that you have saved, and an option to create new reports in your account.

                                                                                        Ragic can analyze your data to generate a line graph.

                                                                                        You have the option to pick a certain field to graph out, choose a criteria, and also choose a date field or a date criteria that Ragic records, as well as the timeframe in which your line graph will be drawn. You can change these anytime while viewing your report.

                                                                                        The legends that are determined with the field you are sorting by can be turned off and on below the graph.

                                                                                        Configurations for Line Graphs

                                                                                        Below is a chart of the configurations you can make on your line graph.

                                                                                        Option Description Optional?
                                                                                        Breakdown Field Pick a field that has options to analyze as a source field. If not picked, Ragic will analyze the number of records by time on your sheet. Ex: in the screenshot above, the breakdown is made according to the status of entries. Mandatory
                                                                                        Value field Pick a criteria so that Ragic can analyze your data, if not picked Ragic will use the # of Records. Optional
                                                                                        Date field Choose a date field as an axis field to analyze your data with, if not picked, Ragic will use the creation date of your records. Optional
                                                                                        Timeframe duration Choose a timeframe (day, week, or month) to view your graph. Optional

                                                                                        Saving your Report

                                                                                        If you generate the same line graph report often, you can save your report by clicking the Save as a report button that comes up on the right side when you generate a report.

                                                                                        Printing or Saving your Report as a PDF

                                                                                        You can also save as a pdf file or print your report by clicking the print icon on the right side.

                                                                                        Viewing Saved Reports

                                                                                        You can find your saved reports under the Reports tab for easy access.

                                                                                        Filtering your Report with Views

                                                                                        Your report will be generated according to the filter you have applied, but you can also generate reports for a certain shared view to display results within a different filtered criteria.

                                                                                        If a fixed filter view is applied to your sheet, the report will display results accordingly.

                                                                                        Report Embed

                                                                                        Ragic applications provide you with a tool to embed reports on your website. Alternatively, reports can be sent as a separate link to others.

                                                                                        The report embed tool can be found by clicking the </> icon in the upper right corner on any report.

                                                                                        7.9    Grouping report

                                                                                        Generating a grouping report

                                                                                        You can find Reports on the right side of your listing page or create report from the tab.

                                                                                        The Reports tab will display reports that you have saved, and an option to create new reports in your account.

                                                                                        Ragic can analyze your data to generate a grouping report.

                                                                                        The report will be generated based on the selected Grouping fields. You can click on the plus icon to add more than one field. Note that the sequence of your grouping fields will effect the grouping result.

                                                                                        Saving your Report

                                                                                        If you generate the same grouping report often, you can save your report by clicking the Save as a report button that comes up on the right side when you generate a report.

                                                                                        Printing or Saving your Report as a PDF

                                                                                        You can also save as a pdf file or print your report by clicking the print icon on the right side.

                                                                                        Viewing Saved Reports

                                                                                        You can find your saved reports under the Reports tab for easy access.

                                                                                        Filtering your Report with Views

                                                                                        Your report will be generated according to the filter you have applied, but you can also generate reports for a certain shared view to display results within a different filtered criteria.

                                                                                        If a fixed filter view is applied to your sheet, the report will display results accordingly.

                                                                                        Report Embed

                                                                                        Ragic applications provide you with a tool to embed reports on your website. Alternatively, reports can be sent as a separate link to others.

                                                                                        The report embed tool can be found by clicking the </> icon in the upper right corner on any report.

                                                                                        8.1    HTTP API integration

                                                                                        Ragic's HTTP API is basically a RESTful API to read or write data to your Ragic database with programs. This way, you can integrate Ragic with the application you're already running and create customized reports.

                                                                                        For more information, please see the Ragic HTTP API Integration Guide.

                                                                                        8.2    Javascript workflow engine

                                                                                        All forms can trigger Ragic's server-side Javascript workflow engine to execute complex business logic, such as calculating costs and posting inventory balance. Basically, any complex business logic that you would like to execute but cannot be covered by Ragic's existing functions can be covered by server-side scripting.

                                                                                        What does Javascript Workflow do?

                                                                                        Ragic's spreadsheet design interface can handle most of your data management work, such as creating, editing, and querying records without much problem. On the other hand, manual data maintenance can be a bit time consuming and routine after a while. This is the time when Ragic users will start thinking of ways to automate these processes.

                                                                                        Inside Ragic, there is a pretty powerful scripting engine where you can write Javascript that runs on the server-side, to retrieve data you have on your spreadsheet, make modifications, or even create many records with one click. Typical usage includes updating inventory, creating a new record based on another (creating a sales order from a quote, creating contact from a sales lead), or doing record validation based on database data.

                                                                                        Types of Javascript Workflow

                                                                                        There are several ways to run your Javascript workflow:

                                                                                        Action Button

                                                                                        This is the most common and cleanest way to run Javascript workflow, and generally our first recommendataion. You can write your script in the installed sheet scope of your sheet, and configure an action button to execute the script when the user clicks on the button that will be displayed in the "Actions" panel in the lower right side.

                                                                                        To add an installed sheet scope script, just right click on a sheet, and choose Javascript Workflow:

                                                                                        And choose installed sheet scope from the top dropdown:

                                                                                        You can then go to the form page of your sheet design, and add an Action Button of the type JS Workflow, and refer to the Javascript function that you have written.

                                                                                        Note that you can pass the record id of the current record by using {id} in the argument for the function call like:

                                                                                        setStatus({id})

                                                                                        Of course, we will talk more about how to write these functions in the following sections.

                                                                                        Post-workflow

                                                                                        Post-workflows are executed immediately after a record is saved. With post-workflow, it's very convenient to automate changes that you would like to make on the record that you just saved that cannot be done with formulas. Or you can make modifications to records on other related sheets, like updating inventory balance.

                                                                                        To add a post-workflow, just right click on a sheet, and choose Javascript Workflow:

                                                                                        And choose Post-workflow from the top dropdown.

                                                                                        Pre-workflow

                                                                                        Pre-workflows are executed before a record is saved, so it can be used as a way of validation to check the data entered against data in the database. Generally most validation can be done with our front-end regular expression checks, or the unique checkbox for free text fields. But for more complex backend checks, sometimes pre-workflow will be needed.

                                                                                        To add a pre-workflow, just right click on a sheet, and choose Javascript Workflow:

                                                                                        And choose Pre-workflow from the top dropdown.

                                                                                        Daily Workflow

                                                                                        Daily workflow runs on a daily basis. It's useful for doing modifications that needs to be refreshed every day. Like updating the results of the formulas based on the current date.

                                                                                        To add a daily workflow, just right click on a tab, and choose Global Javascript Workflow:

                                                                                        And choose Daily Workflow at the first top dropdown.

                                                                                        By default, daily workflow runs at 19:00 UTC. You can change the execution time and time zone in Company Setting:

                                                                                        1. Go to Account Setup

                                                                                        2. Click Company Setting

                                                                                        3. Select Company Local Time Zone and Daily Workflow Execution Time and save.

                                                                                        If your Company Setting does not have Company Local Time Zone and Daily Workflow Execution Time, please contact us to update it for you.

                                                                                        Global Workflow

                                                                                        Global workflow is a place where you can write Javascript workflow modules that other workflow functions can reference. It will not be exeucted by itself, but can be referenced in any types of the workflow listed above. It's a great place to put scripts that you might need to duplicate across multiple sheets otherwise.

                                                                                        To add a global workflow, just right click on a tab, and choose Global Javascript Workflow:

                                                                                        Get Record

                                                                                        There are two different ways to get the current record:

                                                                                        Action Button

                                                                                        If you added the action button in form page, you can pass a parameter {id} which is the id of record where you click action button to functions in workflow. You can see the example at Types of Javascript Workflow -> Action Button.

                                                                                        Pre-workflow and Post-workflow

                                                                                        You can get record id by:

                                                                                        var recordId = param.getNewNodeId(key_field_id_of_form);

                                                                                        param is a predefined variable, you can use it in pre-workflow and post-workflow.


                                                                                        After you get the record id, this is how you get the record (entry):

                                                                                        var query = db.getAPIQuery(path_of_form);

                                                                                        var entry = query.getAPIEntry(id);

                                                                                        There is more introduction about how to update record in following section.

                                                                                        Record Update

                                                                                        Link to example

                                                                                        Let's start with a simple example which retrieves the current record as an object, update its value with a button, and then saves it back to the database. Here is what the demo form looks like:

                                                                                        We would like to design some buttons that will change the value of our status field with the click of a button executing simple server-side Javascript workflow. Here's the code behind the button:

                                                                                        /**

                                                                                        * AP_Name:wfdemo

                                                                                        * Key Field: 1000013

                                                                                        * Name ID

                                                                                        * - - - - - - - - - - - --------

                                                                                        * No. : 1000011

                                                                                        * Status : 1000012

                                                                                        */

                                                                                        function setStatus(recordId, status) {

                                                                                        var STATUS_FIELD = 1000012; //field id of the status field

                                                                                        var query = db.getAPIQuery("/workflow-demo/2"); //get the query object for a sheet with path to sheet

                                                                                        var entry = query.getAPIEntry(recordId); //get the record object for the current record

                                                                                        //set the status value for the current record to the object

                                                                                        if (status) {

                                                                                        entry.setFieldValue(STATUS_FIELD, status);

                                                                                        }

                                                                                        else {//for switching

                                                                                        var newStatus = entry.getFieldValue(STATUS_FIELD) == 'On' ? 'Off' : 'On'; //get the current value of a field

                                                                                        entry.setFieldValue(STATUS_FIELD, newStatus);

                                                                                        }

                                                                                        //save the record back to the database

                                                                                        entry.save();

                                                                                        }

                                                                                        When writing Javascript workflow, the variable db is predefined. You can reference to it anywhere. Generally we call the method getAPIQuery(pathName) to retrieve the query object for a sheet.

                                                                                        Then you can retrieve a record with its record id on the sheet object with getAPIEntry(recordId), and call setFieldValue(fieldId,value) to set value to a field, or getFieldValue(fieldId) to retrieve value from a record.

                                                                                        Please note that when adding date values, it must be in one of the following formats:

                                                                                        yyyy/MM/dd

                                                                                        yyyy/MM/dd HH:mm:ss

                                                                                        HH:mm:ss

                                                                                        If you're retrieving a value from a multiple selection field, where there may be multiple values, use getFieldValues(fieldId) to retrieve all the values in an array. You can also call setFieldValue(fieldId,value,true) with an extra true argument at the end to specify that you're "adding" an option to the current list of values, not overwriting the existing ones. Note that these operations is only suitable for multiple selection fields.

                                                                                        After you're done, just call save() on the record object to save it back to the database.

                                                                                        Subtables

                                                                                        Link to example

                                                                                        If you have subtables in a sheet, you can also use our API to retrieve data from it, or make edits like the following example. The form looks like this:

                                                                                        The workflow will walk through each row in the subtable, and find the total amount for this year (according to date field in the subtable), the total for the year with the most amount, and identify which year has the highest total. This is designed as a post-workflow, so the three read-only fields will be filled by workflow after the record is saved.

                                                                                        /**

                                                                                        * AP_Name:wfdemo

                                                                                        * Key Field: 1000006

                                                                                        * Date subtable key: 1000007

                                                                                        * Field Name Field Id

                                                                                        * - - - - - - - - - - - --------

                                                                                        * No. : 1000001

                                                                                        * Name : 1000002

                                                                                        * Date : 1000003

                                                                                        * Amout : 1000004

                                                                                        * Total of This Year : 1000010

                                                                                        * Maximal Total of Year : 1000009

                                                                                        * Year of Maximal Total : 1000008

                                                                                        */

                                                                                        var KEY_FIELD = 1000006;

                                                                                        var AMOUNT_SUBTABLE_ID = 1000007;

                                                                                        var DATE_FIELD = 1000003;

                                                                                        var AMOUNT_FIELD = 1000004;

                                                                                        var MAX_YEAR_FIELD = 1000008;

                                                                                        var MAX_TOTAL_FIELD = 1000009;

                                                                                        var THIS_YEAR_TOTAL_FIELD = 1000010;

                                                                                        var query = db.getAPIQuery("/workflow-demo/1");

                                                                                        var entry = query.getAPIEntry(param.getNewNodeId(KEY_FIELD));

                                                                                        var subtableSize = entry.getSubtableSize(AMOUNT_SUBTABLE_ID);

                                                                                        var yearTotal = {}

                                                                                        for (var i = 0; i < subtableSize; i++) {

                                                                                        var year = parseInt(entry.getSubtableFieldValue(AMOUNT_SUBTABLE_ID, i, DATE_FIELD).substr(0, 4));

                                                                                        var amount = parseInt(entry.getSubtableFieldValue(AMOUNT_SUBTABLE_ID, i, AMOUNT_FIELD));

                                                                                        if (year in yearTotal) {

                                                                                        yearTotal[year] += amount;

                                                                                        } else {

                                                                                        yearTotal[year] = amount;

                                                                                        }

                                                                                        }

                                                                                        var maxYear;

                                                                                        for (var year in yearTotal) {

                                                                                        if (!maxYear || yearTotal[maxYear] < yearTotal[year]) {

                                                                                        maxYear = year;

                                                                                        }

                                                                                        }

                                                                                        entry.setFieldValue(MAX_YEAR_FIELD, maxYear);

                                                                                        entry.setFieldValue(MAX_TOTAL_FIELD, yearTotal[maxYear]);

                                                                                        entry.setFieldValue(THIS_YEAR_TOTAL_FIELD, yearTotal[new Date().getFullYear()]);

                                                                                        entry.save();

                                                                                        The basic idea is to use getSubtableSize(subtableId) to get the number of rows for a record, and use getSubtableFieldValue(subtableId,subtableRowIndex,subtableFieldId) to retrieve their values. You should be able to find subtable id, field id information in the auto generated comments when you start editing workflow scripts.

                                                                                        You can also use setSubtableFieldValue(subtableFieldId,subtableRootNodeId,value) to set values to a subtable. The subtableRootNodeId is used to specify which subtable row that you're referring to. To find a subtableRootNodeId for an existing subtable row, you can use the following call getSubtableRootNodeId(subtableId,subtableRowIndex) which will return an integer containing the subtableRootNodeId.

                                                                                        If you need to add a row to the subtable, you can use a negative subtableRootNodeId like -100, this way all values set to the same negative subtableRootNodeId will be applied to the same new subtable row, and values set to a different negative subtableRootNodeId like -101 will create different row in the subtable with this different set of values.

                                                                                        Copying records

                                                                                        Link to example: Copy From and Copy To

                                                                                        Copying records is one of the most common workflow program we encounter. We have written a pretty simple function to simplify this type of operation. Let's say we would like to see a record on this sheet:

                                                                                        With the click of the button, generate a record on this sheet:

                                                                                        Here is the code for this action button:

                                                                                        /**

                                                                                        * AP_Name:wfdemo

                                                                                        * Key Field: 1000022

                                                                                        * S1 subtable key: 1000023

                                                                                        * T1 subtable key: 1000029

                                                                                        * Field name Field ID

                                                                                        * - - - - - - - - - - - --------

                                                                                        * A : 1000014

                                                                                        * C : 1000015

                                                                                        * B : 1000016

                                                                                        * D : 1000017

                                                                                        * S1 : 1000018

                                                                                        * S2 : 1000019

                                                                                        * S3 : 1000020

                                                                                        * S4 : 1000021

                                                                                        * T1 : 1000024

                                                                                        * T2 : 1000025

                                                                                        * T3 : 1000026

                                                                                        */

                                                                                        function copyEntry(nodeId) {

                                                                                        db.entryCopier(JSON.stringify({

                                                                                        THIS_PATH:"/workflow-demo/3",

                                                                                        THIS_NODEID:nodeId,

                                                                                        NEW_PATH:"/workflow-demo/4",

                                                                                        COPY:{

                                                                                        1000030:1000014, // A

                                                                                        1000031:1000015, // C

                                                                                        1000032:1000018, // S1

                                                                                        1000033:1000020 // S3

                                                                                        }

                                                                                        }),response);

                                                                                        }

                                                                                        Here you can see we can do the copy with one simple function call to entryCopier. entryCopier takes a JSON string as its parameter. Just put down the source sheet, target sheet, the record that we're copying, and most importantly, which field should be mapped to which field. When the mapping is complete, you can create action buttons to copy records from one sheet to another very easily.

                                                                                        Sending e-mail notifications

                                                                                        Sometimes you would like to send e-mail notifications based on a set of conditions, or you would like to really customize your notification message content. You can write server-side Javascript workflow for this purpose. Here is the script that you will use to send out e-mail, it's really simple:

                                                                                        //omitted...retrieve record object first

                                                                                        var name=entry.getFieldValue(1001426);

                                                                                        var email=entry.getFieldValue(1001428);

                                                                                        var title=entry.getFieldValue(1001386);

                                                                                        mailer.compose(

                                                                                        email, //to

                                                                                        null, //cc

                                                                                        'support@example.com', //reply to

                                                                                        'Acme, Inc.', //displayed from

                                                                                        title,

                                                                                        'Hi '+name+',

                                                                                        we have received your sales order '+

                                                                                        'and will be processing your order very soon.

                                                                                        '+

                                                                                        'You can see your order details at http://www.ragic.com/example/1

                                                                                        '+

                                                                                        'Thanks.


                                                                                        Best Regards,

                                                                                        Sophia, Sales Manager

                                                                                        Acme, Inc.'

                                                                                        );

                                                                                        //mailer.attach(myURL); //you can use .attach to attach content from a URL

                                                                                        mailer.send();

                                                                                        For attachments, you can use mailer.attach(myURL); to attach a record on Ragic by using the record's URL. For example, here is a record URL on Ragic (always ignore URL after the hash) :

                                                                                        http://www.ragic.com/wfdemo/workflow-demo/2/9

                                                                                        Here is its HTML printer friendly URL:

                                                                                        http://www.ragic.com/wfdemo/workflow-demo/2/9.xhtml

                                                                                        Here is its Excel version URL:

                                                                                        http://www.ragic.com/wfdemo/workflow-demo/2/9.xlsx

                                                                                        You can also use a Mail Merge URL like this, the cid being the id of the Mail Merge, you can get the cid in the URL when trying to download the Mail Merge document:

                                                                                        http://www.ragic.com/wfdemo/workflow-demo/2/9.custom?rn=9&cid=1

                                                                                        We do enforce some limitations on how many e-mails you can send. So send reasonably! If you have some questions on e-mail sending quota, send us an e-mail at support@ragic.com.

                                                                                        Approver and other information on a record

                                                                                        You can first issue the following command to the query object you get from db.getAPIQuery to include full record info:

                                                                                        query.setIfIncludeInfo(true);

                                                                                        and then you can get the approval information for a record like this:

                                                                                        entry.getFieldValue('_approve_status');//getting status of current approval

                                                                                        entry.getFieldValue('_approve_next');//getting the next person who should sign this record

                                                                                        entry.getFieldValue('_create_date');//getting the create date of the record

                                                                                        entry.getFieldValue('_create_user');//getting the create user e-mail of the record

                                                                                        The approval status will be F is approved, REJ for rejected, P for processing.

                                                                                        Filtering records with Javascript

                                                                                        If you want to get more than one records by filtering:

                                                                                        var query = db.getAPIQuery("/workflow-demo/1");

                                                                                        query.addFilter(1000002, '=', 'Green');

                                                                                        query.addFilter(1000008, '=', '2017');

                                                                                        var results = query.getAPIResultList();

                                                                                        for (var i = 0; i < results.length; i++) {

                                                                                        var entry = results[i];

                                                                                        // ...

                                                                                        }

                                                                                        You can add filters to query by addFilter(fieldId, operator, value), and call getAPIResultList() to get the list of records.

                                                                                        Here's the list of operands that you can use:

                                                                                        Operand Name Operand Value
                                                                                        Equals =
                                                                                        Regular Expression regex
                                                                                        Greater or equals >=
                                                                                        Less or equals <=
                                                                                        Greater >
                                                                                        Less <
                                                                                        Contains like

                                                                                        Please note that when you filter by date or date time, they will need to be in the following format: yyyy/MM/dd or yyyy/MM/dd HH:mm:ss

                                                                                        You can also use a full text search as a query filter. Just provide your query term in the parameter fts and the matched result will be returned.

                                                                                        Show message

                                                                                        You can show message in a pop-up window like this. Please note that the message will only show when the response status is "WARN". By default the message inside the response object will not be displayed since it's usually not helpful to end users.

                                                                                        response.setStatus('WARN');

                                                                                        response.setMessage(message);

                                                                                        Send HTTP request

                                                                                        You can send an HTTP GET/POST request to an URL and get returned result:

                                                                                        util.getURL(String urlstring)

                                                                                        util.postURL(String urlstring,String postBody)

                                                                                        The variable util is predefined.

                                                                                        API references

                                                                                        ScriptAPIQuery (db.getAPIQuery)

                                                                                        MethodDescription
                                                                                        getAPIResult()Get first entry when iterate over the query
                                                                                        getAPIResultList()Get array of entries of the query
                                                                                        getAPIEntry(int rootNodeId)Get entry by node ID
                                                                                        insertAPIEntry()Insert a new entry to the query, the method returns the new entry
                                                                                        addFilter(int domainId, String operand, String value)Filtering entries by specified condition
                                                                                        setOrder(int orderDomain, int orderDir)Sort entries of the query by specified field domain ID and order direction, parameter orderDir is set to 1 if sort ascending, and set to 2 if sort descending.
                                                                                        deleteEntry(int nodeId)Delete entry by node ID
                                                                                        setLimitSize(int limitSize)By default ScriptAPIQuery returns 1000 records per query, you can use setLimitSize to change the number of records returned per query. However we do not recommend returning too many records per query because it may take too much memory and have bad performance implications. We recommend using the next method setLimitFrom to do paging instead.
                                                                                        setLimitFrom(int limitFrom)This method is for paging through all the records on a ScriptAPIQuery. Setting a limitFrom will tell ScriptAPIQuery to start returning records from an offset so that you can page through all the records of ScriptAPIQuery because ScriptAPIQuery returns 1000 records per query by default. You should check for next page if the number of records returned equals the returned list size.

                                                                                        Here's the list of operands that you can use:

                                                                                        Operand Name Operand Value
                                                                                        Equals =
                                                                                        Regular Expression regex
                                                                                        Greater or equals >=
                                                                                        Less or equals <=
                                                                                        Greater >
                                                                                        Less <
                                                                                        Contains like

                                                                                        Please note that when you filter by date or date time, they will need to be in the following format: yyyy/MM/dd or yyyy/MM/dd HH:mm:ss

                                                                                        You can also use a full text search as a query filter. Just provide your query term in the parameter fts and the matched result will be returned.

                                                                                        ScriptAPIEntry (From ScriptAPIQuery above)

                                                                                        MethodDescription
                                                                                        save()Save a entry
                                                                                        setCreateHistory(boolean createHistory)Set if the entry need to create history
                                                                                        isCreateHistory()Whether the entry is set to create history
                                                                                        setIfExecuteWorkflow(boolean executeWorkflow)Set if executing workflow (pre-workflow and post-workflow) of the entry is needed
                                                                                        setIgnoreEmptyCheck(boolean ignoreEmptyCheck)Set if checking not empty fields would be ignored
                                                                                        setRecalParentFormula(boolean recalParentFormula)If this sheet is created by subtable of other sheet, or is referenced by other sheet, which means, this sheet has the parent sheet, then you can call this method to set if you want to recalculate the parent sheet or not.
                                                                                        setFieldValue(int domainId, String value)Set value to specified single field
                                                                                        setFieldValue(int domainId, String value, boolean appendValue)Set value to single field which is a multiple select field, parameter appendValue need to be true
                                                                                        setSubtableFieldValue(int domainId, int subtableRootNodeId,String value)Set value to subtable field, you can get parameter subtableRootNodeId by method getSubtableRootNodeId.
                                                                                        setSubtableFieldValue(int domainId, int subtableRootNodeId, String value, boolean appendValue)Set value to subtable field which is a multiple select field, parameter appendValue need to be true
                                                                                        getJSON()Get JSON of the entry
                                                                                        getFieldValue(int domainId)Get value of the field by domain ID
                                                                                        getRootNodeId()Get root node ID of the entry
                                                                                        getRootDomainId()Get root domain ID of the entry
                                                                                        getSubtableSize(int subtableRootDomainId)Get size of subtable, specified by root domain ID of subtable.
                                                                                        getSubtableRootNodeId(int subtableRootDomainId, int rowNumber)Get root node ID of subtable, specified by its root domain ID and row number in subtable.
                                                                                        deleteSubtableRowByRowNumber(int subtableRootDomainId, int rowNumber)Delete subtable row by its root domain ID and row number in subtable.
                                                                                        deleteSubtableRowAll(int subtableRootDomainId)Delete every row in specified subtable
                                                                                        deleteSubtableRow(int subtableRootDomainId, int subtableRootNodeId)Delete subtable row by root domain ID and root node ID of subtable
                                                                                        loadAllListenFields()Load value of all loaded fields in the entry.
                                                                                        recalculateAllFormulas()Recalculate every field that contains formula in the entry.
                                                                                        recalculateFormula(int domainId)Recalculate formula of specified field.
                                                                                        loadAllDefaultValues(ScriptUser user)Load value of every field that is set with default value, parameter user is predefined.
                                                                                        loadDefaultValue(int domainId, ScriptUser user)Load default value of specified field, parameter user is predefined.
                                                                                        lock()Lock the entry
                                                                                        unlock()Unlock the entry

                                                                                        ScriptResponse (response)

                                                                                        MethodDescription
                                                                                        getStatus()Gets the status of the response. Either SUCCESS, WARN, CONFIRM, INVALID, ERROR
                                                                                        setStatus(String status)Sets the status of the response. Either SUCCESS, WARN, CONFIRM, INVALID, ERROR
                                                                                        setMessage(String plainMessage)Sets a message for display when script executed. This function can be called several times and all messages have been set will show at the same time.
                                                                                        numOfMessages()Returns the number of messages that has been set.

                                                                                        ScriptUser (user)

                                                                                        MethodDescription
                                                                                        getEmail()Get user's email address
                                                                                        getUserName()Get user's full name

                                                                                        ScriptMailer (mailer)

                                                                                        MethodDescription
                                                                                        compose(String to,String cc,String from,String fromPersonal,String subject,String content)Compose an e-mail message for sending out. The to and cc parameter can contain multiple e-mail addresses. They just need to be separated by commas.
                                                                                        send()Send out the message that was just composed.
                                                                                        sendAsync()Send out the message that was just composed asynchronously. Note that sendAsync can only be called once per script execution.
                                                                                        attach(String url)Attach a file to the message. The URL should be a full URL with http://

                                                                                        ScriptUser (util)

                                                                                        MethodDescription
                                                                                        getURL(String urlstring)Calls an URL with GET method
                                                                                        postURL(String urlstring,String postBody)Calls an URL with POST method. The postBody

                                                                                        setHeader(String name,String value)Sets an HTTP header that will be used in subsequent URL calls.
                                                                                        removeHeader(String name)Removes an HTTP header from being used in subsequent URL calls.

                                                                                        ScriptAccount (account)

                                                                                        MethodDescription
                                                                                        getUserName(String email)Get the full name of a user specified by the e-mail address.
                                                                                        reset()Purge all account related cache when the script and reloads the page finishes executing.

                                                                                        Learn more about Ragic: Why we created Ragic | Webinars | User Guide.
                                                                                        Keep in touch: Blog | Email | Facebook | Twitter.
                                                                                        Ragic, Inc. | +1 888-666-8037 | Terms | Privacy