Database Design Documentation
Printer friendly

Designing your Ragic applications

  • 1. Basic Form Design
    1. 1.1. Form Pages and Listing Pages
      1. 1.1.1. Mobile App Layout Settings
    2. 1.2. Creating a Ragic Sheet
      1. 1.3. Field Types
        1. 1.3.1. Auto Generated Field Values
        2. 1.3.2. Cascaded Selections
      2. 1.4. Field Attributes
        1. 1.4.1. Default Values
        2. 1.4.2. Fields 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 Sheets and Tabs
            1. 1.7.1. Managing Tabs and Sheets
            2. 1.7.2. Adding Shortcuts Under Tabs
            3. 1.7.3. Insert Image in Your Sheets
          2. 1.8. Formulas
            1. 1.8.1. Approval Formula
          3. 1.9. Approval Flow Configuration
            1. 1.10. Sheet and Field Version History
            2. 2. Users Management
              1. 2.1. Internal Users
                1. 2.1.1. User Card
              2. 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. Guest Users: Temporary Log In Without Signing Up
                          1. 2.8. Feature Access Settings
                          2. 3. Account Setup
                            1. 3.1. Customizing Ragic for Your Company (Company Settings)
                              1. 3.2. Account Billing
                                1. 3.3. Backup and Restore
                                  1. 3.4. Recent Changes
                                    1. 3.5. Job Schedules
                                      1. 3.6. DB Maintenance
                                        1. 3.7. File Manager
                                          1. 3.8. Global Constant
                                            1. 3.9. Notifications
                                              1. 3.10. UI Translations
                                                1. 3.11. Customizing Your Database Home
                                                  1. 3.11.1. Tasks
                                                  2. 3.11.2. Event Calendar
                                                2. 3.12. Recycle Bin
                                                  1. 3.13. Cross Account Sheet Copier
                                                  2. 4. Searching
                                                    1. 4.1. Saving Frequently Used Filters 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 and Load
                                                          2. 5.1.2. Dynamic Filtering
                                                          3. 5.1.3. Multiple Versions
                                                          4. 5.1.4. New Sheet From Subtable
                                                          5. 5.1.5. Show References From Existing Sheets
                                                          6. 5.1.6. Link Fields From Parent Sheets
                                                        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
                                                          4. 5.2.4. Send Custom E-mail
                                                          5. 5.2.5. Combine Buttons
                                                          6. 5.2.6. Add Frequently Used Tools as Custom Buttons
                                                          7. 5.2.7. Add Action Buttons Into Fields
                                                        3. 5.3. Form Settings
                                                          1. 5.3.1. Validation
                                                          2. 5.3.2. Conditional Formatting
                                                          3. 5.3.3. Reminders
                                                          4. 5.3.4. Processing Payments
                                                          5. 5.3.5. Auto Save
                                                          6. 5.3.6. Set Custom Save Message
                                                          7. 5.3.7. Freeze Rows or Columns
                                                          8. 5.3.8. Form Deletion Policy
                                                          9. 5.3.9. Sheet Sections
                                                          10. 5.3.10. Widgets
                                                          11. 5.3.11. Setting the Title Field for Your Sheet
                                                      3. 6. Moving Your Data In and Out of Ragic
                                                        1. 6.1. Importing and Exporting
                                                          1. 6.1.1. Mail Merge (Export as Word/Excel)
                                                          2. 6.1.2. Publish to the Web (Data Feed)
                                                          3. 6.1.3. Periodic Import from URL
                                                          4. 6.1.4. Schedule Report
                                                        2. 6.2. Embedding on Your Website
                                                          1. 6.3. Calendar Sync
                                                            1. 6.4. Integrating Ragic With External Applications
                                                              1. 6.4.1. Zapier Integration
                                                              2. 6.4.2. Make (Formerly Integromat) Integration
                                                              3. 6.4.3. IFTTT Integration
                                                          2. 7. Reports
                                                            1. 7.1. Visualization Reports
                                                              1. 7.1.1. Line Graph
                                                              2. 7.1.2. Pie Chart
                                                              3. 7.1.3. Gantt Chart
                                                              4. 7.1.4. Calendar Report
                                                              5. 7.1.5. Address Mapping
                                                              6. 7.1.6. Dashboard Report
                                                            2. 7.2. Interactive Reports
                                                              1. 7.2.1. Reservation System
                                                              2. 7.2.2. Kanban Board
                                                              3. 7.2.3. To Do List
                                                            3. 7.3. Analytical Reports
                                                              1. 7.3.1. Ranking Report
                                                              2. 7.3.2. Pivot Table
                                                            4. 7.4. Printing Reports
                                                              1. 7.4.1. Grouping Report
                                                              2. 7.4.2. Label Maker
                                                            5. 7.5. System Reports
                                                              1. 7.5.1. User Status Report
                                                              2. 7.5.2. Approval Report
                                                          3. 9. Customizations - For Developers
                                                            1. 9.1. RESTful HTTP API
                                                              1. 9.2. Javascript Workflow Engine
                                                                1. 9.3. Workflow Generator
                                                                2. 10. On-premises Private Server Installation (Including NAS)
                                                                3.  

                                                                  1.1    Form Pages and Listing Pages

                                                                  Listing Pages and Form Pages are the unique advantages of Ragic compared to other spreadsheet software, and they are very important concepts in usage.

                                                                  Listing Pages:Provides a summary overview of all data in the sheet.

                                                                  Form Pages:Displays detailed information of a single data/record.

                                                                  The Listing Page and the Form Page are two sides of one sheet. Adding data on either side will synchronize to the other side. When entering the sheet, you will first see the Listing Page. Clicking on a record will lead you to the Form Page for detailed information.

                                                                  In the example below, when you enter the "Sales Order" sheet, it will lead you to the Listing Page. From there, you can browse multiple sales orders. Clicking on one of the records will take you to the Form Page for detailed information.

                                                                  Designing the Form Page

                                                                  When modifying sheet design, it will start from the Form Page. You can create fields under the Form Page design mode.

                                                                  There must be at least two independent fields to save the design.

                                                                  You will be able to create Subtable fields only after the independent fields are created.

                                                                  Designing the Listing Page

                                                                  When creating the sheet, there is usually no need to separately design the Listing Page. When you save the Form Page, the Listing Page will be automatically generated, arranging all fields from the Form Page horizontally in the Listing Page format. Please do not add fields outside of the first row.

                                                                  To access the Listing Page design mode, you can click on "Change Design" on the Listing Page.

                                                                  While in the Form Page design mode, you can click the arrow at the top-right corner to access the Listing Page design mode.

                                                                  To explore more detail about creating your own Ragic Sheet, please head here.

                                                                  Listing Page Field Picker

                                                                  In Listing Page design mode, you can use the Listing Page Field Picker to decide which fields will appear on the Listing Page and their order. If there are numerous fields, use the filter tool at the top to find the desired fields.

                                                                  "Gray-background fields" within the Listing Page Field Picker are automatically generated by the system. You can also add them to the Listing Page if needed.

                                                                  Updating Field Names on the Listing Page

                                                                  When modifying field names on the Form Page that also exist on the Listing Page, after saving, the system will ask you whether to sync the names of the fields on the Listing Page.

                                                                  Note: If you choose not to update the names of these fields, the system will not display the message when you modify the names of the same fields next time.

                                                                  Video Tutorial

                                                                  To get clearer concepts of Listing Pages and Form Pages, you can refer to the following tutorial video.

                                                                  1.1.1    Mobile App Layout Settings

                                                                  On the web interface, you can modify the layout and field order of both the Listing and Form Pages on the Ragic mobile app.

                                                                  Modify the Layout of the Listing Page

                                                                  To modify the layout of the Listing Page on the Ragic mobile app, go to the Listing Page > Change Design > Form Tools > Mobile app layout setting.

                                                                  After clicking on Mobile app layout setting, you will see two sections. In the upper part, You can select six fields and place them in corresponding positions. The bottom part shows the preview of your current layout.

                                                                  Remember to save your settings before exiting the design mode.

                                                                  The circle on the left will only display the first letter of the referenced field value. If there is an image field on your sheet, you can place it here to display its thumbnail.

                                                                  After saving, you will see the configured layout in the app.

                                                                  Modify the Layout of the Form Page

                                                                  The Ragic mobile app's Form Page displays fields vertically. By default, it follows the sequence of fields in the "web interface" from left to right and then from top to bottom.

                                                                  To change the order of fields, go to the Form Page > Change Design > Form Tools > Mobile app layout setting.

                                                                  You can rearrange the order of both independent field and Field Description through the arrow button on the right side. The positions of Subtables cannot be changed and will remain at the bottom of the Form Page.

                                                                  You can also restore to default layout.

                                                                  1.2    Creating a Ragic Sheet

                                                                  There are four ways to create a new sheet:

                                                                  1. Creating a Ragic sheet from scratch, please follow step 1 to 5.

                                                                  2. Installing Templates, such as Customer Relationship Management, Project Management, Order Management, Procurement, Inventory, etc. Most templates include multiple sheets with established linking relationships, providing a complete design for certain applications.

                                                                  3. Applying Quick Templates, which are independent sheets with relatively basic structure.

                                                                  4. Importing existing spreadsheet to generate Ragic sheets.

                                                                  We strongly recommend new users to create a sheet from scratch to acquire basic knowledge for future adjustments.

                                                                  The Ragic database consists of three levels: Tab, used for classifying sheets; Sheet, used for storing records; and Record, which is composed of multiple fields.

                                                                  Step 1. Creating a Tab

                                                                  First, click the "+" on the upper-right of the page.

                                                                  Then, click the "+" next to the tab to add a new one.

                                                                  If you want to add a new sheet to an existing tab, you can skip this step.

                                                                  Step 2. Adding a New Sheet

                                                                  Choose the tab where you want to add a new sheet, then name your sheet under the "Design New Sheet" option.

                                                                  Next, click "Create", and it will take you to Form Page design mode.

                                                                  Step 3. Creating Fields

                                                                  In the Form Page design mode, start by typing in the field names that you would like to create. Each independent field takes up two columns: the left column is for the "field name" ("field header"), and the right column is for the "field value". When adding new fields, place them in empty spaces and arrange them vertically.

                                                                  You can also right-click on an empty column to add a new field or Field Description.

                                                                  You can select the Field Types for different purposes. For example, if the field value is a category, you can choose Selection or Multiple Select. There are various Field Types available, including Date, Number, Money, etc. For all supported Field Types, please refer to this section.

                                                                  You can also quickly create independent fields and Field Descriptions by Copying (right-click and select "Copy", or Ctrl+C). It duplicates not only the field name but also all the "field attributes", including the Field Type, Formula, Style, etc.

                                                                  After creating fields, you can adjust them by clicking on the field header and modifying in the field settings on the left sidebar.

                                                                  When you want to delete a field, click on the field header, then press the Spacebar, Delete key, or Backspace key.

                                                                  Note: If the field is referenced by other sheets, deletion will be prohibited. Please refer to "the reasons for not being able to delete specific sheets or fields" for more information.

                                                                  Step 4. Adjusting Field Width and Height

                                                                  You can adjust the height and width of rows or columns by dragging the borders, just similar to Excel.

                                                                  After completing the design, click "Save" and then exit the design mode to start using your sheet!

                                                                  Step 5. Adjusting Displayed Fields in the Listing Page

                                                                  Click the arrow at the top left of the Form Page to return to the Listing Page, where you will see the created fields.

                                                                  Click on "Change Design" to access the Listing Page design mode. Just as on the Form Page, you can drag the borders to adjust the height and width of the fields.

                                                                  You can use the Listing Page Field Picker to rearrange the displayed fields. For more details on Listing Page settings, please refer here.

                                                                  Remember to save design before exiting.

                                                                  Video Tutorial

                                                                  For a clearer demonstration, you can refer to the following tutorial video.

                                                                  Quick Templates

                                                                  When you create a new sheet based on the above steps, you will see the Quick Templates on the right side.

                                                                  You can click on each template to preview the design.

                                                                  There is a "Categories" menu to help you quickly find suitable templates.

                                                                  After applying the template, you can still adjust the design according to your needs, such as adding, deleting, or moving fields.

                                                                  You can also access the Quick Templates from the Form Tools.

                                                                  Install Templates

                                                                  When creating a new sheet, you can select the Install Template. After clicking "Create", you can install several pre-designed templates, such as Customer Relationship Management, Sales Order Management, Purchasing, Inventory, etc.

                                                                  Choose the category from the left sidebar, and clicking on a template will display its description. Select the one you need and click "Install" (if the template has already been installed, it will display "Update").

                                                                  For instructions on using the templates, please refer to this page.

                                                                  There are two other ways to access Install Templates:

                                                                  1. From the hamburger menu in the top left corner.

                                                                  2. From the personal homepage in the top right corner.

                                                                  For instructions on modifying template designs, please refer to this article.

                                                                  Creating a New Sheet by Importing Your Data

                                                                  Please refer to this section for detailed instructions.

                                                                  Entering or Importing Your Data

                                                                  After completing the sheet design, the next step is to add new entries.

                                                                  If you already have data in a spreadsheet, you can also import your data into the sheet.

                                                                  Deleting a Sheet or Tab

                                                                  To delete a sheet or tab, hover your cursor over the sheet or tab you want to delete then right-click. Select "Delete" from the menu.

                                                                  Note: If the sheet contains referenced fields from other sheets, deletion will be prohibited. Please refer to "the reasons for not being able to delete specific sheets or fields" for more information.

                                                                  If you accidentally delete a sheet or tab and want to recover it, please check the Recycle Bin.

                                                                  1.3    Field Types

                                                                  When designing sheets, Ragic supports various Field Types, determining the format in which users input data, such as Free Text, Selection, Numeric, or File Upload, etc. By default, fields are set to Free Text, allowing users to enter any kind of data without restrictions. However, selecting the appropriate Field Type can effectively manage data and prevent errors. For example, setting a field to accept only numeric values can reduce errors from accidental text entries. The Field Type can be set from the left sidebar under the Basic tab in Design Mode.

                                                                  We will introduce all the Field Types in Ragic below:

                                                                  Free Text

                                                                  The default Field Type allows users to input any text they want without length restrictions. The input text is regarded as "strings".

                                                                  It is commonly used for fields like product names, names, etc.

                                                                  Selection

                                                                  Users can select previously defined field values from a dropdown menu, typically used for categorization, grouping, or departments, etc.

                                                                  These field values can be added in the Choices box while in Design Mode.

                                                                  When there are many choices to choose from, this field can also work as a "text filter", displaying available options as the user types.

                                                                  You can also set a Default Value or "allow users to add options" when entering data.

                                                                  If you need to create subcategories or display results connected to a previous selection field, you can set Cascaded Selections.

                                                                  Set Option Colors

                                                                  For data identification, you can also set option colors. After selecting the Set Option Colors option below, there will be a default color icon next to each option. You can click on the icon to change the display color.

                                                                  Then, each option will be displayed according to the set color.

                                                                  Multiple Select

                                                                  Users can select multiple values from the dropdown menu of previously defined field values in the Choices box in Design Mode.

                                                                  For easier identification of each option, you can refer to the Set Option Colors section of the Selection field.

                                                                  Checkbox

                                                                  This Field Type works similarly to the Selection field but displays options with icons. Users can quickly switch between options by clicking on the icon.

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

                                                                  You can include their sorting order within parentheses ( ). This will number the icons as a prefix next to the icon name. The text in ( ) will not be displayed.

                                                                  Note: The values of checkbox fields are treated as "text". Therefore, when applying formulas or setting default values, you need to specify the text corresponding to the checkbox option.

                                                                  For more supported icons, please refer to the table below:

                                                                  Options Icon
                                                                  Yes
                                                                  No
                                                                  X
                                                                  Important
                                                                  Star
                                                                  Green
                                                                  Yellow
                                                                  Red
                                                                  Blue
                                                                  Black
                                                                  White
                                                                  Orange
                                                                  Purple
                                                                  Lightgreen
                                                                  Darkblue
                                                                  Toggle-On
                                                                  Toggle-Off
                                                                  Thumbs-Up
                                                                  Thumbs-Down
                                                                  Lock
                                                                  Unlock
                                                                  Plus
                                                                  Minus
                                                                  Smile
                                                                  Meh
                                                                  Frown
                                                                  Circle
                                                                  Dot-Circle

                                                                  Select From Other Sheet (Linked Field)

                                                                  Users can select values that are referenced from another sheet when entering data into this field. For example, in the "Customer ID" field of the "Sales Order," select data that is already saved in another "Accounts" sheet.

                                                                  You can select the sheet and the field to be linked from Design Mode, but please note that the values in the linked source field must be the Unique Value.

                                                                  The following Field Types are blocked from being selected as a link source:

                                                                  User type fields: Select user, Select group, Reviewer fields.

                                                                  Selection type fields: Selection, Multiple select, Checkbox, Linked fields.

                                                                  Numeric type fields: Numeric, Money, Percentage, Exchange rate, Statistics fields.

                                                                  The Select from other Sheet field can also work like a "text filter", displaying available options from the source sheet as you type values into it.

                                                                  If you need to load other values when selecting a value from another sheet, you can use Linking and Loading Fields.

                                                                  Multiple Select

                                                                  You can also configure Select from other sheet field as Multiple select.

                                                                  For example, the Members field (a Select from other sheet field) in the Project Report sheet is linked to the Employee Management sheet and is set as multiple select. With this configuration, the Members field will display a drop-down menu that enables multiple selections.

                                                                  Note: If the multiple select option is checked, the linked field will no longer support loaded field configuration.

                                                                  If the corresponding loaded fields are already set for the linked field, the setting will be automatically canceled once the multiple select option is checked, but the original field values will not be affected.

                                                                  We currently limit the number of selections to 2000. If the number of records to select from the source sheet exceeds 2000, only the first 2000 records will be displayed in the selection list. If you need to include over 2000 selections, please contact support@ragic.com and briefly describe your requirement so we’ll be able to evaluate the plausibility of adjusting the limit.

                                                                  File Upload

                                                                  To upload a file, you can select it from your computer or drag and drop it into the field. The field values will appear as links for downloading.

                                                                  The maximum size limit for a single file is 1GB. If you want to restrict the file types for user uploads, you can enter the acceptable file extensions into the Filename Extension Filter. For example, if you want to limit users to uploading only Word files, enter ".docx". If there are more than two file types, please separate them with a comma ",".

                                                                  If you upload an audio or video file, Ragic will automatically display a media player for streaming supported files.

                                                                  Audio streaming supports .mp3 and .ogg files.

                                                                  Video streaming supports .mp4, .ogv, and .webm files.

                                                                  While integrated media streaming is provided, the uploaded files can still be downloaded by clicking on the icon.

                                                                  If you'd like to upload files to multiple existing records, you can use the Mass File Upload feature.

                                                                  Disable Downloading Files

                                                                  You can choose "Disable downloading Microsoft Office files or PDF files". In this case, users will only be able to preview Microsoft Office or PDF files from the right panel.

                                                                  Multi-files Upload

                                                                  To upload multiple files to one field, you can check this option.

                                                                  You can select the files from your computer or drag and drop them into the field. To download all the uploaded files, please click on the download icon.

                                                                  Limit File Size

                                                                  You can set the maximum size of each file, the maximum size limit currently supported is 1 GB.

                                                                  Image Upload

                                                                  To upload an image, you can select it from your computer or drag and drop it into the field. It will then be displayed as a thumbnail, and users can view and download the image in a lightbox image gallery by clicking on the thumbnail.

                                                                  If you'd like to upload images to multiple existing records, you can use the Mass File Upload feature.

                                                                  Image Display

                                                                  When you upload an image to an Image Upload field, by default, the system will maintain the original field width but will slightly expand the field height to avoid distorting the image. This will also cause the height of other fields on the same row to expand.

                                                                  If you don't want the height of other fields on the same row to be affected, you can configure advanced settings under Design Mode. There are two options: "Stretch/shrink to fit cell" and "Image can overflow beyond cell".

                                                                  (1) Stretch / Shrink To Fit Cell

                                                                  The image will be automatically resized to fit the cell, therefore the height of other fields on the same row will not expand.

                                                                  (2) Image can overflow beyond cell

                                                                  The image will be displayed in its actual aspect ratio regardless of the cell borders. If you do not set the "max width" or "max height", the image height will be 120 px.

                                                                  In this mode, the field height in the same row will not expand, but the cells below the field may be covered by the image. Therefore, you will need to adjust the layout to avoid this.

                                                                  Please note that "Stretch/shrink to fit cell" and "Image can overflow beyond cell" work in different mechanisms and that errors might occur if you check both options in the same image upload field.

                                                                  Other Advance Setting

                                                                  If you do not choose to "stretch/shrink to fit cell", the max height of the thumbnail will be 120 px, and you can fill in the "Max Height" and "Max" to resize the thumbnail.

                                                                  If you check the "Hide Field Header" box, the field header will be hidden, and the image will align to the upper-left corner of the header's original position.

                                                                  Multi-images Upload

                                                                  To upload multiple images to one field, you can check this option.

                                                                  You can select the images from your computer or drag and drop them into the field as well.

                                                                  Limit File Size

                                                                  You can set the maximum size of each file, the maximum size limit currently supported is 1 GB.

                                                                  Image Orientation

                                                                  When uploading multiple images, you can set their orientation in the Listing Page and Form Page to be "Vertical" or "Horizontal".

                                                                  Select User

                                                                  Choose from a preset list of account users.

                                                                  It's also possible to specify a certain user group that this user can be selected from.

                                                                  If you choose Set selected user as entry owner, the person that is chosen as the value for this entry will have the same Access rights as the person who created the entry.

                                                                  Please view this document on Assigning an entry to a user for more information.

                                                                  When importing data into a Select User field, the imported values must exactly match the emails or usernames in your database for the system to automatically match them to the respective users.

                                                                  Select User Field is linked to the system's users sheet, so you can apply Dynamic Filtering and Link & Load sync to it.

                                                                  Multiple Select

                                                                  If you enable Multiple select in Design Mode

                                                                  Then users can select multiple users. If select a group, all users within that group will be selected. Deselecting the group will also deselect all users within it.

                                                                  If you want to set multiple default values, please refer to this document.

                                                                  Select Group

                                                                  Lists the groups from this account to choose from. If you choose Set selected group as entry owner, all users in the selected group will have the same Access rights as the person who created this entry.

                                                                  Please view this document on Assigning an entry to a user for more information.

                                                                  It can also allow multiple selections. If you want to set multiple default values, please refer to this document.

                                                                  Date

                                                                  Specifies that the selected field is a date. A Date Picker will appear automatically when the user clicks on the field.

                                                                  You can also choose a date format from the formatting options listed under Format Type in Design Mode.

                                                                  Note: If you also have time formatting applied, the Date Picker will allow you to set both options.

                                                                  Display Using Browser’s Time Zone

                                                                  Ragic's default date field is a fixed time. If the field value is 9/15 00:00, the field value would be the same no matter which time zone you are in.

                                                                  When selecting "Display Using Browser’s Time Zone", the field value will be different depending on the users' browser time zone. If the user located in the UTC time zone enters "9/15 00:00", this field value will display as "9/15 08:00" for the user in the UTC+8 time zone or "9/14 20:00" for users in the UTC-4 time zone.

                                                                  With this option checked, users located in different time zones won't need to calculate the time differences and will present a more accurate time sorting.

                                                                  Note:

                                                                  1. Without enabling "Display Using Browser’s Time Zone", the time saved in the database won't belong to any time zone. If you enable this setting afterward, the field value will be regarded as UTC+0 time. For instance, if you are in the UTC+8 time zone and entered the field value 2022/06/10 00:00 when "Display Using Browser's Time Zone" is not enabled, the field value will become 2022/06/10 08:00 if you enable this setting afterward.

                                                                  2. When enabling "Display Using Browser’s Time Zone", the field value will be saved as UTC time and display different values depending on the users' browser time zone. If this setting is disabled afterward, the field value will be displayed in the UTC time zone.

                                                                  3. "Display Using Browser’s Time Zone" is not supported on reports yet, so the date and time values will still display using the database's UTC time.

                                                                  Display as Countdown

                                                                  When selecting "Display as countdown", the filed value will be displayed using countdown.

                                                                  Clock In

                                                                  Check the box "Clock In" will give users the option to clock in the present time when editing the field value.

                                                                  Formulas can be applied to the date field to calculate dates.

                                                                  Another common usage for the date field is to create a timestamp. This can be done by assigning a Default Value to the date field.

                                                                  Date fields can also help you remember dates by setting a Reminder or syncing with your favorite calendar application.

                                                                  Recurring Date

                                                                  You can use this Field Type to set a cyclic Reminder to automatically send birthday e-mails to customers on a specific day every year, or payment requests to clients every month.

                                                                  The recurring Cycle includes Yearly, Monthly, and Weekly.

                                                                  If you choose the Yearly cycle, the recurring value will be the specific month and day of each year (e. g. May the 4th of every year). For the Monthly cycle, the value will be the specific date in every month (e. g. the date 13 in every month). As for the Weekly cycle, the value will be the specific day of the week (e. g. every Monday).

                                                                  If you set a Reminder with a recurring date on the 31st of every month, the Reminder will not be executed on the months that do not have a 31st.

                                                                  About recurring date fields in the event calendar, please refer to this page.

                                                                  Numeric

                                                                  Specifies that the selected field is a numeric value.

                                                                  You can also choose a format from the formatting options listed under Format Type in Design Mode.

                                                                  Numeric fields are most used with Formulas.

                                                                  Large Number Abbreviation

                                                                  When dealing with large numerical values, you can select the option below for Large Number Abbreviation. If the input value exceeds the selected threshold, it will be abbreviated.

                                                                  For example, when the "K" option is selected for the "Qty field", the field will display "2K" when the quantity is "2000".

                                                                  Percentage

                                                                  Specifies that the selected field is a percentage value.

                                                                  Percentage fields are most used with Formulas.

                                                                  Background Progress Bar

                                                                  Checking the “Show background progress bar” option below the percentage field will turn the field into a progress bar.

                                                                  After clicking the Set button next to the "Show background progress bar" option, a window will appear where you can adjust the progress bar settings by dragging separators to define percentage ranges. For example, if you want to highlight percentages above 70% in scarlet red, you can drag the separator from 75% to 70%.

                                                                  When clicking on different percentage ranges on the progress bar, you can add separators, and set the text color and background color for the ranges.

                                                                  If you want to reset the progress bar, simply click on the "Reset button" and the progress bar will be reset to default settings.

                                                                  Auto Generate

                                                                  The value of this field will be automatically generated. This is a great help for generating system IDs and serial numbers.

                                                                  When clicking on a field to enter data, users will see the Auto Generate option.

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

                                                                  You can choose from a list of formatting options provided in the Design Mode or customize the values by writing your filing codes.

                                                                  You can also set Auto Generate Field to generate sequence numbers based on the specified Selection field or Date field value.

                                                                  For example, you would like to generate sequence numbers for sales orders based on sales groups to categorize.

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

                                                                  Signature

                                                                  In this field, a signature can be added via mouse or trackpad.

                                                                  You can also upload the image file of a signature or insert a link to the URL of the image or load a saved signature in Personal Settings.

                                                                  In Design Mode, the Signature Field has the same advanced settings as the Image Upload Field.

                                                                  Rich Text Editor

                                                                  This Field Type gives users text formatting options, as well as the ability to insert images, tables, and links with a pop-out menu. There is also space for content editing and style notes.

                                                                  By default, the height of the field adjusts automatically based on its content. If you prefer a fixed height, you can specify a "Max Height". Any content exceeding this height will not be fully displayed, and you will need to open the editor to view the entire content.

                                                                  Barcode

                                                                  You can use this Field Type to generate a Barcode. There is a selection of Barcode types you can generate, such as Code 128 and QR Codes.

                                                                  Alternatively, you can configure Additional field settings to display values as Code 128 Barcodes.

                                                                  For more use cases of barcodes, please refer to Ragic Learning Center.

                                                                  Action Barcode

                                                                  Action Barcode allows you to display an Action Button as a QR code, so that the Action Button can be executed by scanning the QR code. Common use cases include event sign-in or adding payment records.

                                                                  For example, there is a "Corporate Training" sheet with an Action Button labeled "Attendee Sign-in," which fills in the username and current time for sign-in.

                                                                  Add an Action Barcode field in the sheet and select the "Attendee Sign-in" Action Button under Field Settings.

                                                                  With that, attendees can sign in by simply scanning the QR code. You can also print out the QR code or display it on a screen for attendees to scan, so the sign-in process can be completed without accessing the sheet.

                                                                  Every time the Action Button is executed, SYSAdmin will see a sign-in record in the sheet.

                                                                  Masked Text

                                                                  This Field Type is similar to the Free Text Field Type, but can additionally be configured to display only the last N digits of text, as well as full details for select users.

                                                                  It is useful when typing sensitive information, such as customer ID numbers or phone numbers.

                                                                  Users with access rights can click the Preview icon to see the full information.

                                                                  Note: The masked text field cannot be edited. For data security purposes, the field value will be cleared when you try to edit content in a Masked Text field.

                                                                  Money

                                                                  Similar to the Numeric Field Type, this Field Type sets the selected field as a money field so you can apply formulas.

                                                                  You can edit the currency format from the formatting options listed under Format Type in Design Mode.

                                                                  When dealing with larger amounts, you can refer to the Large Number Abbreviation section in the Numeric Field for setting it up.

                                                                  Exchange Rate

                                                                  This field retrieves real-time exchange rates from Open Exchange Rates when adding or editing a record. You can use Formulas along with it to convert the original currency into other currencies. You can also Populate Empty Values if needed.

                                                                  The Exchange Rate field will default to fetching the latest rate and allow you to specify the conversion from one currency to another. For example, if you set it to convert from USD to EUR, the field value will display the fixed exchange rate of US Dollars to Euros.

                                                                  Sometimes, we don't want to use the latest rate for calculations. For instance, quotations are often based on the exchange rate of the day the quote was issued, rather than the current rate. In such cases, you can use a Referenced date field to specify the exchange rate date based on the "Sales Order Date" field in the sheet.

                                                                  If the original currency or target currency is not fixed, you can set the conversion from one currency to another based on a currency reference field. For example, if your company deals with customers from Europe and Japan and needs to convert USD pricing to EUR and JPY, you can set the conversion from USD and select a "Currency" field as a reference. Conversely, if you receive various foreign currencies and need to convert them back to USD for accounting purposes, you can set the conversion from the currency reference field to USD. If both currencies are not fixed, you can refer to different currency fields accordingly.

                                                                  Please note that the referenced fields can only be either Free Text or Selection fields. The field value must be three uppercase letters, such as USD, JPY, EUR, etc. If you are unsure of the currency abbreviation, you can refer to the options in the menu.

                                                                  When editing, selecting "EUR" for the "Currency" field will automatically retrieve the corresponding exchange rate.

                                                                  Update Rate

                                                                  The exchange rate field will only retrieve the exchange rate when adding or editing a record. If you want to update the exchange rate for that field in all records at once, you can execute the Update Rate in Design Mode.

                                                                  Please note that executing this button will update all the values of this field, overwriting the existing values. If there is no referenced date field to refer to, the system will update the field value with the latest exchange rate; otherwise, the system will update the field value with the exchange rate on the specified date.

                                                                  Updating rate will also be recorded in the Entry Information.

                                                                  Reviewer

                                                                  You can assign specific users the right to review entries by sending them a link to their email through this Field Type.

                                                                  This field is the same as a Select User field where you select users and check to invite them to review this entry.

                                                                  For detailed instructions, please refer to this article.

                                                                  E-mail

                                                                  The value of this field will be formatted as a link to the e-mail. Clicking on the link will prompt your web browser to respond according to its settings, such as by launching an e-mail application. Supports inputting multiple email addresses, separated by “,” and half-width spaces.

                                                                  Phone

                                                                  The value of this field will appear in the format type you selected in Design Mode. Clicking on the value of a phone field will prompt your web browser to respond according to its settings.

                                                                  You can further select the desired format for the country's phone/mobile number in Formatting.

                                                                  Address

                                                                  This field allows you to enter your address or longitude and latitude so that when you click on it, you can see its location on Google Maps.

                                                                  For the longitude and latitude, we also support multiple formats:

                                                                  Degrees, minutes, and seconds (DMS): 41°24'12.2"N 2°10'26.5"E

                                                                  Degrees and decimal minutes (DMM): 41 24.2028, 2 10.4418

                                                                  Decimal degrees (DD): 41.40338, 2.17403

                                                                  Another way to enter such values into this field is by clicking the Pin Icon.

                                                                  A Google Maps window will pop up to let you pin the target location on the map. Please make sure that you pin it on the right location to generate the correct address value for the field. Save the value by clicking OK.

                                                                  You can also set this field to display the address as a map.

                                                                  Enter and save the address in the field. It will be automatically displayed as a map.

                                                                  Locate User's Location

                                                                  Sometimes, you might need users to report their current location, for example, for field visit location reporting. You can use an address field with a default value setting to choose the desired location format based on your needs.

                                                                  Remember to add the Read Only setting, so that users cannot change the address on their own.

                                                                  It will automatically retrieve the current location when creating the record. (Location data needs to be provided to the browser to obtain the current location.)

                                                                  Note: This feature is also available in the app.

                                                                  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 preprogrammed options available such as "SSN (Social Security Number)" and "VIN (Vehicle Identification Number)", but you can enter custom formats here as well.

                                                                  Aggregate

                                                                  This field can aggregate all records on the source sheet (linked sheet) that has a linked field linked to this record. There are five aggregate methods: count, total, minimum, maximum, and average.

                                                                  For example, if you have "Sales Order" and "Customers" sheets, and in "Sales Order", you have already established a Link and Load relationship to "Customers".

                                                                  You can add an Aggregate Field in the "Customers" to calculate the total amount spent by each customer from the records in "Sales Order". Based on your requirements, you can select the desired aggregate method, source sheet, and field to be aggregated.

                                                                  In "Customer", you will be able to display the total amount spent, highest spending, and average spending for each customer.

                                                                  1.3.1    Auto Generated Field Values

                                                                  When setting the Field Type to Auto Generate, the field value will be automatically generated. You can use it to generate records' IDs or serial numbers.

                                                                  Choose a desired sequence format in the "Formatting box" below and view an example of the generated value.

                                                                  The following content will introduce the application of various formats.

                                                                  Generating Sequence Numbers Based on the Specified Selection or Date Field Value

                                                                  You can generate sequence numbers based on the specified Selection Field or Date Field value.

                                                                  For example, you can generate sequence numbers based on "Sales Group" (e.g., A, B, C, D) for categorization.

                                                                  Set the Auto Generate Field to Generate sequence based on another field and select the "Sales Group" field.

                                                                  After configured, selecting "Sales Group" as "A" will start the Auto Generate Field sequence with "A", and similarly for "B" and other groups.

                                                                  Note: If the Auto Generate Field is based on the Date Field, the auto-generated values will follow the format set in the referenced Date Field. If you would like to apply a different date format, you need to create another Date Field with the desired format and apply the formula "=Original Date Field" to obtain the same date value. After completing, you can set the field to reference that new Date Field.

                                                                  Sequence Format with Letters and Dates

                                                                  The sequence format QUOTE-{1,date,yyyyMMdd}-{0,number,000} consists of two variables:

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

                                                                  {1,date,yyyyMMdd} is the date when the serial number is generated.

                                                                  Example 1:

                                                                  If the format is QUOTE-{0,number,000}, the automatically generated numbers will be: QUOTE-001, QUOTE-002, QUOTE-003, and so on.

                                                                  Example 2:

                                                                  If the format is QUOTE-{1,date,yyyyMMdd}-{0,number,000}, the variable numbers generate a continuous sequence within the same date and reset on different dates.

                                                                  When records are created on January 1, 2020, will generate numbers like QUOTE-20200101-001, QUOTE-20200101-002, and QUOTE-20200101-003.

                                                                  It will reset on the next day to QUOTE-20200102-001, QUOTE-20200102-002, and QUOTE-20200102-003.

                                                                  If the format is changed to QUOTE-{1,date,yyyyMM}-{0,number,000}, the generated numbers for January 1, 2020, and January 2, 2020, will be QUOTE-202001-001, QUOTE-202001-002, QUOTE-202001-003, QUOTE-202001-004, QUOTE-202001-005, QUOTE-202001-006.

                                                                  The sequence numbers will reset in the next month.

                                                                  Generating Entry URL

                                                                  You can choose the Record URL format to automatically populate the URL for each record.

                                                                  The Unique Value of Each Record (RAGIC_ID)

                                                                  The Ragic ID is the Unique Value for identifying each record in the system. It appears as the last parameter in the Record URL.

                                                                  For example, if the record URL is "https://www.ragic.com/LearningRagic/ragicsales/20001#!/20001/7", the last "7" represents the record's RAGIC ID.

                                                                  If your sheet does not have a Unique Value field, you can consider using the Ragic ID as the Unique Value for importing or exporting data, and the downloaded Excel backup file of the sheet will include the Ragic ID by default.

                                                                  The Unique Value of Each Subtable Record (SUBTABLE_RAGIC_ID)

                                                                  The SUBTABLE RAGIC ID is the Unique Value for identifying each Subtable record in the system. It appears as the last parameter in the URL when generating a new sheet from that particular Subtable.

                                                                  For example, in the URL "https://www.ragic.com/LearningRagic/ragicsales-order-management/20006/33," the "33" at the end represents the SUBTABLE RAGIC ID for that record. This format applies only to Subtable fields.

                                                                  If you are in New Sheet From Subtable, selecting RAGIC ID will generate the same value.

                                                                  Setting the Sequence Order

                                                                  In the Design Mode, you can reset or change the current sequence order by entering the desired sequence number for the next record and clicking the Set seq of next record button.

                                                                  Note: Clicking the Set seq of next record button will take effect immediately and does not require "Saving" the design.

                                                                  For example, if you have a "Customer Number" field which is Auto Generate Field. If previously created records have been deleted, and the customer numbers for the existing record do not start from C-00001.

                                                                  You can enter "1" in the Sequence of next record, then click on Set seq of next record. The new record's "Customer Number" will start from 1 (C-00001).

                                                                  If you want to reorder existing records, you can manually adjust them.

                                                                  For instance, if you have a record with the "Customer Number" as C-00003 and want to change it to C-00001, with the following records starting from C-00002, you can manually change C-00003 to C-00001 and then set the Sequence of next record to "2". The next record will start from C-00002.

                                                                  You can view the current sequence number by clicking on Get seq of next record.

                                                                  If your field is set to Generate sequence based on another field, you will need to Get seq of next record or Set seq of next record for each option in the "Field Options" below.

                                                                  This feature is useful for ensuring that the sequence of imported data continues from the current one.

                                                                  Populating Empty Values

                                                                  If some of the Auto Generate fields in the sheet are empty, you can Populate empty values to automatically fill in the serial number in these fields.

                                                                  If the field is set to Generate sequence based on another field, it will generate numbers for all the options. For example, if there are no sequence numbers in options "A", "B", and "C" and you click Populate empty values, you will see all the options generate their sequence numbers: A-00001, B-00001, C-00001, A-00002, B-00002, C-00002, and so on.

                                                                  If the reference field is empty, it will generate sequence numbers without options, for example: "-00001".

                                                                  When you don't have Unique Values in your records, you can use this feature to create them for future importing purposes.

                                                                  Sequence Formatting

                                                                  For more information about the formatting of sequences based on Java MessageFormat, you can visit this page.

                                                                  1.3.2    Cascaded Selections

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

                                                                  For example, when the "Major Category" option is "READY-TO-WEAR", the "Minor Category" options will display "Suits", "Outerwear", "Shirts", "T-shirts", "Pants & Shorts".

                                                                  Setting up Cascaded Selections

                                                                  To set Cascaded Selections for a Selection field, you must first create at least 2 Selection fields in the Design Mode.

                                                                  Select the field "Minor Category" and check the Set Cascaded Selections box, then select "Major Category" from the drop-down menu.

                                                                  Click on the Set button, and a pop-up menu will display all options of the referenced Selection field. You can add the Cascaded Selections to each parent option. Each Cascaded Selection must be written on one line.

                                                                  Don't forget to click on the Save button after you finish.

                                                                  It is possible to set Cascaded Selections referring to a field already with Cascaded Selections, so you can have a chain of Cascaded Selections.

                                                                  Note:

                                                                  1. Both the parent Selection field and the child Selection field need to be added to the Listing Page if you would like to display one of them there. If you do not want one of those fields displayed on the Listing Page, you may Hide that field.

                                                                  2. The Multiple Selection field doesn't support Cascaded Selection.

                                                                  3. The maximum number of selections in a Cascaded Selection field is 10000. When reaching the limit, the selection settings on the Cascaded Selection field will be reset after saving the sheet's design. If it is required to have more than 10000 selections, please use Link and Load with Dynamic Filtering applied.

                                                                  1.4.1    Default Values

                                                                  Setting up a Default Value

                                                                  Sometimes, you might need Ragic to fill out some of your fields with Default Values, such as the current time or date, to save time and avoid errors.

                                                                  You can set Default Values by clicking the link next to the Default Value option in the Design Mode, under Field Settings > Basic.

                                                                  Variables Offered

                                                                  You can use the variables to generate a Default Value when a record is being created or updated.

                                                                  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

                                                                  Regarding the variables related to "Create", if Default Values are set after the record has been created, they will be triggered at the moment of adding or editing. If the field is empty, it will capture the editing user and editing time at that moment, rather than the actual creator and creation time of that record. To avoid this, it is recommended to manually Populate empty values to fetch the original created information.

                                                                  Inputting Your Default Value Formatting

                                                                  You can choose the Format Type options provided by Ragic, or you can directly enter text into the Formatting box below the Default Value options. You can also set a custom date format for Date fields.

                                                                  Applying Formulas

                                                                  You can also apply formulas to the Default Value. In the Design Mode, check the Interpret as formula below the Default Value field, then write the formula. For supported formulas, please refer to this section.

                                                                  Notes

                                                                  Formulas in the Default Value field will only be interpreted when the reference field is edited for the first time. Once the formula is interpreted, it will not be recalculated with further edits. If you would like the Default Value to be recalculated based on changes to the reference field, please use Formulas instead of assigning them as a Default Value.

                                                                  When you turn on Auto Save in a sheet, Default Value formulas won't be applied if one formula refers to multiple fields. In such cases, it's recommended to use Formulas instead. Because when Auto Save is activated, the formula will be triggered when one of the reference fields is auto-saved, and it won't be recalculated when other fields are edited.

                                                                  Using the Read Only Option

                                                                  Fields with Default Values are often used in conjunction with the Read Only option to prevent users from manually changing the value.

                                                                  Populating Empty Values

                                                                  When your sheet already has records and you would like to add a new field with a Default Value, or you would like to change an existing Field Type to the Default Value field, Ragic will not automatically populate the Default Values to existing records according to the new configuration. Therefore, the new or newly modified field may remain empty.

                                                                  If you want empty values to be automatically filled with Default Values, such as "creation date", "creator", or "exchange rate" fields, you can follow these steps in Design Mode

                                                                  Step 1. Access Design Mode to add or modify the desired Default Value field.

                                                                  Step 2. Save your modification

                                                                  Step 3. Under the Default Value setting, select the desired Default Value field. Then click on Populate empty values.

                                                                  Once you click on the Populate empty values button, Ragic will start to populate the empty values in the background. This may take a while depending on the number of records in your sheet. Feel free to navigate away from Design Mode if needed. There will be a pop-up notice in the lower-left corner of the page once the process is complete.

                                                                  You will then see the default value(s) auto-populated on the Form Page.

                                                                  Setting Multiple Default Values for Select User or Group Fields

                                                                  When setting multiple Default Values for Select User fields, you can use "|" to separate the values. For example, by entering "Rex|Amy" as the Default Value, the field will automatically be populated the field with "Rex" and "Amy".

                                                                  You can also use "|" to separate multiple values for Select Group fields.

                                                                  Note: If the user or group names themselves already contain the "|", You need to use "%7C" instead.

                                                                  For example, to include the groups "IT" and "RD|Senior", it should be written as follows:

                                                                  1.4.2    Fields Formatting

                                                                  Setting the Formatting of Your Fields

                                                                  You can modify field value formatting or select from available options based on the Field Type.

                                                                  These settings automatically format input values, enabling quick inputs on entries in Ragic.

                                                                  You can set the formatting of certain Field Types in the Design Mode of your sheet, under Field Settings > Basic.

                                                                  Example Formatting Types

                                                                  See some of the examples of 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 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 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 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 (abbr. Ex. Jan), MM (2 digits), M (1 or 2 digits)
                                                                  Day of Month dd (2 digits) d (1 or 2 digits)
                                                                  Day of Week EEEE (Monday) E (Mon)
                                                                  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

                                                                  Displaying the Date Field in the Japanese Calendar Format

                                                                  If you would like to display the date information in the Japanese calendar format, you can create your custom date formats by using the code from the table below. For example, if you want to display the date information as “Nov 11, Reiwa 3”, you can do it by typing “MMM dd, JGGG Jyy” in the formatting.

                                                                  Code Meaning Display in English
                                                                  JGGG Japanese era name Reiwa
                                                                  JGG / JG Short form of the Japanese era name R
                                                                  Jyy / Jy Japanese year 1, 3, 5
                                                                  EEEE Days of the week Tuesday
                                                                  E / EE / EEE Short form of the days of the week Tue
                                                                  a AM/PM AM, PM

                                                                  Custom Numeric Formatting

                                                                  You can also adjust the numeric format for "decimal" and "thousand" separators. On the left sidebar numeric field setting, click on Advanced next to the Format Type. Then, uncheck the Use system separators checkbox and modify the separator format as shown below.

                                                                  Setting Default Formatting Through Account Settings

                                                                  If you have a regularly used formatting for "Numeric", "Currency", and "Date fields", you can set them as defaults in the Company Setting > Account Settings.

                                                                  This way, when designing and adding fields of relevant types, the default formats will be automatically applied.

                                                                  1.4.3    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.

                                                                  Not Empty

                                                                  Setting fields to Not Empty indicates that the field value should not be empty. Fields with this attribute will be marked with a "red asterisk" on the upper left side of the field header.

                                                                  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.

                                                                  Subtable Unique

                                                                  You will see this option in Subtable field settings (different from the Unique attribute of "independent field" settings). Enabling this option will prevent users from entering duplicate Subtable field values within a record, while Subtable values in other records are not affected by this restriction.

                                                                  Read Only

                                                                  When a field is set as Read Only, the value of this field cannot be manually edited.

                                                                  This is useful for fields referenced from another sheet, Auto Generate fields, or those with a Default Value.

                                                                  Column Span (Merge Cells)

                                                                  You can Merge Cells to span columns, making a single field look wider.

                                                                  It differs from adjusting the height of a row or the width of a column.

                                                                  Do Not Clone

                                                                  If you're creating many records with similar data, using Clone Entry might be a more efficient way than rewriting the data.

                                                                  You can specify fields that should not be cloned by marking them as Do Not Clone.

                                                                  No Wrap Text

                                                                  When this configuration is set, the text in this field won't be wrapped.

                                                                  If this function is not enabled and there is no wrapping, please refer to the Line-breaking rules.

                                                                  Barcode

                                                                  Specifies that the value of this field will be displayed in Barcode (QR Code).

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

                                                                  Hidden

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

                                                                  1. Sheet interface

                                                                  2. Printer Friendly

                                                                  3. Excel download (and related export options)

                                                                  4. Web embed form

                                                                  If a field doesn't need to be displayed to the user but its value is necessary, such as for constants or Formulas, you can set it as the Hidden field. When used within a Subtable, a Hidden field will create a "gap". Therefore, it's recommended to move Hidden fields to the end of the Subtable.

                                                                  Note: This setting only hides specific fields in the layout interface. The field data will still be displayed in the change history or record update notifications. Therefore, if you want to hide the field based on different user access rights, it is recommended to use Field Level Access Rights settings.

                                                                  Ignore Record Lock

                                                                  When enabling this option, this field will remain unlocked after locking the record.

                                                                  Field Instruction

                                                                  You can add the Field Instruction to help users enter data into the field.

                                                                  The configuration for Field Instruction can be found on the left sidebar under Design Mode > Field Settings > Other.

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

                                                                  Placeholder

                                                                  In addition to Field Instruction, you can also add a Placeholder to a field, which will be displayed directly in the field to assist users in entering data. The configuration for the Placeholder can be found on the left sidebar under Design Mode > Field Settings > Other.

                                                                  Before entering data, the set text will be displayed in gray within the field to guide users to accurately fill in the data.

                                                                  Manual Attributes

                                                                  Note: Please do not use this feature unless instructed by Ragic support.

                                                                  To add Manual attributes to a field, enter the Design mode of the Form Page, select the field, and navigate to Field Settings > Other > Manual attributes on the left sidebar.

                                                                  After entering your parameter into the Manual attributes configuration, click the "+" button next to it.

                                                                  You might notice the entered parameter is now cleared, which means it has been added to the field.

                                                                  Don't forget to Save before exiting.

                                                                  To remove an attribute, simply try to add an empty attribute value and the attribute will be removed.

                                                                  1.5    Field Descriptions

                                                                  Field Descriptions / Static Text Fields

                                                                  A Ragic Sheet can contain not only fields but also Static Form Descriptions that serve as instructions or decorative elements for your sheets. Normally when you start typing in a field in Design Mode, it creates a field for inputting data.

                                                                  You can change the editing mode by clicking on the Editing Fields button at the top, and then selecting Editing Descriptions.

                                                                  By doing so, when you type on the sheet, you will be able to create Field Descriptions instead of Fields.

                                                                  Another way to create Field Descriptions is to go to the Add Component tab on the left sidebar, then drag and drop a Description from Static Text directly onto your sheet.

                                                                  Styling Your Field Descriptions

                                                                  When you select a Field Description, you can modify its style in the Field Settings from the left sidebar.

                                                                  You can adjust the font size and style, text alignment, text, and cell colors, and link it to a URL.

                                                                  You can span Field Descriptions across multiple columns by selecting the Column Span (Merge Cells) option in the left sidebar under the Basic tab. This will merge the specified number of fields within the same row.

                                                                  Alternatively, you can simply drag the lower-right corner of the field.

                                                                  Formulas in Field Descriptions

                                                                  Formulas can also be applied in Field Descriptions but they only display the "calculated result", and their value will not be stored in the database. For more details, please refer here.

                                                                  1.6    Subtables

                                                                  What Are Subtables?

                                                                  Subtables are extremely useful for managing one-to-many relationships in your sheet. For example, you may want to create an entry for a customer account with activity history records for multiple contacts, or you may need to create records for multiple items in a purchase order or quotation. Subtables are everywhere in business applications, and Ragic provides the simplest way for you to create and manage them.

                                                                  Creating Subtables

                                                                  While creating a sheet in Design Mode, you can simply create a Subtable by arranging fields horizontally. Ensure that the field headers are placed next to each other in a row of consecutive cells. Just start typing the next field header in the adjoining horizontal cell, disregarding where the field value of the previous field would typically be placed. The field values will automatically shift to be displayed vertically below the field headers.

                                                                  Note:

                                                                  1. Creating sheets cannot begin with Subtables.

                                                                  2. We recommended placing Subtables at the bottom of your sheet since Subtables will expand to accommodate new entries.

                                                                  3. We suggest not placing more than one Subtable per row or placing an "independent field" next to the Subtable.

                                                                  4. If you have different Subtables placed in different rows, but start from different columns, it's suggested to place a long description field in between to prevent the displaying issue caused when Subtables expand.

                                                                  Entering Data Into Subtables

                                                                  When using Subtables, users can enter many sub-entries belonging to the main sheet entry. Initially, the Subtable displays three empty rows for entering data, but as a user enters more information, additional rows will appear.

                                                                  Filtering and Sorting in Subtables

                                                                  When you want to filter or sort Subtable records, it's just like filtering and sorting data using field headers on a Listing Page. You can click on the dropdown arrows next to the field header.

                                                                  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 options to filter.

                                                                  The applied filters can be cleared either by using the Clear Filter and Sort button located at the top of your page or by using the Clear Filter option accessible from the drop-down arrow of each field header.

                                                                  Sorting the Order of Your Subtable Records

                                                                  Options include sorting by ascending or descending order.

                                                                  The applied Sorting can be cleared either by using the Clear Filter and Sort button located at the top of your page or by using the Clear Sorting option accessible from the drop-down arrow.

                                                                  Setting a Default Filter and Default Sort to a Subtable

                                                                  You can set a default filter or sort to Subtables, which filters and/or sorts the results displayed whenever entries are viewed.

                                                                  To set a default filter or sort, click the Save current subtable filter and sort as default option accessible from the drop-down arrow.

                                                                  The default setting can be cleared by clicking the Remove current subtable default filter and default sort option from the same menu.

                                                                  Exporting Data from Your Subtables

                                                                  If you want to export data from your Subtable, you can follow these steps:

                                                                  1. Create a New Sheet from Your Subtable. This will generate a new sheet with all the records from the Subtable of the original sheet.

                                                                  2. By Linking Fields from Parent Sheets, you can add "independent fields" from the parent sheet. This ensures that the necessary data from the parent sheet will also be exported along with the Subtable data.

                                                                  3. Export your data from your new sheet. It works just like exporting from a sheet.

                                                                  Adjusting Subtable Field Order

                                                                  You can simply drag and drop the field headers horizontally to change the Subtable field order.

                                                                  Moving the Subtable

                                                                  1. Ensure that there is enough space in the desired location on the sheet.

                                                                  2. Simply drag any of the Subtable fields to the desired location.

                                                                  3. Specify the destination cell and click "Move" to complete.

                                                                  More About Subtables

                                                                  1. Learn more about how to use Formulas to calculate values in Subtables.

                                                                  2. Having hundreds of records in a Subtable can slow down the loading speed. It is recommended to manage the records from a new sheet created from the Subtable.

                                                                  3. If you want to prevent users from deleting Subtable records, you can lock permissions using the No subtable deletion allowed option while in Design Mode.

                                                                  Video Tutorial

                                                                  For more detailed information about Subtables, you can refer to the following tutorial video.

                                                                  1.7    Tuning the Layout of Your Sheets and Tabs

                                                                  You can adjust the appearance of your sheet in the Design Mode and design specific versions for printing purposes.

                                                                  Changing the Height and Width of Your Fields

                                                                  In Form Page

                                                                  Adjusting the height and width of cells works the same way as in Excel. You can drag the right border of a column to adjust its width and the bottom border of a row to adjust its height.

                                                                  In Listing Page

                                                                  You can adjust the width of a column by dragging its right border and the height of all rows by dragging the bottom border of one row.

                                                                  Directly Set Column Width or Row Height

                                                                  You can right-click the column or row you want to edit and select the Column Width or Row Height option. Then, directly enter "pixel values" to adjust the column width or row height in the pop-up window.

                                                                  Additionally, you can drag multiple fields and adjust their widths or heights simultaneously.

                                                                  Changing the Style of Field Headers and Values

                                                                  You can modify the style of field headers or values from the Styles tab on the left sidebar in the Design Mode, including color, font size and style, and text alignment.

                                                                  This can be done separately for Form and Listing Pages.

                                                                  If you want to apply custom styling to field values while entering data, you can use BBCodes for text formatting.

                                                                  Adding Field Borders

                                                                  You can also add Borders to field headers and values from the Styles tab in the left sidebar. This can be done separately for Form and Listing Pages.

                                                                  Click on the Border Icon under the Label Style or the Value Style formatting toolbar.

                                                                  A formatting menu will display options for choosing the borders and their color and style.

                                                                  Copying Styles

                                                                  You can click the Copy Styles to apply the same style configurations to the next clicked field.

                                                                  To apply a selected style to multiple fields, check Paste copied styles to multiple fields.

                                                                  Clearing Styles

                                                                  Clear Style of This Field

                                                                  You can clear the style of a single field by clicking Clear style of this field under the Styles tab.

                                                                  Clear Style of All Fields

                                                                  You can clear all the styles and Themes in this sheet by clicking Clear style of all fields.

                                                                  Applying a Theme

                                                                  You can also apply the preselected theme to a Form Page or Listing Page. To preview available themes, click the Select Theme Icon under the Styles tab, then select and apply the theme of your choice.

                                                                  Moving Fields

                                                                  You can move fields by dragging and dropping in the Design Mode.

                                                                  If you want to move the Subtable, please refer to this section.

                                                                  Formatting Static Text Fields

                                                                  For formatting Static Text Fields, please refer to this section.

                                                                  Spanning (Merging) Cells

                                                                  You can span fields across multiple columns by selecting Column Span (Merge Cells) option in the left sidebar under the Basic tab. It will merge the number of fields you input within the same row.

                                                                  In static text fields, you can do this the same way or simply by dragging the lower-right corner of the field.

                                                                  Changing Tab Color

                                                                  To change the color of a tab, right-click to access the context menu and select Change Color.

                                                                  This will display a Color Picker, where you can choose a color swatch, or enter a hexadecimal code. Then, click Save Color to apply it.

                                                                  Changing Tab Icon

                                                                  To change the Tab Icon, right-click to access the context menu and select Change Icon.

                                                                  A pop-up menu will be displayed. Choose or upload the icon you would like to apply to your tab.

                                                                  Video Tutorial

                                                                  For a clearer demonstration, you can refer to the following tutorial video.

                                                                  1.7.1    Managing Tabs and Sheets

                                                                  When accessing 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 at the top.

                                                                  Tab Menu and Tab Manager

                                                                  As tabs grow, locating the sheets you need might become a problem. This is when the Tab Menu can help. You can categorize tabs into different tab groups (tab menus) such as "ERP", "HR", or "Marketing". Each tab menu will have its homepage.

                                                                  You can add and edit Tab Menus through Tab Manager, accessible in two ways:

                                                                  1. Click on the drop-down menu at the top-left of the page and select Default Tab Menu, which contains all uncategorized tabs. Then, choose Create new tab menu set next to the "+" sign.

                                                                  2. Right-click on any tab at the top and select Tab Manager.

                                                                  To add a new tab menu, click on Create new tab menu and name it.

                                                                  Select the tabs you would like to add to the new tab menu and click "Save".

                                                                  You can also rename or delete the selected tab menu or sort tab menus by clicking the "gear icon".

                                                                  Access the new tab menu by selecting it from the drop-down menu at the top-left of the page. Only the tabs you added will be displayed on this page. You can also add different logos and banners to each tab menu.

                                                                  Note:

                                                                  1. Tabs added to other tab menus will no longer be displayed in the Default Tab Menu.

                                                                  2. Reports will move along with their source sheets.

                                                                  Duplicating All Sheet Designs Under a Tab

                                                                  If you have a "Sales Order Management Tab" and there are linking relationships between sheets within it, and you want to duplicate an identical set of designs (including linking relationships but excluding data), you can use the Duplicate Tab instead of copying individual sheet and manually adjusting the link.

                                                                  Click on the inverted triangle icon next to the tab name or right-click, and choose Duplicate Tab.

                                                                  Select which sheets you want to copy.

                                                                  After submitted, all selected sheets will be copied together! The linking relationships between sheets will be connected to the newly copied set of sheets, not the source ones.

                                                                  This feature is for duplicating the entire tab and its sheet designs. Unlike Multiple Versions, the data won't be synced after duplication.

                                                                  Configuring Default Tab Menu Set for Specific User Groups

                                                                  When your database has numerous tab menu sets and you want to simplify the process of finding sheets for users upon login, you can direct them to commonly used tab menu sets. For instance, users in the "Sales" group can be directed to the "ERP" tab menu set, while users in the "HR" group can be directed to the "HR" tab menu set.

                                                                  First, open the Tab Manager, select the tab menu set you want to configure, and click the "gear icon" next to it. Choose Set as user group-specific default tab menu set.

                                                                  In the window, specify which Groups should have this tab menu set as their default, and remember to Save. Once done, users in that group will be directed to this tab menu set upon login.

                                                                  Note: If users belong to multiple groups, each configured with a different default tab menu set, their default will be determined by the order of these sets. If users can't access any sheets or tabs in a set, they will be directed to the next one. If none meet the criteria, they will be directed to the database's Default Tab Menu.

                                                                  Sheet Information and Hiding Sheet

                                                                  Select the sheet you would like to view and right-click to access the Sheet Information.

                                                                  In the window, you can see the following information.

                                                                  Hidden Sheet

                                                                  You can hide a sheet from users who do not have SYSAdmin access rights in Sheet Information. This feature helps to maintain a clear interface by concealing the sheet.

                                                                  Users can still access this sheet via its URL. If this sheet is a linked sheet within the Link & Load feature, it will remain accessible in those configurations.

                                                                  Sheet Manager

                                                                  If you want to change sheet order, you can hover on any tab or sheet and right-click to open Sheet Manager.

                                                                  Select a sheet and click the horizontal arrows to move it to other tabs, or click the vertical arrows to change its order within the same tab.

                                                                  Remember to save before leaving.

                                                                  Deleting a Sheet or Tab

                                                                  To delete the sheet or tab, hover over it and an "arrow" icon will appear on the right. Click on the arrow, then select "Delete" to remove it. Alternatively, right-click on the sheet or tab you want to delete, then select "Delete".

                                                                  If the system stops you from deleting a sheet, please refer to this document.

                                                                  If you accidentally deleted a tab or sheet and would like to recover it, you can check the Recycle Bin.

                                                                  1.7.2    Adding Shortcuts Under Tabs

                                                                  x
                                                                  Adding Shortcuts Under Tabs

                                                                  New Link

                                                                  New Action

                                                                  New Link

                                                                  You can add URLs as hyperlinks under tabs through New Link. For instance, you can create a hyperlink to your e-commerce website under "Sales Order" tab.

                                                                  Right-click on the tab and select New Link.

                                                                  Set the name, URL, and the groups which can access for the hyperlink.

                                                                  New Action

                                                                  Since most desktop browsers do not yet support barcode scanning, detailed instructions are temporarily unavailable.

                                                                  1.7.3    Insert Image in Your Sheets

                                                                  If you would like to add a company logo to your "Quotes" or "Sales Orders" sheets, you can hover on a blank cell and right-click to Insert Image.

                                                                  In this window, you can upload an image or fill in the image URL and then set the width and length of the picture.

                                                                  Click on the image to edit or delete it.

                                                                  After saving the design, it will be displayed on the sheet.

                                                                  The image will also show on the Printer Friendly page.

                                                                  1.8    Formulas

                                                                  Usage of Formulas in Ragic

                                                                  Formulas in Ragic work similarly to those in Excel. However, Ragic's formulas are developed by us, meaning that the supported formulas or syntax may not be exactly the same. Especially, when assigning formulas, it references the Field Header directly.

                                                                  Formulas can calculate not only numbers but also strings and dates. Ragic will automatically determine the appropriate formula type, but it's best to specify the Field Type (such as Number or Date) to prevent unexpected errors.

                                                                  To assign a formula to a Field Header from your Form Page, navigate to Design Mode and select the Field Header. Go to the Field Settings menu on the left sidebar and enter your formula into the Formula tab.

                                                                  For example, in the "Sales Order" sheet, if the formula for the "Amount Due" field (A20) is "Total (A17) + Tax (A19)", you would enter "A17+A19" in that cell. Note that the formula should reference the location of the field headers.

                                                                  There is a fx() icon in the field assigned with the formula.

                                                                  Clicking on the icon, the system will automatically highlight all the referenced fields of this formula.

                                                                  For the list of supported formulas in Ragic, please refer here.

                                                                  Note: The Multiple Select Field Type can only apply specific formulas from the list.

                                                                  Formula Generator

                                                                  When you don't know how to create formulas, you can specify the rule you want in the Formula Generator. Let AI help you generate it.

                                                                  Please note:

                                                                  1. Describe the rules and specify the expected return value for this field. For example: Return today's date.

                                                                  2. If you want to include text in your formula, enclose it in double quotation marks. For example: "Transaction Date".

                                                                  3. After configuring the formula, please manually verify whether the results meet the expected outcomes.

                                                                  To open the Formula Generator interface, click on the Formula AI Open Link below.

                                                                  Input rules and click Generate Formula.

                                                                  Below are some default scenarios you can select and enter the fields based on your sheet, including Regular formulas and Approval formulas.

                                                                  For example, if you want the "Free Delivery" field to return "Yes" when the "Total" is greater than the "Free Delivery Amount," and "No" otherwise, you can choose "If A1 is greater than A2, return 'Y', otherwise return 'N'," and then modify it to match the relevant fields and return values.

                                                                  After completing, click Generate Formula to generate the corresponding formula below. Click the "copy" icon next to the formula to automatically input the formula.

                                                                  Calculation Operators in Ragic

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

                                                                  Note: Unlike Excel, Ragic does not allow a colon ":" to 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, please 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')
                                                                  <>Not equal to IF(A1<>B1,'yes','no')

                                                                  Strings in Formulas

                                                                  To create strings in formulas, you can use either 'single quotes', or "double quotes". In this document, we will use 'single quotes' for consistency, but both formats are acceptable in Ragic.

                                                                  List of Supported Formulas

                                                                  Below is the list of the supported formulas and categories in Ragic. Please note that the following formulas are case-sensitive.

                                                                  Formula Categories

                                                                  Numeric Calculation Formula

                                                                  Dates and Times Formulas

                                                                  Strings Formulas

                                                                  Conditional Formulas

                                                                  Subtables Formulas

                                                                  Multiple Select Field Formulas

                                                                  Numeric Calculation Formula

                                                                  Formulas for calculating numerical values and amounts, such as obtaining sums, averages, maximum and minimum values, etc.

                                                                  Formula Description
                                                                  SUM(value1,[value2],...) Returns the sum of (adds) all the field values. You can also directly use the format value+value2+...to represent it.
                                                                  AVG(value1, value2,...) Returns the average (arithmetic mean) of all the listed field values. Note that this function also works for Subtables, where the average of all referenced field values will be added to the calculation.
                                                                  AVERAGE(value1, value2,...) Returns the average (arithmetic mean) of all the listed field values. Note that this function also works for Subtables, where the average of all referenced field values will be added to the calculation.
                                                                  MIN(value) Returns the smallest number in a set of field values. This function also works for Subtables.
                                                                  MAX(value) Returns the largest numeric value in a range of field values. This function also works for Subtables.
                                                                  MODE.SNGL(value1,[value2],...) Returns the most common value in a range of field values. This function works for independent fields, Subtables, and global constants.
                                                                  MODE.MULT(value1,[value2],...) Returns multiple most common values in a range of field values. This function works for independent fields, Subtables, and global constants.
                                                                  ABS(value) Returns the absolute value of a number. The absolute value of a number is the number without its sign.
                                                                  CEILING(value,[significance]) Rounds number up, away from zero, to the nearest multiple of significance. Significance is optional; if not specified, round up to the nearest integer. Example: CEILING(2.5) will return 3; CEILING(1.5, 0.1) will return 1.5.
                                                                  FLOOR(value,[significance]) Rounds number down, toward zero, to the nearest multiple of significance. Significance is optional; if not specified, round down to the nearest integer. Example: FLOOR(2.5) will return 2; FLOOR(1.58, 0.1) will return 1.5.
                                                                  ROUND(value) Rounds a number to the nearest integer.
                                                                  ROUND(value,N) Rounds a number to N decimal place.
                                                                  ROUNDUP(value,N) Rounds up a number (away from zero) to N decimal place.
                                                                  ROUNDDOWN(value,N) Rounds down a number (toward zero) to N decimal place.
                                                                  MROUND(number,N) Rounds a number to the nearest multiple of N
                                                                  SQRT(value) Returns the square root of a number.
                                                                  COUNT(value1,value2,...) Returns the total number of field values. Empty values will not be counted when referencing independent fields but will be counted when referencing Subtable fields.
                                                                  PI() Returns the number 3.14159265358979, the mathematical constant pi, and the ratio of the circumference of a circle to its diameter, accurate to 15 digits.
                                                                  RAND() Returns an evenly distributed random real number greater than or equal to 0 and less than 1. A new random real number is returned every time the worksheet is calculated.
                                                                  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 a divisor. The result has the same sign as the 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 of values without a remainder.
                                                                  LCM(value1,[value2],...) Returns the least common multiple of integers. The least common multiple is the smallest positive integer, which is a multiple of all integer arguments value1, value2, and so on. Use LCM to add fractions with different denominators
                                                                  PRODUCT() Multiplies all the numerical values in referenced fields (neglecting empty and text values). You can also reference a Subtable field to multiply all the numeric values of that field.

                                                                  PMT(rate, nper, pv, [fv], [type]) Calculates the payment for a loan.

                                                                  rate (Required): The interest rate.
                                                                  nper (Required): The total number of payments for the loan
                                                                  pv (Required): The present value or principal
                                                                  fv (Optional): The future value, or a cash balance you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0, that is, the future value of a loan is 0.
                                                                  type (Optional.): Fill 0 or omitted, if payments are due at the end of the period. Fill 1, If payments are due at the beginning of the period.

                                                                  Dates and Times Formulas

                                                                  Formulas for obtaining date and time-related data, such as returning the year, month, day, time, or specific workdays. For explanations and applications of some formulas, please refer to this section.

                                                                  Formula Description
                                                                  TODAY() Returns the current date. In case of automatic daily recalculation, please replace TODAY() with TODAYTZ().
                                                                  TODAYTZ() Returns the current date according to Company Local Time Zone in your Account Settings.
                                                                  NOW() Returns the current date and time.
                                                                  NOWTZ() Returns the current date and time according to the Company Local Time Zone in your Account Settings.
                                                                  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). Use EDATE to calculate maturity dates or due dates that fall on the same day of the month as the date of issue. Both "start_date" and "months" are required, and the start_date needs to be a date field.
                                                                  EOMONTH(start_date, months) Returns the serial number for the last day of the month, which is a specified number of months before or after start_date. Use EOMONTH to calculate maturity dates or due dates that fall on the last day of the month. Both "start_date" and "months" are required, and the start_date needs to be a date field.
                                                                  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
                                                                  DATE(year,month,day) Combines values in referenced numeric fields into a date. Please use four-digit years to prevent confusion.
                                                                  WEEKDAY() Returns the day of the week, using numbers 1 (Sunday) through 7 (Saturday)
                                                                  WORKDAY(start_date,days,["holidays"], ["makeup_workdays"]) Returns a number that represents a date that is the indicated number of working days before or after a given date. For details, click here
                                                                  WORKDAY.INTL(start_date,days,[weekend_no],["holidays"], ["makeup_workdays"]) Returns the serial number of the date before or after a specified number of workdays with custom weekend parameters. For details, click here
                                                                  NETWORKDAYS(start_date,end_date,["holidays"], ["makeup_workdays"]) Returns the number of whole working days between a start_date and an end_date. For details, click here.
                                                                  NETWORKDAYS.INTL(start_date,end_date,[weekend_no],["holidays"], ["makeup_workdays"]) 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.
                                                                  ISOWEEKNUM(date) Returns the number of the ISO week number of the year for a given date. Every week begins on Monday.
                                                                  WEEKNUM(Date,[return_type]) Returns the week number of a specific date in that year, you can define which day the week begins. For details, click here.
                                                                  DATEVALUE(date_text, date_format) Applied on date (time) fields where you can convert a referenced date of a free text field to a date (time) value. For this formula, "date_text" is the date in a free text field that you will be referencing, and "date_format" is the format of the referenced field with the date. For example, if A1 is a free text field with the value “2019/02/01” and you would like to convert it to a value on the date field, you can use the formula DATEVALUE(A1,"yyyy/MM/dd") on the date field to obtain the converted result.
                                                                  HOUR() There are three ways to use this formula:

                                                                  1. Setting the parameter as a numerical value between 0-1 will return the number of hours in regards to the proportion of 24 hours defined by the parameter. For example: HOUR(0.5)=12.

                                                                  2. Setting the parameter as a date field will return the field’s hour value. For example, if field A9’s value is 2020/10/30 18:30:19, HOUR(A9)=18.

                                                                  3. Setting the parameter as a date will return the hour value. For example, HOUR(“2020/10/13 17:35:22”)=17.

                                                                  MINUTE() There are three ways to use this formula:

                                                                  1. Setting the parameter as a numerical value between 0-1 will return the number of minutes in regards to the proportion of 60 minutes defined by the parameter. For example: MINUTE(0.5)=30

                                                                  2. Setting the parameter as a date field will return the field’s minute value. For example, if field A9’s value is 2020/10/30 18:50:19, MINUTE(A9)=50.

                                                                  3. Setting the parameter as a date will return the minute value. For example, MINUTE(“2020/10/13 17:35:22”)=35.

                                                                  SECOND() There are three ways to use this formula:

                                                                  1. Setting the parameter as a numerical value between 0-1 will return the number of seconds in regards to the proportion of 60 seconds defined by the parameter. For example: SECOND(0.5)=30

                                                                  2. Setting the parameter as a date field will return the field’s second value. For example, if field A9’s value is 2020/10/30 18:50:19, SECOND(A9)=19.

                                                                  3. Setting the parameter as a date will return the second value. For example, SECOND(“2020/10/13 17:35:22”)=22.

                                                                  TIME(hour, minute, second) The decimal number returned by TIME is a value ranging from 0 (zero) to 0.99988426, representing the times from 0:00:00 (12:00:00 AM) to 23:59:59 (11:59:59 P.M.).

                                                                  Hour: A number from 0 (zero) to 32767 representing the hour. Any value greater than 23 will be divided by 24 and the remainder will be treated as the hour value. For example, TIME(27,0,0) = TIME(3,0,0) = 0.125 or 3:00 AM.

                                                                  Minute: A number from 0 to 32767 representing the minute. Any value greater than 59 will be converted to hours and minutes. For example, TIME(0,750,0) = TIME(12,30,0) = 0.520833 or 12:30 PM.

                                                                  Second: A number from 0 to 32767 represents the second. Any value greater than 59 will be converted to hours, minutes, and seconds. For example, TIME(0,0,2000) = TIME(0,33,22) = 0.023148 or 12:33:20 AM

                                                                  Strings Formulas

                                                                  Formulas for obtaining field value strings or checking field content, such as getting string characters, changing case, checking for null values, etc. For explanations of string formulas, please refer to this section.

                                                                  Formula Description
                                                                  LEFT(value,length) Returns the first character or characters (from the left side) of a text string, based on the number of characters(length) you specify.

                                                                  Example: If the length is 3, it will return the left most 3 characters.

                                                                  RIGHT(value,length) Returns the last character or characters (from the right side) of a text string, based on the number of characters(length) you specify.

                                                                  Example: If the length is 3, it will return the right most 3 characters.

                                                                  MID(value,start,[length]) Extracts a given number of characters from the middle of a supplied text string. For the starting character, the first character on the referenced field will be specified as 0. For example, if the value on field A1 is ABCD, setting the formula as MID(A1,1,2) on another field will return BC.
                                                                  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 the number of characters in a text string.
                                                                  UPPER(value)/TOUPPERCASE(value) Converts all lowercase letters in a text string to uppercase without changing the original string.
                                                                  LOWER(value)/TOLOWERCASE(value) Converts all uppercase letters in a text string to lowercase without changing the original string.
                                                                  PROPER(value) Capitalizes the first letter in a text string and any other letters in a text that follow any character other than a letter. Converts all other letters to lowercase letters.
                                                                  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.
                                                                  REPT(value,number_times) Returns the repeated value a given number of times.
                                                                  SPELLNUMBER(number, [lang]) You will see numbers that are written in words in some formal documents. For example, use "one hundred" instead of "100". You can use SPELLNUMBER formula if you need to see numbers in words in your sheets. For details, click here.
                                                                  TRIM() Remove fullwidth and halfwidth spaces at the beginning and the end of a field value. And if there are multiple full-width and half-width spaces between texts, it will only keep the first space. Example: TRIM(" a c ") will get "a c".

                                                                  CHAR(value) Returns a character when given a valid character code. For example, CHAR(10) returns a line break, and CHAR(32) returns a space.

                                                                  ISBLANK() Checks whether the referenced field is empty. You can directly reference specified fields or use them in conditional formulas.

                                                                  For example, ISBLANK(A2) or IF(ISBLANK(A2), 'Y', 'N').

                                                                  Conditional Formulas

                                                                  Formulas for returning field values based on specific conditions. For detailed explanations, please refer to this section.

                                                                  Formula Description
                                                                  IF(value==condition,value_if_true,value_if_false) Returns one value if the condition evaluates to TRUE, or another value if the condition evaluates to FALSE. For details, click here.
                                                                  IFS(value=condition1,value_if_true1,value=condition2,value_if_true2,...,true,default value) Check whether one or more conditions are met and return a value that corresponds to the first TRUE condition. For details, click here.
                                                                  LOOKUP(value,lookup_list,[result_list]) Searches for the value in a one-column or one-row range (lookup_list), and returns the corresponding value from another one-column or one-row range (result_list). For details, click here.
                                                                  AND(logical1, [logical2], ...) Returns TRUE if all its conditions evaluate to TRUE; returns FALSE if one or more conditions evaluate to FALSE. For details, click here.
                                                                  OR(logical1, [logical2], ...) Returns TRUE if any condition is TRUE; returns FALSE if all conditions are FALSE. For details, click here.
                                                                  NOT(logical) Returns TRUE if the test condition is FALSE, and FALSE if the condition is TRUE. For details, click here.
                                                                  COUNTIF(criteria_range,criteria) Returns the number of values in a range within a Subtable field that meet a single specified criterion. For details, click here.
                                                                  COUNTIFS(criteria_range1,criteria1,[criteria_range2,criteria2]...) Applies criteria to fields 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 meets a single specified criterion. For details, click here.
                                                                  SUMIFS(sum_range,criteria_range1,criteria1,[criteria_range2, criteria2],...) Adds all arguments that meet specified criteria. For details, click here.
                                                                  UPDATEIF(condition,value_if_true) Modifies a field value when at least one condition is met. For details, click here
                                                                  MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) Returns the maximum value among cells specified by a given set of conditions or criteria.
                                                                  MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) Returns the minimum value among cells specified by a given set of conditions or criteria.

                                                                  Subtables Formulas

                                                                  Formulas for obtaining data related to Subtable fields, such as returning a specified entry of a Subtable, retrieving the number of unique or non-empty Subtable rows, etc. For details, please refer to this section.

                                                                  Formula Description
                                                                  FIRST(value) Returns the first data point of the column in your Subtable.
                                                                  FIRSTA(value) Returns the first data point that is not empty of the column in your Subtable.
                                                                  LAST(value) Returns the last data point of the column in your Subtable.
                                                                  LASTA(value) Returns the last data point that is not empty of the column in your Subtable.
                                                                  COUNTA(value) Counts the number of Subtable rows that are not empty.
                                                                  SUBTABLEROW(value,nth_row) Returns the targeted data of the column in your Subtable, this can only be set in independent fields.
                                                                  RUNNINGBALANCE(value, [allow_backend_formula_recalculation=false]) Returns the sum of the values in this row and the previous row of the column in your Subtable, used for calculating running balances. "Allow_backend_formula_recalculation=true" means allowing backend formula recalculation for this formula. To use this formula, your Subtable records must be created in the correct order.
                                                                  LARGE(arg, nth, ["arg2"]) Refers to the Subtable field(s) and checks the ordinal value of one column while returning the value of another column in the same row. The referenced field "arg2" needs to be in the same Subtable as "arg". The formula will sort your entries in descending order in the backend and return the field value of the specified ordinal number.

                                                                  UNIQUE() Lists the unique values of the referenced Subtable field. For details, click here.
                                                                  UNIQUE().length Calculates the number of unique values of the referenced Subtable field. For details, click here.
                                                                  VLOOKUP() Returns the values in the Subtable that meet the specified conditions. For details, click here.

                                                                  Multiple Select Field Formulas

                                                                  Formulas for Multiple Select fields. For detailed explanations, please refer to this section.

                                                                  Formula Description
                                                                  INCLUDES_ALL(Multiple select/ image/ file upload field, value1, value2,...) If all the listed values (which can be of any field type or value) are contained in the options, returns true. For details click here.

                                                                  NOT_INCLUDES_ALL(Multiple select/ image/ file upload field, value1, value2,...) If all the listed values (which can be of any field type or value) are not contained in any of the options, returns true, equivalent to the inverse of INCLUDES_ANY. For details click here.

                                                                  INCLUDES_ANY(Multiple select/ image/ file upload field, value1, value2,...) If at least one of the listed values (which can be of any field type or value) is contained in any of the options, returns true. For details click here.

                                                                  NOT_INCLUDES_ANY(Multiple select/ image/ file upload field, value1, value2,...) If none of the listed values (which can be of any field type or value) is contained in any of the options, returns true, equivalent to the inverse of INCLUDES_ALL. For details click here.

                                                                  ITEMS_COUNT(Multiple select/ multiple image/ file upload field) Returns the number of values in a multiple select field. For example, if three options are selected in a multiple select field, returns 3; if there are two files in a file upload field, returns 2.

                                                                  Values in Subtables

                                                                  Assigning formulas to Field Headers simplifies calculations, especially in Subtables, where complex formulas are unnecessary.

                                                                  Here's an example of calculations in the "Sales Order" sheet:

                                                                  In the Subtable, the Unit Price (B12) and Quantity (C12) of each item are listed.

                                                                  Multiplying these values provides the Total Amount (D12=B12*C12) owed for each item.

                                                                  Then, the subtotal in the Total field (A17) references the total amount of money (D12) in the Subtable.

                                                                  Formulas can also work on the Subtables themselves. For instance, if you need to count how many rows there are in a Subtable, you can simply create a separate field in your sheet 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, and the SUMIFS Function.

                                                                  Calculate Unique Values in Subtable

                                                                  You can use UNIQUE() and UNIQUE().length to find or calculate the number of unique values in a Subtable.

                                                                  UNIQUE(): Lists the unique values of the referenced Subtable field. If you don't modify the separator in your formula, Subtable values will default to using "," as the separator, resulting in the image below.

                                                                  If you would like to configure your separator, you should modify your formula to UNIQUE(field,"separator"). For example, you can do UNIQUE(A1,"/"), UNIQUE(A1," "), or UNIQUE(A1,", "). The result would be "Angie/Rex/Lillian", "Angie Rex Lillian", or "Angie, Rex, Lillian" respectively.

                                                                  UNIQUE().length: Calculates the number of unique values of the referenced Subtable field.

                                                                  For example:

                                                                  Return Specific Field Value When Criteria Matched

                                                                  The VLOOKUP function returns the field value of Subtable rows if a specified condition evaluates to TRUE.

                                                                  Formulas Syntax
                                                                  VLOOKUP VLOOKUP(value, queryField, returnField, [approximateMatch=true], [findMultiple=false])

                                                                  The VLOOKUP function syntax has the following arguments:

                                                                  value: Required. The value you want to look up. Can be a number, expression, reference to another field, or a text string.

                                                                  queryField: Required. The Subtable field where the lookup value is located (A2 field in the below example).

                                                                  returnField: Required. The Subtable field contains the return value (A9 field in the below example).

                                                                  [approximateMatch=true]: Optional. The approximateMatch argument specifies whether you want VLOOKUP to find an approximate or an exact match. The default value is "true" (approximate match). Set to "false" if you would like to find an exact match.

                                                                  [findMultiple=false]: Optional. The findMultiple argument determines whether the returnFiled returns multiple values. The default value is false. If multiple entries may match the criteria, please set it to "true".

                                                                  Example

                                                                  If you want to find the teacher of a specific class in the Subtable below:

                                                                  You may create a new Free Text field for the user to input the query class. Then, create another free text field and apply the VLOOKUP(A9, A4, B4, false, false) or VLOOKUP(A9, A4, B4) formula. It will return the teacher's name according to the query class inputted.

                                                                  To return multiple values that meet the criteria and perform an approximate match, you can apply "VLOOKUP(A9, A4, B4, true, true)".

                                                                  Calculating Dates and Times

                                                                  Formulas That Refer to Date Fields

                                                                  A formula referencing Date fields can calculate dates N number of days in the future or past.

                                                                  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() - B1)/365.25" to represent the current age.

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

                                                                  Formulas That Refer to Time Fields

                                                                  To calculate time differences within a day, you need a Time field (HH:mm format) or a Numeric field for calculations.

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

                                                                  1. Use a Time field A3 with formatting (HH:mm) by setting up the formula "A2-A1".

                                                                  2. Use a Numeric field A3 with formatting (0.0) by setting up the formula "(A2-A1)/60".

                                                                  Note:

                                                                  If your start and end times span different dates, you will need to use a Date field formatted to include both time and date elements.

                                                                  For example, if A1 is the start date and time (yyyy/MM/dd HH:mm) and A2 is the end date and time (yyyy/MM/dd HH:mm), you will require a Numeric field for A3 formatted as (0.0) and apply the formula "(A2-A1)*24".

                                                                  WORKDAY Function

                                                                  Returns a number that represents a date that is the indicated number of working days before or after a date (the starting date). The WORKDAY function takes a date and returns the nearest working day in the future or past, based on an offset value you provide. Working days exclude weekends and, optionally, any dates specified as holidays, but include specified makeup workdays.

                                                                  Use WORKDAY to calculate invoice due dates, expected delivery times, total days of work performed, or whenever you need to consider working and non-working days.

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

                                                                  The WORKDAY function syntax has the following arguments:

                                                                  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 government and floating holidays. The list should be an array constant of serial numbers representing dates.

                                                                  Makeup_workdays: Optional. An optional list of one or more dates to include in the working calendar, such as a make-up workday on Saturday. The list should be an array constant of serial numbers representing dates.

                                                                  Example 1:

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

                                                                  When A1 contains the value "2017/06/15", and A2 contains the value "9", the formula will use 2017/06/15 as the start date and calculate a date nine workdays in the future, excluding the identified holidays on 2017/06/16 and 2017/06/19.

                                                                  The resulting date would be 2017/06/30.

                                                                  Example 2:

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

                                                                  When A1 contains the value "2017/06/15", and A2 contains "9", with "2017/06/16" and "2017/06/19" specified as non-countable dates, and "2017/06/24" designated as a workday (despite being a Saturday).

                                                                  Then, the formula will use "2017/06/15" as the start date and calculate a date of nine workdays in the future. It will exclude the identified holidays on "2017/06/16" and "2017/06/19” but include the specified working day on "2017/06/24".

                                                                  The resulting date would be 2017/06/29.

                                                                  Note: When using the holidays or makeup_workdays arguments, to avoid setting them individually for each sheet, you can define an array Global Constant for consistent dates across the database and use it in the formula. For more details, please refer to this section.

                                                                  WORKDAY.INTL Function

                                                                  Returns the serial number of the date before or after a specified number of workdays with custom weekend parameters. Weekend parameters indicate which and how many days are weekend days. Weekend days and any days that are specified as holidays are not considered workdays.

                                                                  Formula Syntax
                                                                  WORKDAY.INTL WORKDAY.INTL(start_date,days,[weekend_no],["holidays"], ["makeup_workdays"])

                                                                  The WORKDAY.INTL function syntax has the following arguments:

                                                                  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.

                                                                  Weekend_no: 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 list of one or more dates to exclude from the working calendar, such as government and floating holidays. The list should be an array constant of serial numbers representing dates.

                                                                  Makeup_workdays: Optional. An optional list of one or more dates to include in the working calendar, such as a make-up workday on Saturday. The list should be an array constant of serial numbers representing dates.

                                                                  Example:

                                                                  Apply the formula " WORKDAY.INTL(A1,A2,2,["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 use 2017/06/15 as the start date, take Sunday and Monday as the weekend, and calculate a date nine workdays in the future, excluding the identified holidays on 2017/06/16 and 2017/06/19.

                                                                  The resulting date would be 2017/06/29.

                                                                  Note: When using the holidays or makeup_workdays arguments, to avoid setting them individually for each sheet, you can define an array Global Constant for consistent dates across the database and use it in the formula. For more details, please refer to this section.

                                                                  NETWORKDAYS Function

                                                                  Returns the number of whole working days between the start_date and end_date. Working days exclude weekends and any dates identified as 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"], ["makeup_workdays"])

                                                                  The NETWORKDAYS function syntax has the following arguments:

                                                                  Start_date: Required. A date that represents the start date.

                                                                  End_date: Required. A date that represents the end date.

                                                                  Holidays: Optional. An optional list of one or more dates to exclude from the working calendar, such as government and floating holidays. The list should be an array constant of serial numbers representing dates.

                                                                  Makeup_workdays: Optional. An optional list of one or more dates to include in the working calendar, such as a make-up workday on Saturday. The list should be an array constant of serial numbers representing dates.

                                                                  Example 1:

                                                                  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" and E2 contains the value "2017/10/31" and the dates "2017/10/04","2017/10/09" and "2017/10/10" are 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") excluded would be 19.

                                                                  Example 2:

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

                                                                  When E1 contains the value "2017/10/01" and E2 contains the value "2017/10/31", with the dates "2017/10/04", "2017/10/09", and "2017/10/10" identified to be excluded, and "2017/10/28 (Sat)" and "2017/10/29 (Sun)" designated as workdays.

                                                                  The number of workdays between the start date (2017/10/01) and end date (2017/10/31), with the exclusion of the three identified holidays ("2017/10/04", "2017/10/09", and "2017/10/10") but including the specified working days on "2017/10/28 (Sat)" and "2017/10/29 (Sun)", would be 21.

                                                                  Note: When using the holidays or makeup_workdays arguments, to avoid setting them individually for each sheet, you can define an array Global Constant for consistent dates across the database and use it in the formula. For more details, please refer to this section.

                                                                  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 workdays.

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

                                                                  The NETWORKDAYS.INTL function syntax has the following arguments:

                                                                  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_no: 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 list of one or more dates that are to be excluded from the working day calendar. The list should be an array constant of serial numbers representing dates.

                                                                  Makeup_workdays Optional. An optional list of one or more dates to include in the working calendar, such as a make-up workday on Saturday. The list should be an array constant of serial numbers representing dates.

                                                                  Example

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

                                                                  When E1 contains the value "2017/06/01" and E2 contains the value "2017/06/30", the 11 argument is used to specify the weekend as Sunday only, and the date "2017/06/16" is identified to be excluded, the formula subtracts 10 nonworking days (four Sundays, one Holiday) from the 30 days between 2017/06/01 and 2017/06/30.

                                                                  The result is 25 days.

                                                                  Note: When using the holidays or makeup_workdays arguments, to avoid setting them individually for each sheet, you can define an array Global Constant for consistent dates across the database and use it in the formula. For more details, please refer to this section.

                                                                  The following 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 Saturday only

                                                                  Formulas in Strings

                                                                  A string formula is straightforward: if the value in C1 is "Michael", and C2 is "Scott", then "C1+C2" will be "MichaelScott". If you want to add a space between two strings, you can use "C1+' '+C2", resulting in "Michael Scott".

                                                                  For more string formula applications, you can refer to this article.

                                                                  Note: If you want to represent "\" in a formula, it should be written as "\\".

                                                                  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, there is a sheet with "Full Name" as the field header in cell A1. We will extract the first and last name of a person using the space character.

                                                                  Use LEFT(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 the use of conditional formulas. Please be reminded that changing the Field Type may affect the calculation results in some situations.

                                                                  Note: These are the two circumstances in which you'll need to add ".RAW" to the referenced field upon assigning the conditional formulas:

                                                                  1. When using the operator "=" to reference two fields that equal the condition of the formula. However, when referring to only one field that equals a fixed value, ".RAW" is not needed.

                                                                  2. When assigning the formula to a Numeric field using the operator "=" to reference a string field(text, selection, date, etc.) that equals a fixed string value (which will return a numeric value as a result). If you are referencing one Numeric field that equals a value with operator "=", ".RAW" is not needed.

                                                                  For more details about ".RAW" please refer to this section.

                                                                  Date fields are calculated as days.

                                                                  Conditional formulas can also be nested.

                                                                  The IF Function

                                                                  The IF function returns one value if a specified condition evaluates to TRUE, and 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 is equal 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 is equal 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 greater than or equal to 60, the value in this field "Qualifies for senior discount?" would be "Yes"; otherwise, the value would be "No".

                                                                  Note:

                                                                  Usage of the older syntax of 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.

                                                                  When to add .RAW?

                                                                  1. Referencing two fields that are equal with the IF function

                                                                  If you would like to reference two fields that are equal to each other with the operator "=" as the condition in conditional formulas, please add .RAW after the referenced fields.

                                                                  Syntax
                                                                  IF(field1.RAW=field2.RAW,value_if_true,value_if_false)

                                                                  Examples

                                                                  Basic Example1: IF(A1.RAW=A2.RAW,1,0)

                                                                  If the value in the referenced field A1 equals the value in field A2, return 1, otherwise return 0.

                                                                  Basic Example2: IF(A1.RAW=A2.RAW,'Open','Closed')

                                                                  If the value in the referenced field A1 equals the value in field A2, return "Open", otherwise return "Closed".

                                                                  2. Referencing a string field that equals a fixed string value as the condition with the IF function

                                                                  Syntax
                                                                  IF(string_field1.RAW="string",numeric_value_if_true,numeric_value_if_false)

                                                                  Example: IF(A1.RAW="Yes",1,0)

                                                                  If the value in the referenced string field A1 equals "Yes", return 1, otherwise return 0.

                                                                  If you are referencing one Numeric field that equals a value with operator "=", ".RAW" is not needed.

                                                                  Example:IF(A1=1,'YES','NO')

                                                                  If the value in the referenced field A1 equals 1, return "YES", otherwise return "NO".

                                                                  3. Determining Whether a Field is Empty or Not

                                                                  If you would like to use a formula to check whether a field is empty or not, your formula must add .RAW after the referenced field.

                                                                  For example, the formula IF(A8.RAW='',"TRUE","FALSE") is used to check if the field on cell A8 is empty, and that field's value may be 0. Therefore, .RAW should be added.

                                                                  Note: Without adding .RAW to your referenced field on your formula, the numerical value "0" will also be considered as an empty value.

                                                                  4. Referencing the numeric value of a free text field and returning it as a text string

                                                                  For example, if the field on A1 is a free text field with the numeric value "10001", and the field on A2 is a linked field with a conditional formula set to reference and return A1's value "10001", the formula would need to be set as the following: IF(A1!='', A1.RAW)

                                                                  Retrieving Text With the IF Function

                                                                  If you would like to retrieve text from referenced fields by using the functions LEFT(), RIGHT(), and MID(), please add +"" after the field you're referencing.

                                                                  Example:

                                                                  IF(A1="Yes",A5,LEFT(A5+"",2))

                                                                  If the value in the referenced field A1 is equal to "Yes", the value in this field would be the field value of A5. For any other value of A1, the value of this field will be the first 2 digits of A5.

                                                                  Referencing TODAY() or NOW() With the IF Function

                                                                  Since the system does not support referencing the value of TODAY() or NOW() within an IF() formula directly, you'll need to create another field that references a field containing the value of TODAY() or NOW().

                                                                  Example:

                                                                  If you want to compare the value of the date field A1 to TODAY(), you can create field A2 and configure it with TODAY(). Then, apply the formula: IF(A1>A2,"Valid","Expired")

                                                                  If the value in the reference field A1 is larger than TODAY(), the value in this field would be "Valid". For a value that is smaller than TODAY(), the value of this field will be "Expired".

                                                                  On the other hand, if you want to use the TODAY() formula or the field assigned the TODAY() formula as the referenced conditional field for calculations in IF() formulas, you can create field A2 for whole calculations as follows: A1-TODAY(). Then, apply the formula: IF(A2>0,"Valid","Expired")

                                                                  Note: The value of TODAY() or NOW() will not be auto-recalculated once the entries are saved. If it's necessary to recalculate the TODAY() or NOW() value, you'll need to Apply a Daily Workflow.

                                                                  Date field With the IF Function

                                                                  1. Apply on the non-Date field to compare the values of Date fields

                                                                  For example, A1 and A2 are date fields, applying TODAY() to A2. In A4, enter the formula: IF(A1>A2,"Yes","No")

                                                                  2. Apply on Numeric fields to execute addition or subtraction operations for Date fields

                                                                  For example, it's not supported to enter the formula IF(A1-1>A2,"Yes","No") in A4. You will need to create the other two numeric fields C1 and C2. In C1, enter the formual: A1-1. In C2, enter A2. In A4, change the formula to IF(C1>C2,"Yes","No").

                                                                  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])

                                                                  LOOKUP searches for the value in a one-column or one-row range (lookup_list) and returns the corresponding value from another one-column or one-row range (result_list).

                                                                  value: Required. The value to search for in the lookup_range.

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

                                                                  result_list: Optional. 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 cannot 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, the LOOKUP function will return an empty string.

                                                                  Examples

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

                                                                  The value would be 'Small' if the value of A1 is between 0 and 44, 'Medium' for 45~64, and 'Large' for greater than or equal to 65.

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

                                                                  The value would be A3+A4 if the value of A1 is between 0 and 44, B5 for 45~45, and B6 for greater than or equal to 65.

                                                                  The AND Function

                                                                  Returns TRUE if all test conditions evaluate to TRUE; returns FALSE if one or more conditions evaluate to FALSE.

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

                                                                  The AND function syntax has the following arguments:

                                                                  logical1: Required. The first test condition that can evaluate to either TRUE or FALSE.

                                                                  logical2, ...: Optional. Additional test conditions that can evaluate to either TRUE or FALSE or be arrays or references that contain logical values.

                                                                  The OR Function

                                                                  Returns TRUE if any test condition is TRUE; returns FALSE if all conditions are FALSE.

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

                                                                  The OR function syntax has the following arguments:

                                                                  logical1: Required. The first test condition that can evaluate to either TRUE or FALSE.

                                                                  logical2, ...: Optional. Additional test conditions that can evaluate to either TRUE or FALSE or be arrays or references that contain logical values.

                                                                  The NOT Function

                                                                  Returns TRUE if the test condition is FALSE, and FALSE if the condition is TRUE.

                                                                  Formula Syntax
                                                                  NOT NOT(logical)

                                                                  Example

                                                                  NOT(A2>10)

                                                                  If the value in reference field A2 is less than or equal to 10, the system returns "true"; otherwise, it returns "false".

                                                                  The COUNTIF Function

                                                                  Use COUNTIF to count the number of rows in a Subtable that met a specified criterion; for example, to count the number of times a particular item appears in a receipt.

                                                                  Formula Syntax
                                                                  COUNTIF COUNTIF(criteria_range,criteria)

                                                                  The COUNTIF function syntax has the following arguments:

                                                                  criteria_range: Required. This range must be a Subtable field to be checked for values that fit specified criteria.

                                                                  criteria: Required. The criteria that defines which cells in criteria_range will be added. This can be a number, expression, reference to another field, or text string that determines which values will be added. Reference the table below:

                                                                  Application Examples of Formula Input
                                                                  Reference Number "8"
                                                                  Number Comparison "> 8"、"< 8"、"!= 8"
                                                                  Reference Text String "apple"
                                                                  String Inequality "!='apple'"(Use different quotes outside and inside, for example, double quotes outside and single quotes inside)
                                                                  Reference the Subtable Field A4 (No need to add double quotes or "="; just write the field name)
                                                                  Comparison with the Subtable Field "> A4"、"< A4"、"!=A4"

                                                                  COUNTIF can only refer to a single Subtable and needs to be set in independent fields.

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

                                                                  Example:

                                                                  The Formula COUNTIF(A4,'apple') entered field A9 returns the number of rows that Subtable column 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: Required. This range must be a Subtable field to be checked for values that fit specified criteria.

                                                                  criteria1: 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 values will be added. Reference the table below:

                                                                  Application Examples of Formula Input
                                                                  Reference Number "8"
                                                                  Number Comparison "> 8"、"< 8"、"!= 8"
                                                                  Reference Text String "apple"
                                                                  String Inequality "!='apple'"(Use different quotes outside and inside, for example, double quotes outside and single quotes inside)
                                                                  Reference the Subtable Field A4 (No need to add double quotes or "="; just write the field name)
                                                                  Comparison with the Subtable Field "> A4"、"< A4"、"!=A4"

                                                                  criteria_range2, criteria2,...: Optional. Rows are counted when additional criteria_ranges match their associated criteria.

                                                                  COUNTIFS can only refer to a single Subtable and needs to be set in independent fields.

                                                                  The SUMIF Function

                                                                  Use SUMIF to sum up the values stored in a specified Subtable row that meet a single criterion; for example, to sum up the monetary value of a specific merchandise item when it appears in a receipt.

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

                                                                  The SUMIF function syntax has the following arguments:

                                                                  range: Required. This range must be a Subtable field to be checked for values that fit specified criteria.

                                                                  criteria: Required. The criteria that defines which cells in range will be added. This can be a number, expression, reference to another field, or text string that determines which values will be added. Reference the table below:

                                                                  Application Examples of Formula Input
                                                                  Reference Number "8"
                                                                  Number Comparison "> 8"、"< 8"、"!= 8"
                                                                  Reference Text String "apple"
                                                                  String Inequality "!='apple'"(Use different quotes outside and inside, for example, double quotes outside and single quotes inside)
                                                                  Reference the Subtable Field A4 (No need to add double quotes or "="; just write the field name)
                                                                  Comparison with the Subtable Field "> A4"、"< A4"、"!=A4"

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

                                                                  SUMIF can only refer to a single Subtable and needs to be set in independent fields.

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

                                                                  Example:

                                                                  The Formula SUMIF(A4,'apple',B4) that is entered into field A9 returns the sum of the values in Subtable column B4, when Subtable field header A4 is the product name apple.

                                                                  The SUMIFS Function

                                                                  Use SUMIFS to sum up the value stored in a specified Subtable row that meets multiple criteria; for example, to sum up the monetary value of a number of specific merchandise items in specific store locations when it appears in a receipt.

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

                                                                  The SUMIFS function syntax has the following arguments:

                                                                  sum_range: Required. This range must be a Subtable field to be checked for values that fit specified criteria.

                                                                  criteria_range1: 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: 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 values will be added. Reference the table below:

                                                                  Application Examples of Formula Input
                                                                  Reference Number "8"
                                                                  Number Comparison "> 8"、"< 8"、"!= 8"
                                                                  Reference Text String "apple"
                                                                  String Inequality "!='apple'"(Use different quotes outside and inside, for example, double quotes outside and single quotes inside)
                                                                  Reference the Subtable Field A4 (No need to add double quotes or "="; just write the field name)
                                                                  Comparison with the Subtable Field "> A4"、"< A4"、"!=A4"

                                                                  criteria_range2,criteria2,...: Optional. Additional ranges to be added and their associated criteria.

                                                                  In the case that you want to apply multiple criteria to a single field, for example, the sum of the A1 field is equal to A or equal to B, you need to use multiple SUMIF() instead of SUMIFS().

                                                                  SUMIFS can only refer to a single Subtable and needs to be set in independent fields.

                                                                  Example:

                                                                  The Formula SUMIFS(C11,B11," > A16",B11," < A17") in the field A18 returns the sum of values Subtable column C11 when the order date (the value B11) is later than that A16 and earlier A17 field.

                                                                  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 is equal to 10, the value in this field would be 10. For any other value of A2, the value of this field would remain unchanged from the previously 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 the field "Shipping address" would be A1 (home address); otherwise, the value would remain empty.

                                                                  Nesting Conditional Formulas

                                                                  Conditional formulas can be nested when multiple conditions must be met.

                                                                  Example 1:

                                                                  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 2:

                                                                  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.

                                                                  IFS()

                                                                  In addition to the nested conditional formulas, you can also use IFS() to check whether one or more conditions are met, and return a value that corresponds to the first TRUE condition.

                                                                  Formula Syntax
                                                                  IFS() IFS(value=condition1,value_if_true1,value=condition2,value_if_true2,...,true,default value)

                                                                  The IFS function syntax has the following arguments:

                                                                  value=condition1: Required. The first condition evaluates to TRUE or FALSE.

                                                                  value_if_true1: Required. Result to be returned if value=condition1 evaluates to TRUE.

                                                                  value=condition2: Required. The second condition evaluates to TRUE or FALSE.

                                                                  value_if_true2: Required. Result to be returned if value=condition2 evaluates to TRUE.

                                                                  *You need to set at least two sets of conditions. You can apply more if needed.

                                                                  true: Optional. Please input "true" if you want to set the default value when none of the other conditions are met.

                                                                  default value: Optional. The result is returned if none of the other conditions are met.

                                                                  Example:

                                                                  IFS(A1=1,"Bad",A1=2,"Good",A1=3,"Excellent",true,"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".

                                                                  Formulas for Multiple Select Field

                                                                  Formula Syntax
                                                                  INCLUDES_ALL INCLUDES_ALL(Multiple select/ image/ file upload field, value1, value2,...)
                                                                  NOT_INCLUDES_ALL NOT_INCLUDES_ALL(Multiple select/ image/ file upload field, value1, value2,...)
                                                                  INCLUDES_ANY INCLUDES_ANY(Multiple select/ image/ file upload field, value1, value2,...)
                                                                  NOT_INCLUDES_ANY NOT_INCLUDES_ANY(Multiple select/ image/ file upload field, value1, value2,...)
                                                                  ITEMS_COUNT ITEMS_COUNT(Multiple select/ multiple image/ file upload field)

                                                                  Using INCLUDES_ALL as an example, first apply INCLUDES_ALL(D1, A1, A2, B4) to D2.

                                                                  A1 = Free text field, the field value is "A"

                                                                  A2 = Multiple select field, the field values are B, C

                                                                  B4 = Free text field in subtable with two records. The value in the first record is "D"; in the second record is "E"

                                                                  D1 = Multiple select field, the field values are A, B, C, D, E

                                                                  D2 will return "true".

                                                                  Formula Recalculation

                                                                  Formula calculations will be executed when you edit referenced fields, and the values are saved when you save the entry.

                                                                  By default, the values that are already saved will not change when you modify the formula while designing your sheet. This is because, in most cases, a previous calculation is still valid for older entries and should not be overwritten when you have updated the formula. A practical example would be calculating taxes after a tax hike; all previous entries would still need to reflect the older tax rate.

                                                                  In some cases, you may need to recalculate a formula on all previous entries. To do so, you can choose to apply the formula change to all saved records, or, if you have modified more than one formula, apply all formulas on this sheet to all saved records.

                                                                  Remember to save the design first before recalculating formulas in Design Mode.

                                                                  If you frequently change a formula or apply TODAY(), you also have the option to add a script that will recalculate your formula every day. Please note that, when recalculating records exceeding 5000 through workflow, changes will not be included in the entry history.

                                                                  Triggering Formula Recalculation on Parent or Related Sheets

                                                                  To run a formula recalculation on related records on other sheets, go to Form Settings > Form Settings > Recalculate all formulas on parent or related sheets.

                                                                  The definition of parent and related sheets

                                                                  Parent Sheets:

                                                                  In the above example, A and B are parent sheets of C.

                                                                4. The sheet which generates a new sheet from its Subtable (sheet A) is the parent sheet of the new sheet (sheet C).
                                                                5. The sheet which shows references from existing sheets (sheet B) is also the parent sheet of the existing sheet (sheet C).
                                                                6. Related sheets:

                                                                  B and C are related sheets of A; A and C are related sheets of B.

                                                                7. Two sheets are called related sheets if they share the same Subtable and are not each other's multiple versions (sheet A and B).
                                                                8. Therefore, to sheets A and B, sheet C (which is generated from the subtable in sheet A) is their related sheet.
                                                                9. Note: Currently, the limit number of recalculated records is 1000. If the number of records to be recalculated exceeds the system's limitation, it will ignore the setting to recalculate all formulas on related sheets.

                                                                  The diagram below shows the design concepts and logic between parent sheets, child sheets, and related sheets.

                                                                  Formulas in Description Fields

                                                                  Formulas also work in Description Fields for display purposes only.

                                                                  This is useful if you need to recalculate a formula each time your database form is loaded, but 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, to display a person's age based on their birthday, you can use the formula [formula](TODAY() - A1)/365.25[/formula] in a description field. This formula will continuously update to show the person's age according to the current date.

                                                                  Math Objects supported in Ragic

                                                                  About the Math Objects supported in Ragic, please refer to this page.

                                                                  Suggest a Formula

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

                                                                  1.8.1    Approval Formula

                                                                  Using Formulas with Approval Fields

                                                                  If your sheet has an Approval Flow, you can apply the formulas below to return certain values related to the approval process.

                                                                  Currently, we support two types of approval formulas:

                                                                  1. Related to the Whole Approval Flow

                                                                  Formula Description
                                                                  APPROVAL.COUNT() Returns the number of approval steps.
                                                                  APPROVAL.STATUS() Returns approval status.

                                                                  N: New, indicating the approval process has not yet started or has been canceled.

                                                                  P: Processing, indicating the approval process is ongoing and awaiting completion.

                                                                  REJ: Rejected, indicating rejection by anyone approver.

                                                                  F: Finish, indicating completion when all approvers agree.

                                                                  APPROVAL.SUBMITDATE([true]) Returns the date and time an approval process is started. Supported in Date Fields.

                                                                  The [true] argument is optional, the time value will be displayed using UTC+0 time zone when applied. Otherwise, the time value will display using the account time zone. (Front-end recalculation will be based on browser time zone; Back-end recalculation will be based on company time zone)

                                                                  APPROVAL.SUBMITTER() Returns the email address of the user who starts the approval process. Supported in Select User Fields.
                                                                  APPROVAL.SUBMITTERNAME() Returns the name of the user who starts the approval process.
                                                                  APPROVAL.FINISHDATE([true]) Returns the date and time an approval process ends. An approval ends when all the approvers approve or when one of them rejects. Supported in Date Fields.

                                                                  The [true] argument is optional, the time value will be displayed using UTC+0 time zone when applied. Otherwise, the time value will be displayed using the account time zone. (Front-end recalculation will be based on browser time zone; Back-end recalculation will be based on company time zone)

                                                                  2. Related to a Certain Step of Approval Flow

                                                                  Formula Description
                                                                  APPROVAL.CURRENTSTEPINDEX Returns the index value representing the current step in the approval process.

                                                                  Index 0 means the approval process has not yet been started.

                                                                  Index 1 means the approval process has been started but no approver has approved yet.

                                                                  Whenever an approver approves, "1" will be added to the index. When the approval process ends (all approve/ 1 rejects/ canceled), the index returns to "0".

                                                                  APPROVAL.STEP([stepIndex]) Uses an index value to point to a certain step in the approval process. The [stepIndex] argument is optional, with its default argument being APPROVAL.CURRENTSTEPINDEX.

                                                                  APPROVAL.STEP(-1): Last step.

                                                                  APPROVAL.STEP(): Current step. Equivalent to APPROVAL.STEP(APPROVAL.CURRENTSTEPINDEX)).

                                                                  APPROVAL.STEP(0): Incorrect usage.

                                                                  APPROVAL.STEP(1): First step.

                                                                  APPROVAL.STEP(2): Second step.

                                                                  APPROVAL.STEP([stepIndex]).NAME() Returns the name of this step.
                                                                  APPROVAL.STEP([stepIndex]).STATUS() Returns the status of this step.

                                                                  N: New, indicating the approval process has not yet started or has been canceled.

                                                                  F: Finish.

                                                                  If this step involves a "single approver", it indicates either approval or rejection of the request.

                                                                  If there are "multiple approvers", it indicates that the number of approvers who have agreed equals or exceeds the designated threshold, or someone has rejected the request.

                                                                  APPROVAL.STEP([stepIndex]).RESP([email])

                                                                  Returns the response of this step.

                                                                  [email] argument is optional. It can be an Email string or a Select User Field. This argument allows you to get a specific user’s response in an approval step with multiple users.

                                                                  (1) One approver in an approval step: No [email] argument needed.

                                                                  N: Not yet, indicating that this step has not yet been approved or rejected and is still pending approval.

                                                                  A: Accepted, indicating that the approver has accepted the approval.

                                                                  A_D: Accept by Deputy, indicating that the deputy of the approver has accepted the approval.

                                                                  REJ: Rejected, indicating that the approver has rejected the approval.

                                                                  REJ_D: Reject by Deputy, indicating that the deputy of the approver has rejected the approval.

                                                                  (2) Multiple approvers in an approval step:

                                                                  Without the [email] argument:

                                                                  N: Not yet, indicating that the number of approvers who have accepted the approval is less than the designated number of approvers.

                                                                  A: Accepted, indicating that the number of approvers who have accepted the approval is greater than or equal to the designated number of approvers.

                                                                  REJ: Rejected, indicating that someone has rejected the approval.

                                                                  With the [email] argument:

                                                                  unsigned: The approver has not yet accepted or rejected the approval.

                                                                  signed: The approver has accepted the approval.

                                                                  signed_by_deputy: The approval has been accepted by the deputy of the approver.

                                                                  rejected: The approver has rejected the approval.

                                                                  rejected_by_deputy: The approval has been rejected by the deputy of the approver.

                                                                  APPROVAL.STEP([stepIndex]).ISMULTI() Returns "True" if this step has "multiple approvers".
                                                                  APPROVAL.STEP([stepIndex]).THRESHOLD() Returns the threshold number of this step, or "-1" if this step only has a single approver or no threshold was set.
                                                                  APPROVAL.STEP([stepIndex]).USERS() Returns all approvers.

                                                                  E.g., Jessica Jones|Nick Fury|Steve Rogers

                                                                  Supported in Multiple Select Users Fields. (Due to the current limitation where formulas cannot be applied to Multiple Select Fields, you need to manually set the f attribute.)

                                                                  APPROVAL.STEP([stepIndex]).ACTIONDATE([email],[true])

                                                                  Returns the approve or reject time of a specific approval step. This formula needs to be applied to a Date Field.

                                                                  The [true] argument is optional, the time value will be displayed using UTC+0 time zone when applied. Otherwise, the time value will be displayed using the account time zone. (Front-end recalculation will be based on browser time zone; Back-end recalculation will be based on company time zone)

                                                                  [email] argument is optional. It can be an Email string or a Select User Field. This argument allows you to get a specific user’s approval or a reject time in an approval step with multiple users.

                                                                  (1) One approver in an approval step: No [email] argument needed.

                                                                  Returns the approver’s approval or reject date and time.

                                                                  (2) Multiple approvers in an approval step:

                                                                  Without the [email] argument:

                                                                  The system will return the date and time when one approver has rejected this approval or when the step is completely approved (the number of approved approvers meets the approval threshold settings).

                                                                  With the [email] argument:

                                                                  The system will return the respective user’s approval or reject time.

                                                                  (Note: The [email] argument in the formula is only applicable for approval steps created after 2021/07/13.)

                                                                  APPROVAL.STEP([stepIndex]).UNSIGNEDUSERS() Returns the approvers who haven't approved in this step. E.g., Jessica Jones|Nick Fury|Steve Rogers

                                                                  Supported in Multiple Select Users Fields. (Due to the current limitation where formulas cannot be applied to Multiple Select fields, you need to manually set the f attribute.)

                                                                  APPROVAL.STEP([stepIndex]).SIGNEDUSERS() Returns the approvers who have already approved this step.

                                                                  E.g., Jessica Jones|Nick Fury|Steve Rogers

                                                                  Supported in Multiple Select Users Fields. (Due to the current limitation where formulas cannot be applied to Multiple Select fields, you need to manually set the f attribute.)

                                                                  APPROVAL.STEP([stepIndex]).SIGNEDCOUNT() Returns the number of the approvers who have already approved this step.
                                                                  APPROVAL.STEP([stepIndex]).SIG([email]) Returns the signature of the approver in this step.

                                                                  E.g., base64 image URL. Supported in Upload Image Fields.

                                                                  The [email] argument can be an Email string or a Select User Field and should be enclosed in " " in this formula.

                                                                  (1) One approver in an approval step: No [email] argument needed.

                                                                  Returns the signature of the approver in this step.

                                                                  (2) Multiple approvers in an approval step: The [email] argument is required.

                                                                  Returns the signature of a certain approver.

                                                                  APPROVAL.STEP([stepIndex]).SIGIMG([email], [width], [height]) Returns the signature of the approver in this step in a predetermined image size.

                                                                  The [width] and [height] arguments are optional, with default values being 300px x 150px. This formula can be applied to field descriptions with BBCode [formula].

                                                                  Please note that the [email] parameter of this formula should be enclosed in " ". To return a signature for a single approver in an approval process with dimensions 600px in length and 300px in width, use APPROVAL.STEP([stepIndex]).SIGIMG(null, 600, 300), where null should not be enclosed in " ".

                                                                  APPROVAL.STEP([stepIndex]).COMMENT([email]) Returns comments of the approver(s), or null if there is no comment.

                                                                  (1) One approver in an approval step: No [email] argument needed.

                                                                  Returns the comment of the approver.

                                                                  (2) Multiple approvers in an approval step: The [email] argument is required.

                                                                  Returns the comment of a certain approver.

                                                                  APPROVAL.STEP([stepIndex]).COMMENTDATE([email], [true]) Returns the date and time left comments of the approver(s).

                                                                  The [true] argument is optional, the time value will be displayed using UTC+0 time zone when applied. Otherwise, the time value will be displayed using the account time zone. (Front-end recalculation will be based on browser time zone; Back-end recalculation will be based on company time zone)

                                                                  (1) One approver in an approval step: No [email] argument needed.

                                                                  Returns the date and time the comment was left by the approver.

                                                                  (2) Multiple approvers in an approval step: The [email] argument is required.

                                                                  Returns the date and time left the comment was left by a certain approver.

                                                                  Formula Recalculation

                                                                  About formula recalculation, please refer to this article.

                                                                  Time Zone Issue in Approval Formulas

                                                                  If your sheet has already started or completed the approval process, and you subsequently add a field applying an approval formula that returns time, such as APPROVAL.SUBMITDATE([true]) or APPROVAL.STEP([stepIndex]).ACTIONDATE([email],[true]), to a sheet that already contains Date values with the "Display Using Browser’s Time Zone" setting, it may result in the displayed time being adjusted based on "your browser's time zone".

                                                                  For example, if you have already approved a sheet on "August 1, 2023, at 12:00 PM", and the approval time field at that time was not set to "Display Using Browser’s Time Zone", the recorded time was according to the "company time zone". When you subsequently add a "New Approval Time" field and enable "Display Using Browser’s Time Zone", it will cause the approval formula to calculate based on the "company's time zone" first. Then, it will add the value displayed using the browser's time zone (e.g., UTC+8). Consequently, the time in the "New Approval Time" field will be further increased by 8 hours and displayed as "8:00 PM on August 1, 2023".

                                                                  Hence, when you encounter time zone discrepancies in the approval time, simply uncheck the "Display Using Browser’s Time Zone" option for that field. This will ensure that the sheet calculates the time based on the "company time zone".

                                                                  When you check or uncheck the "Display Using Browser’s Time Zone" option, the system will display a reminder indicating that the field's date values will be converted. Therefore, please pay attention to this setting and avoid checking or unchecking it for fields that already contain date values.

                                                                  1.9    Approval Flow Configuration

                                                                  Configuring the Approval Process

                                                                  Through the Approval process, users can designate supervisors or specific individuals to review the submitted record.

                                                                  For example, a leave request may go to the "Direct supervisor" for approval, while a Sales Order could require approval from the "Sales Manager". After a user adds a new entry and clicks Start approval, an email is sent to the first approver. Upon their approval, the system notifies the next approver in sequence, proceeding from top to bottom.

                                                                  To open the approval setting interface, you can click on the lower-right icon in the Design Mode or access it from the Form Tools.

                                                                  Click Add approval step to add the Approval process.

                                                                  Set the Step Name, which is mandatory, for an approval step such as "Purchasing Manager" or "Project Manager".

                                                                  Selecting the Approver

                                                                  In the Name field, specify the User for a fixed approver, or choose a user group where an approver can be selected from when submitting for approval.

                                                                  You can choose approvers from the Organizational menu with the following options:

                                                                  1. Direct Supervisor sends the request to the user's direct supervisor.

                                                                  2. Supervisor of Supervisor directs the request to the user's supervisor's supervisor.

                                                                  3. Supervisor of Previous Approver routes the request to the previous approver's supervisor.

                                                                  Note: To enable the approval functionality for direct supervisors and their supervisors, you will need to use the Direct Supervisor field in the system User sheet. If this field is not available in your sheet, please contact Ragic support to update it.

                                                                  You can also select approvers from the Select User or Select Group field.

                                                                  For example, you can send an approval request to the "Reviewing Officer" (the designated approver in charge) of this record instead of selecting someone from the "Procurement group" as an approver.

                                                                  If you want to set non-users (such as clients and suppliers) as request approvers, you can choose the "E-mail" field. The approval request will then be sent to the designated email address, and it can be directly approved from the email.

                                                                  You may also rearrange the order of approval using drag and drop.

                                                                  Don't forget to "Save" before leaving.

                                                                  Adding Approvers in This Step

                                                                  By clicking on the "gear" icon located just on the right of the approver selection menu, you can add approvers in this step. By doing this, all the approvers in this step must approve this sheet to proceed to the next approval step.

                                                                  If you want users to determine the number of approvers at the same step, you can set up a Select User field and enable Multiple selection. Then, when configuring the approval process, select this field twice. This ensures that all the users chosen in this field must complete the approval step to proceed to the next one.

                                                                  Setting a Threshold for Approval

                                                                  After adding approvers in a step, you can also Set a threshold for approval. For example, if there are three approvers on the first step of a record and you set its threshold for approval as 2, this record will proceed to the next step after two users in the first step have approved it.

                                                                  If you would like all members of one or more groups to approve a record, you would need to set at least two approvers in an approval step, which you can then set its threshold for approval.

                                                                  For example, if the HR user group has four users and you would like all four users to approve before proceeding to the next step, you can set the HR user group or anyone in the HR user group in the approval step. After that, you’ll be able to see the threshold for approval, which you can then set as 4.

                                                                  Advanced Settings

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

                                                                  Strict identity verification: In the approval process, approvers will need to enter their password again.

                                                                  Allow rejection: Approvers will be able to reject the approval.

                                                                  Return to the previous approval step after rejection: Whether to allow rolling back to the previous step after rejection. When it is not enabled, rejecting will cancel the entire approval process.

                                                                  Lock record when approval starts: The record will be locked once the approval process starts to prevent users from modifying it.

                                                                  Start approval after saving a new record: The approval process will only start if one record meets all the following criteria:

                                                                  1. No manual selection of approvers is required in any approval step.

                                                                  2. Created by internal users.

                                                                  Approver signature required: Users will see a signature window when approving.

                                                                  Only notify the approval starter when approval is completed: This setting will not affect the users selected in "Notify these users when approval is completed".

                                                                  Disallow canceling completed approvals: Once configured, the "Cancel approval" option is no longer available when approval is completed. The system will use the authority of the last approver to execute the action button. Therefore, ensure that the user who approves the last step has access to execute this action button for it to be auto-executed.

                                                                  Disallow cancellation of approvals in process: By default, only the approval starter, SYSadmins can cancel the ongoing approval process. If you want to disallow the approval starter from canceling the ongoing approval, please enable this setting.

                                                                  Note: Enabling this setting overrides all access rights settings, including Feature Access Settings. The approval starter cannot cancel the approval in this sheet, whether they are a SYSadmin or part of a group with "Cancel Approval" permission.

                                                                  Hide reasons input box: the field for the approver to enter the reason will not be displayed.

                                                                  Allow approval even when no approval step matches rule: Allow approval to start when no approval steps meet their respective rules and enable users to decide whether to complete it.

                                                                  Notify approvers again after pending for? days: When no approvers have completed an approval step in a specified number of days, the system will automatically notify all approvers in this step again.

                                                                  Notify these users when approval is completed: You can notify any user or user group.

                                                                  Execute these action buttons after completing approval: The supported action buttons are as follows:

                                                                  1. Custom Action Buttons (excluding Mail Merge)

                                                                  2. Lock Record

                                                                  3. Unlock Record

                                                                  4. Apply all formulas to this record

                                                                  5. Link & Load Sync

                                                                  The system will automatically execute these Action Buttons regardless of whether the last approver has the access rights to execute them.

                                                                  Once Action Buttons are configured, the approval flow cannot be canceled after it is finished.

                                                                  Setting up Rules for the Approval Flow

                                                                  You can set rules to change the approval steps according to the values in the record. Click Set rules under the "Gear Icon" and click "New" to add a rule.

                                                                  For example, you can create a rule stating that only orders totaling more than $1000 require sales manager approval. Additional rules can be added using the "+" sign.

                                                                  Otherwise, the approval process will skip that step.

                                                                  Note: Please remember to remove the rules you don't need anymore by clicking "x". Otherwise, it will still be activated.

                                                                  Adding Approval-Related Fields

                                                                  After adding an approval flow to your sheet, you can use the Listing Page Field Picker to add approval-related fields on the Listing Page.

                                                                  If you add these fields on the Listing Page, they will be automatically added on the bottom of the Form Page and set as Hidden by default.

                                                                  Alternatively, you may manually create fields and apply approval formulas to populate approval-related values. For example, if you would like to populate the status of the approval flow, you may create a free text field and apply the following formula.

                                                                  APPROVAL.STATUS()

                                                                  After saving, you can obtain the approval status of this record. You can use the Listing Page Field Picker to add new fields to the Listing Page.

                                                                  Note:

                                                                  The respective system values populated by applying the approval status formula are as follows:

                                                                  N: New, indicating the approval process has not yet started or has been canceled.

                                                                  P: Processing, indicating the approval process is ongoing and awaiting completion.

                                                                  REJ: Rejected, indicating rejection by anyone approver.

                                                                  F: Finish, indicating completion when all approvers agree.

                                                                  If you want to convert these system values to text, you may refer to this document.

                                                                  Using the Approval Flow

                                                                  Only users with sufficient access right can Start Approval of the record, including SYSAdmin, users with Admin access right to the sheet, or users who are the "entry managers" (the entry creator or users who have been assigned to the entry) with Bulletin User or Survey User access right to the sheet.

                                                                  You can refer to this document for further information on how to use the Approval Flow function in Ragic.

                                                                  Changing Approvers

                                                                  To change approvers, SYSAdmins can click the + icon and select Change approvers.

                                                                  Deputy Approval

                                                                  You can assign a deputy for users in the User Sheet allowing the deputy to approve or reject approval requests in the user's absence. For detailed information, please refer to this article.

                                                                  Ensure that you check the Notify Deputy checkbox in Personal Settings so that your deputy will receive approval notifications and Emails.

                                                                  Note:

                                                                  If you can't see the Deputy field in your sheet, please contact Ragic support to update it.

                                                                  Video Tutorial

                                                                  For a clearer demonstration, you can refer to the following tutorial video.

                                                                  1.10    Sheet and Field Version History

                                                                  Sheet and Field Version History

                                                                  Previous Versions

                                                                  History Analyzer

                                                                  Field Info

                                                                  Previous Versions

                                                                  In case you mistakenly changed something in your sheet design, or simply prefer the previous design to the current one, you can always revert it to the previous design that was saved earlier.

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

                                                                  You'll be able to view all previously saved design versions in the menu. After selecting one of the versions to restore, click "Restore" to view its design.

                                                                  To revert to the chosen version, remember to "Save" before exiting. Even if you click on the wrong version, your sheet design won't be saved immediately.

                                                                  Note: It is recommended to save your design periodically while working on a sheet design, rather than making numerous changes.

                                                                  It ensures that minor changes won't result in losing all design modifications when reverting to a previous version.

                                                                  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, details of significant design changes for each version, such as "added fields", "modified field types and names", "Formulas", etc., will be displayed.

                                                                  Adjustments to column width, layout, or color won't be displayed.

                                                                  Field Info

                                                                  You can obtain information about the field's configuration and its design change history in all versions in Field Info by right-clicking on any field in viewing, editing, or the Design Mode.

                                                                  When opening Field Info on the Listing Page, it will display the settings and change history of the field on the Listing Page.

                                                                  When opening Field Info on the Form Page, it will display the settings and change history of the field on the Form Page.

                                                                  2.1    Internal Users

                                                                  Managing Users in Your Account

                                                                  To access the user management sheet, click the hamburger icon on the upper-left of the page, and select Manage Users under User Access.

                                                                  Alternatively, you can hover over your username in the top-right corner of your account and select Users under Account.

                                                                  The user management sheet will show you a list of all the users in your database account.

                                                                  Adding New Users

                                                                  You can add new users by clicking on the +New button and entering their information.

                                                                  When the information is saved, Ragic will automatically send an email to the new users.

                                                                  Users can set their password and access the database through the link provided in this email.

                                                                  SYSAdmin

                                                                  The account registrant is set as the SYSAdmin by default. The SYSAdmin is the highest level of administrator in the database. They can add sheets, have Access Rights to all sheets (view and edit all records), modify all designs, and use and configure all features. If you want other users to have these privileges, you can add them to the SYSAdmin group on the User page.

                                                                  Note: Once users become SYSAdmins, they won't be subject to any restrictions, such as being limited to modifying certain records or being restricted in terms of connection time, etc.

                                                                  Resending Invitation

                                                                  If you would like to resend the invitation, you can click on the Resend invitation button.

                                                                  Custom Email

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

                                                                  In the pop-up window, you can design the email template using HTML formatting and the variables. Check all supported variables here.

                                                                  Click on the preview button to confirm the custom email. If you decide to use our default template instead, use will discard all the changes you've made.

                                                                  Furthermore, you can attach a URL, Excel, PDF, or Mail Merge file of the record, or other attachments.

                                                                  After completing the template, click on the Re-send invitation e-mail button and it will send a new invitation email with your adjusted template to the selected user.

                                                                  If you want to use this template for all future invitations, please click Save as email template.

                                                                  Please kindly note that the email template will be applied when you add new internal users or external users.

                                                                  User Page

                                                                  You may add fields to this page if you need additional information about your users, but please ensure that you do not move or delete any of the default fields as it may affect system operation.

                                                                  Resetting Password for a User

                                                                  To reset a user's password, navigate to the user page of the respective 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, the password will be reset to this default. Upon logging in, the user will be prompted to create a new password. If no default password is set, the password will be reset to 0000.

                                                                  Changing Email for a User

                                                                  To change the login email address of a user, navigate to the user page of the respective user and click on the Change Email button in the Actions menu on the lower right side. After completion, the approval data will also be transferred.

                                                                  Enter the updated email address in the pop-up window. Once confirmed, an email with the user's temporary password will be automatically sent to the updated address for logging into the system. The user can then change their password upon logging in to Ragic.

                                                                  Entry Owner Transfer

                                                                  When a user resigns or is transferred to another department/position, and their entry access rights (including sheet access rights, assigned entries, and submitted approvals) need to be transferred to another user, you can use the Entry Owner Transfer action button.

                                                                  Click the button and choose to which user you'd like to transfer the access right (note: you cannot transfer entry access right to External Users).

                                                                  Note: After transferring the access right, the user will no longer have access to previous entries.

                                                                  User Privileges

                                                                  In Ragic, user privileges are based on user groups, with different access rights set for each sheet. By adding users to different groups and configuring sheet access, ensure that each user has corresponding access rights within different sheets. 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 be unable to log in or access any entry in this account. When an employee leaves the company, it is recommended to suspend their account to retain their account information. Deleting users is not recommended as it may result in the loss of user account information.

                                                                  When suspending or deleting users, the system will automatically decrease the subscription user number. However, if decreasing the number of users will make the subscription fee even higher due to becoming ineligible for volume discounts, the system won't automatically update the subscription user number. For mass deleting, the message will display in the lower-left corner.

                                                                  User Identification Value Provided by IDP

                                                                  Ragic SSO uses SAML 2.0 protocol. When your SSO authentication account is different from your Email, you will need to fill in the User identification value provided by IDP field (please contact support if you don't have this field). If your Ragic account E-mail is "support@ragic.com", but your login name is "ragic/support". You should enter "ragic/support" in this field to successfully pass the authentication process.

                                                                  2.1.1    User Card

                                                                  When the cursor hovers over the Select User field, user avatars in Comments, user avatars in Tasks, and @Mentioned users, the basic information of the respective users will be displayed. It includes the user's name, email, phone/extension/mobile, online status, photo, job title, and department.

                                                                  Note: External Users cannot see User Cards, so there is no need to worry about data leakage.

                                                                  This information comes from the User Page.

                                                                  Users can configure whether to display their User Card information through the Preferences settings in the Personal Settings.

                                                                  2.2    Access Rights

                                                                  Levels of Access Rights

                                                                  The Access Rights for user groups can determine the different permissions for users within each group to view, modify, and add data on each sheet.

                                                                  Here is a comparative table for each access right:

                                                                  Setting View Create Modify Description Level
                                                                  No Rights Nothing No No Unable to view this sheet.
                                                                  Survey User Entries created by yourself or assigned to you Yes Entries created by yourself or assigned to you Will be able to create, view, and edit their own entries but won't be able to see others' entries. **
                                                                  Viewer All entries No No Will be able to view all entries but won't be able to edit or create new entries. ***
                                                                  Bulletin User All entries Yes Entries created by yourself or assigned to you Will be able to create and edit their own entries and view all other entries. Won't be able to edit others' entries. ****
                                                                  Admin All entries Yes All entries Will be able to create, edit, and view all entries in the sheet. *****

                                                                  You can assign specific users as entry managers.

                                                                  You can create multiple versions of the same sheet and assign different rights to each version.

                                                                  By default, the account owner is granted SYSAdmin rights, which differ from the access rights in the table above. As a system administrator, they have access to change the design of all the sheets. To grant this privilege to other users, you can add them to the SYSAdmin group on their user page under Ragic Groups. Alternatively, you can assign users to become Group Administrators. They will be able to modify the design of the sheets belonging to the groups.

                                                                  Global Access Rights Panel

                                                                  Click the hamburger icon on the upper-left of the page, and select Access Rights under User Access.

                                                                  You can configure the access right for each user group on this page, and search for tabs or sheet names above.

                                                                  If a user is in multiple groups, they will access the sheet with the group that grants them the most privilege.

                                                                  Exceptional case: If an "Internal User" belongs to multiple groups with different access rights, such as being in one group with Survey User access (only able to create and edit their own entries) and another group with Viewer access (unable to create entries but can view all), the system will automatically grant the user Bulletin User access (able to create and view all entries, and only edit their own).

                                                                  If a user still cannot see the data after you grant them the privilege, ask them to log out and log in again to update the access rights.

                                                                  Access Rights for Individual Sheet

                                                                  To change the access right settings on your sheet, go to the Design Mode. You will find the Access Rights tab under Form Settings.

                                                                  All the user groups will be listed here, including an Everyone group, representing all users, including those who haven't logged in or who are not users in your account.

                                                                  You can set access rights for each user group listed here for this sheet. Remember to "save" after making changes. Access rights apply to all pages of a sheet, so there's no need to set them separately for the Listing Page and Form Page.

                                                                  Individual User Access Rights

                                                                  Below the access rights setting for the individual sheet, you can find Set Individual User Access Right.

                                                                  Clicking on it allows you to select users from the drop-down menu and set access right for them.

                                                                  You can click Set Individual User Access Right again to add a new set of users. However, the same user cannot be repeatedly selected and assigned different access rights.

                                                                  Field Level Access Rights

                                                                  You can configure access rights for each field, in Access Rights under Field Settings.

                                                                  There are three levels of access rights:

                                                                  Access rights level Description
                                                                  Not Configured No effect.
                                                                  No Rights The field will be hidden.
                                                                  Viewer The field will be read-only.

                                                                  This setting only applies to user groups that already have sheet access rights.

                                                                  Example

                                                                  Example 1: The "Sales" group has Admin access rights in the "Product Information" sheet, and the field level access rights for the "Cost" field are set to either No Rights or Read Only. This means that users in the "Sales" group can view and edit all records in the sheet, but the "Cost" field in all records will be either hidden or read-only based on the specified configuration.

                                                                  Example 2: The "Sales" group has No Rights in the "Employee Management" sheet, and the field level access rights for the "E-mail" field are set to Read Only. This configuration is invalid, as users in the "Sales" group cannot access the sheet. Even if field access rights are configured, they will have no effect.

                                                                  Related Features

                                                                  Feature Description
                                                                  E-mail Notification Following the least access rights privilege, any field set to No Rights or Read-only will not be displayed in the email.
                                                                  Including: Adding or editing records, Approval, emailing this entry, sending mass emails, User invitations, Shared view notifications, Entry reviews, Guest user email validation, Reminder, and Sending custom emails.
                                                                  Entry Information The field's Entry Information will be hidden according to the configuration.
                                                                  Export (Excel, CSV, PDF, Printer Friendly) The fields will be hidden according to the configuration.
                                                                  Form Page and Listing Page (including app) The fields will be hidden or read-only according to the configuration.
                                                                  Conditional Formatting Field access rights take precedence over conditional formatting: Fields with No Rights setting will not be displayed by conditional formatting.

                                                                  Additional Access Rights Settings

                                                                  Bulletin users and Survey users can both add and modify their own data. However, sometimes you may want users to perform only one function. For example, you may want to assign an entry to a specific Survey user but prevent them from adding data. Similarly, you may want the Bulletin user to add data without the ability to modify it. In such cases, you can set additional access rights settings for Bulletin users or Survey users to "No create" or "No edit".

                                                                  You can configure it in the global access rights panel.

                                                                  You may also adjust settings for individual sheets in Design Mode.

                                                                  Video Tutorial

                                                                  For more detailed information about Access Rights, you can refer to the following tutorial video.

                                                                  2.3    User Groups

                                                                  What are User Groups?

                                                                  Adding users to user groups and assigning them different access rights on each sheet ensures that each group has appropriate viewing, creating, or modifying rights.

                                                                  Adding or Modifying User Groups

                                                                  Click the hamburger icon on the upper-left of the page, and select Groups under User Access.

                                                                  You can add or edit user groups in this sheet.

                                                                  Note:

                                                                  1. Please do not modify any system default group names to avoid affecting functionality.

                                                                  2. Group names must not be duplicated (even in different letter cases).

                                                                  3. Group names cannot contain "&", ",", or "=".

                                                                  Group Administrator and Tabs

                                                                  Group Administrator: Group administrators can create, update, and suspend users in the user group. They can also add sheets to a Group Tab or make design changes to the sheets under a Group Tab.

                                                                  Group Tabs: To add a tab as a Group Tab, enter the Tab Path Parameter in the Group Tabs field, which can be determined from the sheet's URL. The URL structure of a Ragic sheet is: https://{domain}/{apname}/{Tab Path Parameter}/{Sheet Path Parameter}/{nodeId}. For example, if the sheet URL is https://www.ragic.com/LearningRagic/forms1/1/0, the Tab Path Parameter is /forms1. You can enter this parameter in the Group Tabs field. When specifying multiple tabs, separate them with "commas".

                                                                  The users will receive a notification email when they are assigned or removed as group administrators.

                                                                  Adding User Groups Under Design Mode

                                                                  You may also add a new user group under Design Mode while you are setting up access rights. Go to Form Settings > Access Rights, and click on "Add User Group" under the list of existing user groups.

                                                                  2.4    Assigning Entries

                                                                  Note: This feature is not applicable to Subtable fields. If you assign a user/group to a Subtable field, the user cannot be set as the entry manager for that entry. Please set this feature on independent fields instead.

                                                                  Assigning Entries to Users

                                                                  Entry creators can view and modify their entries by default. If you need to assign entries to users who do not have access rights to view entries created by others, you can add a Select User field and check Set selected user as entry manager, granting them access to that entry.

                                                                  Once the entries are assigned to the users, they will have access to them.

                                                                  If you have already added customers as External Users, you can use this method to assign entries to them. The customers should be Survey Users on this sheet. If needed, you can set additional access rights for them, such as No edit or No create.

                                                                  Assigning Entries to a Group

                                                                  You can also assign an entry to a user group using the Select Group field. Check Set selected group as entry manager to grant all users in the selected group the same access right as the entry creator. Also, check Notify users in assigned group to ensure that group members receive assignment notification emails.

                                                                  The assigned group will be displayed as "@group name" in "i".

                                                                  Assigning for Different Levels of Access Rights

                                                                  1. If the user's access right for the sheet is set to Survey User, selecting users or user groups as the owner of an entry allows them to "view and edit" it.

                                                                  2. If the user's access right for the sheet is set to Bulletin User, selecting users or user groups as the owner of an entry allows them to "edit" it.

                                                                  Note: If the user's access rights for the sheet are set to No Rights or Viewer, you cannot grant access rights to selected users or user groups.

                                                                  Revoking the Assignment

                                                                  To revoke the assignment of the user or user group, delete the value in the field that sets the user as an entry owner. If necessary, you can also manually remove entry managers in "i".

                                                                  Viewing All Entry Managers

                                                                  To view all managers of the entry, click the "i" icon in the bottom right corner.

                                                                  You can remove a user’s or group's rights by clicking the "x" next to their name. If the entry creator is removed, only assigned individuals or groups will remain as managers.

                                                                  2.5    Entry Review

                                                                  What is Entry Review?

                                                                  You can use the Reviewer field to assign specific users to review certain entries.

                                                                  Users will receive a review notification.

                                                                  There will also be a notification in the task.

                                                                  After users open the entry, a green check mark and the read time will be automatically displayed.

                                                                  This feature is for users who already have access to the entry. If the reviewer does not have sufficient access rights, they will still receive a review notification and a task but won't be able to access the entry. To grant users management rights to the entry, please assign it to them.

                                                                  Setting up Entry Review

                                                                  Add a Reviewer field in the sheet or create a Select User field and choose the option Invite user to review this record.

                                                                  By default, all users with access to this sheet can be selected as reviewers. If necessary, you can specify a group, such as the "Sales Department" group, limiting the selection to users within that group.

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

                                                                  Custom Review Email

                                                                  You can customize the subject and content of your review notification email.

                                                                  In the pop-up window, you can design the email template using HTML formatting and the variables. Check all supported variables here.

                                                                  Click on the preview button to confirm the custom email. If you decide to use our default template instead, use will discard all the changes you've made.

                                                                  Furthermore, you can attach a URL, Excel, PDF, or Mail Merge file of the record, or other attachments.

                                                                  If you attach the URL of the record, please ensure that the reviewers have access rights to the entry. Otherwise, they'll still receive the review invitation and task, but won't be able to access the entry through the URL.

                                                                  Remember to "Save" before exiting the window.

                                                                  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 database. Ragic allows an unlimited number of free External Users in your account.

                                                                  However, there are some restrictions for external users:

                                                                  1. They can only be Survey Users or Viewers 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.

                                                                  2. They do not have access to certain functions inside the Tools or Reports button.

                                                                  3. They cannot start approval. However, they can approve or reject 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, click the hamburger icon on the upper-left of the page, and select External Users under User Access.

                                                                  Fill out 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 can access this page to manage and manually add external users.

                                                                  External users will receive a notification email to log in to your database. Their access rights will be based on those assigned to their group.

                                                                  You can add fields to the external user sheet, but please do not move, change, or delete the default fields.

                                                                  User Groups for External Users

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

                                                                  You can add your own user groups with names that begin with an X- in the User Groups sheet.

                                                                  External User Privileges

                                                                  After adding users to the correct user groups, you can adjust access rights for each sheet to ensure they have the appropriate privileges. If a user belongs to multiple groups, they will access the sheet with the highest privileges.

                                                                  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 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.

                                                                  Custom Email

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

                                                                  In the pop-up window, you can design the email template using HTML formatting and the variables. Check all supported variables here.

                                                                  Click on the preview button to confirm the custom email. If you decide to use our default template instead, use will discard all the changes you've made.

                                                                  Furthermore, you may also attach URL, Excel, PDF, or Mail Merge file of the record, or other attachments.

                                                                  If you want to use this template for all future invitations, please click Save as email template.

                                                                  External Users Requesting Access

                                                                  Steps for External User Requests

                                                                  Once your application to add external users is approved, users can request access by typing the homepage URL of your database instead of manually adding them as in the previous step.

                                                                  www.ragic.com/accountname

                                                                  Click "Request Access" to enter the Database Access Request form.

                                                                  This form will prompt them to fill in the information, so you don't have to do it for them. Once they complete and save the form, you will receive their approval request.

                                                                  Steps for Approving

                                                                  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 sheet.

                                                                  When approved, the external user will receive a notification email and will be able to log in to your database.

                                                                  Don't forget to assign them to the correct user group.

                                                                  Public Sheets and Temporary Log-in

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

                                                                  Ragic also provides a convenient way to give a user temporary login access without needing an account on Ragic.

                                                                  2.7    Guest Users: Temporary Log In Without Signing Up

                                                                  Setting up a Guest User Field

                                                                  You can enable specific users to view and edit their own entries without registering on Ragic by adding an email field with the Guest User e-mail validation setting. In this way, you will be able to grant guest users temporary login rights with the link attached in the email.

                                                                  Note:

                                                                  1. The received link should not be shared with others, as anyone possessing this link will have the access rights of that guest user.

                                                                  2. This feature is only for emails that are not user accounts in your database.

                                                                  Guest User Log-in

                                                                  After setting up, when a guest email is entered into this email field and saved, an email will automatically be sent to the address.

                                                                  The email will contain a link that can authenticate the guest users to log in to Ragic and access their entries.

                                                                  The link is for one-time access and is valid for 1 month. If the user clicks the link more than once or after expiration, the system will send a new valid link to the guest user's email.

                                                                  Do Not Email When Editing Entry

                                                                  By default, the system will send emails to guest users when the entry has been edited manually or by Action Buttons. You may check this setting if you do not want to email guest users in this situation.

                                                                  Custom Email

                                                                  You can customize the subject and content of your email notification by clicking on Custom Email.

                                                                  In the pop-up window, you can design the email template using HTML formatting and the variables. Check all supported variables here.

                                                                  Click on the preview button to confirm the custom email. If you decide to use our default template instead, use will discard all the changes you've made.

                                                                  Furthermore, you can attach a URL, Excel, PDF, or Mail Merge file of the record, or other attachments.

                                                                  If you attach the URL of the record, please ensure that the recipients have access rights to the entry. Otherwise, they'll see a blank page when they access the database through the entry URL.

                                                                  Remember to "Save" before exiting the window.

                                                                  Resending Verification Email

                                                                  When creating the entry for the first time, a verification email will be sent to the address entered in the Guest User email field. If this entry is updated, another email will be sent.

                                                                  To manually resend the verification email without modifying the entry, you can click the blue Email icon next to the field name.

                                                                  Limitations

                                                                  1. The guest user will always need to access the entry from the link sent with that email.

                                                                  2. Guest users cannot be managed in customized groups, they only belong to EVERYONE group, therefore you cannot assign different privileges to them through access right settings.

                                                                  3. When entering the email of the user in your database into the guest user field, whether the user can access the entry by clicking the link in the email will be based on the user's original access rights.

                                                                  2.8    Feature Access Settings

                                                                  If you don't see certain items in your Feature Settings sheet and want to use that feature, please contact Support to manually update your system sheet.

                                                                  Note: The "Edit Multiple Entries" in Listing Page tools is not supported in Feature Settings. Currently, only SYSAdmin or Survey Users (who will only be able to edit entries they have access to) can use this feature.

                                                                  Feature Access Settings

                                                                  Click the hamburger icon on the upper-left of the page, and select Feature Settings under User Access.

                                                                  You can configure the features accessible to each user group in the Feature Settings.

                                                                  Below are the features listed in the Feature Access Settings menu:

                                                                  Feature Access SettingDescriptionDefault Setting
                                                                  Import/Export
                                                                  Import Data From FileThe ability to import data from .csv and .xls files, including updating records by importing SYSAdmin
                                                                  Download Listing PageExporting data from the Listing PageEveryone
                                                                  Download Files From Listing PageDownload files from the file upload fieldEveryone
                                                                  Download Form PageDownloading single entries from the Form PageEveryone
                                                                  Mass Actions
                                                                  Mass EmailSending out mass emailsSYSAdmin
                                                                  Mass SMSSending out mass text messagesSYSAdmin
                                                                  Mass DeleteDeleting filtered entries from the Listing Page. Users also need to have the Admin or Survey User access right, meaning you can only use this feature if you have manager rights to all the records you can accessSYSAdmin
                                                                  Mass Update RecordsTo execute Mass Update, users need to have Admin or Survey User access rights and no No Edit restriction. This means that you can only use this feature if you have manager rights to all the records you can accessSYSAdmin
                                                                  Batch ExecuteTo execute Batch Execute, users need to have Admin or Survey User access rights and no No Edit restriction. This means that you can only use this feature if you have manager rights to all the records you can accessEveryone
                                                                  Mass CreateMass CreateSYSAdmin
                                                                  Mass CloneMass CloneSYSAdmin
                                                                  Mass File UploadUploading multiple files into existing records in a sheetSYSAdmin
                                                                  Show Edit Icon in Listing PageShowing the edit icon in Listing PagesEveryone
                                                                  Fast Delete FunctionEnabling fast delete mode when deleting entries. Users can only use fast delete when it's allowed in Company SettingsSYSAdmin
                                                                  Reporting
                                                                  Create Report By default, all internal users can generate reports, but only SYSAdmin can save reports. Additionally, this feature cannot be accessed by external user groups Everyone
                                                                  View Report By default, all internal and external users can access all saved reports related to the sheets they have access rights. Note: If both Create Report and View Report permissions are not granted simultaneously, users will be unable to see the "Reports" tab, resulting in system reports (e.g., approval reports) also being inaccessible Everyone
                                                                  Generate Website PluginsCreate a website plugin through the web embed toolSYSAdmin
                                                                  Basic Actions
                                                                  Delete RecordDeleting entries. When granting this feature to groups other than SYSAdmin, users must have manager rights for the entry. Consequently, Bulletin Users cannot delete entries they can view but not editSYSAdmin
                                                                  Clone RecordCloning entriesEveryone
                                                                  Email Record Emailing an entryEveryone
                                                                  Lock RecordLocking an entry so it cannot be edited without unlockingSYSAdmin
                                                                  Share This EntryGenerate a link to this entry that guest users (non-login users) can modify or seeEveryone
                                                                  Cancel ApprovalAll selected group users can cancel the approval for all entriesSYSAdmin
                                                                  Side Bar
                                                                  Most VisitedMost visited sheets listed on the left side panelEveryone
                                                                  Recent ItemsRecent items listed on the left side panelEveryone
                                                                  ViewsViews listed on the left side panelEveryone
                                                                  User ManualUser manual listed on the left side of the home page (for non-SYSAdmin users)Everyone
                                                                  Share ViewsCreate the shared view on the left side panel (for non-SYSAdmin users)SYSAdmin
                                                                  Home Page
                                                                  TasksTasks listed on the right side of the home page. Restricting this feature’s access will affect the use of the tasks function on the top right corner and the display of tasks on the home page. Only for the non-SYSAdmin usersEveryone
                                                                  EventsEvents listed on the right side of the home page. Only for the non-SYSAdmin usersEveryone
                                                                  Others
                                                                  Calendar SyncGrant the right to execute Calendar Sync for non-SYSAdmin usersSYSAdmin
                                                                  Share this sheetGrant the right to execute Share this sheetEveryone
                                                                  Entry informationGrant the right to access entry informationEveryone

                                                                  Feature Access Settings for External Users

                                                                  1. Download Listing and Form Pages (Export)

                                                                  2. Clone, and create records (Basic Actions)

                                                                  3. Share this entry, including sharing this entry with WhatsApp (Basic Actions)

                                                                  4. Side Bar

                                                                  5. Home Page

                                                                  6. Generate Website Plugins (Reporting)

                                                                  7. Calendar Sync

                                                                  Configuring Feature Access Settings

                                                                  SYSAdmins and Group Administrators (under group tabs) are the highest privileged users, they are not limited by feature access settings and sheet access rights. They can change the design, access all records, and use all the features.

                                                                  If you have a professional plan subscription or higher, you can customize access rights for specific features across user groups. Additionally, with sheet access rights, each user can have different access levels to various features on different sheets.

                                                                  For example 1:

                                                                  1. Amy belongs to both the Sales and HR groups.

                                                                  2. The Sales group is granted the feature access to export data, but not the HR group.

                                                                  On the Sales Order sheet, if the Sales group is set with Admin access rights, Amy will be allowed to export the data on this sheet.

                                                                  On the Leave of Absence sheet, if the HR group is set with Admin access rights and the Sales group is set with No Rights, Amy will not be allowed to export the data on this sheet despite being able to view or edit all entries. This is because the HR user group is not granted to export data.

                                                                  Therefore, if you would like to allow certain users to use specific features on particular sheets, you can create a new Group and grant the group the corresponding feature access and sheet access rights.

                                                                  However, if features are granted access rights to the group EVERYONE, any user in the database will be able to use these features. This is contingent upon them having access rights to the sheet and meeting the requirements specified in the "Description" column in the grid above.

                                                                  For example 2:

                                                                  1. User Amy is in the Sales group.

                                                                  2. The Sales group is not granted the feature access rights to export data from the Listing Page.

                                                                  3. The EVERYONE group is granted the feature access rights to export data from the Listing Page.

                                                                  4. The Sales group is set with Survey User access rights on the Sales Order sheet.

                                                                  Under the above conditions, even if the EVERYONE group does not have access to the Sales Order sheet, Amy can still export data from the Sales Order sheet's Listing Page as a Survey User.

                                                                  3.1    Customizing Ragic for Your Company (Company Settings)

                                                                  If you don't see the features mentioned below in your Company Settings sheet, please contact support to manually update your system default sheets.

                                                                  Company Settings

                                                                  If you are using Ragic's professional, on-premise, or enterprise plan, you can replace some assets like logos and banners to fit your corporate identity. If you are using Ragic's lite plan, you can only modify the account settings.

                                                                  Click the hamburger icon on the upper-left of the page, and select Company Setting under Account Setup.

                                                                  Custom Logo and Banner

                                                                  In the Company Setting Panel, you can upload images to the Logo and Banner field. These images will be applied to all the tab menus.

                                                                  When sharing your database URL, the uploaded logo will appear as the thumbnail.

                                                                  If you would like to change the logo or banner for each tab menu, navigate to the homepage of the tab menu and click the Gear Icon to upload the image.

                                                                  Note: Tab menu logo and banner settings will be prior to those in the Company Setting.

                                                                  Setting up a Banner

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

                                                                  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.

                                                                  Custom Favicon

                                                                  You can upload an image to the Favicon field in the Company Setting Panel.

                                                                  After uploading, the icon will be displayed to the left of the webpage name.

                                                                  Custom Domain

                                                                  If you have your own domain, you can create a custom URL to make it easier for users to find your Ragic database.

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

                                                                  Note: This company domain does not change your original Ragic database URL (https://www.ragic.com/youraccountname) but merely redirects you to it.

                                                                  To change this setting, fill in the Company Domain field with the URL you want to set in the Company Setting Panel.

                                                                  .

                                                                  Remember to add a CNAME record pointing to your Ragic account. For example, "yourdomain.com" should point to "www.ragic.com/youraccountname". Adding a CNAME record requires logging into your domain host's website, not Ragic. If you cannot access your domain's DNS records, please contact your domain host directly for assistance. For detailed steps, please refer to this article.

                                                                  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.

                                                                  Then upload images in the recommended size to the following fields:

                                                                  Login banner: It will be displayed on the right side of the login screen.

                                                                  Login banner when login in successfully: It will be displayed on the right side of the login screen after a successful login.

                                                                  Login logo: It will be displayed in the upper left corner of the login screen, replacing the Ragic logo.

                                                                  Login page greeting 1 and Login page greeting 2: Change the greeting message.

                                                                  Custom Splash Screen

                                                                  You may 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 types of images.

                                                                  Example HTML code:

                                                                  Design tip: The progress bar might overlap your images. To ensure it appears below your images, you can adjust the page layout by adding the margin property to your images.

                                                                  Example HTML code:

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

                                                                  Hide Login Page's Sign Up Button

                                                                  After setting it to "Yes", the login page will no longer display the sign-up button.

                                                                  Page After Logout

                                                                  You can configure the Page after logout, users will go to that page after they log out.

                                                                  Show Mobile App Link

                                                                  Configure whether to display the Ragic mobile app link for the mobile browser here.

                                                                  Watermark

                                                                  You can upload your company logo to the Watermark field, you will see the watermark after you download the file as a PDF.

                                                                  Skip Interactive Tutorial for New Users

                                                                  Although the interactive tutorial is very helpful for new users to get a fast understanding of Ragic, you can disable it for them by selecting "Yes" in this field.

                                                                  Security Settings

                                                                  You can set up custom security policies for your users.

                                                                  Password Complexity

                                                                  Setting the password complexity to "High" will require passwords to use a combination of letters and numbers, including at least one uppercase and one lowercase letter.

                                                                  If you select "Medium", the password only needs to be at least 8 characters long. "Medium" is the system's default option.

                                                                  Change Password Every __ Days

                                                                  Once this setting is configured, users will be reminded to change their passwords based on the number of days you specify. If there is no need for your users to change their passwords periodically, enter "0" in this field.

                                                                  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 for previous passwords.

                                                                  Set to 2 to allow your users to reuse passwords except for the previous two passwords.

                                                                  And so on.

                                                                  Default Password

                                                                  When the Admin resets a user's password, the value in this field will become the user's default password. You can change it if needed.

                                                                  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.

                                                                  File Download With User Authentication

                                                                  When set to "Yes", the system will verify users' access rights to the original records and download URLs for all File Upload and Image Upload fields across all sheets in the database.

                                                                  Without access rights to the original record, users cannot access data through the URL.

                                                                  If users have access rights to the original record, they must log in before downloading the file.

                                                                  Additionally, with this setting as "Yes", forwarding an email with the file download link to a third-party recipient will cause it to expire.

                                                                  This setting only affects files uploaded via the File Upload field. If files are uploaded through Comments, anyone with the file URL can download it without access rights. Therefore, if confidentiality is required, please use the File Upload field.

                                                                  Enforce Two-Step Authentication

                                                                  Setting it to Yes will enable two-step authentication for all users, and they won't be able to turn it off by themselves.

                                                                  Allowed 2-Step Authentication Methods

                                                                  The setting enables users to select their preferred authentication methods in their Personal Settings. Options include obtaining a time-based one-time password (TOTP) through the Ragic app or a third-party app or receiving the authentication code via email.

                                                                  Note: These are the new authentication methods. Some databases may still display the old authentication method. Please choose one or both new methods mentioned above.

                                                                  Allow Showing Password

                                                                  Setting it to No, users will not be able to see passwords through the "Eye" icon.

                                                                  Denied Login Method

                                                                  Check the options to prohibit users from logging in through these methods.

                                                                  Ignore Denied Login Method for User Groups

                                                                  Selected groups will no longer be constrained by the denied login methods.

                                                                  Account Settings

                                                                  In the account settings, you can adjust the following items:

                                                                  Company Local Time Zone

                                                                  The default time zone is determined by the browser time zone of the user who registers this database account.

                                                                  Default Job Schedule Execution Time

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

                                                                  Default Language

                                                                  The default interface language.

                                                                  Default Number and Money Format

                                                                  The newly added numeric fields and money fields will apply these formats by default. You can still modify the format for each field afterward in the Design Mode.

                                                                  Default Date Format

                                                                  It will apply to the Date field's format, Comment, Change History, Approval, etc.

                                                                  Default the First Day of the Week

                                                                  The system defaults "Sunday" as the first day of the week. If you wish to set another day as the first day of the week (like Monday), you may change the settings here. However, this function is only supported on the display format on the date picker, but not on calendar reports, scheduling reports, or the on the left sidebar related to defining "this week" and "last week".

                                                                  Enable Access Request as External User

                                                                  Set whether to allow external users to apply for access.

                                                                  Default Separator of Multiple Fields

                                                                  The default separator for Multiple Select fields.

                                                                  Disable Automatic Invitations When Importing Users

                                                                  Set whether to automatically send invitation emails when importing users.

                                                                  Iframe Sources

                                                                  When using iframe to embed content into Ragic, you can fill in the domain of the embedding source here to avoid the iframe content being blocked by the system and cannot being displayed.

                                                                  You can refer to this article for example formatting types.

                                                                  Default Number of Entries Shown in Listing Page

                                                                  To set the default number of entries displayed on the Listing Page, but it cannot be less than 25.

                                                                  Users can also adjust the display number through the Preferences settings in their Personal Settings.

                                                                  Connection Restrictions

                                                                  You can set the IP Address, Mask, connection time, and connection days for the database. Once the restrictions are set, users can access this database only if they meet the restrictions. This setting applies to all users except for SYSAdmins, and individual customization is not possible.

                                                                  System Mail Setting

                                                                  If you want the system mail sent from and reply to your own mail server, you can configure the SMTP server in this setting.

                                                                  After configuring, emails sent using Send Custom Email, Email This Entry, and Reminders will be through your SMTP server.

                                                                  However, if you reply from a record's email thread, it will be sent from the record's email address.

                                                                  If there are errors in SMTP settings (Incorrect account, password, port, etc.), mailing issues will happen. You may download the Mail Log of your database in DB Maintenance to see if there are any mailing issues.

                                                                  Single Sign-On Setting

                                                                  If you have applied single-sign-on integration settings, you would have to select your identity provider (IDP). You would also have to copy the app federation metadata URL and the application ID from your identity provider to the respective Ragic fields here.

                                                                  Recommended Image Sizes for Custom Assets

                                                                  Asset Name Recommended image size (pixels, width x height)
                                                                  Logo 600 x 400
                                                                  Custom banner any x 102
                                                                  Favicon 16 x 16
                                                                  Splash Screen No limitations
                                                                  Login Logo any x 28
                                                                  Login Banner 600 x 500
                                                                  Login banner when login in successfully 600 x 500

                                                                  3.2    Account Billing

                                                                  Subscribing

                                                                  To make your first subscription, click on the Upgrade Account link at the top right corner of the page, then choose the Ragic plan you want from the Pricing page.

                                                                  You will be directed to the payment page, where you will make your payment through an encrypted online platform. Your account will be automatically upgraded after the payment is processed.

                                                                  You can enjoy the full trial days even if you subscribe before your free trial expires. The new subscription will be added to your free trial and will start when your trial ends.

                                                                  Modifying Plan

                                                                  You can also upgrade or change plans at any time by clicking the hamburger icon on the upper-left of the page and selecting Account Billing under Account Setup.

                                                                  On the Account Billing page, you can view your current account plan details, including the billing cycle, next billing date, the number of licensed users, billing amount, and your account's billing contact.

                                                                  You may change your plan or plan details, update your credit card information, billing contact Email, invoice details, etc.

                                                                  When completing changes, upgrades or user increases result in an immediate charge, while downgrades or user reductions convert the difference into account credit. Regarding the pricing changes with modifying plans or the number of users, please refer to this article.

                                                                  Manual Payment Subscription Modification

                                                                  For databases paid manually, you can also submit a modification request online.

                                                                  For databases paid manually, the fee calculation when modifying your database's plan or the number of subscribed users can be referred to this document. If you would like to modify your subscription, please select the plan to change to and enter the number of additional users below. After your submission, Ragic will contact you in 1-2 business days to process your quotation and subscription.

                                                                  Billing History

                                                                  Click on the Billing History tab will show you the details of your previous payments.

                                                                  You can access the invoices of your payments by clicking on a line item through the links in your payment description column.

                                                                  The information you fill in the "Invoice Detail" and "Billing Contact E-mail" fields on the Account Billing page will be displayed in the "Bill To" and "Billing Contact" fields. If you would like to add more information to the invoice for reimbursement, you may fill it in the "Invoice Detail" box.

                                                                  If you don’t fill in the "Invoice Detail" on the Account Billing page, the system will display the company name from your Company Settings. The default value for this field is the company name you provided during registration. If you didn't provide one during registration, it will use the database account name.

                                                                  On-premises Subscription

                                                                  If you wish to install Ragic on your company's server or deploy it yourself on cloud services such as AWS, GCP, Azure, etc., and have confirmed that your company has IT staff capable of installing, updating the license, and maintaining the server, you can subscribe to the Ragic on-premises version here.

                                                                  If you haven't subscribed to any paid plan, you can purchase an on-premises license from the hyperlink below each plan.

                                                                  If you have subscribed to a plan, you can modify your plan in On-premises subscription management. Click the pencil icon to add licenses or upgrade plan or click the X icon to unsubscribe.

                                                                  Enter the desired number of users and then make your payment online directly.

                                                                  After completing your order, we will send you the license file within 24 hours on business days.

                                                                  Canceling Subscription

                                                                  When you no longer need to use the database and want to cancel your subscription plan, click the hamburger icon at the upper-left corner of the page, select Account Billing under Account Setup, and choose Cancel Subscription.

                                                                  Future automatic payments will be canceled, but you can continue to use the database for the current billing cycle; the already paid and unused time will not be canceled.

                                                                  For example, if you are on a monthly billing cycle and your last payment date is 2023/5/17, you can use the database until 2023/6/17. Even if you cancel during this period, you can still use it until 2023/6/17. After this date, automatic payment and renewal will stop.

                                                                  Note: If you cancel your account before the end of the prepaid licensing period, any remaining unused time will not be refunded.

                                                                  Canceling your subscription will not affect your data. Your data will be suspended but secure, though it will be locked and inaccessible. While we typically do not delete your sheets and data proactively, without a subscription, we cannot guarantee that your data will be preserved indefinitely. For detailed information, please refer to this article.

                                                                  If you would like to delete your account entirely, please refer to this article.

                                                                  3.3    Backup and Restore

                                                                  You can find Backup & Restore under Database Management by clicking the hamburger icon on the upper-left of the page.

                                                                  How is Data Backed Up?

                                                                  Ragic servers are automatically backed up daily. Therefore, you usually don't need to perform manual backups. However, it is recommended to save a snapshot or save a manual backup before making major design changes, such as altering data links, so you can restore the backup if needed.

                                                                  Auto Backup

                                                                  If you're using a Professional or higher plan, you can download daily, weekly, or bi-weekly backups and view when the backups were last saved on the Ragic servers through the Backup & Restore panel.

                                                                  Auto Backup Execution Time

                                                                  Daily Backup: Every day

                                                                  Weekly Backup: On the 4th, 7th, 10th, 13th, 21st, 24th, and 27th of each month

                                                                  Bi-weekly Backup: On the 1st and 15th of each month

                                                                  Creating and Restoring a Snapshot

                                                                  With a Professional plan or higher, you can create a database snapshot to save the current version of your database, which you can restore later if needed.

                                                                  To save a snapshot of your current database, click the "Create Snapshot" under the "Auto Backup" section. Ragic will save a backup of your account, this may take some time if you have a large amount of data. Your snapshot will be saved under the "Auto Backup" section.

                                                                  If you need to restore a backup that was saved as a snapshot, you can download and manually restore it when needed.

                                                                  Note: The restoration process will overwrite your entire database with the restored backup, so please make sure that you are restoring the correct backup file.

                                                                  Manual Backup

                                                                  Usually, you don't need to perform manual backups, but it's still recommended to save a manual backup before making major design changes so that you can restore the backup if needed.

                                                                  To save a backup manually, navigate to Backup & Restore > Backups.

                                                                  Note: If the databases that you are backing up and restoring data are located on different servers, please select to back up as the Compressed backup format. You can determine the servers of your database from its URL with the first three letters after "https://", such as www, ap2, ap3, eu2, na2...

                                                                  Backup the Entire Database

                                                                  To save an entire backup of your database in its current state, ensure that none of the checkboxes are selected. Then, click the "Backup" button to download a backup file to your computer with the extension .ragicdb, which is a proprietary format readable only by Ragic.

                                                                  Backup the Design of Your Database

                                                                  If you only want to download the backup of your database design without any data, you can check the Backup database definition only option. This will save a backup file on your computer with the .ragic extension, a proprietary format readable only by Ragic.

                                                                  When restoring this backup on another account, only the design will be restored, leaving the data unaffected. This method is usually used for sharing designs across different accounts. For example, if you have multiple database accounts, you can modify the design in your test environment and ensure everything functions correctly before restoring it to your production environment. For more information, please refer to this article.

                                                                  Restoring a Manual Backup

                                                                  Restoring a backup will overwrite your entire database, so please ensure that the version you are restoring is correct. Also, note that restoring the backup file of an entire database will overwrite the user list as well. Therefore, log in to the destination database using the user credentials from the source database after the restoration process is complete.

                                                                  Downloading the Backup Data of a Single Sheet

                                                                  Enter the sheet you want to back up, click on the Tools option on the Listing Page, and select Download as Excel File or Text. Then, choose From Backup to download the data for that sheet.

                                                                  You may download automatic backups or choose Download From History. When using "Download From History", you can select to download values from independent fields or a Subtable, "until a certain time" or "the oldest version".

                                                                  Deleting Unlinked Files

                                                                  When deleting files from the File Upload and Image Upload fields, they won't be immediately removed entirely from your database but will be considered as unlinked files. Under certain circumstances, users can still restore unlinked files when restoring entries or using other methods. Unlinked files will be kept in the database for at least a month. If you want to delete these files entirely from your database, please click this button.

                                                                  Automatic Archiving

                                                                  As the duration of usage extends, the volume of data will also continue to grow. When there are a large number of records in the sheet, it may potentially affect the system speed, including functions such as record display, filtering, and report generation. In such cases, you may consider Automatic Archiving.

                                                                  You will see the current archiving settings here, click the "X" behind the archive setting to delete it if needed.

                                                                  After clicking on the Archive Settings, select the sheet to be archived, then configure the reference date field, the day of the month, and the timeframe for archiving data. After completing, remember to click Save.

                                                                  At the bottom section, you can filter the sheets with archived data. If necessary, you can restore archived data or permanently delete it.

                                                                  3.4    Recent Changes

                                                                  Other than viewing the history of a record, SYSAdmins can also access the edit history for multiple sheets by clicking the hamburger icon on the upper-left of the page and selecting Recent Changes under Database Management.

                                                                  Recent Record Changes

                                                                  On the Recent Changes page, you can view the modification history of all records.

                                                                  Click on the modified records to see details of additions and modifications.

                                                                  To view all edits on a specific sheet, date, or by a particular modifying user, click on History Filter.

                                                                  Database Design Changes

                                                                  At the bottom of the Recent Changes page, you can also see the history of design changes for all sheets.

                                                                  Reverting Mass Update

                                                                  If you want to revert previous Mass Update, click the Revert Icon next to the history of a Mass Update.

                                                                  Please note that it is not suggested to revert Mass Update if:

                                                                  1. The design on related field(s) has been changed.

                                                                  2. The Mass Update was made a long time ago.

                                                                  3.5    Job Schedules

                                                                  You can find Job Schedules under Account Setup by clicking the hamburger icon on the upper-left of the page.

                                                                  The job execution time in your account will usually be the default job schedule execution time that's set up according to your Account Settings. However, you can still configure a different execution time for each job.

                                                                  Please note that each feature can only have one corresponding execution time. For instance, in the image below, all Reminders will execute every day at 19:00 in the respective time zone, sequentially.

                                                                  Job schedules include Reminder, Daily Workflow, Import Data From URL, Schedule Report Export, and Automatic Archiving.

                                                                  If you would like to execute a job immediately, you can click on Execute now.

                                                                  Click on the Details of import data from URL to execute, reset, delete, or pause the import in the pop-up window.

                                                                  3.6    DB Maintenance

                                                                  You can find DB Maintenance under Database Management by clicking the hamburger icon on the upper-left of the page.

                                                                  Resetting DB Connection

                                                                  Resetting the database connection can help clear your database cache. If you notice that changes you have made to records or sheet designs are not showing up, you can try resetting your DB connection.

                                                                  Rebuilding Search Engine Index

                                                                  Ragic's search bar works like a search engine, helping you find complete values and offering search suggestions as you type. This is very useful when looking for a specific entry where you know at least one of the values.

                                                                  If you don't see related search suggestions while typing into the search bar, it may be because the data you're searching for is newly created and hasn't been indexed yet. This is especially common with newly imported data, as it needs some time to be included in the search engine index.

                                                                  You can click Rebuild Search Engine Index option under your DB Maintenance menu.

                                                                  After clicking, the system will re-index every record in each sheet in the background. You'll see the indexing status in a pop-up menu on the lower-left side of your screen. Feel free to work on your database while indexing is being done.

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

                                                                  If the updated Title Field in the sheet still displays the old one when searching, you can also click on Rebuild Search Engine Index.

                                                                  Downloading Data Dictionary

                                                                  You need a Professional Plan subscription or higher to access this feature.

                                                                  Your data dictionary shows the data schema of all your sheets, which contains all the Field IDs, Field Names, and stored Field Types.

                                                                  The Data Dictionary information can be useful for program developers when writing programs to read and write data using Ragic's HTTP API or writing server-side Javascript workflows.

                                                                  Deleting My Account

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

                                                                  Since this action is irreversible, ensure that you Back Up data in case you need to restore it later. Alternatively, you can Export data or ensure that there is no important data left on your account.

                                                                  To delete your Ragic account, navigate to the DB Maintenance Menu page and click on the Delete My Account option.

                                                                  To prevent accidental deletion, you will be directed to the following page. Please confirm and follow the instructions to delete your account.

                                                                  If you are looking to cancel payment to your account, please refer to this section.

                                                                  Downloading System Log

                                                                  You need a Professional Plan subscription or higher to access this feature.

                                                                  The date and time in the system log are based on UTC+0 time zone.

                                                                  Option Description
                                                                  System Access Log List information including the date, time, and IP address of users that have logged in to your account. In the log, F means a normal log-in session, D means it's a duplicated log-in session and it has logged out the other session that this user has logged in from, usually from another device or browser.
                                                                  Workflow Execution Log List the errors of workflow execution. If there are no records, no content will be displayed.
                                                                  Data Download Log List the download history from the Listing Page, including downloading as Excel files and printer-friendly versions, as well as the download files history from the preview screen of the File Upload field. If there are no records, no content will be displayed.
                                                                  Mail Log List notification emails, new user invitation emails, and password resetting emails’ details. If there are no records, no content will be displayed.
                                                                  Job Schedules Modification Log List the modification of job schedules. If there are no records, no content will be displayed.
                                                                  Database Usage Log List which user accessed which sheet; V stands for viewing entries, C stands for creating entries, and U stands for updating entries.
                                                                  Subscription Modification Log List the plan and user number modifications through online payments. Manual payment information will not be listed.
                                                                  Connection Restriction Log List connection restrictions. If there are no records, no content will be displayed.
                                                                  Tab Modification Log List when and which users have added, edited, or deleted tabs.

                                                                  3.7    File Manager

                                                                  As the number of sheets and uploaded files grows, finding the necessary file might become less convenient. You can use File Manager to browse, upload, and delete files across the File and Image Upload fields of sheets.

                                                                  Click the hamburger icon on the upper-left of the page, and select File Manager under Database Management.

                                                                  You will see all the sheets with File/Image Upload fields and the number of files in each sheet.

                                                                  After selecting a sheet, files will be displayed under view by field by default. You can select a specific field to see all the files uploaded to that field.

                                                                  On this page, you can left-click to select a single file or press Ctrl plus Shift to select multiple files. You may also draw a selection box to select multiple files. Once you've selected the files you want, right-click to open the tools menu, where you can download or delete them.

                                                                  Under view by data view, files will be displayed by each data entry (represented by the Title Field of each entry). Click on an entry to view the files within it, where you can also directly download and delete files.

                                                                  Under list all files view, you can directly edit each file.

                                                                  3.8    Global Constant

                                                                  If you don't see this feature in your Company Settings sheet, please contact support to manually update your system default sheets.

                                                                  Click the hamburger icon on the upper-left of the page, and select Global Constant under Account Setup.

                                                                  When adding formulas or creating workflows, you can save frequently used constants in the Global Constants sheet for easier formula and workflow creation.

                                                                  For example, you can use Global Constants to automatically fill in company URLs or addresses. To make changes, you only need to update the Global Constants sheet and recalculate the formulas in the sheets using these constants.

                                                                  Note: Global Constants can only be used as a single argument in formulas, not to replace multiple arguments. For example, in a Conditional Formula: IF(value==condition,[value_if_true],[value_if_false])

                                                                  You can use global constants as arguments in formulas (except for conditional arguments).

                                                                  For example: IF(A2="Yes", c_global_constant_1, c_global_constant_2)

                                                                  And set the global constants as follows:

                                                                  c_global_constant_1: "Qualified"

                                                                  c_global_constant_2: "Disqualified"

                                                                  The formula results: When A2 is "Yes", the field applying the formula will return "Qualified"; otherwise, it will return "Disqualified".

                                                                  However, you cannot directly replace multiple arguments with a single global constant. For example: IF(c_global_constant) and set global constant as: A2="Yes","Qualified","Disqualified"

                                                                  Field Description

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

                                                                  After configuration, enter the constant name with a "c_" prefix in your workflow or formula. The constant values will be automatically populated.

                                                                  c_Constant name

                                                                  Example

                                                                  Example 1:

                                                                  When writing formulas or workflows, www.ragic.com will be auto-populated once you enter c_Website.

                                                                  Example 2:

                                                                  Global constants can be used as an "array" in formulas.

                                                                  Note: The Constant value must be a numeric string array [1,2,3,4,5] or a string array ['test','item2','item3'].

                                                                  For example, in the WORKDAY function: WORKDAY(start_date,days,["holidays"], ["makeup_workdays"]).

                                                                  When inputting special holidays or makeup workdays, you can define an array global constant and use it in the holidays or makeup_workdays argument in formulas to ensure consistent dates across the database, instead of setting them individually for each sheet.

                                                                  For example: Fill in the special holidays as an "array" in the Constant value.

                                                                  After saving, enter this global constant name in the holidays argument. For example, to use the constant shown in the above image, enter c_NationalHoliday in the formula. This way, any modifications to the special holidays in the global constants settings will automatically update all formulas referencing this holiday constant across the database.

                                                                  3.9    Notifications

                                                                  Click the hamburger icon on the upper-left of the page, and select Notifications under Account Setup.

                                                                  SYSAdmin can configure users' notification settings on this page.

                                                                  Clicking on Settings beside the user name will open the personal notification settings panel. For detailed information on notification settings, please refer to this documentation.)

                                                                  You can uncheck the Notify external users option to disable notifications for all External Users.

                                                                  3.10    UI Translations

                                                                  Ragic currently offers five languages: English, Traditional Chinese, Simplified Chinese, Spanish, and Japanese. If you need the user interface in another language, you can use the translation feature to translate the interface, making it easier for users to navigate.

                                                                  Click the hamburger icon on the upper-left of the page, and select UI Translations under Account Setup.

                                                                  Select the language you want to translate into from the Language to translate dropdown menu and choose the interface category from the UI Sections dropdown menu.

                                                                  The blue text represents the function and should not be edited.

                                                                  Edit the green text with the translation into the desired language. After completing the translation, remember to click Save.

                                                                  After completing the translation, you can select the translated language, and the interface will automatically switch.

                                                                  3.11    Customizing Your Database Home

                                                                  Customizing Homepage

                                                                  Click on the gear icon on the upper-right of the page to start customizing your database's homepage.

                                                                  On this page, you can click to add a new section, click X to delete one, and drag the middle border to adjust the width. After adding a new section, click on the section to configure its further settings. Don't forget to save after completing it.

                                                                  Currently, we support 10 different sections.

                                                                  List of Sheets

                                                                  List all the tabs and sheets in your database.

                                                                  Events

                                                                  Events on your homepage list up to 10 records with a date field where the date is within the next seven days.

                                                                  Tasks

                                                                  Tasks is the to-do list for each user, it can be generated from the system or manually assigned.

                                                                  Starred Records

                                                                  Show the Title Field of all starred records from all sheets.

                                                                  Ragic Records

                                                                  Show 2 field values of the latest 5 records from a selected sheet.

                                                                  Online Users

                                                                  List all users who are currently online and their last log-in time.

                                                                  Green: Online

                                                                  Yellow: Idle for more than 3 minutes

                                                                  Grey: Idle for more than 30 minutes

                                                                  Text

                                                                  Enter any text and set whether to enable automatic wrapping. BBCode is supported, so you can insert images, videos, or hyperlinks as well.

                                                                  Iframe Embed

                                                                  Fill in a URL to embed its content in this section, such as embedding Google Calendar, YouTube videos, etc. For common embedding methods, please refer to this article.

                                                                  Report Widget

                                                                  Insert a Widget on your homepage for data visualization, such as using a pie chart to display revenue by sales reps or revenue growth trend next to sales data.

                                                                  Poll

                                                                  Besides being able to create Polls within sheets, you can also create them directly on the homepage. For example, during company events, you can allow employees to vote directly on the homepage.

                                                                  Configuring Side Bar Feature Access

                                                                  You can configure access rights for the Most Visited, and Recent Items on the left sidebar of the homepage, and Personal View within sheets from the Feature Access Settings.

                                                                  After enabling the Most Visited or Recent Items feature, users can decide whether to display it in their Preferences settings.

                                                                  3.11.1    Tasks

                                                                  Clicking the Task icon at the upper-right corner of the page will list the tasks that users need to do in descending order. Tasks can be generated by the system or manually assigned. Task items will gray out and will no longer appear in the task list once the user ticks the "checkbox".

                                                                  After selecting the Show completed option, you can view all the completed tasks. Unchecking a completed task will return it to the list of incomplete tasks.

                                                                  The task list has four kinds of views:

                                                                  View Content
                                                                  Assigned to me Tasks assigned to the user.
                                                                  Assigned by me Tasks assigned by the user.
                                                                  Assigned to my team On the non-supervisor users' account page, the list will show tasks assigned to other users under the same supervisor.

                                                                  On the supervisors' account page, the task list will display tasks assigned to their subordinates.

                                                                  Subordinate's tasks Switch to the subordinate's task list.

                                                                  You can also modify other users' task status in the task list. When the status is changed, the system will send a notification to whom the task is addressed.

                                                                  Task Categories

                                                                  When reviewing the task items, you can filter the categories to be displayed.

                                                                  System Tasks

                                                                  1. Approval

                                                                  When other users start an Approval Flow that requires your approval, you will receive both an email request and a task notification. Once you approve it, the system will automatically mark it as "completed".

                                                                  2. Review

                                                                  When you're requested to Review a certain entry, you will receive both an email request and a task notification. Once you review the entry, the system will automatically mark it as "completed".

                                                                  3. Reminder

                                                                  When you're configured as the recipient of Reminders, you will receive both an email request and a task notification. Once you view the reminder, the system will automatically mark it as "completed".

                                                                  Manual Tasks

                                                                  You can manually create tasks and assign them to other internal users. Click the task icon to open the task window, then select Create Task. Choose a user from the database, enter the task details, set a due date, add a link URL, and provide a detailed description. Once you've entered all the information, click Assign.

                                                                  Once the task is created, the assigned user will receive an email and a task notification.

                                                                  Email notification:

                                                                  Task notification:

                                                                  When the assigned user completes the task and ticks the "checkbox", the task creator will receive a task completion email notification.

                                                                  Task Details

                                                                  Clicking on one of the task items or the See Detail option at the bottom of the task window will take you to a page where you can manage all the tasks.

                                                                  On the task detail page, you can see who assigned the task and edit the task's due date, URL, details, and comments.

                                                                  3.11.2    Event Calendar

                                                                  The Event Calendar on the right side of your homepage lists records with a Date field where the date is within the next seven days.

                                                                  Clicking the name of the event will take you to the entry.

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

                                                                  If you want to modify the field value of the event displayed on the calendar, you need to configure the Title Field of your sheet. After configuration, please rebuild your search engine index.

                                                                  Setting a Short Name for This Sheet

                                                                  Hover over the event name and click the gear icon next to it, you can set a short display name for this sheet of events.

                                                                  Setting Displayed Fields in the Event Calendar

                                                                  Click the gear icon at the upper-right of the Event Calendar. You can select which Date fields from different sheets to display in the Event Calendar.

                                                                  Recurring Date in Event Calendar

                                                                  If your sheet includes Recurring Date fields, the calendar will display events for the 12 months before and after the current month. For instance, if you open the calendar in December 2023, it will present recurring date events from December 2022 to December 2024. Likewise, if you access the calendar in December 2024, it will exhibit recurring date events from December 2023 to December 2025.

                                                                  3.12    Recycle Bin

                                                                  Click the hamburger icon on the upper-left of the page and select Recycle Bin under Database Management.

                                                                  If you accidentally delete a tab, sheet, or entry, you can recover it using the Recycle Bin.

                                                                  With the Delete history filter, you can find and restore deleted records much faster and easier.

                                                                  When you click a record URL and find that it has been deleted, you can paste the URL into the Filter by record URL to check if it's in the recycle bin.

                                                                  The complete URL for the data is: https://{domain}/{apname}/{path}/{sheetIndex}/{nodeId}, for example: https://www.ragic.com/LearningRagic/forms45/1/0.

                                                                  3.13    Cross Account Sheet Copier

                                                                  When a company has multiple database accounts and requires the same or similar sheets design across these accounts, such as both "Branch A" and "Branch B" needing a quotation sheet. In this case, in addition to backing up sheets for migration, you can use the Cross Account Sheet Copier to quickly duplicate the quotation sheet from Branch A's database directly to Branch B's database.

                                                                  Note: During copying, only the design structure of the sheet is replicated; data is not transferred. For data migration, please utilize the data Backup feature.

                                                                  Navigate to the hamburger icon in the upper left corner of the page and select Cross Account Sheet Copier under Database Management.

                                                                  First, select the source database to copy sheets. Only databases for which you have SYSAdmin privilege can be selected.

                                                                  After selecting the database, choose which sheets to copy.

                                                                  Next, select the destination database for copying. Once selected, click "Copy", and it's all done!

                                                                  Note: This feature is currently not supported on on-premise servers.

                                                                  4.1    Saving Frequently Used Filters as Views

                                                                  Ragic offers a flexible and convenient search mechanism. You can use the left sidebar search tool to set conditions for multiple fields within your sheet. For example, you can search for records where the "Order Category" is "Enterprise”, and the "Order Status" is "Completed".

                                                                  After setting the conditions, click on the Search button to find the desired record.

                                                                  If you frequently use the same set of conditions, you can click Save as View and customize it according to your needs as Personal Views, Shared Views, or Fixed Filters.

                                                                  Below, we will provide detailed explanations of each filter.

                                                                  Personal View

                                                                  Saving a Personal View means that only the user who created it can see and use it. All users can set up their own Personal Views.

                                                                  Click on the saved Personal Views, and the search conditions will be automatically applied.

                                                                  Shared View

                                                                  SYSAdmins can save frequently used search conditions as Shared Views. Once saved, other users will be able to use these Views as well.

                                                                  Users can simply click the saved Shared Views to automatically apply the search conditions.

                                                                  You may also decide which groups can see the Shared Views by setting Viewable Groups.

                                                                  Default View

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

                                                                  To clear the filter conditions applied by this Default View, click on Clear Filter and Sort at the top of the sheet.

                                                                  Note: If your Default View filter criteria do not have the "Exact Match" option checked, it may slow down sheet loading, especially with extensive data. If the criteria need to precisely match the field value, we recommend checking the "Exact Match" option.

                                                                  Shared View Notification

                                                                  Through configuring notifications for a shared view, the system will send notifications when new data matches the shared view filter conditions or when existing data no longer matches the conditions.

                                                                  Note: When editing data in Multiple Versions sheets, notifications might not be triggered if the sheet being edited lacks the filter field set in the Shared View notification of another Multiple Versions sheet.

                                                                  For example, there are two versions of a "Quotation" sheet, A and B. In version A, there is a Shared View and notification set for the "Total Amount" field, but version B does not have this field. Therefore, when editing and saving version B, the system treats the missing field as "null", which does not meet the notification condition, and the Shared View notification will not be sent.

                                                                  Custom Shared View Notification Email

                                                                  As SYSAdmins, you can configure notifications for a shared view.

                                                                  To customize the notification email, click the arrow next to the view, then select Custom Notification Email. Next, define the subject and content for each notification condition.

                                                                  You can use variables to change the email subject and content according to the records. Check all supported variables here.

                                                                  Click on the preview button to confirm the custom email. If you decide to use our default template instead, use will discard all the changes you've made.

                                                                  Remember to "Save" before exiting the window.

                                                                  Sharing View URL

                                                                  To share the results of a Shared View with others, such as providing a list of "unshipped orders" to the logistics company, you can first set up a Shared View. Then, right-click on the saved shared view and choose the Share View URL option to generate the three URLs you can use to share the data.

                                                                  Option Description
                                                                  Here is the shared view URL Directly open the page applied with this Shared View.
                                                                  Here is the API for shared view URL It's the API link of the page with the Shared View applied.
                                                                  Here is the download as Excel file URL Directly download the filtered result as an Excel file.

                                                                  Updating View

                                                                  If you want to update a saved view with the current filter, simply right-click on the saved Shared View and select Update View. For example, if you've filtered records by "Status - Confirmed", you can use this option to replace the existing "Status - Draft" filter with the current one.

                                                                  Fixed Filter

                                                                  Fixed Filters can only be applied by SYSAdmins, and once applied, other users cannot remove them. When applied, any user accessing this sheet will see only the records filtered by the Fixed Filter.

                                                                  Fixed filters can also be used in Multiple Versions sheets The same data can be displayed differently in sheets by assigning different Fixed Filters to them. For example, one sheet could display only "completed" projects, while another could show only "incomplete" projects.

                                                                  You can combine the Fixed Filter with the Select from Other Sheet Field to limit the selection options by users.

                                                                  Note: If your Fixed Filter criteria do not have the "Exact Match" option checked, it may slow down sheet loading, especially with extensive data. If the criteria need to precisely match the field value, we recommend checking the "Exact Match" option.

                                                                  4.2    Customizing the Left Sidebar

                                                                  You can customize the displayed fields and their order in the left sidebar search tool.

                                                                  Click the gear icon below the Search button to open the Customize Filter Sidebar window. Here, you can choose which fields to display and adjust their order. After making changes, click "Save".

                                                                  5.1    Linking Sheets Together

                                                                  Ragic supports several ways to establish relationships between sheets. The following sections will show you how to use the Sheet Linking Tools within the Form Tools menu in the Design Mode.

                                                                  These methods are:

                                                                  Link & Load

                                                                  Multiple Versions

                                                                  New Sheet from Subtable

                                                                  Show References from Existing Sheets

                                                                  If your sheet is generated from a Subtable or uses the Show References from Existing Sheets to reference a Subtable, you can use the Link Fields from Parent Sheets to add fields from another sheet.

                                                                  5.1.1    Link and Load

                                                                  Linking two fields in different sheets consists of creating a Linked Field and the corresponding Loaded Field(s).

                                                                  For example, when you enter information in a "Sales Order", data from another "Customer" sheet can automatically pop up. In this case, the "Customer ID" in the "Sales Order" is the Linked Field, which is configured to select values from the "Customer ID" field in the "Customer" sheet.

                                                                  After selecting the "Customer ID", other corresponding information such as the "phone number", "address", and "email" will automatically populate. These fields are called Loaded Fields.

                                                                  Using Linked and Loaded fields can significantly reduce data entry time and prevent manual input errors.

                                                                  Link Manager

                                                                  The Linked Field and Loaded Fields can both be configured in the Link Manager. In the Design Mode of the Form page, click on Form Tools and choose Link & Load under the Sheet Linking options.

                                                                  In the bottom right corner of the Link Manager page, you can choose the tab and sheet you want to link or select different fields within the same sheet to link.

                                                                  First, select a Field Header on the right side of the page. It will become the Linked Field, displayed in "blue". The Linked Field must have the Unique Value so that the system can correctly identify each record.

                                                                  After configuring the Linked Fields, link the corresponding Loaded Fields on both the left and right pages. Loaded Fields will be displayed with gray borders and there can be multiple instances. You can drag a Loaded Field onto an existing field or simply select an empty space on the left page, and the corresponding field will be automatically added.

                                                                  If there are Linked and Loaded Fields already set up in the sheet, you can directly select the field and click "Go to Link Manager" from the left sidebar.

                                                                  There will be a blue L icon in the Linked Field and a grey L icon in the Loaded Field.

                                                                  Clicking on the icon will automatically highlight all the fields in the same set of Link & Load.

                                                                  Note: If a light gray "L" icon is displayed at the top right of the loaded field, it indicates that the field is Linked From Parent Sheets. For more details, please refer to this chapter.

                                                                  Using Link and Load for a Subtable

                                                                  You can link and load data from other sheets into a Subtable. For instance, when entering data into a Subtable, you may want to automatically load related information into other fields after selecting a specific field, such as a "Product No.", which could then fill in the corresponding name, price, and so on.

                                                                  For additional linking options related to Subtables, please refer to instructions on Generating a New Sheet From a Subtable and Adding a Reference Subtable.

                                                                  Selecting Multiple Subtable Rows at Once

                                                                  When there is a Linked Field in the Subtable, you can enable the Multiple subtable rows at once option. However, you can only enable either Multiple subtable rows at once or Multiple select for a Linked Field.

                                                                  You can select multiple entries at once and populate them into the Subtable.

                                                                  Note: You will need to close the window manually after entering the data. (If the Multiple subtable rows at once configuration is not checked, the window will close after selecting one entry.)

                                                                  Linking Multiple Sets of Link and Load to the Same Sheet

                                                                  If you need to link and load different data from the same sheet multiple times, such as when the "Orderer" and "Recipient" in a "Sales Order" sheet are different but both come from the "Customer" sheet, this situation is not suitable for using link and load for a Subtable

                                                                  For example:

                                                                  Open Link Manager, and you will see the first set of link and load from "Customer" on the "Sales Order" sheet. In the menu at the top right, you can select to create a new set of links.

                                                                  Then, you can create a second set of link and load from the same sheet.

                                                                  It is recommended to edit the field names to ensure that the information is clearly defined. For example, on the "Sales Order" sheet, the two sets of Links and Loads from the same source can be labeled as "Ordering Customer" and "Recipient Customer".

                                                                  After saving, you can link and load the customer data twice.

                                                                  Unlinking Fields

                                                                  To remove an existing link, go to the Link Manager, and click the red cancel icon next to the link you want to delete. If you remove the link for the Linked Field with the blue outline, all corresponding Loaded Fields will also be removed.

                                                                  Changing the Linked Field

                                                                  If you need to change the Linked Field, you can simply drag it to the desired field without unlinking all fields and resetting the Link and Load.

                                                                  Example:

                                                                  On the sheet "Sales Order," the Customer Name is linked from the Customer sheet. However, since there may be different customers who share the same name, it's better to change the Linked Field to "Customer ID" instead, which can identify customers more effectively.

                                                                  To change the Linked Field, simply click and hold the left mouse button on the "Customer Name" field, drag it to the "Customer ID" field, and release the left mouse button to complete the change.

                                                                  Then you can adjust the field names, and users will now select values from the "Customer" sheet based on the "Customer ID". Previously saved records will also have the "Customer ID" as the link.

                                                                  Common Mistakes

                                                                  1. Linking to Non-Unique Value Fields (such as Selection Fields, Linked Fields, or Numeric Fields)

                                                                  The Linked Field is one type of Selection field (select from another sheet ).

                                                                  To ensure each selection is uniquely identifiable, the Linked Field must come from a Unique Value field on the source sheet (e.g., ID number, serial number). If some fields on the right-hand side appear grayed out during setup, it's usually because they are Selection fields, Linked fields, or Numeric fields, which typically do not qualify as Unique Value fields and cannot be used as the Linked Field.

                                                                  2. Illogical Link and Load Setting Between Independent and Subtable Fields

                                                                  (1) Selecting Subtables in the Linked Sheet

                                                                  Since a Subtable can contain multiple values in an entry, whereas an independent field can hold only a single value, the system prevents you from storing multiple values in a single field. Consequently, the Subtable fields will appear grayed out and unavailable for selection from the source sheet in the Link Manager.

                                                                  (2) Linking Independent Fields and Subtable Fields Simultaneously

                                                                  A single set of Link and Load can only be configured for fields of the same type. For example, if the Linked Field is an independent field, the Loaded Fields must also be independent fields. The system will prevent you from linking Subtable fields after an independent field has already been linked.

                                                                  Conversely, if the Linked Field is a Subtable field, then the Loaded Fields must also be Subtable fields.

                                                                  (3) Linking Different Subtables Simultaneously

                                                                  You cannot link different Subtables simultaneously because each Subtable stores data independently. This prevents the transfer of data selected in Subtable A to Subtable B. Once linked to one Subtable, the others will appear grayed out and cannot be selected.

                                                                  3. Field Arrangement Issues With Link and Load

                                                                  (1) Linking a Different Subtable on the Same Row

                                                                  There won't be any technical issues, but having different Subtables on the same row could lead to confusion. It's recommended to link to another row of Subtables instead.

                                                                  (2) When Loading Fields That Include Cascaded Fields, Place the Parent Field Below or to the Right of the Child Field in the Same Row on the Target Sheet

                                                                  The Ragic system loads data in an up-to-down, left-to-right sequence in the target sheet with Link and Load relationships. This means that when the Loaded Fields are placed in "different rows", the system will load the field values from top to bottom. If the Loaded Fields are in the "same row", it will load them from left to right.

                                                                  When the Loaded Fields include Cascaded fields, the "Child field" will not load its value until the "Parent field" is loaded. Therefore, if you place the "Parent field" below or on the right side of the same row as the "Child field" on the target sheet, the "Child field" will not be able to load the corresponding value.

                                                                  For instance, you have Loaded Fields that include Cascaded fields where "Car Brand" is the Parent field, and "Car Model" is the Child field. Placing the "Car Model" field above or to the left of the "Car Brand" field will prevent the "Car Model" field from loading its values correctly due to the improper placement of the Parent and Child fields. In this case, the Parent field "Car Brand" should be placed above or to the left of the Child field "Car Model".

                                                                  4. Loading From a Field Which Has Already Been Loaded in Multiple Versions Sheets

                                                                  You cannot load a field again if it has already been loaded in another Multiple Versions sheet.

                                                                  For instance, consider a "Delivery Note (For Sales)" and a Multiple Versions sheet named "Delivery Note (For Logistics)". In "Delivery Note (For Sales)", you have already loaded data from the "Customer Name" field.

                                                                  In the Multiple Versions sheet "Delivery Note (For Logistics)", even if you delete the "Customer Name" field, you cannot select it again for loading (it appears greyed out). If you wish to add the field back, please refer to this article.

                                                                  Syncing Linked and Loaded Fields

                                                                  If a field on sheet A has its value loaded from sheet B, changes made to the value on sheet B will not be reflected in the previous entries on sheet A.

                                                                  Assuming there is a sheet A called "Sales Orders" and sheet B called "Customer", when an order for Martha Stewart is finalized, her address information is populated using Link and Load from the "Customer" sheet. Suppose Martha changes her address in the "Customer" sheet. However, the previous orders should still display her original address at the time of the order, not the new address after moving.

                                                                  In some cases, after modifying values on sheet B, you may want the Loaded Fields on sheet A to update synchronously. In such situations, you can go to Design Mode under the Form page and select Form Tools to see a list of sheets that are linked with Link & Load. Then, click on the gear icon next to the appropriate sheet.

                                                                  In the pop-up window, you can choose to Sync this set of linked fields with updated source values for all records or Sync ALL linked fields on this form with updated source values for all records.

                                                                  To keep the loaded values always updated when the source sheet updates, you can check the option Keep loaded value sync with source.

                                                                  Please note that the maximum limit for synchronizing data in a single set of Linked Fields is 500 records.

                                                                  Note: The option to keep loaded values synced with the source data is turned off for imports. Users will need to perform a manual link and load sync after importing.

                                                                  Linking and Loading with the User Sheet

                                                                  You can link and load field values from the system's User Sheet into your sheet using the Select User field. Please refer to this article for the instructions.

                                                                  Link & Load Sync for Select User Fields

                                                                  Since the Select User field is linked to the system's User Sheet, you can also click the gear icon in the "Field Settings" to open the "Dynamic Filter Setting".

                                                                  Video Tutorial

                                                                  For more detailed information about Link & Load, you can refer to the following tutorial video.

                                                                  5.1.2    Dynamic Filtering

                                                                  Dynamic Filters can be set for fields that already have Link & Load configured or are Select From Other Sheet field. They enable you to choose options in another sheet based on the values of a specific field in this sheet.

                                                                  For example, if a sheet has a "Membership Level" field with "VIP" and "Regular" options, selecting "VIP" will filter members loaded via Link and Load to show only those with a "VIP" level. Similarly, selecting "Regular" will show only members with a "Regular" level. This feature allows you to load only the options you need.

                                                                  To create a Dynamic Filter, navigate to your Form Page's Design Mode, and from Form Tools, click on the gear icon next to the related sheet name under Link & Load.

                                                                  Select the field value from another linked sheet and the field value in this sheet, then set rules. When you load data from the other sheet, only the data that matches the rules will be displayed. Click the "+" button to add rules, and you can also click the pencil icon on the right to enter custom criteria.

                                                                  Example: Display fields that have the same status

                                                                  For example, if you want to offer VIP services based on customers' loyalty programs and ensure that the "Service Request" sheet only selects customers belonging to a certain loyalty program, you can set the "VIP Club Membership" field on the "Customers" sheet to be filtered by the "Service Type" on the "Service Request" sheet.

                                                                  After selecting a "Service Type", only customers belonging to the associated "VIP club" are displayed.

                                                                  Note: Dynamic Filtering pre-filters data based on the criteria. Users can manually clear the filtering conditions and select data that does not meet the rules.

                                                                  Dynamic Filtering can also be applied to fields linked as Subtables.

                                                                  Example: Display fields that fit into a date range

                                                                  In the "Sales Order" sheet, only display products in the Subtable linked from the "Product" sheet that are currently on promotion. The promotion date range is set on the product sheet, with the rule that checks if the Create Date falls between the Promo start date and end date.

                                                                  When selecting a product, items matching the promotion period are listed.

                                                                  Example: Display entries that contain or do not contain specific values

                                                                  The "Meal Order" sheet includes a Subtable linked to the "Menu" sheet. By applying the "does not contain" criteria to the "Allergic to" field, the system will only display meal choices that do not contain the allergen.

                                                                  You can also apply "contains" criteria to filter entries that contain specific values.

                                                                  In some cases, certain fields in your entries may have empty values. To filter out entries with empty values, you can use the parameter "$EMPTY_VALUE".

                                                                  Dynamic Filtering on Select User Field

                                                                  Dynamic Filtering can be applied to the Select User Field linked to the system's users sheet. You can click the gear icon next to the field's settings to open the interface.

                                                                  The process is the same as setting Dynamic Filters on Linked Fields.

                                                                  5.1.3    Multiple Versions

                                                                  If you want different users to see different versions within the same record, you can use Multiple Version sheets.

                                                                  For example, a "Personnel Information Sheet" and an "Employee Directory" might share some information, such as names, job titles, and contact details, which should be visible to everyone in the company. However, the "Personnel Information Sheet" also includes sensitive information like addresses, ages, and work experience, which should not be accessible to all employees.

                                                                  Instead of duplicating records across two sheets, you can create different versions of the sheet that share records but display different fields to different user groups.

                                                                  Creating a Duplicate Sheet

                                                                  To create two versions of the same sheet, right-click on the sheet name, or click on the "arrow" when you hover on the sheet's name and select 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.

                                                                  Note: if you uncheck the box Use same data source on new sheet, it will create a copy sheet that has the same design as the original sheet without copying the records or sharing the data source. If you would like to copy or duplicate a tab with all sheets under it, you may refer to this article.

                                                                  Then a second sheet with the same name, fields, and records will be created. Since Multiple Versions of sheets share fields and data. All creations, edits, and deletions will be reflected in both sheets. Any adjustments to Field Types or links for the same field will also be synchronized across all versions of the sheet.

                                                                  However, design changes you make in one of the sheets, such as field name, layout, formula, default value, and advanced field setting, 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 while still having the data on the other sheet. You can also create a Fixed Filter for this purpose. Learn more about creating a Fixed Filter in this documentation.

                                                                  After setting up both versions of the sheet, you can set up the Access Rights from the Design Mode on the left sidebar. This allows different user groups to view different versions of the sheet. For instance, only the HR group can access the "Personnel Information Sheet", while other users can only see the "Employee Directory" with basic information.

                                                                  Adding a New Field or Subtable on Multiple Versions

                                                                  If you create a new field in one version of a sheet with Multiple Versions, the system will prompt you to add this field to other versions as well. The new field will be placed in the same cell or nearby. However, Subtable fields cannot currently automatically synchronize new additions.

                                                                  To manually add a new field or Subtable to other Multiple Versions of the sheet, first, enter the Design Mode of the sheet where you want to add this field or Subtable. Click on the Form Tools menu and navigate to Multiple Versions under the Sheet Linking category. Here, you will find the other versions of the sheet. Select the sheet where you have already added the field or Subtable.

                                                                  Drag and drop to add fields or Subtables to this sheet.

                                                                  Remember to set appropriate Access Rights, since all users who can access this sheet will be able to see the new fields.

                                                                  Switching to a Different Version of a Record

                                                                  You can add an Action Button to easily switch between the same record in other version sheets.

                                                                  Navigate to the Form Tools menu and find other versions of the sheet under Multiple Versions in the Sheet Linking category. Then, click on the gear icon next to the sheet you want to switch to.

                                                                  Name the button in the prompted window.

                                                                  The added Action Button will direct you to the URL of the same record in another version.

                                                                  To create a link back to the first sheet, repeat these steps on your second sheet.

                                                                  Note: If you want to remove the Action Button, you can refer to this article.

                                                                  Video Tutorial

                                                                  For more detailed information about Multiple Versions sheets, you can refer to the following tutorial video.

                                                                  5.1.4    New Sheet From Subtable

                                                                  Subtables are great tools for managing one-to-many relationships in data. However, in some cases, storing all data exclusively in Subtables may not be convenient. For example, when you need to analyze sales details from the past month using reports or export purchase records across datasets. In such situations, you can use the Generate new sheet from Subtable to display each Subtable record from the main sheet as an independent record in a new sheet.

                                                                  Creating a New Sheet From the Subtable

                                                                  In Design Mode, click the Form Tools, and choose the New sheet from subtable option under Sheet Linking.

                                                                  In the window, the Subtables in the sheet will be listed. Select the Subtable for which you want to generate a new form and confirm the settings: The new sheet will link back to this form by selecting a "field in this Subtable". Choose how the new sheet will link back to this sheet, so the system knows how data in the new sheet links to the original sheet's Subtables. Please select the Unique Value field from the original sheet, like "Order Number". This will link each order detail on the new sheet to the original sheet through the "Order Number".

                                                                  Once confirmed, click Create new sheet, and the Subtable fields will become independent fields in the new sheet.

                                                                  In the new sheet, in addition to all fields from the Subtable, there will be fields linked to the original sheet, such as the "Order Number". This field helps you identify which Subtable data is associated with which record in the original sheet. The linkage between the new sheet and the parent sheet will be managed through Link and Load.

                                                                  Therefore, the "Order Number" field in the new sheet, which links to the parent sheet, determines which record in the parent sheet's Subtable corresponds to the new sheet's data.

                                                                  Conversely, creating a Subtable in another sheet is also possible. For more details, please refer to Show References From Existing Sheets.

                                                                  Adding New Fields From Your Sheet to the Subtable

                                                                  When you create new fields to the new sheet and want to add them back to the original Subtable, navigate to Form Tools to view all the current links listed under New sheet from subtable in the Sheet Linking section, then click on the sheet name.

                                                                  In the pop-up window, add the fields you want to include on the right side.

                                                                  This allows you to display the new fields on your original Subtable.

                                                                  Creating a New Record in the Linked Subtable

                                                                  You can add a button for quick switching to create a new record on the new sheet by accessing the list of linked sheets under New sheet from subtable in the Form Tools menu, and then clicking the gear icon next to the sheet.

                                                                  Click on the "Create button" and name the button in the window.

                                                                  Clicking the button will directly open the new sheet.

                                                                  You can then add new records in the new sheet, and the corresponding linked fields from the parent sheet will be automatically populated.

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

                                                                  Linking the Subtable to the New Sheet

                                                                  When you have generated a new sheet from your Subtable, you can create links on text fields within the original Subtable. Clicking these links will take you to the corresponding record on your new sheet.

                                                                  For instance, if there is an "Accounts" sheet with a Subtable for "Contacts", the "Contacts" sheet is generated from this Subtable.

                                                                  In the Design Mode of the Form Page, navigate to Form Tools. Click the gear icon next to the sheet generated from your Subtable, listed under New sheet from subtable.

                                                                  Select the "Contact Name" field under Create a link on this field to go to the new sheet.

                                                                  After saving and exiting the Design Mode, you will notice that the selected field values have become links.

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

                                                                  Video Tutorial

                                                                  For more detailed information about Generate New Sheet From Subtable, you can refer to the following tutorial video.

                                                                  5.1.5    Show References From Existing Sheets

                                                                  When designing links between sheets, in addition to creating a new sheet from a Subtable, you can create a Reference Subtable from another sheet to automatically list related records.

                                                                  For example, if you have a "Sales Order" sheet and an "Accounts" sheet, you may add the "Sales Order Information" as a Subtable in the "Accounts" sheet to view each customer's order history. This feature quickly consolidates relevant records from the database.

                                                                  Creating a Reference Subtable

                                                                  To add a Reference Subtable to list related order records in the "Accounts" sheet using the Show References From Existing Sheets, ensure that the "Sales Orders" and "Accounts" sheets both have the same Linked Field with Link & Load.

                                                                  Note: The setting method for Linked Fields in independent fields and Subtable fields will differ. Below are explanations for both methods.

                                                                  1. Linked Fields in Independent Fields

                                                                  2. Linked Fields in Subtable Fields

                                                                  1. Linked Fields in Independent Fields

                                                                  First, enter the Design Mode of the "Sales Orders" Form Page. In the From Tools menu, under Linked Sheets, ensure it is linked to the "Accounts" sheet in Link & Load.

                                                                  Next, return to the Design Mode of the "Accounts" sheet and select Show References From Existing Sheets under Sheet Linking.

                                                                  It will automatically list all linked sheets. You can directly find and select the sheet you want to add as a Reference Subtable from this list.

                                                                  Hover over the linked Subtable, which will turn green. Hold down and drag it to the desired position.

                                                                  In the field selector window, use the arrows to place the fields you want to include in the Subtable under Selected Fields and move the ones you do not wish to display under Available Fields. Adjust the order of fields under Selected Fields using the up and down arrows.

                                                                  Once completed, click the Insert Subtable button and save the design. The Reference Subtable will then be added to the sheet.

                                                                  You can see that the Reference Subtable in the "Accounts" sheet automatically consolidates all past order records for that customer.

                                                                  2. Linked Fields in Subtable Fields

                                                                  First, confirm that the Subtable contains fields linked to the sheet from which you want to insert a Reference Subtable in the Form Tools menu.

                                                                  Use the New sheet from Subtable to create an independent sheet from that Subtable.

                                                                  Then, similar to Linking fields in independent sheets, use the Show References From Existing Sheets to populate the Reference Subtable with data from the new sheet.

                                                                  For example:

                                                                  1. There is an "Employee Management" sheet that has a Link and Load relationship with the "Project Management" sheet through the "Owner" field in the Task Subtable.

                                                                  2. You want to display all "Project Tasks" assigned to an employee as a Subtable within the "Employee Management" sheet.

                                                                  3. Utilize New sheet from subtable to create a new "Task" sheet from the "Tasks" subtable in the "Project Management" sheet.

                                                                  4. Use Show References From Existing Sheets to add a Reference Subtable with data from the new "Task" sheet.

                                                                  Adding New Fields in the Reference Subtable

                                                                  When you add new fields to the source sheet and want to include them in the Reference Subtable, navigate to Form Tools to find the source sheet listed under Show References From Existing Sheets in the Sheet Linking section, then click on the sheet name.

                                                                  In the pop-up window, add the fields you want to include to the Selected Fields.

                                                                  Creating a New Record in the Reference Subtable

                                                                  You can add a button for quick switching to create a new record on the source sheet that this Subtable refers to. Navigate to the list of linked sheets under Show References From Existing Sheets in the Form Tools menu, then click the gear icon next to the sheet.

                                                                  Click on the "Create button" and name the button in the window.

                                                                  Clicking the button will directly open the source sheet.

                                                                  You can then add new records in the source sheet, and the corresponding linked fields will be automatically populated.

                                                                  Note: If you want to remove Action Button, you may refer to this article

                                                                  Linking the Reference Subtable to the Source Sheet

                                                                  You can create links on text fields within the Reference Subtable to take you to the corresponding source sheet.

                                                                  For example, there is an "Accounts" sheet with a Reference Subtable containing "Sales Order Record", linked using Show References From Existing Sheets to the "Sales Orders" sheet.

                                                                  In the Design Mode of the Form Page, navigate to Form Tools. Click the gear icon next to the "Sales Orders" sheet, listed under Show References From Existing Sheets.

                                                                  Select the "Orders Number" field under Create a link on this field to go to the new sheet. If the referenced source sheet has Multiple Versions, you can set a default version to display.

                                                                  After saving and exiting the Design Mode, you will notice that the selected field values have become links.

                                                                  Clicking on any of these links will take you to the related record in the source sheet.

                                                                  Video Tutorial

                                                                  For more detailed information about Show References From Existing Sheets, you can refer to the following tutorial video.

                                                                  5.1.6    Link Fields From Parent Sheets

                                                                  When to Link Fields From Parent Sheets

                                                                  1. The sheet was created by generating a new sheet from a Subtable:

                                                                  (1) Add new fields from the Subtable in the original sheet (parent sheet) to the new sheet created from the Subtable.

                                                                  (2) Include independent fields from the original sheet (parent sheet) in the new sheet.

                                                                  For Example: In the "Sales Orders" sheet, there is a Subtable for "Ordered items". When you generate a new sheet from this Subtable and then add a new field to the Subtable on the "Sales Orders" sheet, you can use this feature to add the new field to the new sheet created from the Subtable. Alternatively, if you want this new sheet to display independent fields such as "Sales Order Date" or "Order Status" from the "Sales Orders" sheet, you can also achieve this through this feature.

                                                                  2. The sheet has a Reference Subtable inserted via Show References From Existing Sheets:

                                                                  (1) Add the new fields created in this Reference Subtable to the original sheet (parent sheet)

                                                                  (2) Include fields from the original sheet (parent sheet) in the linked sheet's Reference Subtable.

                                                                  For Example: In the "Accounts" sheet, you add a Reference Subtable for Sales Order Information from the "Sales Order" sheet to view each customer's order history using Show References From Existing Sheets. When adding new fields to the Reference Subtable that need to be reflected in the "Sales Order" sheet (parent sheet), or when including other fields from the "Sales Order" sheet in the "Accounts" sheet, you can apply this feature.

                                                                  Note:

                                                                  1. If you used this method to link fields from parent sheets before 2021/01/09, these fields share the same Field ID as the parent sheet. This means these fields still belong to the parent sheet, making them Read-Only for display purposes. Added fields may encounter issues with filtering, sorting, etc., so it is recommended to add them by linking them from the parent sheets using the new way.

                                                                  2. If you used this method to link fields from parent sheets after 2021/01/09, these fields are Link and Load fields with the keep loaded value sync with source automatically enabled. In Design Mode, you will see these fields with a light gray "L" icon, distinguishing them from the dark gray "L" icon of manually Linked and Loaded fields. These fields will be automatically synced from the parent sheet and will also be Read-Only for display purposes.

                                                                  How to Link Fields From Parent Sheets

                                                                  Navigate to the Design Mode of the Form Page and click on Form Tools. Under the Sheet Linking category, you will find available parent sheets listed under Link fields from parent sheets. You can then select the sheet name from the list.

                                                                  In the pop-up window, you can drag and drop any of the listed available fields into the sheet.

                                                                  The fields with "red borders" are Subtable fields linked to the current sheet. The fields with "gray borders" are independent fields from the parent sheet, intended for display purposes only on the current sheet.

                                                                  Note: The maximum number of records you can sync at once using Link Fields from Parent Sheets is 50 records, and the system will not sync any excess records. (If you have requirements to increase this limit, please contact us.)

                                                                  5.2    Custom Action Buttons

                                                                  Action Button Types

                                                                  1. Convert Records

                                                                  2. Update Values

                                                                  3. Update Value On Another Sheet

                                                                  4. Send Custom E-mail

                                                                  5. Combine Buttons can let you execute multiple actions through a single button click, for example, simultaneously executing "Create Delivery Note" (Convert Records) and "SO Complete" (Update Values).

                                                                  6. Create Custom Buttons to have easy access to your frequently used tools

                                                                  Additional Settings

                                                                  These settings can be found under Design mode > Form Settings > Actions.

                                                                  Note: The custom buttons under the form tool, including Convert Record, Update Values, Update Value On Another Sheet, and Send Custom E-mail, cannot be added through the left side toolbar or created by copying the code. They must be added in the button's configuration interface.

                                                                  Confirm Before Execution

                                                                  To prevent users from accidentally clicking on Action Buttons, you can configure the Action Buttons to be Confirmed before execution. With this configuration, users will have to confirm that they would like to execute the action.

                                                                  Only Executable When Approved

                                                                  In some situations, executing Action Buttons makes significant record changes and may require Approval before execution. You can configure the Action Buttons to be Only executable when approved. Ensure the record is approved before clicking.

                                                                  Hide This Action Button

                                                                  If you need to hide Action Buttons, for example, after combining two Action Buttons where the old one cannot be deleted but may be accidentally clicked, you can choose to hide it.

                                                                  Action Available for These User Groups

                                                                  It's common for a sheet to be accessible to multiple User Groups with different Access Rights.

                                                                  For example, some groups might be "Viewers" who can only view entries, while others, like "Admins" or "Bulletin Users," can modify entries. Typically, "Viewer" groups shouldn't be able to execute Action Buttons. By default, Action Buttons are available to the EVERYONE user group, meaning anyone with access to the sheet can execute the action.

                                                                  You can set which groups can click the button from the dropdown menu under Action available for these user groups.

                                                                  Only Available for Users Who Can Edit This Entry

                                                                  Sometimes you may want users to execute Action Buttons only on records they have editing rights to. By checking the option Only available for users who can edit this entry, the Action Button will be available only for users on records they can edit, not on those they can only view.

                                                                  Display Execution Status

                                                                  When this setting is enabled, a progress indicator will appear in the lower left corner. This helps prevent misunderstandings or concerns about the button not working or system failures when some actions take longer to execute.

                                                                  Removing Action Buttons

                                                                  To delete Action Buttons, navigate to the left side panel > Form Settings > Actions, click the x next to the Action Button you don't need, and save the design.

                                                                  Other Use Cases

                                                                  1. Scan the QR code to execute Action Buttons by using the Action Barcode.

                                                                  2. Adding Action Buttons into fields.

                                                                  3. Hiding or locking Action Buttons through Conditional Formatting.

                                                                  4. In the link address of the URL-type Action Button, besides typing the specified page link, you can also add Field IDs as parameters. This allows you to direct to different pages based on different field values.

                                                                  5.2.1    Convert Records Button

                                                                  The Convert Records button on the source sheet allows users to copy specified field values from a record to another sheet.

                                                                  Converting records is different from using Multiple Versions. When you convert a record, the data from that record is copied to another sheet and saved as a new record, with no link between the two sets of data. Therefore, it is possible to overwrite the data in the converted record without affecting the source record.

                                                                  Creating a Convert Records Button

                                                                  For example, there is a "Quotation" sheet and a "Sales Orders" sheet. The values in the "Quotation" sheet are similar to the values in the "Sales Orders" sheet, but whether to place an order is up to the customer. Therefore, the two sheets are not entirely the same. In this case, you can use the Convert Records to avoid re-entering some of the values.

                                                                  The structure of the "Sales Orders" sheet is similar to that of the "Quotation" sheet. Having a similar design or sharing many fields is not necessary for converting records, but a consistent design can be helpful for modifications and identification.

                                                                  Navigate to the Design Mode of the source sheet for converting records, such as the "Quotation" sheet in the example. Click on Form Tools and select Convert Records under the Custom Buttons section.

                                                                  Select the sheet to which you want to convert the record from the dropdown menu. In our example, this is the "Sales Orders" sheet.

                                                                  Configure which fields from the current sheet should be copied to which fields in the target sheet. You can add corresponding fields using the + button or use the Auto mapping fields on the right to automatically populate fields with matching names on both sides.

                                                                  After configuring, click the Create convert record button and name it. It's recommended to use a clear and concise name that allows users to quickly identify its purpose.

                                                                  After saving and exiting Design Mode, you will see the added button in the lower-right corner of the source sheet.

                                                                  Using the Action Button to Convert Records

                                                                  When a user clicks this button, this will create a new record in your destination sheet.

                                                                  For example, the values from this "Quotation" record will be saved as a new record in the "Sales Orders" based on the configuration.

                                                                  You can see that both independent fields and Subtable values are converted

                                                                  If you click this Action Button multiple times on the same record, it will generate multiple duplicated records in the destination sheet. To avoid duplicating the same record multiple times, you can refer to this article.

                                                                  To edit the Convert Record button again, you can return to Design Mode, find this button in the Form Tools menu, click on the button name, and make your modifications.

                                                                  Converting Records From a Subtable

                                                                  In addition to converting independent fields to independent fields on another sheet, you can also convert Subtable fields.

                                                                  This can involve converting Subtable fields to Subtable fields or Subtable fields to independent fields.

                                                                  Here are two cases of converting Subtable fields:

                                                                  Converting Subtable Fields to Subtable Fields

                                                                  In the previous example, from a "Quotation" to a "Sales Orders", when you click the Convert Records button, it not only converts independent fields like "Quotation Number" and "Customer" from the "Quotation" sheet to the corresponding fields in the "Sales Orders" sheet but also Subtable fields like "Product Name" and "Qty" to the corresponding Subtable fields in the "Sales Orders" sheet. Each time you click this button, a new record will be created in the "Sales Orders" sheet.

                                                                  Converting Subtable Fields to Independent Fields

                                                                  The use case is slightly different. If the Subtable has N rows of data, clicking the button once will create N records in the target sheet. For example, there is a "Quotation" sheet and another "Product Quotation Details" sheet. You want to convert values from the Subtable in the "Quotation" sheet to independent fields in the "Product Quotation Details" sheet.

                                                                  The "Quotation" sheet has independent fields and Subtable fields such as "Item Number", "Product Name", "Unit Price", "Qty", and "Subtotal".

                                                                  The "Product Quotation Details" sheet has independent fields for "Item Number", "Product Name", "Unit Price", "Qty", and "Subtotal".

                                                                  Set up Convert Records to the "Product Quotation Details" in the Design Mode of the "Quotation" sheet.

                                                                  After converting the records, for instance, since the Subtable in the "Quotation" sheet contains 3 quotation items, the "Product Quotation Details" will create 3 corresponding records.

                                                                  Advanced Settings

                                                                  For advanced settings of Converting Records, please refer to the table below:

                                                                  Advanced Setting Default Value Description
                                                                  Check if converting empty values to "Not Empty" fields when executed Off Prevent the target field from being left empty if it is a Not Empty field.
                                                                  Check if converted values match the "Validation" settings on the target fields Off Prevent the converted value from not meeting the target field's Validation setting.
                                                                  Check if all "Not Empty" fields on the target sheet are converted Off Check if there are any Not Empty fields left unfilled in the target sheet after the conversion.
                                                                  Open converted record (This option only works for one-to-one conversion) On After the conversion, it opens a new page displaying the converted record; one-to-many conversions of Subtable fields are not applicable.
                                                                  Recalculate all formulas on the target sheet On Enabled by default; if you don't want to trigger Formula Recalculation, remember to uncheck this option.
                                                                  Execute workflow on the target sheet On Enabled by default; if you don't want to trigger Workflow, remember to uncheck this option.
                                                                  Convert Rec_lock Source Off Prevent users from modifying the source sheet data after the conversion.
                                                                  Apply subtable filter criteria Off Refer to the following section on applying subtable filtering criteria.
                                                                  Apply subtable grouping criteria Off Refer to the following section on applying subtable grouping criteria.

                                                                  Advanced Setting: Apply Subtable Filtering Criteria

                                                                  When converting from a source sheet with Subtable fields, you can apply filtering conditions to convert only the Subtable value that meets specific criteria.

                                                                  For example, when converting from "Quotation" to "Sales Orders", the customer may decide to purchase only certain products instead of all. If the Subtable includes a "Purchase Confirmation" field, you can use this field value to apply filtering criteria.

                                                                  In the example below, three items were initially quoted in the "Quotation" sheet, but the customer purchased only two. The Subtable also includes a field indicating which two items were purchased.

                                                                  If you directly convert to the "Sales Orders", all Subtable values will be transferred. Later, you may need to manually delete any unnecessary items. Setting up Subtable filtering criteria can help avoid manual deletion.

                                                                  Based on the configured conditions, the converted "Sales Orders" will only include two records of Subtable value that meet the criteria.

                                                                  Note: When converting Subtable fields to independent fields, even if there are no values that meet the filtering criteria, the conversion will not be considered a failure. It will still proceed with the conversion process, resulting in "0" records converted.

                                                                  Advanced Setting: Apply Subtable Grouping Criteria

                                                                  If your convert record settings involve converting Subtable fields to independent fields and Subtable fields on the target sheet, you will create N records on the target sheet corresponding to the N records in the Subtable on the source sheet (for detailed information, please refer to this section). However, if you wish to group these Subtable records into N sets based on a specific field value, determine the creation of N independent records, and based on the grouped results, decide how many items each record's Subtable will contain, you can apply Subtable grouping criteria.

                                                                  When creating a "Purchase Order" from "Sales Orders" using the Convert Records button, if the setup includes converting independent fields to independent fields and Subtable fields to Subtable fields, each "Sales Order" will generate one corresponding "Purchase Order".

                                                                  However, if the "Sales Orders" items are intended for different vendors, directly converting records requires manually performing the conversion N times based on the number of vendors. You also need to manually select the vendor for each "Purchase Order" and delete Subtable items not belonging to that vendor.

                                                                  In the example below, if multiple sales items on this "Sales Order" are sourced from two different vendors:

                                                                  Using advanced settings with Subtable grouping criteria, based on the "Vendor No." in the Subtable converted to independent fields:

                                                                  You can directly convert them into "Purchase Order" for the two vendors, each containing the respective Subtable items belonging to that vendor.

                                                                  Note: If the field value used for grouping is "empty", it will not be grouped and converted by default. However, if you wish to convert Subtable data even when the grouping field value is empty (treating empty values as a group), you can check the option to Allow subtable record(s) with empty value in grouped field(s) to be converted.

                                                                  Situations When You Convert Record

                                                                  to an independent field to Subtable fields
                                                                  from an independent field ✔ (clicking the button once to create one record)
                                                                  from Subtable fields ✔ (clicking the button once to create N records, N = the number of Subtable records) ✔ (clicking the button once to create one record)

                                                                  Note: The system does not allow converting an independent field from one sheet to Subtable fields in another sheet because an independent field holds only a single value per field, whereas Subtables can contain multiple values.

                                                                  When mapping fields, if selecting an independent field to convert it into a Subtable field, the system will mark the row in red to prevent accidental selection.

                                                                  Removing and Additional Settings for Action Buttons

                                                                  If you want to delete the Action Button, you can refer to this article.

                                                                  Alternatively, if you need additional settings for the Action Button, such as restricting user access rights to use the Action Button, you can refer to this article.

                                                                  5.2.2    Update Values

                                                                  Sometimes, your workflow might involve repetitive actions, such as changing the "Order Status" of a "Sales Order" to "Completed". In this case, you can use the Action Button to automatically update the field value, saving the time spent on manual input.

                                                                  Let's use this example to create an Update Values Action Button.

                                                                  Setting up an Action Button to Update Values

                                                                  Navigate to the Form Page Design Mode and click on Form Tools to find Update Values under the Custom Buttons section.

                                                                  Select the field to update and enter the field value. You can set one or multiple field values for updating with this Action Button. Click the + button to add more fields. If no value is entered for with these values, the fields will be updated to "empty".

                                                                  After configuring, click Create 'Update values' button and name it.

                                                                  Save and exit Design Mode, you will see the button in the lower-right corner of the Form Page. Clicking it will update the field value.

                                                                  To update the same field with different values, you can create multiple Update Values Action Buttons, such as "SO Complete" and "SO Cancel" buttons.

                                                                  Advanced Settings

                                                                  For advanced settings of Update Values, please refer to the table below:

                                                                  Advanced Setting Description
                                                                  Create a new subtable record Refer to the following section on Creating a new subtable record.
                                                                  Update all subtable records Refer to the following section on Updating all Subtable records.
                                                                  Apply subtable filter criteria Refer to the following section on Applying subtable filter criteria.
                                                                  Recalculate formulas in this sheet Recalculate all formulas on this sheet when updating values.
                                                                  Check "Validation" settings on updated fields Prevent updated values from failing the updated field's Validation setting.
                                                                  Check "Validation" settings on all fields If any field values do not meet Validation settings, an error message will be displayed, and the update will not proceed.
                                                                  Check not empty settings on all fields If any Not Empty fields are empty, an error message will be displayed, and the update will not proceed.

                                                                  Advanced Setting: Create a New Subtable Record

                                                                  You can apply the Create a new subtable record settings to fill in frequently entered values into a Subtable. This will create an Action Button to speed up the data entry process.

                                                                  Example:

                                                                  At a ski resort, daily equipment rentals often include similar items. By creating an Update Values Action Button with the necessary fields and values and enabling Create a new subtable record, the system will automatically populate the Subtable with frequently rented equipment items.

                                                                  When creating a new record, you can quickly add Subtable records using this Action Button.

                                                                  If there are multiple similar processes, you can create multiple Action Buttons and use the Combine button to quickly add multiple records to the Subtable.

                                                                  After executing the Action Button, you can modify the sheet data as needed.

                                                                  Advanced Setting: Update All Subtable Records

                                                                  If you need to update multiple Subtable records at once, for example, after all items in a "Shipment Order" are shipped, change the "Shipping Status" of all items to "Shipping".

                                                                  In the Action Button configuration, click Advanced > Update all subtable records.

                                                                  Afterward, clicking the button will change the shipping status of all items in the Subtable to "Shipping" at once.

                                                                  Apply Subtable Filtering Criteria

                                                                  If you want to update only the Subtable records that meet specific conditions, you can apply this setting. For example, in the "Quotation" sheet, if a customer decides to purchase only some of the items, and you need to update the status of those selected items.

                                                                  Enable Apply subtable filter criteria under Update all subtable records and customize the filtering criteria.

                                                                  Executing the Action Button updates only the Subtable records that match the specified filtering criteria.

                                                                  Supported Variables of Updated Values

                                                                  Below are the supported variables you can use in the Update Values Action Button configuration as updated values, such as the "user executing the Action Button", "the date of execution", or the "current time".

                                                                  Variable Updated values
                                                                  {{USER}} The user(email) who clicks on this Action Button.
                                                                  {{USERNAME}} The user(name) who clicks on this Action Button.
                                                                  {{TODAY}} The updated date (default time zone: UTC+0 if there's no custom configured time zone in the company setting.)
                                                                  {{NOW}} The updated time (default time zone: UTC+0 if there's no custom configured time zone in the company setting.)
                                                                  {{Field ID}} Reference values from a specific field. Only regular fields are supported.
                                                                  {{$SEQ}} Use Update all subtable records to reset the sequence number in the Subtable. For detailed instructions, please refer to this article.
                                                                  {{$SEQ_FILTERED}} Use Update all subtable records and Apply Subtable Filtering Criteria to reset the sequence number for a specified text value in the Subtable.
                                                                  {{CLEAR_DEFAULT}} To clear fields that apply the following Default Values ($SEQ, #DATE, #TIME, #DATETIME, #YEAR, #MONTH, #WEEKDAY, #USERNAME, #USERID), you must use this variable. In other cases, updating the fields with empty values will clear them.

                                                                  Removing and Additional Settings for Action Buttons

                                                                  If you want to delete the Action Button, you can refer to this article.

                                                                  Alternatively, if you need additional settings for the Action Button, such as restricting user access rights to use the Action Button, you can refer to this article.

                                                                  5.2.3    Update Value on Another Sheet

                                                                  If you want to update field values in sheet A's record according to the values in a record from sheet B. For example, to deduct inventory after confirming a sales order, you can use the Update value on Another Sheet button. Here's an example using inventory deduction: Suppose there are two sheets, "Sales Orders" on the left and "Products" on the right.

                                                                  Setting up an Action Button to Update Values on Another Sheet

                                                                  To change the inventory in the "Products" sheet based on a record from "Sales Orders", you need to set up a button within the "Sales Orders" sheet. Enter the Design Mode of the Form Page, select Form Tools, and find Update Value on Another Sheet under the Custom Buttons category.

                                                                  Choose the sheet to be updated from the pop-up window, then configure the following aspects: how to update values on another sheet and the conditions for updating values on another sheet.

                                                                  Using "inventory deduction" as an example.

                                                                  1. Updating Value on Another Sheet

                                                                  Use value from this field on data source sheet: Qty (this is a Subtable field)

                                                                  To update: "-" (Select "subtract" since it's an inventory deduction; choose "add" if you need stock replenishment.)

                                                                  Update this field on the update target sheet: Total Qty (Inventory)

                                                                  To update multiple fields at once, click + to add them.

                                                                  Note: The execution sequence is from top to bottom

                                                                  2. The Conditions of Updating Value on Another Sheet

                                                                  When this field's value on data source sheet: Item No.

                                                                  Matches

                                                                  This field's value on update target sheet: Product No.

                                                                  If there are multiple conditions, click + to add them. The button will execute only when all conditions are met.

                                                                  Note: If your conditions are not reasonable, you won't be able to save your configuration. Refer here to check common mistakes while setting conditions.

                                                                  After configuring, click the Create 'Update value on another sheet' button and name it.

                                                                  After saving and exiting Design Mode, you will see the added button in the lower-right corner of the Form Page.

                                                                  The System-Generated Date and Time Field

                                                                  When creating the button, the system automatically generates a date and time field to record when the Action Button is executed. This field is crucial for the proper functioning of this Action Button, so please do not delete it!

                                                                  If you have created or modified this Action Button after 2017/06/01, it's recommended to set this field as Read Only to prevent users from manually modifying the field value.

                                                                  If the Action Button was created after 2023/03/21, the Executed Time Field will have an undeletable attribute. You will need to delete this action button first before deleting this field.

                                                                  Executing an Action Button to Update Values on Another Sheet

                                                                  You can create a new "Sales Order" and try out the new Action Button to update values on the "Products" sheet.

                                                                  In the "Sales Orders", from the pop-out window, you can see that the inventory for the item "Cafe Chair" in the "Products" is 59, and the ordered "Qty" in this "Sales Order" is 20.

                                                                  After saving this record, you can click on the Inventory Deduction button in the lower-right corner.

                                                                  The system will prompt a message confirming that the value has been updated and automatically fill in the system-generated date & time field.

                                                                  The quantity of the item "Cafe Chair" in "Products" has been reduced by 20, now totaling 39.

                                                                  To reverse the "Inventory Deduction", you can click the Reverse Inventory Deduction Action Button (visible only if the Create reverse action button is enabled). After clicking, the system-generated date and time field value will be cleared, indicating that the "Inventory Deduction" has not been executed.

                                                                  If this Action Button was created before 2017/06/01, and its settings haven't been modified since then, refer to this section for information on using the Reverse Action Button.

                                                                  Reverse Action Button

                                                                  Note: The Reverse Action Button was updated on 2017/06/01. If the Update Value on Another Sheet Action Button was created or edited before 2017/06/01, to reverse the action, you need to manually clear the system-generated date and time field value first, then click on the Reverse Action Button.

                                                                  The following outlines the update of the "Reverse Action Button":

                                                                  Old Version:

                                                                  1. Checks if the last executed date & time field is empty; if it is, it executes and updates the last executed date & time.

                                                                  2. There was no prevention mechanism for repetitively executing reverse actions. As long as the date and time field is empty, the Reverse Action Button can be clicked multiple times.

                                                                  New Version:

                                                                  1. Executes directly and automatically clears the last executed date and time.

                                                                  2. If the last executed date & time field is empty, it does not execute the reverse action and returns a successful execution (interpreted as no update occurred), thus preventing consecutive reverse actions.

                                                                  Advanced Settings

                                                                  For advanced settings, please refer to the table below:

                                                                  Advanced Setting Default Value Description
                                                                  Recalculate formulas in sheet Off Recalculate formulas on the target sheet when updating values. If there are fields with formulas referencing the updated fields, remember to check this option.
                                                                  Create reverse action button On Enabled by default; it will create an additional button to reverse the update that was submitted with the Update Value on Another Sheet Action Button. For more information, refer to this section.

                                                                  Automatically run when saving Off Automatically executes the Update Value on Another Sheet when records are created or updated. This ensures updates are based on the latest record. Only one set of Action Buttons can be configured to automatically execute on a sheet.

                                                                  Check access rights on target sheet when saving Off Check if this user has Access Rights on the target sheet.
                                                                  Check "Not Empty" fields on target sheet Off If the updated fields on the target sheet are Not Empty and attempt to update them to empty, an error message will be displayed, and the update will not proceed.
                                                                  Check fields "Validation" setting on target sheet Off If the updated values do not meet the Validation settings, an error message will be displayed, and the update will not proceed.
                                                                  Consider This action as failed if no data meets the update conditions Off If no fields meet the conditions for updating values, an error message will be displayed, and the update will not proceed.
                                                                  Display warning message if no entries meets the update conditions On Enabled by default; if you don't want to display a warning message, remember to uncheck this option.
                                                                  Load all default values on target sheet Off If you want to populate default values into the target sheet when executing this action button, you can check this option.
                                                                  Load all default values on this sheet Off If you want to populate default values into this sheet when executing this action button, you can check this option.
                                                                  Apply subtable filter criteria Off Refer to the following section on applying subtable filtering criteria.

                                                                  Advanced Setting: Apply Subtable Filtering Criteria

                                                                  If the record includes Subtable fields, you can apply a filter to update only Subtable values that match specific criteria.

                                                                  For example, in a "Shipment Order", if only two items were shipped, and your Subtable includes a "Confirmed Shipment" field, you can apply Subtable filter criteria in the Action Button configuration.

                                                                  Using the example below, in the "Shipment Order," there were originally three items, but only two were eventually shipped out. The Subtable includes a field indicating which two items were shipped:

                                                                  Check Apply subtable filter criteria in the advanced settings.

                                                                  Based on the criteria set, executing the button will only deduct quantities from Subtable items marked as "Confirmed Shipment".

                                                                  Triggering the Button More Than Once

                                                                  By default, each record can execute the Update Value on Another Sheet Action Button only once. The system will check the system-generated date & time field to prevent duplicate executions. However, there are scenarios that you may need to trigger the button again:

                                                                  1. To update the sheet content and execute the button again for the newly added data

                                                                  Usually, this happens when the button is configured with "+ to add" or "- to deduct". Re-executing these Action Buttons will lead to repeatedly repeatedly addition or deduction incorrectly. Therefore, please run the Reverse Action Button, update the record, and then re-trigger the Action Button. For example, if a "Shipment Order" Subtable initially contained two items and the inventory deduction action has already been executed, and you want to add an item, follow these steps:

                                                                  Step 1: Execute the Reverse Action Button

                                                                  To reverse the deduction of inventory for the existing two items and prevent duplicate deductions. When executing the Reverse Action Button, the system will reverse the operation based on the current values. For example, if 3 units were originally subtracted from inventory, the system will add back 3 units and clear the system-generated date & time field.

                                                                  Step 2: Add the third item to the Subtable and then execute the "Inventory Deduction" Action Button again.

                                                                  2. Continue updating the sheet content and execute the update of values on the target sheet with each save

                                                                  Usually, this happens when the button is configured with "= equal". For example, if there are two sheets without a direct linking relationship, but you want modifications in Sheet A to be updated on Sheet B each time, follow these steps:

                                                                  Step 1: When creating the Action Button, check the Automatically run when saving option in advanced settings.

                                                                  Step 2: Apply the formula: " " to the system-generated execution time field, indicating automatic filling of empty values for subsequent executions.

                                                                  Common Mistakes and Tips

                                                                  1. For arithmetic operations, both the source field and the target field in the Update Value on Another Sheet Action Button must be Numeric fields. For string inputs, please use "=".

                                                                  2. Configure at least one set of conditions.

                                                                  3. You cannot set different conditions on the same field of the target sheet.

                                                                  4. The system-generated date and time field cannot be removed; otherwise, the Action Button will be ineffective. However, you can rename or hide this field.

                                                                  5. In the old version, you cannot click the Update Value on Another Sheet Action Button twice or the Reverse Action Button without clearing the system-generated date & time field first. Please clear the value in the date and time field beforehand.

                                                                  6. When there are multiple Update Value on Another Sheet actions, only one of them can be configured to Automatically run when saving.

                                                                  Removing and Additional Settings for Action Buttons

                                                                  If you want to delete the Action Button, you can refer to this article.

                                                                  Alternatively, if you need additional settings for the Action Button, such as restricting user access rights to use the Action Button, you can refer to this article.

                                                                  5.2.4    Send Custom E-mail

                                                                  The Send Custom Email Action Button lets you create templates to send emails that contain values saved in your database. Users can directly press this Action Button to send emails to specific email addresses.

                                                                  This feature is useful for sending interview invitations, order confirmations, or purchase details to vendors.

                                                                  Setting up an Action Button to Send Custom E-Mail

                                                                  Navigate to the Design Mode on your Form Page and click Form Tools > Send Custom E-mail under the Custom Buttons section.

                                                                  In the pop-up window, you can design the email template using HTML formatting and the variables. Check all supported variables here.

                                                                  Click on the preview button to confirm the custom email.

                                                                  If you decide to use our default template instead, use will discard all the changes you've made.

                                                                  Furthermore, you can attach a URL, Excel, PDF, or Mail Merge file of the record, or other attachments.

                                                                  If you attach the URL of the record, please ensure that the recipients have Access Rights to the entry. Otherwise, they'll see a blank page when they access the database through the entry URL.

                                                                  Remember to "Save" before exiting the window.

                                                                  Automatically Sending Custom Email When Saving

                                                                  You can check Automatically run when saving in advanced settings if you want to automatically execute this Action Button after saving.

                                                                  Running in Asynchronous Mode

                                                                  If the Excel or PDF file of this record is included, it may need more time to complete this action. Checking Running in asynchronous mode in advanced settings can shorten your waiting time but cannot guarantee when the email will be sent.

                                                                  Note: It is NOT suggested to add an asynchronous button into a combined button.

                                                                  History of Sending Custom E-Mail

                                                                  After sending a custom email, you can click on the mail icon to view the custom email history.

                                                                  Removing and Additional Settings for Action Buttons

                                                                  If you want to delete the Action Button, you can refer to this article.

                                                                  Alternatively, if you need additional settings for the Action Button, such as restricting user access rights to use the Action Button, you can refer to this article.

                                                                  5.2.5    Combine Buttons

                                                                  Combining Buttons

                                                                  To execute multiple actions with a single click on an Action Button, you can use the Combine Buttons. For example, clicking the Create Delivery Note + SO Complete button will execute both Create Delivery Note (Convert Records) and SO Complete (Update Values) simultaneously. This way, you can complete your tasks more efficiently.

                                                                  Navigate to Design Mode on your Form Page and click Form Tools > Combine Buttons under the Custom Buttons section.

                                                                  Note: The Combine Buttons is available in the Form Tools only if the sheet already has action buttons and is only applicable to action buttons created from Custom Buttons under Form Tools.

                                                                  Select the Action Buttons you want to combine in the pop-up window, and then click Combine selected buttons.

                                                                  After saving and exiting Design Mode, you will see the Combine Button in the lower-right corner of the sheet.

                                                                  Note:

                                                                  1. Changes made to any of the source buttons will affect the Combined Button.

                                                                  2. If any of the source buttons are deleted, Combine Button will also need to be reconfigured.

                                                                  Advanced Settings

                                                                  When executing a combined button, its actions will be executed based on the order set in the combined button. If any action fails, by default, the previous actions will be backtracked, and the subsequent actions will not be executed, which is equivalent to canceling the execution of the combined action button.

                                                                  If this option is enabled, when executing the combined action button, any failed action will be skipped, and the previous actions will not be backtracked, allowing the subsequent actions to continue executing.

                                                                  Removing and Additional Settings for Action Buttons

                                                                  If you want to delete the Action Button, you can refer to this article.

                                                                  Alternatively, if you need additional settings for the Action Button, such as restricting user access rights to use the Action Button, you can refer to this article.

                                                                  5.2.6    Add Frequently Used Tools as Custom Buttons

                                                                  Adding Frequently Used Tools as Custom Buttons

                                                                  If you have disabled user access to Form Tools in Feature Access Settings but want to grant users access to those features for certain sheets, or if you want easy access to your frequently used tools, you can create commonly used functions as Custom Buttons.

                                                                  From Design Mode, navigate to Form Settings in the left sidebar, and click on the Actions tab.

                                                                  Select the appropriate Action type and name your button, then click the Add Action button.

                                                                  After saving and exiting Design Mode, you will see the added button in the lower-right corner of the sheet.

                                                                  Tools Supported on the Listing Pages

                                                                  Here are the tools that you can add as custom buttons in Listing Pages:

                                                                  Tools
                                                                  Download as PDF File
                                                                  Download as Excel File or Text
                                                                  Printer Friendly
                                                                  Send Mass E-mail
                                                                  Delete all filtered

                                                                  Tools Supported on the Form Pages

                                                                  Here are the tools that you can add as custom buttons in Form Pages:

                                                                  Tools
                                                                  Clone Entry
                                                                  Download as Excel File
                                                                  Download as PDF
                                                                  Printer Friendly
                                                                  E-mail this entry
                                                                  Apply all formulas to this record
                                                                  Lock record
                                                                  Unlock record
                                                                  Delete entry
                                                                  Link & Load Sync

                                                                  Removing and Additional Settings for Action Buttons

                                                                  If you want to delete the Action Button, you can refer to this article.

                                                                  Alternatively, if you need additional settings for the Action Button, such as restricting user access rights to use the Action Button, you can refer to this article.

                                                                  5.2.7    Add Action Buttons Into Fields

                                                                  x
                                                                  Add Action Buttons Into Fields

                                                                  Adding to the Form Page

                                                                  Adding to the Listing Page

                                                                  If there are configured action buttons in the sheet (including custom buttons and mail merge), they can be added into the fields.

                                                                  Adding to the Form Page

                                                                  If your sheets have existing Action Buttons, you can drag and drop them from the left sidebar into the fields.

                                                                  Alternatively, right-click on an empty field and select Insert Action Button from the menu.

                                                                  This allows you to place Action Buttons wherever you want.

                                                                  Adding to the Listing Page

                                                                  After creating Action Buttons, you can also add them as fields on the Listing Page.

                                                                  In Listing Page Design Mode, use the Listing Page Field Picker to add Action Buttons as Selected Fields.

                                                                  This enables you to directly execute the Action Button on the Listing Page without entering the Form Page for each record.

                                                                  5.3.1    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 one to validate user input.

                                                                  Select the field from Design Mode, navigate to Field Settings in the left sidebar, and click on the Validation tab. You can then enter regular expressions in the Validation field.

                                                                  If you are unfamiliar with regular expressions, you can choose a validation template from the sample box or apply conditional formulas as a workaround.

                                                                  When users enter an incorrect value in this field, an error message will pop up, and the record cannot be saved.

                                                                  Additionally, you can customize the error message below.

                                                                  AI Regular Expressions Generator

                                                                  You can ask AI to help you create regular expressions (regex). Your requirements should be concise and clear. For example, if you want to restrict the field value to have the first 3 characters as numbers and the last 3 characters as letters, you can specify it as "First 3 characters are numbers, last 3 characters are letters".

                                                                  Click Generate Regex, it will automatically create a regular expression. Then, by clicking Copy to Validation Field, you can copy the syntax into the Validation field.

                                                                  After finishing the configuration, remember to save the design.

                                                                  Validating the Number of Characters

                                                                  You can use a regular expression in the validation tab to check the number of characters entered.

                                                                  For example, the regular expression "^.{6,7}$" will validate that the input in this field has a minimum of 6 characters and a maximum of 7.

                                                                  You may also set it to a maximum, such as "^.{0,7}$" (a maximum of 7 characters), or a minimum, "^.{6,}$" (a minimum of 6 characters).

                                                                  Validating the Language of Input

                                                                  You can ensure users fill in a field in a specific language by using the validation with a regular expression that checks the input against a language code range.

                                                                  For example, if you want to ensure the input is in "Cyrillic", you can use: [\u0400-\u04FF\u0500-\u052F].

                                                                  Below is a list of language code ranges for each language. 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.3.2    Conditional Formatting

                                                                  You can set Conditional Formatting to hide, or show fields, adjust field colors based on their value or the values of other fields, lock Action Buttons, and more. Additionally, your Conditional Formatting will also be applied to the sheet's embedded form (currently only Database Form and Raw Embed).

                                                                  Setting up Conditional Formatting

                                                                  See the following example: When a sheet contains various categories and subcategories of products, named "Product Category" and "Product Type" respectively. The product types are configured using Cascaded Selections, However, we don't want to display the "Product Type" field 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 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.

                                                                  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 the "Special Collection" category is selected. To set the color, you can click on the color swatch next to the field.

                                                                  After saving, you can test the set rules.

                                                                  Other than the example mentioned above, you can also compare a date field with time parameters. This is extremely useful when you want to highlight entries based on the date field on the Listing Page.

                                                                  After setup, the system will execute each rule sequentially from top to bottom when editing records. If the same field is set in multiple rules, the result of the last executed condition will prevail. Therefore, if there are conflicts between conditions, the execution results may not be as expected. Please refer to this document for corrections.

                                                                  Showing, Hiding, or Locking Action Buttons

                                                                  You can also show, hide, or lock Action Buttons through Conditional Formatting. For instance, in "Purchase Requisition", you may hide the "Create PO" Action Button when the logged-in user is not "Procurement Officer" to prevent from inadvertently pressing the Action Button.

                                                                  Read Only

                                                                  You can set the fields as Read Only with Conditional Formatting.

                                                                  When a field simultaneously has Conditional Formatting for Read Only based on rules and a field-level Read Only setting, the Conditional Formatting takes precedence over the original field's Read Only setting.

                                                                  Not Empty

                                                                  You can set the fields as Not Empty with Conditional Formatting. This can only be applied to independent fields on the Form Page.

                                                                  If a field already has a field-level Not Empty setting, it cannot be selected when setting Conditional Formatting.

                                                                  Hiding or Showing Field Descriptions

                                                                  You can also hide or show Field Descriptions through Conditional Formatting.

                                                                  Hiding or Showing Field Values

                                                                  You can also only hide or show field values with Conditional Formatting.

                                                                  Specifying Date Field Time or Range

                                                                  When selecting the Date or Time field as the condition field, you can specify the condition to be equal to, earlier than, or later than a specific date or time. Additionally, you can set whether it falls between a specified date or time range.

                                                                  You may also specify the same conditions for the Current time.

                                                                  Specifying User or Group

                                                                  When selecting the User field as the condition field, you can specify a particular user or group as the condition.

                                                                  You may also specify a particular user or group condition for the Logged in User.

                                                                  Limitations

                                                                  1. If a set of conditions includes multiple criteria, you can only use either AND or OR to relate them; you cannot combine both types of relations.

                                                                  2. Comparing values with other fields is not supported.

                                                                  If you have the above requirements, it is recommended to create a new Free Text field on the sheet and use a Conditional Formula to check the values, then set the Conditional Formatting based on the formula's result.

                                                                  For example, if you want to set the rows where the "Actual Amount" exceeds the "Estimated Amount" to have a red background:

                                                                  First, add a new field that applies a Conditional Formula to determine if the record meets the criteria.

                                                                  Then, set the Conditional Formatting based on the formula result (Yes, No).

                                                                  Note

                                                                  1. Conditional Formatting for Form Pages and Listing Pages needs to be set separately.

                                                                  2. Avoid duplicating field attributes between field properties and Conditional Formatting.

                                                                  (a) If a field is set as Not Empty or Hidden, you cannot select the same field to be Not Empty or Hidden/Shown in Conditional Formatting settings.

                                                                  (b) Manually setting a field as Not Empty or Hidden after Conditional Formatting has already designated it as Not Empty or Hidden under specific conditions will override the Conditional Formatting and automatically remove the setting.

                                                                  (c) When a field is set as Read Only, Conditional Formatting takes precedence over field property settings. It is recommended to retain the Conditional Formatting settings and remove field properties.

                                                                  For example: Apply Conditional Formatting to make the "Total Amount" field Read Only when the "Status" field of a quotation sheet is marked as "Completed". Even if you set the "Total Amount" field as Read Only, it can still be modified when the "Status" field is not "Completed". The Read Only status of the "Total Amount" field only applies when the "Status" field is marked as "Completed".

                                                                  5.3.3    Reminders

                                                                  You can set up automatic reminder emails by using the Date Field in conjunction with the Select User Field, Select Group Field, or Email Field.

                                                                  When Reminders are set in the sheet, the system will check each record in this sheet daily according to daily workflow execution time. If any records meet the date conditions, Reminders will be automatically sent out. These Reminders will also appear on the Event Calendar.

                                                                  Setting up Reminders

                                                                  Navigate to Form Settings under Design Mode in the left sidebar and click on the Reminder tab.

                                                                  You can set Reminders for specific Dates in independent fields, notifying users selected in the Select User Field, Select Group Field, or Email Field a few days before or after the specified date. Multiple Reminders can also be configured.

                                                                  For example, for "Sales Orders", you can set a Reminder to notify the "Assigned Sales" on the "Shipping Date".

                                                                  Do Not Merge E-mails to the Same Receiver

                                                                  By default, Reminders sent on the same day from the same sheet to the same receiver are merged into one email thread rather than being sent separately, and the email subject cannot be customized; it will be fixed by the system and cannot display custom subjects.

                                                                  When the setting is unchecked, all Reminder emails sent to the same receiver will be merged.

                                                                  Checking the setting will send each Reminder as a separate email to the same receiver.

                                                                  Only for Records Matching Shared View

                                                                  In addition to fulfilling the date rule of Reminders, you can also send emails only for records that match a specific Shared View. For example, if you want to send shipping notifications via Reminders, the conditions must satisfy both the shipping date and the "Confirmed Order" filter simultaneously.

                                                                  Custom Reminder E-mail

                                                                  You can customize the subject and the content of your email notification by clicking on Customize reminder e-mail.

                                                                  In the pop-up window, you can design the email template using HTML formatting and the variables. Check all supported variables here.

                                                                  Click on the preview button to confirm the custom email. If you decide to use our default template instead, use will discard all the changes you've made.

                                                                  Remember to "Save" before exiting the window.

                                                                  Reminders on the Event Calendar

                                                                  Once a Reminder is triggered, it will appear on the Event Calendar on the homepage.

                                                                  The title of the Reminder on the Event Calendar will match the subject line of the custom Reminder email. If you want to change the title, you can customize the subject in the Custom E-mail setting.

                                                                  If you prefer not to display the Reminder on the event calendar, you can uncheck the Add this reminder to events calendar when record saved below.

                                                                  5.3.4    Processing Payments

                                                                  Connecting Bank Account

                                                                  You can accept payments with Ragic via the service provided by Stripe, enabling others to pay you directly through Ragic sheets such as "Sales Orders", "Invoices", or "Donations".

                                                                  To set up your payment process, navigate to Form Settings under Design Mode in the left sidebar and select the Payment tab. Choose the "Payment Amount Field", set the "Currency", and then click Connect bank account.

                                                                  You will be directed to the Stripe account activation page. Follow the instructions to log in or create an account.

                                                                  After filling out the required information as instructed, click Authorize access to this account to link with Ragic. You'll then be redirected to Ragic.

                                                                  Click the Click to confirm connection button. If the connection is successfully established, you will see the button turn blue and display Connection confirmed!

                                                                  You may customize the payment button name under the Custom Checkout Button Name.

                                                                  Remember to save your design.

                                                                  Paying with Ragic

                                                                  After connecting the bank account, users will see a cart icon in the lower-right corner of the sheet. Clicking it will display the red Proceed to checkout button or a custom-named button.

                                                                  By pressing that button, users can enter their card information and click Pay now to complete the payment process.

                                                                  They will be informed whether the payment is successful and the payment date.

                                                                  Managing Payments in Stripe

                                                                  You can manage all the payments in Stripe's dashboard.

                                                                  For more information, please refer to Stripe's Documentation.

                                                                  5.3.5    Auto Save

                                                                  Turning on Auto Save

                                                                  You can find the Auto Save button at the top of the sheet in Design Mode. Click to turn it on.

                                                                  When Auto Save is activated, any changes made while users edit records will be automatically saved without needing to click the "Save" button. If this setting is not activated, user modifications will only be saved after clicking "Save".

                                                                  History

                                                                  Users can see the latest update time next to the reload button when editing records.

                                                                  Record modification history will also be synchronized and updated.

                                                                  Sheet Validation

                                                                  If the entered data does not meet the setting requirements, such as Not Empty, Validation, Unique, etc., changes will not be saved. You can click on Why? at the upper right side of the page to check the reason.

                                                                  5.3.6    Set Custom Save Message

                                                                  If you want the system to display a message whenever a record is created or edited, you can set custom save message. For example, showing the message "We have already received your feedback. Thank you for dining with us!" after someone submits a survey sheet. Alternatively, after entering a "Sales Order", you can remind users that "After confirming the order, please proceed to convert it into a Shipping Order".

                                                                  In Design Mode, under the Form Settings > Form Settings in the left sidebar, you will find two options:

                                                                  1. Custom create message: You can customize the message displayed after creating an entry. It will be displayed only the first time of saving.

                                                                  2. Custom edit message: You can customize the message displayed after editing an entry.

                                                                  5.3.7    Freeze Rows or Columns

                                                                  Please note that this feature is not supported on Internet Explorer.

                                                                  If you want users to see specific columns or rows no matter where they scroll on the page, you can freeze columns or rows. In the Design Mode of the Form Page, navigate to Form Tools and click on Freeze Rows/Columns.

                                                                  Select the number of rows or columns you want to freeze (columns are counted from the left, rows from the top). To remove the freeze setting, you can click Unfreeze Rows or Columns.

                                                                  After setup, the selected columns or rows will remain fixed and visible on the Form Page.

                                                                  You can also freeze columns on the Listing Page using the same method but note that freezing rows is not supported on the Listing Page.

                                                                  5.3.8    Form Deletion Policy

                                                                  If your sheet includes Subtable(s) and generates a new sheet from Subtable, you can configure whether to delete Subtable records in the Related sheet when deleting the record from the Parent sheet.

                                                                  To configure the Form Deletion Policy, navigate to Form Settings in the left sidebar from the Form Page Design Mode, and click on the Form Settings tab.

                                                                  There are three options:

                                                                  1. Do not delete related subtable record

                                                                  2. Delete subtable records

                                                                  3. Delete subtable plus reference subtable records

                                                                  Do Not Delete Related Subtable Record

                                                                  When Deleting an Entry from the Parent sheet, records in the Subtable will also be deleted. However, with this option, records generated in a new sheet from this Subtable will not be deleted. You will only see the Linked Fields from the Parent sheet being cleared.

                                                                  Delete Subtable Records

                                                                  With this option, when Deleting an Entry from the Parent sheet, both the record in the Subtable and the records generated from the Subtable in new sheets will be deleted. You will see that the records in the new sheet from the Subtable are deleted after deleting the Subtable records in the Parent sheet

                                                                  Delete Subtable Plus Reference Subtable Records

                                                                  With this option, in addition to having the same effect as selecting Delete subtable records, the Referenced Subtables from existing sheets and the record on the source sheet will also be deleted.

                                                                  5.3.9    Sheet Sections

                                                                  Feature Overview

                                                                  As fields and Subtables multiply in a sheet, you might need to scroll up and down to check information constantly. For instance, a "Customers" sheet may include Subtables such as contacts, sales opportunities, and contracts, resulting in longer loading times.

                                                                  The Sheet Sections feature allows you to group rows into different sections and view each section by selecting different tabs at the same row level without scrolling.

                                                                  The advantages of Sheet Sections include:

                                                                  1. Clear Visualization: Switching tabs and horizontally viewing different sections eliminates the need to scroll up and down.

                                                                  2. Streamlined Organization: Sheets often consist of different functional sections, such as basic information, contact details, and related records. You can group related fields and Subtables in the same section for better organization.

                                                                  3. Enhanced Speed: It's generally not recommended to have more than 100 records in a single Subtable as it can slow down loading speed. If you must have lengthy Subtables, using sections can "hide" them to increase page load speed.

                                                                  Design Guide

                                                                  First, select the rows you would like to group as a section. You can select both independent fields and Subtables.

                                                                  Right-click on selected rows to Create Section.

                                                                  Click + next to section tabs to add a new section.

                                                                  Choose which row the new section will end on. Ensure there are no empty rows in between, and a Subtable cannot be divided into 2 sections.

                                                                  Click on a tab to rename it.

                                                                  Right-click on the tab name and select Edit Style to adjust the style of the tab, such as the font size, font type, color, and more.

                                                                  Click x to cancel the section.

                                                                  5.3.10    Widgets

                                                                  You can insert widgets directly on your sheets for data visualization. For example, displaying a pie chart next to "Sales Order" records showing revenue by sales representative, a line chart depicting revenue growth trends, or branch revenue proportions.

                                                                  Creating Widget

                                                                  Enter Design Mode on the Form Page or Listing Page, right-click anywhere, and select Insert Widget.

                                                                  In the pop-up window, you can name the widget, select the source sheet, and configure the types of graphs you want to display:

                                                                  1. Showing total values

                                                                  2. Showing trends: Sparkline, Bars, 3D bars

                                                                  3. Showing rankings: Bars, Pie, Tree map, Radar (Currently, rankings display only the top five categories of data, with an option to show totals for each category.)

                                                                  You can also set the time range for display or filter records based on specific criteria, such as analyzing only "Sales Orders" with the status "Completed".

                                                                  Besides, you can drag and drop the widget anywhere on the sheet, and you can insert multiple widgets in a sheet.

                                                                  Record Filtering

                                                                  Please refer to the chart below for the filtering mechanisms of widgets in different locations.

                                                                  Widget Location Filtering Situation
                                                                  Homepage Widget Filtering priority: Fixed filters > Filter conditions set within the widget. All of these will affect the displayed data.
                                                                  Listing Page Widget Filtering priority: Fixed filters > Custom views and shared views > Filter conditions set within the widget. All of these will affect the displayed data.
                                                                  Form Page Widget Filtering priority: Fixed filters > Filter conditions set within the widget. All of these will affect the displayed data.

                                                                  5.3.11    Setting the Title Field for Your Sheet

                                                                  x
                                                                  Setting the Title Field for Your Sheet

                                                                  Title Field

                                                                  Selection Title Field

                                                                  Title Field

                                                                  It will be displayed in features such as full-text search, notifications, file management, etc., making it easier for users to identify a specific record. Ragic automatically uses the first field in the sheet as the Title Field, but sometimes these fields may not help you locate the needed data. For instance, if you want to search for a purchase order number (PO), but the first item listed is the product name.

                                                                  If you wish to make changes, enter the Form Page Design Mode, navigate to Form Settings in the left sidebar, and click the Form Settings tab. Choose the Title Field you want from the menu, and remember to save your changes.

                                                                  In full-text search, the first item displayed will be the Title Field that was just set, making it quicker to find the required data.

                                                                  Selection Title Field

                                                                  In Link and Load and Importing Data into Subtables features, the Selection Title Field helps the system identify each record. Please choose a field containing Unique Values, such as a serial number. Some fields are not listed for selection, typically because they do not contain Unique Values, such as Numeric fields or Selection fields.

                                                                  6.1    Importing and Exporting

                                                                  Preparing Import Files

                                                                  To accurately read your import file, the first column should contain a Unique Value field (Key Field) to allow the system to identify each record. For example, the "Product No." for products or the "Customer No." for customers.

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

                                                                  Here is the maximum size for each file format:

                                                                  Format Maximum File Size
                                                                  .xls 10 MB
                                                                  .xlsx 10 MB
                                                                  .csv 200 MB

                                                                  For the On-premises Plan, there is no import file size limit.

                                                                  To import multiple values for Multiple Select fields, use commas (,) or vertical bars (|) to separate the values in the import file. (If the value itself contains a comma, use vertical bars to separate them).

                                                                  Importing Data

                                                                  Users can import existing data from Excel or CSV files into Ragic. Go to the Listing Page of the sheet where you would like to import data and choose Import Data From File under Tools.

                                                                  Upload your file and click "Next".

                                                                  Check if the first row of your data is the header and if you need to reverse the import sequence.

                                                                  If there are fields with similar names, ensure that each target field correctly corresponds to the intended import fields on the next page. You can choose to ignore columns of data that you do not want to import. Note that the target field values should be in the correct format; for example, if the date format in the import file is yyyy/M/d and the date format in the sheet is yyyy/MM/dd, mismatched formats may result in unsuccessful import of the field values.

                                                                  Import Policy

                                                                  Choose the Import Policy when importing data. Ragic will match the data in the import file based on the Key Field in the first column with entries in your sheet.

                                                                  Create new entry: If a duplicate Key Value exists in entries, a new entry will still be created.

                                                                  Renew data: If a duplicate Key Value exists in entries, the existing data will be updated. If the Key Value does not exist in your database, new entries will be created for this Key Value. This import policy allows for updating existing data and creating new entries.

                                                                  Update without creating new data: If a duplicate Key Value exists in entries, the existing data will be updated; otherwise, new data will not be imported if the Key Value doesn't exist in your database.

                                                                  Advanced Settings

                                                                  If there are fields in the sheet that are automatically populated, such as Link and Load, Default Values, or Formulas, you can configure Advanced Settings in the import policy.

                                                                  Advanced Setting Description
                                                                  Fill in default field values If your fields have Default Values configured, please check this option so that they can be automatically updated or populated.
                                                                  Execute link and load When Link and Load settings are configured on the sheet, select this option to load field values based on imported data. If not selected, the loaded fields will remain empty.
                                                                  Recalculate all formulas Recalculate all Formulas during the import.
                                                                  Execute workflow Execute workflow (specific to each database's configuration).
                                                                  Execute not empty check Check if there are field values configured as Not Empty. If a field is empty, it will be skipped during the import.
                                                                  Execute validation check Check if the field value meets the configured Validation. If they do not, they will be skipped during the import.
                                                                  Omit leading and trailing whitespaces Unwanted leading and trailing whitespaces will be omitted during import (checked by default).
                                                                  Import date values using browser time zone When enabled, date values in your import file will align with your browser's time zone. If not selected, they will default to UTC+0 time zone.
                                                                  Check and disallow importing data to read-only fields If the imported file contains Read Only field values, those values will not be written into the database.

                                                                  These advanced settings will be executed in the following order: Fill in default field values -> Execute link and load -> Recalculate all formulas -> Execute not empty check -> Execute validation check -> Execute workflow.

                                                                  Finally, click "Next" to proceed to the next page, then click "Import your data!" to import your data into the sheet.

                                                                  You can also create new sheets by importing if needed.

                                                                  Video Tutorial

                                                                  For more details, you can refer to the following video to see how to import data into Ragic.

                                                                  Saving Import Configuration as Template

                                                                  After mapping fields and choosing import policy and advanced settings, you can save the current import configuration as template so that users can directly apply it when importing files with this format in the future. However, the import template for each sheet is independent.

                                                                  This function is only available when all the following conditions are met:

                                                                  1. The import is executed by a SYSAdmin or group administrator in their respective tabs.

                                                                  2. The import is not executed with an existing import template.

                                                                  3. The import is not periodic.

                                                                  In the pop-up window, name the template, review the import settings, and save it.

                                                                  You can select the saved template to import data into the sheet in the future.

                                                                  Creating a New Sheet by Importing

                                                                  You can create a new sheet by importing your data from an Excel or CSV file into Ragic, instead of starting from scratch.

                                                                  Click on the + sign at the top of your page to create a new sheet.

                                                                  Name the new sheet and check the box Create new sheet with my Excel file.

                                                                  After clicking "Create", it will guide you through the same steps as importing data.

                                                                  However, the field mapping step will involve setting the Field Types for each column.

                                                                  After importing, both the sheet and the records will be created simultaneously.

                                                                  Importing Data into Subtables

                                                                  To import data into a Subtable, enter the Form Page Design Mode, navigate to Form Settings in the left sidebar, click on the Form Settings tab, and check the Selection Title Field option.

                                                                  You can change the Selection Title Field as needed, but make sure to select a Unique Value field to ensure the system correctly identifies which data each import entry belongs to. Incorrect settings may cause mismatches during the import process.

                                                                  For example, to import into the "Order Details" Subtable in the "Sales Orders" sheet, follow the steps below:

                                                                  Place the "Selection Title Field," such as "Sales Order Number", in the first column of the import file and fill in the corresponding values.

                                                                  During import, the system uses the value in this column to determine which row in the Subtable belongs to which record. For example, it uses the "Sales Order Number" to decide into which "Sales Order" record each "Order Details" in the Subtable should be imported.

                                                                  Before importing, ensure that the main record you intend to import into already exists. For instance, if you want to import "Order Details" for "Sales Order Number" "SO-20201022-001", there must already be a corresponding record with this "Sales Order Number" in the "Sales Orders" sheet. If not, please create it before you import data into the Subtable.

                                                                  Select the name of the Subtable you want to import into from the dropdown menu.

                                                                  In the mapping process, the system automatically locks the first column. You can choose corresponding names for the other columns or ignore them if they are unnecessary.

                                                                  After mapping fields, you may select the proper import policy and advanced settings and then import your data.

                                                                  Terminating Import

                                                                  If you would like to terminate the current import process, you can click Terminate import process in the import interface.

                                                                  During an import, if you attempt mass updates, deletions, or additional imports, a warning window will appear. You can also terminate the import from this window.

                                                                  Note: Clicking the button to Terminate Import will not immediately stop the import process. It will complete the current record being imported before stopping. Once terminated successfully, the system will send an email to notify the user who terminated the import.

                                                                  Reverting Import

                                                                  To revert the import, click "here" on the Import complete page.

                                                                  Additionally, you can navigate to Account Setup > Recent Changes and click the Revert Icon next to the import history. This action will delete newly created records imported and revert any updated ones to their previous state.

                                                                  Note:

                                                                  1. This operation cannot be undone once executed.

                                                                  2. It is not possible to undo field value updates made during the import process through Link and Load, formula recalculations, and workflow executions.

                                                                  3. Reverting import will not trigger Link and Load, formula recalculation, and workflow.

                                                                  Exporting Data

                                                                  Ragic offers various options for exporting files accessible from the Tools Menu. Please note that when exporting from the Listing Page, the applied search filters will affect the range of records exported.

                                                                  Download as Excel or CSV File

                                                                  In the "Download Configuration", you can choose whether to export data from all fields or only from fields displayed on the Listing Page. You can also select the specific range for export.

                                                                  Note: If you have more than 5000 records to export, the system will export records into CSV format. Furthermore, if you are exporting more than 30000 records, the system will generate the CSV file asynchronously and send the file to your email when it is done.

                                                                  If the sheet contains Image Upload field(s), when downloading as an Excel file from the Listing Page with a specified range of fewer than 100 records, the Excel file will automatically embed the images. However, if no range is selected or if more than 100 records are chosen, the Excel file will not embed the images but will instead display URLs linking to them.

                                                                  To export one record, navigate to Tools under the Form Page instead.

                                                                  Download as PDF File

                                                                  In the "Download Configuration", you can choose whether to export data from all fields or only from fields displayed on the Listing Page, along with selecting the desired number of records to export.

                                                                  You can also export in the format of Form Pages. If you want to export multiple sheets at once, you can choose to save your records as a single file, or as separate files compressed into a zip file.

                                                                  You can also attach a watermark of your company logo on the PDF file by uploading the image of the logo to the Watermark field in the Company Setting sheet.

                                                                  Printer Friendly

                                                                  The Printer Friendly shows the data layout as seen in the browser, making it suitable for direct printing. You can choose to print your data either as displayed on the Listing Page or as individual records based on their layout on the Form Page.

                                                                  Listing Page

                                                                  Form Page

                                                                  If there are Multiple Versions of the sheet, you can switch directly to the friendly printing view of a specific version by clicking the gear icon in the top right corner. Additionally, by clicking the gear icon, you can configure the layout settings.

                                                                  Other Exporting Options

                                                                  1. Learn more about the types of reports you can generate here.

                                                                  2. Mail Merge allows you to export your data into a specific Excel or Word template.

                                                                  3. Backup your entire Ragic database directly.

                                                                  Exporting Data From Subtables

                                                                  If you want to export data from your Subtable, you can follow these steps:

                                                                  1. Create a New Sheet from Your Subtable. This will generate a new sheet with all the records from the Subtable of the original sheet.

                                                                  2. By Linking Fields from Parent Sheets, you can add "independent fields" from the parent sheet. This ensures that the necessary data from the parent sheet will also be exported along with the Subtable data.

                                                                  3. Export your data from your new sheet. It works just like exporting from a sheet.

                                                                  Exporting Data From Backup

                                                                  Select Download as Excel or Text, and click the From Backup tab to download sheet data from auto backup.

                                                                  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. Repeating field values is also possible, just make sure that you are writing:

                                                                  <>

                                                                  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 duplicate field names, and you want to mail merge the data from those fields (with the same name), you will need to change them to different names so that the system can map the fields correctly when you download the data.

                                                                  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 can 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 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.

                                                                  Including Multiple Entries in a Page

                                                                  By default, mail merge exports data as one page per entry. However, sometimes you may want to include multiple entries on one page, such as when printing a phone book, labels, business cards, etc. To do this, you can create a Word template in mail merge (Note: Excel format doesn't support including multiple entries in one page).

                                                                  By adding parameters like << Field Name or ID~~1 >>, << Field Name or ID~~2 >> etc., you can configure how many entries you'd like to include in one page in the template.

                                                                  After the template is saved, you can download data in the template format.

                                                                  Please note that you need to upload the template to listing page and the template can only be on one page.

                                                                  Download Reports Formatted with your Template

                                                                  Click the Mail Merge button next to your report name when you would like to generate reports from the data in your database. This will take you to an option that displays the number of entries you would like to download with the mail merge template applied.

                                                                  You can configure the number of entries to download, and choose to download them as Separated files (compressed into a zip file) or A single file (separated by tabs). Furthermore, you can also store to a file upload field if you have one of them on your sheet.

                                                                  If you select to export them as separate files, 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 like with the template example above:

                                                                  Here are other examples, with an image field included:

                                                                  Excel Format

                                                                  Word Format

                                                                  Note: Word mail merge does not support multiple image setting for upload image field. Unlike Excel, Word does not have clear cell divisions, so there is no suitable output logic for arranging multiple images in the field.

                                                                  Referenced field for file names

                                                                  By clicking the gear icon next to an existing template, you can set its referenced field for file names. That referenced field's values will be the file names of your mail merged documents.

                                                                  Store to File Upload Field

                                                                  If you have an file upload field in your form, you can store your mail merged file there. On the mail merge window, while selecting "form page format (with single record template)" from the listing page, you can choose to store to a file upload field.

                                                                  The file will be placed on your selected field and you can download the file of the respective entry from there.

                                                                  Mail Merge Approval Process Records

                                                                  The original format of the sample template document that you download from Ragic mainly contains the fields of the sheet and its subtable(s). If this sheet is configured with an approval process, the approval process records that are shown on the bottom right side of your sheet within Ragic would not automatically appear in the sample template document.

                                                                  If you want to add them, you need to manually add instructions when you modify the Excel template document. After that, upload your customized template document so you can download reports formatted to contain the approval process records.

                                                                  Parameter Output Note
                                                                  #{{APPROVAL_STATUS}}# Approval Status If an assigned deputy helps approve or reject approval requests, (Deputy) wil be shown next to the approval status
                                                                  #{{APPROVAL_APPROVER_TITLE}}# Step Name
                                                                  #{{APPROVAL_DATE}}# Approval Date Only shown when the approval step was approved
                                                                  #{{APPROVAL_APPROVER_NAME}}# Approver’s Name
                                                                  #{{APPROVAL_APPROVER_SIG}}# Approver's Signature in Personal Settings
                                                                  #{{APPROVAL_APPROVER_EMAIL}}# Approver’s E-mail
                                                                  #{{APPROVAL_COMMENT}}# Approver’s Reason
                                                                  <> Approval's Result Support exporting to Word

                                                                  Example

                                                                  In this example, we will show you how to create a mail merge template that will display approval process records on a mail merge.

                                                                  First, we download the template document from the mail merge menu. It does not contain approval process records as you can see below. The fields and subtable fields are shown as below:

                                                                  Here, we manually add the fields with the necessary parameters for the approval process on this spreadsheet document: Approval Status, the Approver’s Name, and the Approver’s E-mail address. After uploading, we can use this document as the new template.

                                                                  With this new template, we can now have records of the approval process when we export our data through mail merge.

                                                                  List of Mail Merge Parameters

                                                                  Parameter Output
                                                                  <> The value of a field.
                                                                  <> The value of a field. Case sensitive. If there is more than one field with the same field name, use <> instead.
                                                                  #Field Name# The value of a subtable field
                                                                  <<$USERNAME>> Download User Name
                                                                  <<$USERID>> Download User E-mail
                                                                  <<$DATE>> Download Date
                                                                  <<$DATETIME>> Download Date and Time
                                                                  <> The URL of the record

                                                                  Export Selected Entries

                                                                  You can use the mail merge function to only export selected entries. To do so, please select the entries you would like to export by ticking the checkbox next to the entries and then click Batch Execute.

                                                                  Next, choose the format you would like to export under the Mail Merge tab.

                                                                  Mail Merge For Listing Page

                                                                  Similarly, you can also use the mail merge function for the listing page. If you upload your report templates on the listing page window with the corresponding field names or IDs, the data on the listing page can be exported onto your selected template. Furthermore, if you apply filter or sort on the listing page, you can also export data onto the template regarding your filter or sort. However, while on the form page, you cannot use the template that you uploaded on the listing page.

                                                                  Let's take this sheet as an example, say you want to export the details of Football Stadiums in London from Ragic.

                                                                  You then have to map the fields on the excel template like this first before uploading it back onto Ragic.

                                                                  After clicking on Mail Merge with the template, your exported excel sheet will contain data of your entries from the listing page.

                                                                  Using Formulas For Listing Page

                                                                  You can also apply formulas on your mail merge template to calculate your records on the listing page. You can do this by adding the formula in the template with the following format.

                                                                  <>

                                                                  In the formula that you enter, you can also set up dynamic parameters so the system can automatically calculate with a selected cell value. There are two types of dynamic parameters:

                                                                  {{r}}: Will automatically be replaced by the current row

                                                                  {{l}}: Will automatically be replaced by the last row of the selected current column

                                                                  For instance, if you want to find whether the capacities of these stadiums are greater than 20000, you can use this function on your mail merge template:

                                                                  <=20000, "yes","no")>>

                                                                  On Excel, your results will additionally populate according to the formula.

                                                                  On the other hand, you can use the dynamic parameter {{l}} when you want to calculate a list of data. For example, if you want to calculate the total capacity of all stadiums, you can use the following function on your mail merge template:

                                                                  <>

                                                                  Note: You would still have to enter the first cell of the list of data that you want to calculate in the formula while making your template, which is D4 in this example.

                                                                  While mail merging your data from Ragic, the system will also do the calculation of your formula, as you can see in the "total capacity" field.

                                                                  Naming the Mail Merge File

                                                                  Form Page Mail Merge

                                                                  You can select to reference a certain field while naming your mail merge file. The settings can be found by clicking on the gear icon next to the mail merge template you would like to use.

                                                                  While executing mail merge, if you select to save multiple records as a single file separated by tabs, the selected referenced field will apply its values on the tabs in the Excel file.

                                                                  On the other hand, if you select to save multiple records as separated files (compressed into a zip file), the selected referenced field will apply its field values to the respective files’ name.

                                                                  Listing Page Mail Merge

                                                                  You can name your mail merge file by clicking on the gear icon next to the mail merge template you would like to use.

                                                                  Access Rights

                                                                  The gear icon located on the right of each template allows you to modify its access rights.

                                                                  Video Tutorial

                                                                  Please view the video below for a step-by-step tutorial:

                                                                  Note

                                                                  The format of mail merge is fixed, meaning that the heights of rows will not be automatically adjusted after exporting subtable entries. However, you can refer to this Excel instruction for how to adjust row height after exporting data onto Excel.

                                                                  6.1.2    Publish to the Web (Data Feed)

                                                                  Publishing to the Web

                                                                  If you would like to send an Excel file of your records to others, you may use our export feature Publish to The Web. This will generate a link for other people to allow them to download the Excel file directly.

                                                                  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'll have two options:

                                                                  Set access right of group EVERYONE to Viewer

                                                                  Click on 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, and make sure the group EVERYONE has feature access of "Download Listing page". You can change the access right any time.

                                                                  Once you complete the access right setting, you may select which fields, fields on the listing page or all fields, to be displayed and if you would like to apply a saved shared view.

                                                                  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.

                                                                  Generate link with API key

                                                                  Click on Generate link with API key. This will generate a link using the API key of your access rights, hence the users who have this link will be able to access the database as you.

                                                                  It's recommended to create a separate test user account for API Key usage and grant proper access rights. By this, you won't be logged out if others access into your database through this link.

                                                                  Once you complete the access right setting, you may select which fields, fields on the listing page or all fields, to be displayed and if you would like to apply a saved shared view.

                                                                  If you would like to use API Key other than the account you're currently logged in to Ragic, please refer to this documentation to get API key. After getting API Key, you can post it after "APIKey=" in the url.

                                                                  Using Publish to the Web

                                                                  You can share the links you have generated with the Publish to the Web tool 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.

                                                                  Specifying fields to export

                                                                  Regarding how to specify fields when using publish to the web, you can refer to this article.

                                                                  6.1.3    Periodic Import from URL

                                                                  The URL of your import file

                                                                  Please make sure that the link is for downloading as .csv or .xlsx file that opening the link in browser will download the .csv or .xlsx file.

                                                                  And the Protocol (http:// or https://) should be included in the URL as well.

                                                                  In order to allow Ragic to access your import file and process the import, please make sure that your imported file is a CSV or an XLS file that can be downloaded by anyone when clicking on its link. (We suggest testing this by clicking on the link to download the file without logging in to any applications using a private/incognito window. For example, if your periodic import from URL is using the link generated from Google Sheet, please make sure that you can click on the link to download the file without logging in to your Google account.)

                                                                  If you have a spreadsheet file that is updated periodically, and this file is stored in the cloud, you can have Ragic import this file from a URL and automatically update your records within your Ragic sheet with Periodic import from URL. You can choose to keep your data synchronized from the URL.

                                                                  In order to periodically 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.

                                                                  Periodic Import from URL

                                                                  Navigate to the Tools menu on your form, and select Periodic import 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 periodic 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.

                                                                  Note: Currently, importing Subtable records is not supported. To import Subtable records, please Create a New Sheet From the Subtable, and then import the records into the new sheet.

                                                                  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.

                                                                  If you choose Update without creating new data, your existing data will be updated if you have entries with the same key value, and entries with key values which aren't in your database will not be imported. 

                                                                  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.

                                                                  For more information on importing from Excel files stored in OneDrive or Google sheet, please refer to this article.

                                                                  Import execution time

                                                                  Once you set up periodic import from URL, it will execute an import right away. If you choose to Renew data, the system will set up a daily execution time of this function according to the Daily Workflow Execution Time setting, which you can set up in your Company settings. If you would like to change the execution time of this function, you may configure it from Job Schedules under Account Setup.

                                                                  (Please note that if you initially set up "Periodic import from URL", and then change the "Daily Workflow Execution Time" in Company settings, the previously saved job "Periodic import from URL" won't be updated, so you will need to make this configuration from Job Schedules.)

                                                                  6.1.4    Schedule Report

                                                                  In cases where you need to automatically mail reports of the records in a particular sheet within a regular time interval (e.g. to keep track of your company’s weekly/monthly/yearly sales), Schedule Report can be a very useful tool.

                                                                  Click Tools on the sheet’s Listing Page and choose Schedule Report under the Reports section.

                                                                  Choose to schedule a new report or modify a scheduled report.

                                                                  Next, configure the following items:

                                                                  Reports Export Frequency

                                                                  You can set the fixed frequency for exporting reports and choose the "time interval" for the Records to be exported.

                                                                  The supported frequencies are as follows:

                                                                  Frequency Exported Records and Time
                                                                  Every day "Daily" to send "all", "current day", and "previous day" records.
                                                                  Every week Set "weekly" to send "all", "current week", and "previous week" records and specify the start day of the week.
                                                                  Every month Set "monthly" to send "all", "current month", and "previous month" records. on a specific day of the month or the last day of the month.
                                                                  Every quarter Set "quarterly" to send "all", "current quarter", and "previous quarter" records on a specific day of the quarter.
                                                                  Every year Set "annually" to send "all", "current year", and "last year" records on a specific date of the year.

                                                                  Exporting Filtered Records

                                                                  You can export records with a saved View or export all records without any View applied.

                                                                  Exported Files

                                                                  You may download the report as a ".xlsx" file or into an existing Listing Page Mail Merge template and name your file.

                                                                  Setting Recipient Emails

                                                                  Enter the email address(es) you would like to send the report to, using commas “,” to separate multiple addresses. Each email can have a maximum of 50 recipients.

                                                                  Modifying a Scheduled Report

                                                                  If you have a scheduled report, you can choose to update or remove it.

                                                                  You can also pause (or start) or immediately send out this report.

                                                                  Then click Save report, or Undo changes if you still need to modify the settings.

                                                                  You can schedule reports of up to 5,000 records in the sheet. Please note that if the number of records in the sheet exceeds 5,000, even if you choose to send "all records", the system will only send the report of the first 5,000 records. Therefore, it is important to choose the time interval correctly.

                                                                  There can only be one scheduled report set for the same criteria. Therefore, if different users require the same scheduled report, please choose to modify an existing scheduled report and add additional recipients.

                                                                  To see all existing scheduled reports of the sheet, click View scheduled reports on the upper-right side of the pop-up window. This will take you to the Job Schedule.

                                                                  6.2    Embedding on Your Website

                                                                  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, provide access to your customers and clients to search your database, or even view your entire database.

                                                                  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 six 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.

                                                                  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
                                                                  (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.
                                                                  (2) Database Query Displays query fields that allows users to create queries to search for entries in your database.
                                                                  (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.
                                                                  (4) Database Search Displays a search engine box that will enable keyword searches for entries in your database sheet.
                                                                  (5) Database View & Query Displays query fields that allows users to create queries to search for entries in your database. The search results will be displayed below.
                                                                  (6) Raw Embed Embeds your database in an iframe with the Ragic UI you see on your account.

                                                                  Once you choose the type of website plug-in, you may also tune the layout for each embed type with custom CSS.

                                                                  (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.

                                                                  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.

                                                                  (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 and the order you would like the fields to appear on the configuration page. To do so, click "Set Default Query Field"

                                                                  The query fields will be displayed in accordance with 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.

                                                                  Database Query Exact Mode

                                                                  The Exact Mode setting is available for Database Query and Database View & Query. With this setting, users would be able to search the data by entering the query that is exact matched even if your sheet is not in public. For detailed information, you can refer to this article.

                                                                  (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.

                                                                  After picking "Database Form" as your web embed type, you can preview and configure the layout of your form. You may refer to this document for more information about the difference between the old version and new version.

                                                                  Banner Settings

                                                                  You can click on the "Banner settings" section to choose a banner image or upload one. the suggested image size is 1500 x 300 pixels.

                                                                  Background Color Settings

                                                                  Right here, you may select the background color of your embedded database form.

                                                                  Field Order Settings

                                                                  For better user experience on different devices, The new version of the Database Form has a single-column layout, which is the same as the layout of Ragic's mobile app. By default, fields are displayed from left to right, top to bottom. You can select the "Field Order Settings" section, click on the field name/description you want to move, and use the arrow button to arrange the order.

                                                                  Pre Fill Value Settings

                                                                  If you would like to let users fill out a web form with some default values, you can apply this feature. For instance, if you hope that the users from different departments can auto-fill their corresponding product category and department when signing up for internal training, you may configure Pre Fill Value Template. Besides, you can set multiple templates for each department. After finishing the settings, click the template you want to choose (grey out) and save.

                                                                  When selecting a Subtable field, a "gear" icon will appear on the right side.

                                                                  After clicking, you can set the method to prefill values for the Subtable field.

                                                                  Choosing "Prefill one subtable row with the values" only prefills the first row, while "Prefill each subtable row with the values" fills every added row of the Subtable.

                                                                  Provide the link which applies the "For Marketing" template to the users in the marketing department. When they open this form, the field "Product Category" and "Department" will be already filled with the values you set in the template.

                                                                  Selection Field Display Settings

                                                                  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.

                                                                  Please note that the selection field cannot be set to display as "radio buttons" in situations written below:

                                                                  1.The selection field contains more than 5 options in it.

                                                                  2.The selection field is in a subtable.

                                                                  3.Cascaded selection field

                                                                  4.Select from other sheet field

                                                                  If the form contains Selection or Multiple Select fields, you can randomize selection order.

                                                                  You may also tune the layout of your embedded forms with custom CSS by clicking on "Add Custom CSS" in the bottom left corner.

                                                                  After configuring the layout, you may click "Next" to set up the response message after form submission.

                                                                  You can choose to display this message as "Plain Text" or "HTML" by selecting the tab above the text entry box. If you put some HTML codes in the text entry box, you'll need to select the "HTML" tab.

                                                                  If you add spam prevention

                                                                  Users will see a checkbox for verifying whether the user is a human or not at the bottom of the embedded form.

                                                                  If you enable Display "Submit another entry" link

                                                                  Users will see this after submitting an entry, which they can click on the link to submit another entry.

                                                                  If you wish to fill in pre-defined values in selected fields, you may achieve this by adding the pfv parameters in the embed URL:

                                                                  https://www.ragic.com/ramzawang01/forms2/4?webview&webaction=form&ver=new&pfvfieldID=value

                                                                  For more rules, use the "&" to combine each rule:

                                                                  https://www.ragic.com/ramzawang01/forms2/4?webview&webaction=form&ver=new&pfvfieldID1=value1&pfvfieldID2=value2...

                                                                  The URL consists of 3 components:

                                                                  1. URL generated by the embed tool: For example, https://www.ragic.com/ramzawang01/forms2/4?webview&webaction=form&ver=new

                                                                  2. fieldID: The field ID of the selected field. For example, 1002358.

                                                                  3. Value: the value you would like to fill in.

                                                                  With the above setting, when users click on the URL to create an entry, the system will fill in the pre-defined values in the selected fields.

                                                                  (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 were 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.

                                                                  (5) Database View & Query

                                                                  The Database View & Query will allow you to view the query results on the same page where you enter the query instead of heading to a new page for the query result as Database Query does. It's like Database Query that's combined with Database Viewer.

                                                                  Database Query Exact Mode

                                                                  The Exact Mode setting is available for Database Query and Database View and Query. With this setting, users would be able to search for data by entering the query that is exact matched even if your sheet is not set to public. For detailed information, you can refer to this article.

                                                                  Display logout button

                                                                  By selecting to display logout button, there will be a logout button on the top right corner of the page.

                                                                  (6) Raw Embed

                                                                  Embed the 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 above. Users will need to log in to your account if you don't have public sheets set up.

                                                                  On your settings for the raw embed, you will have the option to select whether or not to create a new entry by default, showing the search sidebar, and showing 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.

                                                                  Users will be able to do full text searches from the search icon on the upper right corner, similar to how full text searches are done within your Ragic database sheets.

                                                                  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.

                                                                  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 (except for Database Query.)

                                                                  However, Database Query Exact Mode and Database View & Query Exact Mode are the exceptional cases that you don't have to set your sheets as public and users are still able to search the data by entering exact matched query.

                                                                  5. Parameters for the web embeds

                                                                  If you would like to have some of the fields pre-filled with values determined by your embed code, you can add a parameter to your Raw embed iframe URL starting with the prefix "pfv" to specify the value you would like to fill in.

                                                                  For example, if you would like to fill the value "Ragic" to field id: 1000001, you can add pfv1000001=Ragic to the iframe URL query string.

                                                                  Furthermore, if you have enabled autosave on your sheet, you can also automatically create a new record by adding the parameter “autoSaveData” to the URL.

                                                                  You can also do queries to your embeds by referring to this knowledge base article.

                                                                  6.3    Calendar Sync

                                                                  You can add your event data from your 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 an event from the pop-up menu. You can create another set by clicking plus button if needed, also select subtable fields if the events data you would like to sync is in the 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:

                                                                  Calendar Sync Data Range

                                                                  In consideration of maintaining optimal system performance, only data compliant with the below criteria will be shown on the calendar app:

                                                                  (1) Maximum of 1,000 events with "Start Date" during the current month.

                                                                  (2) The 200 most recent events with "Start Date" before the current month.

                                                                  (3) The 200 most recent events with "Start Date" after the current month.

                                                                  6.4    Integrating Ragic With External Applications

                                                                  There are 5 ways to integrate Ragic with an external system without scripting, and 2 ways to integrate Ragic with scripting.

                                                                  For the non-scripting ways:

                                                                  1. You can use the import from URL function to periodically import data from an external source to a Ragic sheet.

                                                                  2. You can use the publish to the web function to publish a Ragic sheet as an Excel, CSV, or JSON feed.

                                                                  3. You can use our Zapier Integration to integrate Ragic with other popular cloud applications.

                                                                  4. You can use our Make Integration to integrate Ragic with other popular cloud applications.

                                                                  5. You can use our IFTTT Integration to integrate Ragic with other popular cloud applications.

                                                                  For more custom integrations with scripting, you can:

                                                                  1. Write a Javascript Workflow as post-workflow so that the script is executed each time a record is created or saved. Developers can write scripts that calls external HTTP/HTTPS API URLs based on record content when a record is saved.

                                                                  2. Write an external script calling Ragic's HTTP API. The script can decide when and how it calls Ragic HTTP API for reading data from Ragic, or writing data to Ragic.

                                                                  6.4.1    Zapier Integration

                                                                  What is Zapier?

                                                                  Zapier lets you easily connect the web apps you use, making it easy to automate tedious tasks. Ragic now supports integrating with other online services via Zapier. If you'd like to join in to use Ragic as a trigger or action application, you can navigate to the Tools menu and select Connect with your web apps under the Sync section.

                                                                  Apply pre-built zap: connect with Gmail

                                                                  Once you click on Connect with your web apps, a pop-up window will appear with pre-built suggestions.

                                                                  Clicking on any of the suggestions will lead you to the configuration wizard. For example, to connect with Gmail, you’ll be asked to log into your Google account before proceeding with the next step.

                                                                  Step 1. Configure the trigger

                                                                  In our example, you’ll need to set Ragic as a trigger application, with creating a new record as the trigger action.

                                                                  You can generate your API key in Personal Settings.

                                                                  And fill in the API Key on Zapier.

                                                                  Step 2. Configure the action

                                                                  After connecting to your Ragic account, you can continue on with the next step. In our example, you’ll need to set Gmail as the action application and sending an email as the action.

                                                                  In this step, you’ll need to create the mail template and decide what kind of information you would like to populate in the e-mail subject and the e-mail body.

                                                                  Once you have mapped all the necessary fields, you will be able to test and view samples from the Gmail account you are using.

                                                                  If the test mail works perfectly, you can name your Zap, which will automate actions according to your specified settings and timeframe.

                                                                  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.

                                                                  Ragic can be used as either a trigger or an action on Zapier when creating new 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.

                                                                  Step 1. Configure the trigger

                                                                  In our example, you’ll need to set Ragic as the trigger application, and creating a New Record as the trigger action.

                                                                  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.

                                                                  You can generate your API key in Personal Settings.

                                                                  And fill in the API Key on Zapier.

                                                                  Step 2. Configure the action

                                                                  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 available fields on Ragic differ depending on your sheet design, you can always go back to redesign your sheet if you would like to make modifications, such as adding extra fields as needed. 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 according to your specified settings and timeframe.

                                                                  In this example, Zapier would automatically check for new Ragic records in our Project tasks sheet every 15 minutes, and will post them to Trello if there are new records with no further action required from the user.

                                                                    

                                                                  Note: With Zapier free plan, the frequency of syncing is 15 minutes and limit to 100 entries per month. Therefore, if you create more than 100 entries in a month, those entries would be unable to sync via Zapier successfully. You can go to Zapier Official Website for more details.

                                                                  6.4.2    Make (Formerly Integromat) Integration

                                                                  What is Make?

                                                                  Make (formerly Integromat) is an integration tool that allows you to create "Scenarios" and configure "Modules" to determine when and how Make should integrate different software and trigger automation processes.

                                                                  For example, if you design a questionnaire in Ragic and want to send a thank-you email to respondents after completing it, you can create an automation process like this:

                                                                  Make stands out from other integration tools like Zapier because it allows you to build not only simple linear integrations but also complex structures resembling tree diagrams or nested structures. Make can be a more convenient choice if you want to trigger multiple actions simultaneously and define the order and conditions of the automation process using built-in paths and filtering features.

                                                                  For instance, if your questionnaire asks respondents if they want to receive promotional newsletters, you might need to automatically create records for customers who agree to subscribe to the newsletter, and then send a confirmation email. The process could look like this:

                                                                  Next, we'll provide an introduction and demonstration of both basic integration (sending an email automatically when new data is created) and advanced integration (sending an email and creating records based on conditions).

                                                                  Basic Integration

                                                                  Create a sheet in Ragic according to your needs. As an example, let's design a "Customer Satisfaction Survey" with the following fields:

                                                                  Log in to Make, and if you don't have an account, you can register here. Once logged in, you will be redirected to the Make dashboard.

                                                                  Step 1: Create a Scenario

                                                                  Click "Create a new scenario" in the top right corner of the dashboard.

                                                                  Step 2: Set up Triggers

                                                                  After creating the scenario, click the "+" symbol in the editor to select the tool and conditions that will trigger the scenario.

                                                                  Since we want the process to trigger when there is a new record in the Ragic sheet, select Ragic and then "Watch New Record".

                                                                  Step 3: Link to the Ragic sheet

                                                                  Make will ask you to create a Webhook in the Ragic database.

                                                                  To do so, you’ll need to input your Ragic account's API Key and server address. Generate a new API Key in your Ragic account's settings and paste it into Make.

                                                                  Also, enter the server address (the part before your database account in the URL). For instance, the URL of the example sheet looks like this:

                                                                  Therefore, the server address should be “https://ap8.ragic.com”.

                                                                  Once you finish connecting your database, select the sheet you want to integrate and save the configuration.

                                                                  To update the trigger module’s information, you’ll need to run the scenario once first. Click "Run once" in the editor's bottom left corner.

                                                                  After that, create a new record in the Ragic sheet to trigger the Make scenario.

                                                                  Save the entry and head back to Make, you’ll see the scenario has been triggered successfully, and the information such as the field IDs and values was retrieved correctly.

                                                                  Step 4: Set up Actions

                                                                  Since we need Make to automatically send an email when a new record is created, add an action module to send an email using Gmail.

                                                                  To make the module work, Make will ask you to connect to your Google account.

                                                                  If you have a Google Workspace (formerly G Suite) account, we recommend you test with it. If you’re using a personal Google account, you must follow this article by Make to set up the connection.

                                                                  After connecting your Google account, you could start configuring the module, for instance, you may use the email address from the Ragic sheet and personalize the subject with the respondent's name.

                                                                  Rerun the scenario to test the email-sending process. First, click “Run once” and create a record in Ragic.

                                                                  Returning to Make, the scenario should be triggered.

                                                                  You could check the inbox to see if the email was sent correctly.

                                                                  Advanced Integration: Setting up Router

                                                                  If you want to recruit members through the survey, design fields in the sheet to confirm respondents' consent. For instance, there's a field asking if they agree to receive a promotional newsletter:

                                                                  We could use the built-in router and filter in Make to create records automatically if the respondents agree to subscribe to the newsletter, you could design another sheet based on your needs.

                                                                  Step 1: Add a Router

                                                                  Right-click on the connection line between the modules and select "Add a router".

                                                                  You could press the “+” symbol to add more paths to the router.

                                                                  Step 2: Set filtering conditions

                                                                  Define conditions to filter data based on user responses. For instance, the field asking for consent has the field number "1002781":

                                                                  Since we want Make to create a record to another sheet if the field value is “Yes”, you may set the condition accordingly.

                                                                  Step 3: Set up actions

                                                                  Add a new Ragic module and configure it to create records in another sheet.

                                                                  You can also add additional actions to let the customers know that they’re successfully registered as members, such as sending another email.

                                                                  After that, test the entire flow by running the scenario and creating a test record in the Ragic sheet.

                                                                  Go back to Make and see if the scenario was triggered.

                                                                  You can also see that the data has been saved correctly by going to the "Newsletter Subscribers" sheet:

                                                                  Check the inbox to see if both emails were sent correctly.

                                                                  Also, you could try to create another record that shouldn’t trigger the additional actions to see if the scenario working properly.

                                                                  Returning to Make, you can see that Gmail at the top has successfully sent the message, while the number below the filter shows "0", and the subsequent action module is not running, which means that the data has not triggered the record creation process:

                                                                  Note: Make has usage limits called "Operations." The free version allows 1000 operations per month, and triggering modules always use 1 operation, but the usage for action modules depends on the "bundles" Make processes. Check Make's official document for more details.

                                                                  6.4.3    IFTTT Integration

                                                                  What is IFTTT?

                                                                  IFTTT (If This Then That) is an automation integration tool similar to Zapier and Make.com. It helps users to automate tasks and facilitate collaboration between different applications. With IFTTT, users can create automated workflows, known as "Applets". These workflows are built upon "Triggers (If This) " and "Actions (Then That) ".

                                                                  For example, you can automate tasks like posting new articles on social media, backing up emails to cloud storage, or adjusting smart home devices according to weather forecasts. One of the main features of IFTTT is its lifestyle applications on mobile phones and smart home devices, making it suitable not only for businesses but also for individuals.

                                                                  Compared to other integration tools, IFTTT is relatively simple and user-friendly.

                                                                  Supported Triggers and Actions

                                                                  In IFTTT, a set of Applets consists of a Trigger and an Action.

                                                                  1. Trigger: The event that prompts an Applet to run on IFTTT.

                                                                  There are two supported Triggers: "New Entry Created", and "Entry Updated".

                                                                  For example: When a new entry is created, send an email; when an existing entry is updated, send a message.

                                                                  The supported Ingredients that can be sent out are as follows:

                                                                  Data: All information related to the sent entry, presented in JSON format.

                                                                  Title field: The field value of the Title Field for the sent entry.

                                                                  Event time: The time when the entry was created or modified.

                                                                  Note:

                                                                  Since the Data can only be sent out in JSON format, it might be inconvenient for users unfamiliar with programming or JSON formatting.

                                                                  It's recommended to use string formulas to include desired information in the Title field. Then, specify the Title field to be sent out when setting the trigger.

                                                                  Example:

                                                                  When a sheet is created, it automatically takes the first field in the sheet as the Title field. In this case, if you select the Title field as the email subject when sending a notification through IFTTT, the information may be too short to cover important information. However, if you send out Data, it will be in JSON format, which might be less convenient for viewing.

                                                                  You can add a new field to the sheet and set it as the Title Field and use string formulas to present the desired information in that field.

                                                                  Then, when sending out emails, select the Title Field as the email subject or content to directly display the content you want.

                                                                  2. Action: The action is what IFTTT does when a trigger activates.

                                                                  There are two supported Actions: "Create Entry", and "Update Entry".

                                                                  For example: When a message is received, automatically create new data, or modify existing data.

                                                                  Note: Currently, IFTTT does not support Gmail as a Trigger. This means it cannot create an Applet that triggers "creating new data or modifying existing data in Ragic" when Gmail receives an email.

                                                                  The supported Ingredients that can be sent out are as follows:

                                                                  Currently, only Data can be sent out, which needs to be in JSON format for Ragic. This may not be suitable for users without a programming background or familiarity with JSON format. If needed, please refer to this API documentation.

                                                                  Supported Applets

                                                                  The provided official templates currently include the following:

                                                                  1. Gmail: Send a Gmail when there's a new entry created or an entry updated in Ragic.

                                                                  2. E-mail: Get an email notification when there's a new entry created or an entry updated in Ragic.

                                                                  3. LINE: Send a LINE message when there's a new entry created or an entry updated in Ragic.

                                                                  4. Discord: Post a message to a Discord channel when there's a new entry created or an entry updated in Ragic.

                                                                  5. Slack: Post a message to a Slack channel when there's a new entry created or an entry updated in Ragic.

                                                                  6. IFTTT: Send a notification from IFTTT app when there's a new entry created or an entry updated in Ragic.

                                                                  7. Google Sheet: Add a row to Google Sheet when there's a new entry created in Ragic.

                                                                  In addition to the official templates listed above, users can also create custom Applets according to their own needs.

                                                                  Operating Procedure

                                                                  Step 1: Log in to IFTTT and connect with Ragic.

                                                                  Access the Ragic link of IFTTT and click "Connect".

                                                                  Select the Login option.

                                                                  After logging into IFTTT, enter your Ragic account and password.

                                                                  Note: If you log into Ragic by Google account, please reset your password first and then use that password to log in.

                                                                  After logging in, you can start selecting and creating the Applets.

                                                                  Step 2: Create Applets

                                                                  Select the Applet below.

                                                                  Example: Select "Send a Gmail when there's a new entry created in Ragic", then click "Connect".

                                                                  Select the sheet you want to integrate with. All sheets you have access rights will be listed.

                                                                  Set the email address for sending and receiving.

                                                                  By default, the sending email account is restricted to the logged-in user. To add additional users, please confirm your IFTTT plan.

                                                                  Set up the email subject, body, and other content, and add supported "Ingredients".

                                                                  After completing, click "Save".

                                                                  When a new entry is created in the sheet, the email will be automatically sent to the specified Gmail address.

                                                                  Step 3: Confirm and modify the Applets.

                                                                  Returning to the initial page, you will see the tab "My Applets". You can view the Applets you just created there.

                                                                  Click on the Applet, you can view the "connection time" and "execution count". Click "Settings" in the upper right corner to modify it.

                                                                  You need to configure If (Trigger) and Then (Action) separately. Click "Edit" in the upper right corner to modify and remember to click "Update" after making changes.

                                                                  Click on "View activity" to see more information about the execution time and details.

                                                                  Click "Connected" again to unlink this Applet or clicking "Delete" below will delete it.

                                                                  Note

                                                                  1. When creating an "Applet", only a single sheet can be selected for the "Trigger" or "Action". However, the same sheet can be selected by multiple sets of Applets simultaneously.

                                                                  2. Logging in with different IFTTT accounts allows users to set up different sheets for the same Applets.

                                                                  3. Currently, official templates only provide the Trigger of Applets. For the Action of Applets, users need to create them using JSON format.

                                                                  4. There is a limit on the number of Applets that can be created. For more details, please refer to the IFTTT official website.

                                                                  5. The instructions above are for basic processes. Ensure your IFTTT plan supports advanced configurations for more options.

                                                                  6. Please refer to the IFTTT glossary for related terms.

                                                                  7    Reports

                                                                  Ragic has various types of reports that you can generate from the data you have in your Ragic sheets, and save to your account.

                                                                  Video Tutorial

                                                                  Adding description to your report

                                                                  You can also add description to your report.

                                                                  Saving Reports

                                                                  You can save your reports that you generate often 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.

                                                                  Restore to Previous Version

                                                                  If you want to restore the previous versions of your report, go to New Report under Reports Tab. In the upper-right corner, you will see the list of the Previous versions of your report. Choose the Version you wish to restore.

                                                                  Style Settings

                                                                  You can configure style settings in any report. By clicking the "more" icon at the top right corner, you can see style settings in the first option.

                                                                  There are three things that you can configure in style settings: Basic, Font, and Boundary.

                                                                  Basic

                                                                  You can refer to the image below to know what you can configure in Basic.

                                                                  Another thing is that you can select fields in Filters to let users apply filters on those fields before they use the report.

                                                                  Font

                                                                  You can adjust Font, Font Size and Alignment here.

                                                                  Boundary

                                                                  You may modify a report's inner boundary and outer boundary.

                                                                  Inner boundary means the distance between the border and the report content.

                                                                  Outer boundary means the distance between the border and the browser border.

                                                                  7.1.1    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 help you to generate a line graph showing trends over time.

                                                                  You can select one or more numeric field(s) to be analyzed on the vertical y-axis and choose a date field to be analyzed on the horizontal x-axis.

                                                                  You can change these anytime while viewing your report. You can also save these configuration by saving your report.

                                                                  Configurations for Line Graphs

                                                                  Here's an example of a line graph generated in Ragic. It will be generated after clicking on the Report tab and choosing "Line Graph”. You can then configure this chart on the upper-left corner of it.

                                                                  You can simply click on the drop-down menus to select the fields you want to analyze.

                                                                  Let's begin with the first row of this area. Here, you can choose how to break down your data and choose to plot total or average values in the y-axis.

                                                                  You can click on the left drop-down menu in this row to break down your data.

                                                                  The options of the drop-down menu include the default option "all data". When this option is checked, all the uncategorized data will be shown in one single line.

                                                                  The other option(s) will be the selection field(s) in the data source sheet. Take the above picture as an example, the two other options: "Name" and "Gender" are the selection fields in the "Blood Pressure Tracker" sheet. When you check "Gender" here, there will be two lines shown on the graph: one represents the data of "male", the other represents the data of "female".

                                                                  The second row of this area is where you can select the fields to analyze on the y-axis. You can choose to analyze the number of records or the numeric / money fields of the source data sheet.

                                                                  If you select to analyze "all data" on the first row, you'll find a "+" icon next to this menu and can click on it to add more numeric fields to analyze. For example, you can select "Systolic Blood Pressure", "Diastolic Blood Pressure" and "Heart Rate" to analyze in the same time. They will be shown as lines in three different colors.

                                                                  Please note that if you already select a certain field to break down your data in the previous step, there will be no plus icon shown here, which means that you can only select a numeric field to analyze.

                                                                  The third row is where you can select the time to analyze on the x-axis. All the date fields and the "Create Date" of records will be listed as options here.

                                                                  You can also choose a timeframe (day, week, or month) to view your graph.

                                                                  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.

                                                                  If you want to hide the border of report when printing, you can click the border 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.1.2    Pie Chart

                                                                  Generating a Pie Chart

                                                                  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.

                                                                  Configurations for the Pie Chart

                                                                  Ragic can analyze your data by generating a pie chart with the numerical fields in your database.

                                                                  You can select the first field on the top left corner to determine which numeric field you want to use or you can select # of records.

                                                                  The field right next to the first field is the field that you select to analyze, you will see one more available field after selecting the first field to analyze. The pie chart will only have one layer if you select only one field, and two layers if you select two fields. You can visualize the composition of your categorical data using pie chart.

                                                                  Saving your Report

                                                                  If you generate the same pie chart 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 chart.

                                                                  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.

                                                                  If you want to hide the border of report when printing, you can click the border 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 criterion.

                                                                  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.3    Gantt Chart

                                                                  Generating a Gantt Chart

                                                                  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 gantt chart.

                                                                  Configurations for Gantt Chart

                                                                  The gantt chart will be generated based on the selected Start Date field and End Date field. You can configure the Labels to be shown with the data.

                                                                  You can configure the Timescale to determine if your data will be shown by Days, Hours, or Quarter Hours.

                                                                  To show the data by each categories according to a field, you can select a field as a Category.

                                                                  To include more information on the Gantt Chart, you can configure it to show other fields.

                                                                  Saving your Report

                                                                  If you generate the same gantt chart 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.

                                                                  If you want to hide the border of report when printing, you can click the border 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.1.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.

                                                                  Besides, you may also select a recurring date field to generate the calendar report. Once you select a recurring date field as the start date, the system will close the end date and let you determine which field should be used as the event's title.

                                                                  This is pretty helpful when it comes to recurring events like clients' birthday or renewal dates of certificates.

                                                                  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 for viewing weekly tasks or shifts with a clear display of date and hour format.

                                                                  The daily view is ideal for 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.

                                                                  If you want to hide the border of report when printing, you can click the border 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 the 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.5    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.

                                                                  By clicking on the pin, you can view the details of the entry related to this location.

                                                                  Set current location and zoom as default

                                                                  You can set current location and zoom as default with this button. After saving, when users open this report, it will show that location and zoom by default.

                                                                  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 your report as a pdf file or print your report by clicking the print icon on the right side.

                                                                  If you want to hide the border of the report when printing, you can click the border 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.1.6    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.

                                                                  If you want to hide the border of report when printing, you can click the border 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.1    Reservation System

                                                                  Sometimes, you might need to manage reservations for equipment or meeting rooms. In this case, Ragic's Reservation System can be very helpful.

                                                                  A well-established Reservation System will work like this:

                                                                  1.Select reservation date

                                                                  2. View available times of reservation items (such as meeting rooms).

                                                                  After selecting your item to reserve, you can select how long to book for and enter a description if needed to make a reservation.

                                                                  If other users would like to make a reservation, they will see the other saved reservations on the system and will not be able to select the time frames that have already been booked by others.

                                                                  Designing Your Reservation System

                                                                  If you want to add a Reservation System to your database, you can install the Meeting Room Manager or Meeting Room Manager (Open to Public) template, which can be found under the Administration category in install templates. If needed, you may modify the template to better fit your needs or even build your sheets from scratch.

                                                                  When configuring the Reservation System report, the report's source sheet must have the five following fields:

                                                                  1. Item: This field allows users to select which item to reserve. This field must be a selection field or a linked field. Some common item types could include: meeting rooms, equipment, classes, doctor appointments, etc.

                                                                  2. Start Time: This is the start time of your reservation and it must be a date field. In this field, you must have the date and time included in the format, such as yyyy/MM/dd HH:mm:ss.

                                                                  3. End Time: This is the end time of your reservation and it must be a date field. In this field, you must have the date and time included in the format, such as yyyy/MM/dd HH:mm:ss.

                                                                  4. Reserved By: This field will display the person making the reservation, and you may select the following field types depending on your access rights settings:

                                                                  (1) Select User Field: Allows only your internal and external users to access the system. You may also select Defaulted to current user to let your users make the reservations for themselves in default. When selecting the select user field, the reservations that belong to the user himself/herself will be red, the reservations that belong to others will be blue.

                                                                  (2) Email Field: Allows guest users (without account) to access the system.

                                                                  (3) Free Text Field: Allows guest users (without account) to access the system.

                                                                  (4) Linked or Selection Field: Allows users that exist in the linked source sheet or selection menu to access the system.

                                                                  5. Remarks: This field is for users to enter their remarks or reasons. However, this field must be a free text field.

                                                                  6. Start time Increments: Set the time length for each reservation session, such as 15 minutes, 30 minutes, and 60 minutes, etc.

                                                                  7. Available days and times: Set the available days and times. You may select Custom to configure the settings of your available times in detail. For example, you may only be available on Monday mornings, Wednesday afternoons, or open/close other specified dates and times.

                                                                  Note: Only SYSAdmins and Tab SYSAdmins can access the configuration interface.

                                                                  Using Your Reservation System

                                                                  Users can use the pre-defined Reservation System found under the Reports Tab if they have access rights to the source sheet and

                                                                  Create & View Report feature in Feature Access Settings.

                                                                  In the reservation system, you can select the date to make a reservation first. After that, you can choose the item to reserve (if you change your reservation item, please click View this day's schedule to refresh). Finally, in the next step, you can click the time you would like to reserve.

                                                                  After selecting your reservation time, a window will appear on the right to show your reservation details. In this window, you can type your remarks and click Make a reservation to confirm your reservation.

                                                                  Users can come back to the system to editing their saved reservations.

                                                                  Remarks

                                                                  1. If one of the following conditions apply to your reservation record, it will not be displayed in the Reservation System:

                                                                  (1) The start time is later than the end time.

                                                                  (2) The record is from the past

                                                                  (3) If two reservation records share the same time frames (only the reservation made first will be displayed)

                                                                  2. Only SYSAdmin and Tab Admin can access to the configuring interface.

                                                                  3. The time is based on Company Local Time Zone in Company Setting.

                                                                  4. If you would like to open your system to guest users, you need to set the access rights of the EVERYONE user group as Survey Users or Bulletin Users. However, if your guest users close their web browsers, they will not be able to edit previous reservations. They would need to contact the SYSAdmins if they would like to edit their previous reservations.

                                                                  5. If the user doesn't have the access rights to view other records, other saved reservation records will be displayed as a grey session and they won't be able to see who made the reservation.

                                                                  7.2.2    Kanban Board

                                                                  Generating a Kanban Board

                                                                  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 Kanban Board.

                                                                  The report will be generated based on the selected Category fields. The selected fields through the SHOW fields option will be displayed in your Kanban Board.

                                                                  Saving your Report

                                                                  If you generate the same Kanban Board 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.

                                                                  Using Kanban Board

                                                                  Within the Kanban Board, you can drag to change the status of entries.

                                                                  Moving cards to a different category will simultaneously update the field value of the Category fields, which you can later check in the history panel.

                                                                  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.

                                                                  To hide the border of the report when printing, click the border 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.3    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.

                                                                  If you want to hide the border of report when printing, you can click the border 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.1    Ranking Report

                                                                  Generating a Ranking Report

                                                                  You can find Reports on the right side of your listing page or create a 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. Besides, you can also generate a pie chart.

                                                                  Open Source Records

                                                                  You can click the numeric value or pie chart on the ranking report to see the records used for analyzing the value.

                                                                  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 it as a pdf file or print your report by clicking the print icon on the right side.

                                                                  If you want to hide the border of report when printing, you can click the border 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 condition.

                                                                  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.2    Pivot Table

                                                                  Generating a Pivot Table

                                                                  You can find Reports on the right side of your listing page or create a 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 numeric 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.

                                                                  You can also analyze multiple row or column fields.

                                                                  Open Source Records

                                                                  You can click the numeric value on the pivot table to see the records used for analyzing the value.

                                                                  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

                                                                  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 it as a pdf file or print your report by clicking the print icon on the right side.

                                                                  If you want to hide the border of report when printing, you can click the border 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 condition.

                                                                  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.1    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.

                                                                  If you want to hide the border of report when printing, you can click the border 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.2    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 the specified fields in all entries in your sheet with the label maker.

                                                                  You can change the label style such as the font size, label width, height and whether or not you'd like to display the field name.

                                                                  Note: If you find that the value is not displayed completely, please check if you have set the correct height or width.

                                                                  You may design your label to include data from more than one field. Click on the + button to add more fields. The example below includes information from both the "Product Name" and "Barcode" fields.

                                                                  You can also choose to display this report in A4 size.

                                                                  Printing your Labels

                                                                  Click the printer icon on the top-right corner to print your labels.

                                                                  If you want to hide the border of report when printing, you can click the border icon on the right side.

                                                                  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
                                                                  Indent Enter the desired label indent. Optional
                                                                  Align Enter the desired label alignment. Optional
                                                                  Width Enter the desired label width. Optional
                                                                  Height Enter the desired label height. Optional
                                                                  Wrap Choose to wrap text or not for a selection of multiple fields. 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.5.1    User Status Report

                                                                  You can install User Status from install templates under category System Report.

                                                                  User Status Report

                                                                  In the User Analysis tab, you can know your users’ status (login IP, login frequency, amount of finished task, two-step authentication status, etc). In the report, all time-related records are based on the "UTC+0" time zone, such as the last login time.

                                                                  The section below displays the login frequency in the past year.

                                                                  In the Online Users tab, you will see concurrent users' trends in the recent year.

                                                                  Printing or Saving your Report as a PDF

                                                                  You can also save it as a PDF file or print your report by clicking the print icon on the right side.

                                                                  To hide the border of the report when printing, click the border 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 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.2    Approval Report

                                                                  Approvals can be really hard to manage once there are many approval requests in the database. In this case, SYSAdmins can get the Approval Report in Install Templates under System Report.

                                                                  In the report, users will be able to manage entries that need his or her approval, and also entries that have approvals related to him or her.

                                                                  In the Proceed with approval as: located in the upper area, you can select which user account he or she would like to proceed with the approval with. The default identity will be your user’s account, but you can also select other accounts that you are deputy to proceed with the approval.

                                                                  Notice: The report will only display latest 90 days and up to 100 records to achieve the best system performance.

                                                                  Pending approvals

                                                                  You will see all the entries that need to be approved, and you can select entries that you want to approve using the checkboxes. Before approving, you can click an entry to see its details with the fly-in.

                                                                  Please note that the value on the "Current Step" field is the approver's title or the name of that approval step. And in the "Progress" field, it will also show many people have approved on the right side and how many people in total should approve an entry. Below the entries, users need to re-submit the password before they proceed and also have the option to fill in the reason. Entries will no longer show in this report after being approved.

                                                                  Approvals related to you

                                                                  You will see two kinds of entries in this section:

                                                                  1. Entries with approvals that are started by you.

                                                                  2. Entries that will need your approval, but is currently at previous steps.

                                                                  If the approval flow has stopped for a while, you can find out which step it is currently at in the “Current Step” field and remind the approver(s) of that step.

                                                                  You also will be able to click on an entry to see its details in the fly-in tab from the right side here.

                                                                  Approved by you

                                                                  You can check all approved records in this tab.

                                                                  9.1    RESTful HTTP API

                                                                  Ragic has a simple but robust RESTful HTTP API to read data from Ragic or write data to Ragic with your own code. This way, you can create all types of reports, automation programs, sync scripts that integrates Ragic.

                                                                  For a complete guide on our HTTP API, please see the Ragic HTTP API Integration Guide.

                                                                  9.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 balances. 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.

                                                                  The scripting engine is based on the standard Nashorn Java Scripting Engine that's included in the Java platform. Nashorn supports ECMAScript 5.1, so it would be wise to avoid ECMAScript 6 syntax.

                                                                  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 a contact from a sales lead), or doing record validation based on database data.

                                                                  There are 5 main ways to run your Javascript workflow:

                                                                  1. Action Button
                                                                  2. Post-workflow
                                                                  3. Pre-workflow
                                                                  4. Daily workflow
                                                                  5. Approval workflow

                                                                  And there is a Global Workflow where you can place common Javascript function definitions shared by more than one of your workflow scripts.

                                                                  Action Button

                                                                  This is the most common and cleanest way to run Javascript workflow, and generally our first recommendation. 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 on 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, 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.

                                                                  A typical post-workflow would look something like this:

                                                                  var recordId = param.getNewNodeId(key_field_id_of_form);

                                                                  var query = db.getAPIQuery(path_to_form);

                                                                  var record = query.getAPIEntry(id);

                                                                  // do what you would like to do with the record retrieved

                                                                  See our API references and other sections of this document for the list of things that you can do.

                                                                  Also, please note that post-workflow will not be executed if you modify entries on the listing page.

                                                                  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.

                                                                  There is a simple example:

                                                                  Suppose we have a list,

                                                                  and we want to ensure the price we want to save is not negative.

                                                                  /**

                                                                  * Key Field: 1000004

                                                                  * Field Name Field Id

                                                                  * - - - - - - - - - - - --------

                                                                  * ID : 1000001

                                                                  * Price : 1000002

                                                                  * Name : 1000003

                                                                  * Available ? : 1000005

                                                                  */

                                                                  function log(str) {

                                                                  // set status 'INVALID' or 'ERROR' to cancel the saving.

                                                                  response.setStatus('INVALID');

                                                                  response.setMessage(str);

                                                                  }

                                                                  function ifThePriceIsNegative() {

                                                                  // get the price we trying to save.

                                                                  var newPrice = param.getNewValue(1000002);

                                                                  // change the newPrice string to integer.

                                                                  if(parseInt(newPrice) < 0) {

                                                                  return true;

                                                                  }

                                                                  }

                                                                  // if the price is negative, don't save it.

                                                                  if(ifThePriceIsNegative()) {

                                                                  log('Price is negative !!');

                                                                  }

                                                                  And now we try to save a negative price, we would get

                                                                  It is noteworthy that we couldn't use entry.getFieldValue while writing the pre-workflow in Ragic (since Ragic hasn't saved it). Try to use the param to get the old value and the new value instead.

                                                                  Daily Workflow

                                                                  The daily workflow runs on a daily basis. It's useful for doing modifications that need 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, the 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.

                                                                  Approval Workflow

                                                                  Approval Workflows are executed immediately after an approval is created/approved/rejected/canceled/finished.

                                                                  To add a post-workflow, just right-click on a sheet, and choose Javascript Workflow:

                                                                  And choose Approval Workflow from the top dropdown.

                                                                  You can get the record id by:

                                                                  var recordId = approvalParam.getEntryRootNodeId();

                                                                  approvalParam is a predefined variable in the approval workflow scope.


                                                                  And you can fetch the approval action by:

                                                                  var action = approvalParam.getApprovalAction();

                                                                  After you get the above data, you can customize your requirements like this:

                                                                  var query = db.getAPIQuery(path_to_form);

                                                                  var entry = query.getAPIEntry(recordId);

                                                                  if (action === 'CANCEL') {

                                                                  entry.setFieldValue(STATUS_FIELD, "approval is canceled!");

                                                                  }else if (action === 'FINISH') {

                                                                  entry.setFieldValue(STATUS_FIELD, "approval is completed!");

                                                                  }else if (action === 'CREATE') {

                                                                  entry.setFieldValue(STATUS_FIELD, "approval is created!");

                                                                  }else if (action === 'REJECT') {

                                                                  entry.setFieldValue(STATUS_FIELD, "approval is rejected!");

                                                                  }else {

                                                                  entry.setFieldValue(STATUS_FIELD, "approval is approved!");

                                                                  }

                                                                  entry.save();

                                                                  Global Workflow

                                                                  The global workflow is where you can write Javascript workflow modules that other workflow functions can reference. It will not be executed by itself but can be referenced in any type of 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 that the user is viewing (for action buttons) or the record that the user has just saved (for pre-workflow and post-workflow).

                                                                  Action Button

                                                                  The form page action button works by configuring an action button to call a function you defined in the install sheet scope. When you define the function that the action button calls, you can pass a parameter {id} which is the id of the record where you click the action button to function in the workflow.

                                                                  You can see the example at Action Button workflow.

                                                                  Pre-workflow

                                                                  You can get the 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_to_form);

                                                                  var entry = query.getAPIEntry(id);

                                                                  Post-workflow

                                                                  For post-workflow, you can use either the above method just like with pre-workflow. But also there is a convenient method to retrieve the record that was just saved:

                                                                  var entry=param.getUpdatedEntry();

                                                                  If there are masked fields on the form page, you will get masked values by default. You can get unmasked values by:

                                                                  var query = db.getAPIQuery(path_to_form);

                                                                  query.setUpdateMode();

                                                                  query.setIgnoreAllMasks(true); // Unmask all masked fields.

                                                                  var entry = query.getAPIEntry(id);

                                                                  You can use query.addIgnoreMaskDomain(fieldId_of_the_masked_field) instead of query.setIgnoreAllMasks(true) to unmask only specific fields.

                                                                  There is more introduction about how to update records in the following section.

                                                                  If you would like to filter out multiple records, please refer to the section on filtering.

                                                                  Querying for a set of records

                                                                  If you want to get more than one record 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 by calling setFullTextSearch(String queryTerm) instead of addFilter().

                                                                  Updating Records

                                                                  Link to example

                                                                  Let's start with a simple example that retrieves the current record as an object, updates 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 refer 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 the 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 are only suitable for multiple selection fields.

                                                                  If you want to copy a multiple selection field value and overwrite the value in another multiple selection field, you couldn't just use getFieldValues(fieldId) and setFieldValue(fieldId,value,true). Here's the code that you can refer to:

                                                                  var multipleSelectionFieldValue = entry.getFieldValues(1013251); // 1013251 is a mutiple selection field

                                                                  var targetMultipleSelectionField = "";

                                                                  for (var i = 0; i < multipleSelectionFieldValue.length; i++) {

                                                                  if (i == 0) {

                                                                  targetMultipleSelectionField = targetMultipleSelectionField + multipleSelectionFieldValue[i];

                                                                  }

                                                                  else {

                                                                  targetMultipleSelectionField = targetMultipleSelectionField + "|" + multipleSelectionFieldValue[i];

                                                                  }

                                                                  }

                                                                  entry.setFieldValue(1013252, targetMultipleSelectionField, false); // 1013251 is another mutiple selection field

                                                                  Please note that you need to retrieve every option and format those options with a vertical bar character (|) like what you will do while importing existing data from Excel or CSV files.

                                                                  If you're setting values to a file upload field, you can use setFieldFile(int fieldId, String fileName, String fileContent) to create a file with the fileName and with the fileContent you provided. Ragic will then save this file to this field so that the file is available for download on the user interface.

                                                                  After you're done, just call save() on the record object to save it back to the database.

                                                                  Creating Records

                                                                  Creating records is very similar to updating records. Instead of calling query.getAPIEntry(), call query.insertAPIEntry() instead. Like getAPIEntry(), it will also return a record where you can setFieldValue to add field values. The record will be created after calling record.save().

                                                                  A simple modification of the record update demo like this will create a new record instead:

                                                                  /**

                                                                  * 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 the path to sheet

                                                                  var entry = query.insertAPIEntry(); //create a new record object

                                                                  //create the new record to the database

                                                                  entry.save();

                                                                  }

                                                                  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 the 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, and 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 a different row in the subtable with this different set of values.

                                                                  Pre-workflow and Post-workflow

                                                                  If you want to get values in pre-workflow and post-workflow, try following this example:

                                                                  var list = param.getSubtableEntry(AMOUNT_SUBTABLE_ID);

                                                                  var arr = list.toArray();

                                                                  response.setStatus('WARN');

                                                                  for (var i = 0; i < arr.length; i++) {

                                                                  response.setMessage('Date : '+arr[i].getNewValue(DATE_FIELD)+', Amount : '+arr[i].getNewValue(AMOUNT_FIELD)+'\r\n');

                                                                  }

                                                                  Copying records

                                                                  Link to example: Copy From and Copy To

                                                                  Copying records is one of the most common workflow programs 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.

                                                                  Let's take a look at another example.

                                                                  Here, we want to copy Lin from "CopyFrom" to "CopyTo" and set the status to new. In addition, we'd also like to record the created date (please disregard the use of $DATE field for this example).

                                                                  /**

                                                                  * field name field id

                                                                  * - - - - - - - - - - - --------

                                                                  * From-ID : 1000001

                                                                  * From-Name : 1000002

                                                                  * To-ID : 1000004

                                                                  * To-Name : 1000005

                                                                  * Status : 1000007

                                                                  * RegisterDate : 1000008

                                                                  */

                                                                  function copyEntry(nodeId) {

                                                                  db.entryCopier(JSON.stringify({

                                                                  THIS_PATH:"/entrycopier/1",

                                                                  THIS_NODEID:nodeId,

                                                                  NEW_PATH:"/entrycopier/2",

                                                                  COPY:{

                                                                  // to : from

                                                                  1000004:1000001,

                                                                  1000005:1000002,

                                                                  }

                                                                  }),response);

                                                                  //get the rootNodeId of the entry we copied before.

                                                                  var newEntryRootNodeId = response.getRootNodeId();

                                                                  //we need to create an ApiQuery to search the '/entrycopier/2'

                                                                  var toApiQuery = db.getAPIQuery('/entrycopier/2');

                                                                  //get the entry we copied before

                                                                  var newEntry = toApiQuery.getAPIEntry(newEntryRootNodeId);

                                                                  newEntry.setFieldValue(1000007, "New");

                                                                  var current = new Date();

                                                                  newEntry.setFieldValue(1000008, current.getFullYear()+'/' + (current.getMonth()+1) + '/' + current.getDate());

                                                                  newEntry.save();

                                                                  }

                                                                  Next, set up the Action Button and save it.

                                                                  Then, simply click the Action Button to display the result.

                                                                  Checking user access right

                                                                  You can do some conditional processing based on which groups the user who will be executing the script is in. A user can be in multiple user groups, so usually, we can do a user.isInGroup(groupName) call to determine if the user is or is not in this user group. A typical use would be as follows, the following code is designed to be a pre-workflow, but a user object and isInGroup call can be used in all types of workflow except daily workflow which is triggered by the system.

                                                                  if(!user.isInGroup('SYSAdmin')){//check if the user is a SYSAdmin

                                                                  response.setStatus('INVALID');//if they are not, do not save the record

                                                                  response.setMessage('You do not have the access right to do this.');//and display a message

                                                                  }

                                                                  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 an 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 https://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();

                                                                  Note that if you would like to send an e-mail to multiple recipients, just separate each e-mail address with commas.

                                                                  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) :

                                                                  https://www.ragic.com/wfdemo/workflow-demo/2/9

                                                                  Here is its HTML printer-friendly URL:

                                                                  https://www.ragic.com/wfdemo/workflow-demo/2/9.xhtml

                                                                  Here is its Excel version URL:

                                                                  https://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:

                                                                  https://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.

                                                                  Creating and cancelling Approval

                                                                  You could start or cancel a record’s approval by adding the post-workflow script to your sheet.

                                                                  First, we set the approval step in design mode.

                                                                  and now set the approval detail in the post workflow

                                                                  function autoStartApprover() {

                                                                  var signers = [];

                                                                  signers.push({

                                                                  'stepIndex':'0',

                                                                  'approver':'kingjo@ragic.com',

                                                                  'stepName':'START'

                                                                  });

                                                                  signers.push({

                                                                  'stepIndex':'1',

                                                                  'approver':'HR0000@hr.hr',

                                                                  'stepName':'HR'

                                                                  });

                                                                  approval.create(JSON.stringify(signers));

                                                                  }

                                                                  autoStartApprover();

                                                                  result

                                                                  {

                                                                  'stepIndex':'0',

                                                                  'approver':'kingjo@ragic.com',

                                                                  'stepName':'START'

                                                                  }

                                                                  is the parameter format you should provide.

                                                                  stepIndex :

                                                                  Used to know which approval step to set, starting from zero.

                                                                  approver :

                                                                  Used to know who could sign this approval step.

                                                                  stepName :

                                                                  Used to set approval step name.

                                                                  Your approval would not be created if there was something wrong in the parameter format or if the approvers you provided didn't follow the rule you set in the design mode.

                                                                  In this example, if you give the second step parameter like the following:

                                                                  {

                                                                  'stepIndex':'1',

                                                                  'approver':'kingjo@ragic.com',

                                                                  'stepName':'HR'

                                                                  }

                                                                  If that's the case, it would fail since kingjo@ragic.com was not in the HR group.

                                                                  We also provide 3 special formats for deciding your approvers dynamically according to your company tree.

                                                                  You could see this for further information.

                                                                  $DS :

                                                                  The approver will be set to the user's direct supervisor.

                                                                  $SS :

                                                                  The approver will be set to the user's supervisor's supervisor.

                                                                  $DSL :

                                                                  The approver will be set as the supervisor of the previous approver.

                                                                  The parameter format is like

                                                                  {

                                                                  'stepIndex':'1',

                                                                  'approver':'$DSL',

                                                                  'stepName':''

                                                                  }

                                                                  You don't have to provide a non-empty stepName while using these special formats.

                                                                  Note: If the user in a special format didn't follow the rule you set in the design mode, this approver would not be created.

                                                                  Sending mobile app notifications

                                                                  Other than e-mail notifications, you can also send a mobile app notification. It will be sent to the user if the iOS app or Android app has been installed on his mobile device. The e-mail refers to the user's e-mail address registered in your Ragic account. For example:

                                                                  mailer.sendAppNotification("mike@example.com","test mobile notification");

                                                                  If you would like the user to be redirected to the specified record when clicking on this notification. You should provide a path to the form that you would like to redirect to (ex: /forms/1 ) and the record id. The call should look like this:

                                                                  mailer.sendAppNotification("mike@example.com","test mobile notification","/forms/1",12);

                                                                  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, and P for processing.

                                                                  Display message

                                                                  You can display a message in a pop-up 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);

                                                                  Paging

                                                                  In this section, we will have an example to show how to use setLimitSize and setLimitFrom. In this example, we have 20 entries total and want to take 6 for each count and show the message.

                                                                  /**

                                                                  * Field Name Field Id

                                                                  * - - - - - - - - - - - --------

                                                                  * ID : 1000009

                                                                  * Money : 1000010

                                                                  */

                                                                  function limitFromExample() {

                                                                  var apiQuery = db.getAPIQuery('/entrycopier/3');

                                                                  // remember the offset

                                                                  var fromNumber = 0;

                                                                  apiQuery.setLimitFrom(fromNumber);

                                                                  // take 6 for each count

                                                                  apiQuery.setLimitSize(6);

                                                                  var resultList = apiQuery.getAPIResultList();

                                                                  while(resultList.length > 0) {

                                                                  var msg = '';

                                                                  for(var i = 0;i < resultList.length; i++) {

                                                                  var entry = resultList[i];

                                                                  msg += entry.getFieldValue(1000009);

                                                                  if(i != resultList.length -1) msg += ',';

                                                                  }

                                                                  response.setMessage(msg);

                                                                  // update offset

                                                                  fromNumber += resultList.length;

                                                                  // refresh apiQuery

                                                                  apiQuery = db.getAPIQuery('/entrycopier/3');

                                                                  apiQuery.setLimitSize(6);

                                                                  apiQuery.setLimitFrom(fromNumber);

                                                                  resultList = apiQuery.getAPIResultList();

                                                                  }

                                                                  response.setStatus('WARN');

                                                                  }

                                                                  Entries

                                                                  Result

                                                                  Send HTTP request

                                                                  You can send an HTTP GET/POST/DELETE/PUT request to an URL and get returned result:

                                                                  util.getURL(String urlstring)

                                                                  util.postURL(String urlstring,String postBody)

                                                                  util.deleteURL(String urlstring)

                                                                  util.putURL(String urlstring,String putBody)

                                                                  The variable util is predefined.

                                                                  If you need to ignore SSL certificate validation for your current HTTP request, you can add the following code before sending the request:

                                                                  util.ignoreSSL()

                                                                  Also, you can call util.setHeader(String name,String value) to set HTTP headers. util.removeHeader(String name) to remove headers.

                                                                  Download and Upload Files

                                                                  You can download a file from a URL and get the filename:

                                                                  util.downloadFile(fileUrl)

                                                                  fileUrl: The source URL of the file.

                                                                  Return value of the method: The filename of the downloaded file.

                                                                  You can upload a file and get the filename:

                                                                  util.postFile(sourceFileUrl, destinationUrl)

                                                                  sourceFileUrl: The source URL of the file.

                                                                  destinationUrl: The destination URL to which the file will be uploaded.

                                                                  Return value of the method: The filename of the uploaded file.

                                                                  API references

                                                                  Pre-defined system global variables listed here can be accessed directly without defining them.

                                                                  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
                                                                  getKeyFieldId()Retrieve the key field id of the sheet this query is on.
                                                                  getFieldIdByName(String fieldName)Get the field id of a specified name. If there is more than one field of the same name, the first independent field id will be returned.
                                                                  insertAPIEntry()Insert a new entry to the query, and the method returns the new entry
                                                                  addFilter(int fieldId, String operand, String value)Filtering entries by specified condition
                                                                  setIfIgnoreFixedFilter(boolean ifIgnoreFixedFilter)Set if ignore the fixed filter from target sheet
                                                                  setOrder(int orderField, int orderDir)Sort entries of the query by specified field field id and order direction, parameter orderDir is set to 1 if sort ascending, set to 2 if sort descending, set to 3 if secondary sort ascending, and set to 4 if secondary sort descending.
                                                                  deleteEntry(int nodeId)Delete entry by node ID
                                                                  deleteEntryToRecycleBin(int nodeId)Delete entry by node ID to recycle bin
                                                                  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 the next page if the number of records returned equals the returned list size.
                                                                  setGetUserNameAsSelectUserValue(boolean b)When set to false, the query will retrieve the user's email for select user fields instead of the user's user name.

                                                                  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 by calling setFullTextSearch(String queryTerm) instead of addFilter().

                                                                  db.getAPIQuery records

                                                                  MethodDescription
                                                                  getFieldValue(int fieldId)Get value of the field by field id. Subtable fields not included.
                                                                  getFieldIdByName(String fieldName)Get the field id of a specified name. If there is more than one field of the same name, the first independent field id will be returned.
                                                                  getKeyFieldId()Retrieve the key field id of this sheet.
                                                                  getFieldValueByName(String fieldName)Get value of the field by field name. Subtable fields not included. If there is more than one field of the same name, the first field value will be returned.
                                                                  getFieldValues(int fieldId)Get all the field values from a multiple select field as an array. Subtable fields not included.
                                                                  getRootNodeId()Get root node ID of the entry
                                                                  getRootfieldId()Get root field id of the entry
                                                                  getSubtableSize(int subtableRootfieldId)Get the size of the subtable, specified by the root field id of the subtable.
                                                                  getSubtableRootNodeId(int subtableRootfieldId, int rowNumber)Get the root node ID of the subtable, specified by its root field id and row number in the subtable.
                                                                  getJSON()Get a JSON representation of the whole record.
                                                                  setFieldValue(int fieldId, String value)Set value to specified field. For subtable fields, you need to use setSubtableFieldValue();
                                                                  setFieldValue(int fieldId, String value, boolean appendValue)Set value to a field which is a multiple select field, parameter appendValue need to be true. For subtable fields, you need to use setSubtableFieldValue();
                                                                  setFieldFile(int fieldId, String fileName, String fileContent)For file upload or graphics field only. A file of the fileName you provided and the fileContent you provided will be created as a file upload and saved to the specified field. For subtable fields, you need to use setSubtableFieldFile();
                                                                  setSubtableFieldValue(int fieldId, int subtableRootNodeId,String value)Set value to subtable field, you can get parameter subtableRootNodeId by method getSubtableRootNodeId.
                                                                  setSubtableFieldValue(int fieldId, int subtableRootNodeId, String value, boolean appendValue)Set value to subtable field which is a multiple select field, parameter appendValue need to be true
                                                                  deleteSubtableRowByRowNumber(int subtableRootfieldId, int rowNumber)Delete the subtable row by its root field id and row number in the subtable.
                                                                  deleteSubtableRowAll(int subtableRootfieldId)Delete every row in specified subtable
                                                                  deleteSubtableRow(int subtableRootfieldId, int subtableRootNodeId)Delete subtable row by root field id and the root node ID of subtable
                                                                  loadAllLinkAndLoad()Load value of all loaded fields in a link and load configuration in the entry.
                                                                  recalculateAllFormulas()Recalculate every field that contains formula in the entry.
                                                                  recalculateFormula(int fieldId)Recalculate formula of specified field.
                                                                  Note: If two or more fields share the same fieldId, please use recalculateFormula(int fieldId, String cellName) instead.
                                                                  recalculateFormula(int fieldId, String cellName)Recalculates formula of a specified field using with cellName parameter determining the field’s cell location (such as A1, C2, H21, etc). This method is used on sheets with two or more fields with the same fieldId.
                                                                  loadAllDefaultValues(ScriptUser user)Load value of every field that is set with a default value, parameter user is predefined.
                                                                  loadDefaultValue(int fieldId, ScriptUser user)Load default value of specified field, parameter user is predefined.
                                                                  lock()Lock the entry
                                                                  unlock()Unlock the entry
                                                                  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 the 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 a subtable of another sheet, or is referenced by another 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.
                                                                  setIfDoLnls(boolean)Loaded values syncing will be triggered on the other sheet if that sheet links to this sheet, the source sheet. You should always add this method to the source sheet to trigger syncing on the other sheet.

                                                                  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 that have been set will show at the same time.
                                                                  numOfMessages()Returns the number of messages that has been set.
                                                                  setOpenURL(String url)Installed sheet scope only. Redirects the user to the URL specified after saving the edit.
                                                                  setOpenURLInNewTab(boolean b)Configure whether the browser opens a new tab when opening an URL. Defaults to true.

                                                                  user

                                                                  MethodDescription
                                                                  getEmail()Get user's email address
                                                                  getUserName()Get user's full name
                                                                  isInGroup(String groupName)Returns if the user is in this group with the name of groupName

                                                                  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 https://
                                                                  setSendRaw(boolean b)Set if the content should not be converted to HTML. Set this to true when your content is already in HTML.
                                                                  sendAppNotification(String email,String message)Send a mobile app notification to this user if the user has installed a Ragic iOS app or Android app.
                                                                  sendAppNotification(String email,String message,String pathToForm,int nodeId)Send a mobile app notification to this user if the user has installed a Ragic iOS app or Android app. The user will be redirected to the specified record when clicking on this notification. "pathToForm" should be in the format "/forms/1", not including the account name, including the tab folder and sheet index.

                                                                  util

                                                                  MethodDescription
                                                                  getURL(String urlstring)Calls an URL with GET method
                                                                  postURL(String urlstring,String postBody)Calls an URL with POST method.
                                                                  deleteURL(String urlstring)Calls an URL with DELETE method.
                                                                  putURL(String urlstring,String putBody)Calls an URL with PUT method.
                                                                  setHeader(String name,String value)Sets an HTTP header that will be used in subsequent URL calls.
                                                                  ignoreSSL()Ignore SSL certificate validation for your current HTTP request
                                                                  removeHeader(String name)Removes an HTTP header from being used in subsequent URL calls.
                                                                  logWorkflowError(String text)Records a string text log message in the workflow log that you can find in the database maintenance page.
                                                                  downloadFile(fileUrl)Downloads a file from the source URL and returns the filename
                                                                  postFile(sourceFileUrl, destinationUrl)Downloads a file from the source URL, uploads it to the destination URL, and returns the filename

                                                                  account

                                                                  MethodDescription
                                                                  getUserName(String email)Get the full name of a user specified by the e-mail address.
                                                                  getUserEmail(String userName)Get the email address for the specified user name.
                                                                  reset()Purge all account-related cache when the script and reloads the page finishes executing.
                                                                  getTimeZoneOffset()Get time zone offset of this account in milliseconds.
                                                                  getTimeZoneOffsetInHours()Get time zone offset of this account in hours.

                                                                  param

                                                                  This is the user request object submitted by the user before the request is saved to the database. Especially helpful when writing pre-workflow scripts

                                                                  MethodDescription
                                                                  getUpdatedEntry()Post-workflow only. Returns the record that was just created or updated.
                                                                  getNewNodeId(int fieldId)Returns the node ID (int) of given field after new value being written.
                                                                  getOldNodeId(int fieldId)Returns the node ID (int) of given field before new value being written.
                                                                  getNewValue(int fieldId)Returns the value of given field after new value being written.
                                                                  getOldValue(int fieldId)Returns the value of given field before new value being written.
                                                                  getNewValues(int fieldId)Similar to getNewValue, but can access multiple values at the same time, which is useful when dealing with multiple-selection fields.
                                                                  getOldValues(int fieldId)Similar to getOldValue, but can access multiple values at the same time, which is useful when dealing with multiple-selection fields.
                                                                  getSubtableEntry(int fieldId)Returns a list of params that can manipulate each record in the subtable.
                                                                  isCreateNew()Return if the entry is newly created.

                                                                  approval

                                                                  MethodDescription
                                                                  create(String[] wfSigner)

                                                                  Post-workflow only.

                                                                  wfSigner is an array with specific JSON format objects in it.

                                                                  {

                                                                  'stepIndex' : what step in the approval - start from 0,

                                                                  'approver' : approver's email

                                                                  'stepName' : approver's name or title

                                                                  }

                                                                  The example for "single approver in a step" :

                                                                  wfSigner push({

                                                                  'stepIndex':'1',

                                                                  'approver':'kingjo@ragic.com',

                                                                  'stepName':'Jo'

                                                                  })

                                                                  Note that wfSigner should satisfy the approval you set in design mode.

                                                                  Say, if there is only one candidate "HR00@gmail.com" in step 2 in design mode, you should give a json with approver: HR00@gmail.com and stepIndex : 1 .

                                                                  cancel()Post-workflow only. Cancel the approval in the entry.

                                                                  approvalParam

                                                                  MethodDescription
                                                                  getEntryRootNodeId()Get root node ID of the entry
                                                                  getApprovalAction()Gets the action of the approval. Either CREATE, APPROVE, FINISH, CANCEL, REJECT

                                                                  9.3    Workflow Generator

                                                                  Ragic's workflow generator can help you create workflow samples such as get field value, start an approval, formula recalculation, etc.

                                                                  Navigate to Javascript Workflow page by right-clicking the Tab name.

                                                                  Choose Global workflow, Daily workflow, or a specific sheet first, and select what kinds of workflow. For example, generating a set value sample with post-workflow in "Sales Order".

                                                                  Please note that you might need to further edit the sample.

                                                                  All supported functions are as below:

                                                                  Post-workflow

                                                                  (1) Current record

                                                                  (2) For each subtable row on the saved record

                                                                  Pre-workflow

                                                                  (1) Current record

                                                                  (2) For each subtable row on the saved record

                                                                  Action Button

                                                                  (1) For the current record

                                                                  (2) For each subtable row on the current record

                                                                  Approval Workflow

                                                                  (1) Start an approval

                                                                  (2) Cancel an approval

                                                                  General Workflow

                                                                  (1) For each record on a sheet

                                                                  (2) Create a record

                                                                  (3) Create a subtable row

                                                                  (4) Check the user group

                                                                  (5) Trigger formula recalculation for a record

                                                                  (6) Trigger link and load for a record

                                                                  (7) Send e-mail notification

                                                                  (8) Send mobile notification

                                                                  (9) Display a message

                                                                  (10) Send HTTP request

                                                                  Daily Workflow

                                                                  (1) Recalculate all formulas in a sheet

                                                                  (2) Recalculate formula for fields

                                                                  (3) Delete old records

                                                                  (4) Execute all link and load sync for the entire sheet

                                                                  (5) Update the exchange rate of a specific field

                                                                  (6) Update all exchange rate fields for the entire sheet

                                                                  (7) A record in a sheet

                                                                  (8) Add a new record

                                                                  (9) Add a new subtable record

                                                                  (10) Check user group

                                                                  (11) Execute formula recalculation of a record

                                                                  (12) Execute link and load sync of a record

                                                                  (13) Send email

                                                                  (14) Send notification

                                                                  (15) Show message

                                                                  (16) Send HTTP Request

                                                                  10    On-premises Private Server Installation (Including NAS)

                                                                  You can host Ragic on your own servers if necessary, provided that your organization has the ability to maintain your own servers. We strongly recommend companies only use on-premise servers if they have an experienced IT crew who understands how to maintain and keep a server safe and secure.

                                                                  There is no additional cost for the on-premises option, but there is a 10 users minimum and your plan will need to be paid annually. For detailed information, please refer to pricing page.

                                                                  Install Guide

                                                                  1. Make sure JDK8 is installed on your server that you would like to host your Ragic service. Install JDK 8 if not installed already. You can download JDK here or here.
                                                                  2. Upload your Ragic zip file to the server. You can download Ragic on-premise version by signing on to www.ragic.com with your Ragic user account and click here to download the latest version.
                                                                  3. Unzip the zip file to the directory where you would like to install Ragic
                                                                  4. You should have two license files license.xml and sig that were sent to you after you purchased Ragic. Copy these two files to the directory cust under your Ragic directory. This is also the place where you update your license files in the future.

                                                                  5. If you are on Linux, ls -al and use chmod to make sure that you have the right to execute both bin/ragic_dbv7.sh and bin/setclasspath_dbv7.sh.
                                                                  6. Setup Environment Variables:

                                                                    JAVA_HOME: the path where JDK 8 is located

                                                                    RAGIC_HOME: the path where Ragic is located

                                                                    On the Windows taskbar, right-click the Windows icon and select System. In the Settings window, under Related Settings, click Advanced system settings and hit Environment Variables to create a new one.

                                                                    If you don’t want to edit the environment variable, you can also just edit ragic.sh (Linux) or ragic.bat (Windows) to add lines like these:

                                                                    JAVA_HOME= /usr/lib/jvm/java-8-openjdk-amd64

                                                                    RAGIC_HOME= /home/ragic

                                                                    You can also change the lines with JAVA_OPTS="-Xms5g -Xmx5g to tell your server how much memory Ragic can consume. 5g will mean that it takes up 5 GB of memory. If you set it to JAVA_OPTS="-Xms10g -Xmx10g it will give Ragic 10 GB of memory. You should not give Ragic more than 70% of physical memory available on the server, since there will be memory needed for the OS to function properly, and there is still some off-heap memory needed for Ragic to run.

                                                                  7. To Start the Ragic Server, run the following command:

                                                                    For Windows, find the directory bin folder under your Ragic directory and type ./ragic_dbv7.bat run to start Ragic in the same window, or ./ragic_dbv7.bat start to start Ragic in a new window.

                                                                    For Linux, type ./bin/ragic_dbv7.sh manual

                                                                    On Linux, you can add nohup so that the process will not end as your user exits the session, or add it to the system services. Also notice that on Linux you will need to use root privilege or sudo to execute the service so that Ragic can be bound to port 80. On Windows, you will need sufficient privileges too to bound to port 80.

                                                                    When starting or restarting Ragic, you should always make sure there’s only one instance of Ragic running. The easiest way to check is using your browser to connect to your Ragic URL and make sure it’s currently not running. On Linux, you can also use the command ps aux | grep java to check if there’s any java process running already. On Windows, you can go to the process monitor to see if there’s any Java process running. You will need to kill all Ragic Java processes before you start Ragic or running multiple instances of Ragic will result in an error (although sometimes not immediately noticeable).

                                                                  8. In your browser, go to localhost (or enter the IP address/ the domain name of your Ragic remote server). The local host main page should look like below. The user that you create now will have the administrator privilege of your Ragic server. When the setting is done, you will be taken to the default homepage of your Ragic On-Premise installation. Now you can create all the applications you need just like on any hosted Ragic server.

                                                                    This is the screen that you should see when you have successfully setup your Ragic Server:

                                                                    Note: Some antivirus programs may cause problems in Ragic Server, so it is a recommended practice to configure any antivirus software running on Ragic server to exclude specific paths, processes, and file types.

                                                                  9. (Optional) If your on-premises server cannot connect to the internet. You will need to set up a PDF service to generate PDF files for Ragic. First, we have to set your port for nodeJs Server in configuration, for instance:

                                                                    PDFMAKER_SERVER_PORT=8888

                                                                    8888 is an available port for us.

                                                                    Now we are going to install nodeJs, you could get the installation file from here.

                                                                    If you are on windows:

                                                                    (1) Double click the installation file.

                                                                    (2) Open the cmd and type node -v to see if it was installed successfully.

                                                                    If you are on Linux:

                                                                    (1) sudo apt-get install build-essential checkinstall

                                                                    (2) sudo apt-get install libssl-dev

                                                                    (3) Added these lib for launching on Ubuntu.

                                                                    sudo apt-get install gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget

                                                                    (4) Install nvm curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

                                                                    (5) Set the path. export NVM_DIR="$DIR_WHERE_YOU_INSTALL_NVM/.nvm"

                                                                    [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

                                                                    (6) Type nvm --help to see if it was installed successfully.

                                                                    (7) Now we could install nodeJs by nvm. nvm install 10.15.1 

                                                                    (8) Type node -v. If you got a number different with 10.15.1, please type nvm use 10.15.1

                                                                    After installing nodeJs, we have to install a nodeJs module named Puppeteer.

                                                                    These steps are the same for all os:

                                                                    (1) Go to $YOUR_RAGIC_ROOT_DIR/web/sims/js/pdfMaker and type npm i puppeteer@1.12.1

                                                                    (2) Go to $YOUR_RAGIC_ROOT_DIR and type node web/sims/js/pdfMaker/nodeJs $YOUR_PORT

                                                                    $YOUR_PORT was the port you set in configuration before.

                                                                  10. Linux Start and Stop Ragic Service

                                                                    Start: sudo nohup ./bin/ragic.sh manual

                                                                    Stop: sudo pkill -f RagicJetty9Server

                                                                    Please note that it's not recommended to force stop the service, unless it's necessary.

                                                                    Private Server Config

                                                                    Make sure you make a backup of everything in your Ragic directory before you do any upgrading! You will need to log in to Ragic before you download any of the following patch or full version.

                                                                    After the download is finished, you will need to upload the file to your server through the page below.

                                                                    You can also update license through the page if you need.

                                                                    Server URL and E-mail Server Configurations

                                                                    When you finish setting up your server, please go to Private Server Config to make sure that the server IP or URL is entered correctly in the SERVER_NAME parameter. Next, please enter the mail server settings to prevent email features from malfunctioning. After changing those configurations in Private Server Config, please remember to restart your Ragic service to apply them.

                                                                    Here are the mail server settings in Private Server Config:

                                                                    SMTP_SERVER=The SMTP / SMTPS server domain name / IP

                                                                    SMTP_SENDER_AUTH_USER=User name used to log in to SMTP

                                                                    SMTP_SENDER_AUTH_PWD=Password used to log in to SMTP

                                                                    SMTP_SSL_ENABLE=For SMTPS put true, SMTP put false

                                                                    SMTP_PORT=Port to connect to your SMTP service

                                                                    SMTP_SSL_PORT=Port to connect to your SMTPS service

                                                                    SMTP_SENDER_PERSONAL=The name used when Ragic sends out an e-mail

                                                                    SMTP_SENDER_EMAIL=The reply to address used when Ragic sends out an e-mail

                                                                    Firewall Settings

                                                                    Firewall settings contain inbound connections and outbound connections. If you would like Ragic to be accessible, you would need to open inbound port 80 / 443. On the other hand, if you would like Ragic to access PDF servers, you would need to open outbound port 80 and port 8888.

                                                                    Updating Your License Files

                                                                    To update your license files, just go to the private server configuration page, upload your license file, and restart your Ragic service. If your service has already expired, you can also copy your two license files (license.xml and sig) into the cust folder in your Ragic directory, and restart your Ragic service.

                                                                    Updating Your On-premises Server

                                                                    To upgrade your Ragic server, download the latest patch of Ragic from https://www.ragic.com/sims/download.jsp and go to the private server config page and find the server update section at the bottom of the page and upload the patch file.

                                                                    A Ragic service restart is necessary after an update, and a restart link will appear for you to restart your Ragic service. On Linux servers (including QNAP and Synology servers, they are Linux based), you can use the restart link to restart your Ragic service, but on Windows servers, you will need to kill the Java process started by Ragic and manually restart it.

                                                                    Note: "On-premises" here refers to any private server service, including self-built servers and NAS. This method is applicable for updating Ragic services. The main reason is that for products like NAS, the control over the update process is relatively limited for Ragic, and the version updates are likely to be slower than the official releases. Therefore, it is recommended to download the latest update files from the official website and use this method for updating, instead of relying on the Application Center update.

                                                                    Full Update

                                                                    In some cases, we will suggest you do a full update. Then you will need to download a full version of Ragic.

                                                                    You will need to make changes to the .sh or .bat files in the bin directory again if you have done any modifications to them. So make sure you have a backup of your old .sh or .bat file before you replace it.

                                                                    You will also need to stop the server before the update and restart the server after the update.

                                                                    System Sheet Update

                                                                    When there are new features in the company settings and feature access settings, you'll need to update system sheets to have those features.

                                                                    You can download "Ragic On-premises account setup forms patch" and unzip the file. In the "ragic-setup" folder, please copy those .nui files and paste them to the "ragic-setup" folder under your installation path. Then, access any of the system sheets and press the reload button to update.

                                                                    Note: please do not rename the "ragic-setup" folder. Otherwise, the system may not work as expected.

                                                                    Daily Auto Backup

                                                                    You can have daily auto backup by adding the following configurations.

                                                                    DISTR_DBBACKUP_PATH=The directory to store backup (ex : D:/MyBackUp/ )

                                                                    DISTR_PRESERVED_NUM=The number of backup you want to preserve (ex: 5 )

                                                                    Remember any changes to the private server configuration will require a Ragic service restart.

                                                                    Or you can use your own backup software or script to create the backup, all you need to do is to copy the Ragic directory to another location, and it will contain all the necessary files and data to restore Ragic to a previous state.

                                                                    For Linux servers, you can simply write a cron job and run rsync to periodically sync all your files to another backup server.

                                                                    Restoring a backup from hosted Ragic

                                                                    You can simply use the backup restore tool to restore a backup that you downloaded from your Ragic account online. But note that because the users in your backup are not actually registered on your on-premises version. After you restore your backup, you will need to edit and resave each user so that they are added to your server, and reset their password to a new default password.

                                                                    System Requirements

                                                                    Linux (Recommended):

                                                                    • Ubuntu Linux 10.04 and above (64-bit)

                                                                    • Red Hat Enterprise 6.x and above (64-bit)

                                                                    • Suse Linux Enterprise Server 10 SP2, 11.x and above (64-bit)

                                                                    • Oracle Linux 6.x and above (64-bit)

                                                                    • RAM: over 8GB

                                                                    • Disk space: over 200GB


                                                                    Windows:

                                                                    • Windows 7 or later (64-bit)

                                                                    • Windows Server 2012 or later (64-bit)

                                                                    • RAM: over 8GB

                                                                    • Disk space: over 200GB


                                                                    Mac OS X:

                                                                    • Intel-based Mac running Mac OS X 10.7.3 (Lion) or later. (64-bit)

                                                                    • Administrator privileges for installation

                                                                    • RAM: over 8GB

                                                                    • Disk space: over 200GB

                                                                  Running Ragic on the Cloud

                                                                  If you’re would like to run Ragic on AWS EC2 or Google Compute Engine. We recommend starting with the following VM configurations:

                                                                  AWS EC2:

                                                                  Start with m7g.xlarge, and upgrade to m7g.2xlarge when you need more memory or CPU processing power. For storage, we recommend using the EBS gp3 storage type for data disk, and sc1 storage type for backups. You can consider starting with around 500GB of disk space. The amount of backup space will depend on how many backups that you configured to have.

                                                                  GCP:

                                                                  Start with e2-standard-4, and upgrade to e2-standard-8 when you need more memory or CPU processing power. For storage, we recommend using the balanced persistent disk for data disk, and standard persistent disk for backups. You can consider starting with around 500 GB of disk space. The amount of backup space will depend on how many backups that you configured to have.

                                                                  Platforms Other Than AWS EC2 or GCP:

                                                                  You can look for similar level of hardware for your VM. Which is to generally start with 4 vCPUs and 16 GB of RAM, double it when the load increases. For disk space, unless IO is critical, you can generally start with a hybrid of SSD and traditional disk. If such hybrid is not available, we would recommend using a SSD disk for the data disk, since the IO speed difference between a non-SSD disk and SSD disk is quite noticeable.

                                                                  FAQ

                                                                  When using on-premise servers, if issues arise with sending emails or attaching files (excluding SMTP), first check if you have installed a purchased certificate for your server. If not, please refer to the following methods:

                                                                  1. Purchase and install your own certificate. Please refer to this article for installation instructions.

                                                                  2. If you do not wish to purchase the certificate, you can set the parameter in conf/ragic.properties: IGNORE_SSL_EXCEPTION=true.

                                                                  Start Ragic for Free

                                                                  Sign up with Google