{
  "categories": [
    "Data Editor",
    "Pro Features",
    "Data Transfer",
    "Diagram Editor",
    "Error Lookup",
    "Form Editor",
    "Command Line",
    "General",
    "Query Log",
    "SQL Editor",
    "Import Wizard",
    "Query Editor",
    "Report Editor",
    "Schema Editor",
    "Dump",
    "Schema Snapshot",
    "Script Editor",
    "Server Admin",
    "Source Control",
    "SQL Diff",
    "SQL Search",
    "Start Page",
    "Valentina ADKs",
    "Valentina Server",
    "Workspaces"
  ],
  "tips": [
    {
      "title": "How to open a table in the Data Editor?",
      "html": "When you double-click a table in the <b>Schema Editor</b>, the table opens in the <b>Data Editor</b>.%1In the <b>Data Editor</b>, you can create and delete rows, modify existing ones, filter data by a columns, view related records, view data in the separate dialog and much more.<br />You can also select table and click the <b>Open Data Editor</b> or use the context menu.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_data_editor_open@2x"
        }
      ],
      "categories": [
        "Data Editor"
      ]
    },
    {
      "title": "Filter in the Data Editor",
      "html": "To add the simplest filter row in the <b>Data Editor</b> press %1 and input the filter string in the desired column. To apply a filter press %2 or click the button in the vertical header of the first filter row:%3This button is used to refresh the records set after changing the filter and to temporarily stop filtering.<br />The filter row can be removed using the X button in the first column with marks.<br />Additionally, a filter menu can be used to manage filtering:<ul><li>Add more filter rows or filter by some existing value</li><li>Add filter with custom condition</li><li>Execute and remove filtering</li><li>Add favorite filters</li><li>View generated SQL</li></ul>%4",
      "params": [
        {
          "type": "shortcut",
          "value": "Ctrl+F"
        },
        {
          "type": "shortcut",
          "value": "Ctrl+E"
        },
        {
          "type": "image_centered",
          "value": "vs_data_editor_filter_apply@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_data_editor_filter_menu@2x"
        }
      ],
      "categories": [
        "Data Editor"
      ]
    },
    {
      "title": "How to quickly filter data by existing value?",
      "html": "Go to the value you want to filter by and press %1 shortcut.<br />Also, you can use the cell context menu and select <b>Filter By Cell Value</b>.%2Click <b>Add Filter Row With Cell Value</b> to add a filter without applying it.",
      "params": [
        {
          "type": "shortcut",
          "value": "Ctrl+Shift+F"
        },
        {
          "type": "image_centered",
          "value": "vs_data_editor_filter_by_value@2x"
        }
      ],
      "categories": [
        "Data Editor"
      ]
    },
    {
      "title": "Find values starting with a string",
      "html": "You can find values starting with a specified string using the following filter:<br /><code>LIKE 'str%'</code><br />%1<i>More information about filters</i> <a href='http://valentina-db.com/docs/dokuwiki/v13/doku.php?id=valentina%3Aproducts%3Avstudio%3Ahelp%3Adata_editor%3Asingle_table_mode%3Afiltering'>here</a>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_filter_start@2x"
        }
      ],
      "categories": [
        "Data Editor"
      ]
    },
    {
      "title": "How to paste tabular data from the clipboard to the table?",
      "html": "You can copy tabular data and paste it to the Data Editor using the standard %1 command (<b>Edit > Paste</b>).%2Note, the number of columns in the clipboard <i>must match</i> the number of columns shown in the <b>Data Editor</b>.<br />You can adjust the set of columns in the contex menu of any column, menu item <b>Choose Shown Columns...</b>.<br />The columns can be reordered using Drag&Drop.",
      "params": [
        {
          "type": "shortcut",
          "value": "Ctrl+V"
        },
        {
          "type": "image_centered",
          "value": "vs_data_editor_paste@2x"
        }
      ],
      "categories": [
        "Data Editor"
      ]
    },
    {
      "title": "How to filter data in the Data Editor using own WHERE condition?",
      "html": "Add <b>WHERE</b> filter using the filter menu:%1Here you can use any valid SQL condition:%2",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_data_editor_filter_where_menu@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_data_editor_filter_where@2x"
        }
      ],
      "categories": [
        "Data Editor"
      ]
    },
    {
      "title": "How to save shown fields and their order for later use in the Data Editor?",
      "html": "Using the Valentina Studio Pro, after making the necessary adjustments, open <b>Layout</b> combobox menu, select <b>New...</b> and input the layout name.%1The last used layout is saved, but it is also possible to switch between different layouts.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_data_editor_layouts_new@2x"
        }
      ],
      "categories": [
        "Data Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to use Data Editor layout for table in a different database?",
      "html": "The structures and names of both table must be the same, for example, it can be tables in development and production databases.<ol><li>Open the table in which you want to use an existing layout</li><li>In the <b>Layout</b> menu click <b>Manage...</b></li><li>Switch the <b>Display Mode</b> to <b>All Layouts</b></li><li>Tick the <b>Current DB</b> checkbox for a target layout</li></ol>%1Now you can select this layout in list.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_data_editor_layouts_editor@2x"
        }
      ],
      "categories": [
        "Data Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to quickly switch to the referenced record in the Data Editor?",
      "html": "In the Valentina Studio Pro, open a table containing a Foreign Key or an ObjectPtr field.<br />Right-click the value of this field and select <b>Go To Parent Record</b>.<br />Referenced table will be opened and a filter is set to the target value:%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_data_editor_go_to_parent@2x"
        }
      ],
      "categories": [
        "Data Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How can I adjust the display format for a particular column in the Data Editor?",
      "html": "In Valentina Studio Pro, with an opened table, right-click your chosen column header and use the context menu to set formatting.<br />Depending on the field type, this process is different:<ul><li><b>Date/Time fields</b> - click <b>Set Format...</b> and select the predefined template or input your own format. %1</li><li><b>Real fields</b> - click <b>Set Format...</b> and set real number formatting options. %2</li><li><b>Integer fields</b> - click <b>Format</b> and select the formatting options in the menu. %3</li></ul>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_date_editor_format_datetime@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_date_editor_format_real@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_date_editor_format_int@2x"
        }
      ],
      "categories": [
        "Data Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to set one value to all records shown in the Data Editor?",
      "html": "In the Valentina Studio Pro, with an opened table, right-click your chosen column header, click <b>Update Value To...</b> and set arbitrary value in the dialog.<br />Additionally, it is possible to use an existing value - right-click the cell with desired value and select <b>Set For All Records...</b>.%1Also, it can be used to change all filtered records, in that case, the menu item is <b>Set For All Filtered Records...</b>.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_data_editor_set_for_all@2x"
        }
      ],
      "categories": [
        "Data Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to export records in the Data Editor?",
      "html": "Valentina Studio Pro allows the user to export records shown in the Data Editor, the <b>Export</b> button is used for it.It is located at the bottom of the table view:%1Using filters and sorting, it is possible to export just the necessary rows and in specific order, while in the dump tool it can't be specified.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_data_editor_export@2x"
        }
      ],
      "categories": [
        "Data Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to quickly copy data from one database to another? ",
      "html": "Using Valentina Studio Pro, In the <b>Tools</b> menu click <b>Data Transfer</b>, select source and destination database or schema, set up the mapping between source and destination tables.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_data_transfer@2x"
        }
      ],
      "categories": [
        "Data Transfer",
        "Pro Features"
      ]
    },
    {
      "title": "How to create a diagram and add all existing tables to it?",
      "html": "You can create a diagram for a database.<br />In the <b>Schema Editor</b>, right-click a database object and select <b>Create > Diagram...</b><br />Tick <b>Add Existing Tables</b> checkbox if you want to visualize or edit an existing structure of the database.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_create_diagram@2x"
        }
      ],
      "categories": [
        "Diagram Editor"
      ]
    },
    {
      "title": "How to place on a diagram tables related to the selected one?",
      "html": "The list of tables shows tables related to the current selection:%1To add multiple tables at once, use the context menu of the selected table: click <b>Model > Add Linked Tables...</b> and select the necessary tables in the dialog.%2",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_diagrams_add_linked_tables_1@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_diagrams_add_linked_tables_2@2x"
        }
      ],
      "categories": [
        "Diagram Editor"
      ]
    },
    {
      "title": "How to visually group tables on the diagram?",
      "html": "It is possible to assign different colors to different groups, just select control and in the <b>Property Inspector</b>, <b>Control</b> group, select a desired color.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_diagrams_control_color@2x"
        }
      ],
      "categories": [
        "Diagram Editor"
      ]
    },
    {
      "title": "How to apply changes made on the diagram to the database?",
      "html": "Using the Valentina Studio Pro, click <b>Apply Changes</b> button located above the diagram area.<br />In the shown dialog, you can view generated script and apply it.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_diagrams_apply@2x"
        }
      ],
      "categories": [
        "Diagram Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Error Lookup",
      "html": "This feature helps you to find the error message by its code for a particular database engine, available in the <b>Tools</b> menu.%1Currently supported Valentina and SQL Server error messages.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_error_lookup@2x"
        }
      ],
      "categories": [
        "Error Lookup",
        "Pro Features"
      ]
    },
    {
      "title": "Form creation",
      "html": "To create a form:<ol><li>Create or open an existing project (e.g. menu File > New Project > Local...)</li><li>On the project tab, click <b>Create > Form...</b></li><li>Using the <b>Form Wizard</b>, set up a basic form</li></ol>%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_create_form@2x"
        }
      ],
      "categories": [
        "Form Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to execute a form on opening a project?",
      "html": "<ol><li>Go to the <b>Project Tab</b></li><li>Click <b>Create > Script...</b></li><li>Enter the script which invokes the form and save it as e.g. <b>startup</b>:<br /><code>import '/path/form_name' as dlg<br />dlg.exec()</code></li><li>On the <b>Project Tab</b>, select it in the <b>Start Script</b> property of the project</li></ol>%1You can also use the context menu of the script.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_forms_startup@2x"
        }
      ],
      "categories": [
        "Form Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to execute a form from the command line?",
      "html": "The command line interface allows you to work with forms from the terminal or automation (batch, bash) scripts.<br />Keys should start with the \"-\" sign. Values, if necessary, are specified after the space, next to the key. Some keys can be optional.<br />To execute a form the following command can be used:<br /><br /><code>vstudio<br />&nbsp;&nbsp;-project $project_location<br />&nbsp;&nbsp;[-project_server $vserver]<br />&nbsp;&nbsp;&nbsp;&nbsp;-execute_form $form_name</code><br />Keys Description:<ul><li><b>-project</b> – open a project at $project_location<li><b>-project_server</b> – URL of Valentina Server holding a project. Specified in the format of Valentina Server datasource string<li><b>-execute_form</b> – execute the form with name $form_name</ul>Read more <a href='https://www.valentina-db.com/dokuwiki/doku.php?id=valentina:products:vstudio:help:form_editor:command_line_interface'>here</a>",
      "params": [],
      "categories": [
        "Form Editor",
        "Command Line"
      ]
    },
    {
      "title": "Export bookmarks",
      "html": "You can export/import bookmarks into file using:<ul><li>the contextual menu of the <b>Bookmarks</b> tab of the <b>Servers</b> section on the <b>Start Page</b></li><li>the main menu <b>File > Bookmarks</b></li><li>the <b>Bookmarks</b> button on the main toolbar</li></ul>%1You can also export a single bookmark using its context menu. <i>Note, Valentina Studio can automatically sync your bookmarks between your computers using Apple iCloud, Dropbox, Google Drive, etc.</i>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_bookmarks_export@2x"
        }
      ],
      "categories": [
        "General"
      ]
    },
    {
      "title": "How can I adjust the font style/size to my desired setting?",
      "html": "The font style and size are defined in the preferences: <b>Application > Fonts</b>%1Here you can change fonts for:<ul><li><b>Application</b> - all in general, all dialogs and windows</li><li><b>Logs</b> - logs views (<b>SQL Editor</b>, <b>Query Log</b>, etc)</li><li><b>Monospace</b> - code editors, e.g. <b>SQL Editor</b>, <b>Script Editor</b></li><li><b>Data Grid</b> - data table view (<b>Data Editor</b>, <b>SQL Editor</b> result)</li></ul>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_prefs_fonts@2x"
        }
      ],
      "categories": [
        "General"
      ]
    },
    {
      "title": "How to automatically synchronize bookmarks or snippets between devices?",
      "html": "Synchronization is enabled in the preferences: <b>Application > Sync</b>%1On macOS it is possible to sync to iCloud, on other platforms only folder synchronization is available.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sync@2x"
        }
      ],
      "categories": [
        "General"
      ]
    },
    {
      "title": "Recursive tree manipulation",
      "html": "All trees in Valentina Studio Pro allow you to do <b>%1+Click</b> to close/open recursively all sub-items.",
      "params": [
        {
          "type": "shortcut",
          "value": "Alt"
        }
      ],
      "categories": [
        "General",
        "Pro Features"
      ]
    },
    {
      "title": "Is there a way to open previous tabs automatically when Valentina Studio launches?",
      "html": "By default, Valentina Studio Pro saves and restores workspaces states including open connections, databases and tabs.<br />%1It can be turned ON/OFF in the preferences: <b>Application > General > Save and restore workspaces state</b>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_restore_state@2x"
        }
      ],
      "categories": [
        "General",
        "Pro Features"
      ]
    },
    {
      "title": "Is it possible to reassign keyboard shortcuts?",
      "html": "Valentina Studio Pro allows the user to modify the keyboard shortcuts in the preferences: <b>Application > Keyboard Shortcuts</b>.%1Modifications can be saved in a separate shortcuts set, so it is easy to switch between different shortcuts schemes.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_shortcuts@2x"
        }
      ],
      "categories": [
        "General",
        "Pro Features"
      ]
    },
    {
      "title": "How can I keep track on my activity in Valentina Studio?",
      "html": "Valentina Studio records all your executed SQL statements in a few places.<br /><ul><li><b>Query Log</b></li>User and internal statements executed during working session can be found here (<b>Tools > Query Log</b>).%1Note, these queries are not saved to disk.</li><li><b>SQL Editor Recent Queries</b></li>Here you can find queries executed only by the user.%2These queries are saved to disk. </ul>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_query_log@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_recent_queries@2x"
        }
      ],
      "categories": [
        "General",
        "Query Log",
        "SQL Editor"
      ]
    },
    {
      "title": "How to change the keywords color for SQL Editor?",
      "html": "The keywords color used in SQL Editor is defined by the color scheme set in the preferences <b>Application > SQL Editing > Color Scheme</b>.%1Note, this preference is applied to all code editors within Valentina Studio.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_color_scheme@2x"
        }
      ],
      "categories": [
        "General",
        "SQL Editor"
      ]
    },
    {
      "title": "How to save the mapping defined in the Import Wizard and reuse it later?",
      "html": "In Valentina Studio Pro, it is possible to save the mapping between CSV columns and table fields in an external file and load it later.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_import_wizard_save_mapping@2x"
        }
      ],
      "categories": [
        "Import Wizard",
        "Pro Features"
      ]
    },
    {
      "title": "How to build SQL queries visually?",
      "html": "The <b>Query Editor</b> allows you to build SQL queries visually, working directly with tables and links that are a part of the query you want to create.<br />To open this tool, select the database you want to create a query and click <b>Query Editor</b> button on the main toolbar. Also, it is possible to use the database context menu or the <b>Tools</b> menu.%1Now you can drag tables to the editing area, choose necessary fields, establish joins, test built query, etc.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_query_editor@2x"
        }
      ],
      "categories": [
        "Query Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to create a virtual link in the Query Editor?",
      "html": "If there is no link between tables or database engine doesn't support links creation it is possible to establish a virtual link.<br />To do it, drag one field and drop it over another field.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_query_editor_virtual_link@2x"
        }
      ],
      "categories": [
        "Query Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to edit a JOIN operation in the Query Editor? ",
      "html": "Right-click the link and select <b>Edit...</b> to open the following dialog:%1Here you can:<ul><li>Swap joined tables<li>Change fields<li>Change kind of the <b>JOIN</b></ul>Also, you can change the <b>JOIN</b> kind in the context menu of the link.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_query_editor_edit_join@2x"
        }
      ],
      "categories": [
        "Query Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Report creation",
      "html": "To create a report:<ol><li>Create or open an existing project (e.g. menu <b>File > New Project > Local...</b>)</li><li>On the project tab, click <b>Create > Report...</b></li><li>Using the <b>Report Wizard</b>, set up a basic report</li></ol>",
      "params": [],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to add a watermark to report?",
      "html": "<ol><li>Click at an empty place of any region to select the report.</li><li>In the <b>Property Inspector</b> edit the <b>watermark</b> property.</li><li>Set the watermark options in the shown dialog.</li></ol>The watermark can be added as text:%1Or as a picture:%2",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_watermark_text@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_watermark_picture@2x"
        }
      ],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "In the multi-column report, the columns are filled from top to the bottom, how to change it?",
      "html": "For the <b>column_layout</b> property of report set the <b>Right</b> option.",
      "params": [],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to create a multi-part report?",
      "html": "Create new parts using the <b>+</b> button at the bottom of the editing area.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_report_parts@2x"
        }
      ],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to create a report consisting of pages with different orientation or records returned by different queries?",
      "html": "Create a multi-part report. Each part of the multi-part report can have its own source data and paper layout.",
      "params": [],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to modify properties of the report controls at runtime?",
      "html": "Valentina Reports contains JavaScript engine which allows dynamic changing of the control properties.<br />Read more about JavaScript in reports <a href='https://www.valentina-db.com/dokuwiki/doku.php?id=valentina:products:vstudio:help:report_editor:scripts:javascript:javascript'>here</a>",
      "params": [],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to create a report which shows information from record with a particular ID, with the ability to change ID at runtime?",
      "html": "Define a parametrized query for this report in the format:<br /><code>SELECT * FROM table1 WHERE ID=$P(pID)</code><br />To test the report, set the default value for this parameter right in the <b>Query</b> dialog or on the <b>Parameters</b> tab in <b>Report Editor</b>.<br />You can also make this parameter interactive using the <b>Parameters</b> tab.",
      "params": [],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to ask the user to input parameter value each time a report is generated?",
      "html": "Create interactive parameter.<br />Make sure the parameter is added to the <b>Parameters</b> tab in the <b>Report Editor</b> and tick the <b>Interactive</b> checkbox.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_report_parameter_interactive@2x"
        }
      ],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "The Valentina Reports engine automatically quotes the value of the string parameter, how to avoid it?",
      "html": "Use a special form of inserting parameters into a query without quotes:<br /><code>SELECT * FROM $!(pTblName)</code>%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_report_editor_param_non_quoted@2x"
        }
      ],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to create a master-detail report? What is a subreport?",
      "html": "A <b>master-detail</b> report is a type of report that displays hierarchical data in a parent-child relationship format.<br />In this report, the <b>master</b> part refers to the higher-level, primary data (parent), while the <b>detail</b> part refers to the related, lower-level data (child).<br />In Valentina Studio Pro, the <b>Sub Report</b> control is used to create <b>master-detail</b> reports.<br />A <b>subreport</b> is a report that is inserted in another report.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_report_master_detail@2x"
        }
      ],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to generate a report from the command line?",
      "html": "The command line interface allows you to work with reports from the terminal or automation (batch, bash) scripts.<br />Keys should start with the \"-\" sign. Values, if necessary, are specified after the space, next to the key. Some keys can be optional.<br />To print a report to disk the following command can be used:<br /><br /><code>vstudio<br />&nbsp;&nbsp;-project $project_location<br />&nbsp;&nbsp;[-project_server $vserver]<br />&nbsp;&nbsp;&nbsp;&nbsp;-make_new_report $report_name<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-datasource $datasource_string<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[-query $query_text]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-print_to_disk $output_location<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-format $output_format<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[-start_page $start]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[-end_page $end]<br /></code><br />Keys Description:<ul><li><b>-project</b> – open a project at $project_location<li><b>-project_server</b> – URL of Valentina Server holding a project. Specified in the format of Valentina Server datasource string<li><b>-make_new_report</b> – generate a report with name $report_name<li><b>-datasource</b> – use $datasource_string to connect to the datasource<li><b>-query</b> – pass $query_text as a source query for report<li><b>-print_to_disk</b> – print generated report to specified $output_location<li><b>-format</b> – set $output_format, can be one of the list { kToPostscript, kToPDF, kToHTML, kToLatex, kToSVG, kToPicture_GIF, kToPicture_JPG, kToPicture_PNG, kToPicture_TIFF, kToPicture_BMP }<li><b>-start_page</b> – set start page<li><b>-end_page</b> – set end page</ul>Read more <a href='https://www.valentina-db.com/dokuwiki/doku.php?id=valentina:products:vstudio:help:report_editor:command_line_interface'>here</a>",
      "params": [],
      "categories": [
        "Report Editor",
        "Command Line"
      ]
    },
    {
      "title": "Field sorting",
      "html": "By default, the fields are alphabetically sorted in the <b>Schema Editor</b>.<br />You can also see the fields in order of creation:<ul><li>Click button <b>Sort List</b> in the object type selector above column to change this option for the current list of <b>Schema Editor</b>.%1</li><li>Also, you can set this option globally in the preferences of Valentina Studio.%2</li></ul>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sort_fields1@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_sort_fields2@2x"
        }
      ],
      "categories": [
        "Schema Editor"
      ]
    },
    {
      "title": "How to view sizes and other properties of multiple tables at once?",
      "html": "To view sizes of multiple tables at once:<ol><li>Switch to the <b>Tree Mode</b> using a button in the top-left corner of the <b>Schema Editor</b></li><li>Select the <b>Tables</b> list in the tree</li><li>In the contextual menu of the properties table header click <b>Choose Shown Properties...</b></li><li>Check the <b>Size</b> checkbox or any other property you need</li></ol>%1<i>Note, now you can also sort tables by their size.</i>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_view_sizes@2x"
        }
      ],
      "categories": [
        "Schema Editor"
      ]
    },
    {
      "title": "How to import SQL files into the database?",
      "html": "<ol><li>In the <b>Schema Editor</b>, select a database you want to import SQL file into</li><li>In the contextual menu click <b>Load Dump...</b></li><li>Use the <b>Dump Wizard</b> to set dump loading options</li></ol><i>Note, in case the dump file contains the CREATE DATABASE statement, it is necessary to load dump into connection.</i>",
      "params": [],
      "categories": [
        "Schema Editor",
        "Dump"
      ]
    },
    {
      "title": "Use colors for objects",
      "html": "You can use colors to distinguish between your connections and their subelements, for example, set different colors for production and development database to avoid accidental changes.%1To set a color to a connection or its subobject, right-click the element and select desired color in the context menu<ul><li>Click X to reset the color.</li><li>Click ... to set a custom color</li></ul>The color is applied in the Schema Editor, main window tabs, Data Editor columns.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_object_colors@2x"
        }
      ],
      "categories": [
        "Schema Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How can I quickly copy tables between databases?",
      "html": "Valentina Studio Pro supports Drag&Drop functionality. You can transfer tables or other database objects from one place to another by using mouse, i.e. drag and drop tables from a database into another database.",
      "params": [],
      "categories": [
        "Schema Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How can I quickly create a copy of the table?",
      "html": "Using Valentina Studio Pro, right-click the desired table and select <b>Duplicate...</b>.<br />%1In the presented dialog you are able to set additional options, such as making table temporary, RAM-based, copying records or copying limited range of records to the duplicate.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_table_duplicate@2x"
        }
      ],
      "categories": [
        "Schema Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to easily dump some tables matching some pattern?",
      "html": "In Valentina Studio Pro, it is possible to filter dumped objects by name in the <b>Dump Wizard</b>%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_dump_filter@2x"
        }
      ],
      "categories": [
        "Schema Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Quick search in tree views",
      "html": "Quick search is available in many tree views representing database schema, for example, in the <b>Schema Editor</b> and <b>SQL Editor</b>.%1Start typing in the search field at the bottom of the tree view, and you'll quickly find the necessary items.<br />Use the menu to specify extended matching options, e.g. regular expressions or wildcards.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_tree_quick_search@2x"
        }
      ],
      "categories": [
        "Schema Editor",
        "SQL Editor"
      ]
    },
    {
      "title": "Schema Snapshot",
      "html": "Valentina Studio Pro allows you to save database schema in a structured format using the <b>Schema Snapshot</b> tool.<br />Unlike the <b>SQL Dump</b>, <b>Schema Snapshot</b> allows the granulation of the schema representation. This will be helpful for tracking changes or using a part of the schema. Moreover, this is the best way to store the database structure in a version control system like Git, SVN, or whatever you like.<br />You can create or load Schema Snapshot using Snapshot Wizard which can be invoked via the <b>Tools</b> menu:<ul><li><b>Create Schema Snapshot...</b></li><li><b>Load Schema Snapshot...</b></li></ul>%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_schema_snapshot_create@2x"
        }
      ],
      "categories": [
        "Schema Snapshot",
        "Pro Features"
      ]
    },
    {
      "title": "How to create a script in the Valentina Studio Project?",
      "html": "To create a script:<ol><li>Create or open an existing project (e.g. menu <b>File > New Project > Local...</b>)</li><li>On the project tab, click <b>Create > Script...</b></li></ol>The <b>Script Editor</b> tab will be opened.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_script_create@2x"
        }
      ],
      "categories": [
        "Script Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to create a user?",
      "html": "Adding users on database servers is done in the <b>Server Admin</b> tool on the <b>Users</b> tab.",
      "params": [],
      "categories": [
        "Server Admin"
      ]
    },
    {
      "title": "Save DDL scripts to source control system",
      "html": "The <b>Source Control</b> tool allows you to save DDL definitions of the schema objects in a number of SQL scripts. That way you can store the database structure in a Version Control System (VCS).",
      "params": [],
      "categories": [
        "Source Control"
      ]
    },
    {
      "title": "Compare database structure",
      "html": "You can compare two database structures and see the differences in tables, columns, keys, indexes, and other structural database elements (<b>Tools > SQL Diff</b>)",
      "params": [],
      "categories": [
        "SQL Diff",
        "Pro Features"
      ]
    },
    {
      "title": "Comment and uncomment code",
      "html": "Use %1 shortcut to comment and uncomment lines of code.",
      "params": [
        {
          "type": "shortcut",
          "value": "Ctrl+/"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Navigate to object",
      "html": "To navigate to the field, table or any other schema object, hold <b>%1</b> and click the object name in your code.%2The object will be selected in the schema tree on the left side of SQL Editor.",
      "params": [
        {
          "type": "shortcut",
          "value": "Ctrl"
        },
        {
          "type": "image_centered",
          "value": "vs_navigate_to_object@2x"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Find and replace",
      "html": "Press %1 to display the search bar. Check Replace to add another field where you can type the replace string.",
      "params": [
        {
          "type": "shortcut",
          "value": "Ctrl+F"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Autocompletion",
      "html": "The autocompletion list is shown automatically during editing. If it was closed, you can show it again using %1 shortcut.<br />Press <b>Enter</b> to use the selected suggestion.<br />Press <b>Tab</b> to add common prefix in case the selected suggestion has a common prefix with one or more other items.",
      "params": [
        {
          "type": "shortcut",
          "value": "Ctrl+."
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Search in your query history",
      "html": "You can use text search in the <b>SQL Editor</b> query history if you are looking for a particular request.%1Just switch to your recent queries using switch or shortcut %2, select the viewing scope and input search term.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_query_history@2x"
        },
        {
          "type": "shortcut",
          "value": "Ctrl+`"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Autocompletion",
      "html": "With RegEx autocompletion, enabled by default, you can type any characters that exist anywhere in an identifier.%1This is controlled by the preference: <b>Application > General > SQL Editing > Autocompletion style</b>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_ac_regexp@2x"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Autocompletion",
      "html": "Autocompletion accelerates the process of completing code statements by presenting a list of suggestions from the current caret position as you type.",
      "params": [],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Viewing schema in the SQL Editor",
      "html": "In the <b>SQL Editor</b>, the first tab of the left side panel contains the schema of the current database which can be useful during writing queries.%1It is possible to switch to this tab using %2 shortcut.<br /><b>Double-click to insert</b> the object name at cursor position.<br /><b>Drag&Drop to generate</b> a query and insert it at any place in existing text.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_schema@2x"
        },
        {
          "type": "shortcut",
          "value": "Ctrl+1"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Using queries from Query Editor in SQL Editor",
      "html": "In the <b>SQL Editor</b>, the second tab of the left side panel contains the queries created in the <b>Query Editor</b> for the current database.%1It is possible to switch to this tab using %2 shortcut.<br /><b>Double-click to replace</b> the existing text with the query.<br /><b>Drag&Drop to insert</b> a query at any place in existing text.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_queries@2x"
        },
        {
          "type": "shortcut",
          "value": "Ctrl+2"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Predefined query templates",
      "html": "In the <b>SQL Editor</b>, the third tab of the left side panel contains the predefined query templates for the current database.%1It is possible to switch to this tab using %2 shortcut.<br /><b>Double-click to replace</b> the existing text with the template.<br /><b>Drag&Drop to insert</b> a template at any place in existing text.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_templates@2x"
        },
        {
          "type": "shortcut",
          "value": "Ctrl+3"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Using the code snippets",
      "html": "In the <b>SQL Editor</b>, the fourth tab of the left side panel contains the user-created code snippets.%1It is possible to switch to this tab using %2 shortcut.<br /><b>Double-click to replace</b> the existing text with the snippet.<br /><b>Drag&Drop to insert</b> a snippet at any place in existing text.<br />Hover over snippet and click <b>Run</b> button.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_snippets@2x"
        },
        {
          "type": "shortcut",
          "value": "Ctrl+4"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "How to make snippet visible for multiple databases? Or for all databases? ",
      "html": "Each snippet has a <b>scope</b> in which it is visible:<ul><li><b>Database</b> - visible for one or multiple selected databases (default).</li><li><b>Global</b> - visible for all databases.</li></ul>So it is necessary to change the <b>scope</b> of the snippet.<br />By default, the <b>Snippets</b> tab shows global and current database snippets; other snippets are hidden, their number is shown at the bottom of the tab.<br />In the context menu of this tab, click <b>Show All Snippets</b> to show the necessary snippet.<br />You can set the desired scope in the snippet context menu.<br />Alternatively, it is possible to click the <b>S</b> button (or use <b>Show Snippets Scope</b> context menu item) to view and modify the scope of all shown snippets.%1A filled circle means that the snippet is added to the arbitrary scope: blue circle is for database and green circle is for global scope.<ul><li>Click blue empty circle to add snippet to the current <b>database</b> scope.</li><li>Click green empty circle to add snippet to the <b>global</b> scope.</li></ul>Now you can switch the <b>Snippets</b> tab to the default viewing mode and check the result.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_snippets_scope@2x"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "How to export and import snippets?",
      "html": "The context menu of the <b>Snippets</b> tab contains <b>Export...</b> and <b>Import...</b> actions.<br />Right-click the tab header or empty space on tab to view this menu.<br />Note: after import, it is necessary to adjust the scope of snippets to make them easily accessible.",
      "params": [],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "How to write queries for PostgreSQL without specifying schema?",
      "html": "SQL Editor allows you to select one or multiple default schemas; they are added to the <b>search list</b> which is examined in case a schema name is omitted in the query.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_def_schemas@2x"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Where to find information about query execution in SQL Editor?",
      "html": "All information about query execution is available in the bottom panel.%1<ul><li><b>All</b> presents entries from other tabs with execution information.</li><li><b>Logs</b> contains general information about executed queries, errors, etc. Also, the information about result editing is added here.</li><li><b>Output</b> is filled with output from the <b>PRINT</b> command (Valentina DB).</li><li><b>Tunes</b> contains extended information about execution, e.g. query plans.</li><li><b>Warnings</b> presents warnings generated during query execution.</li></ul>Filling <b>Output</b>, <b>Tunes</b> and <b>Warnings</b> is optional and can be turned ON/OFF in the drop-down menu in the top-right corner of <b>SQL Editor</b>. Each tab title contains the number of unread messages.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_logs@2x"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "How to export the result of the query?",
      "html": "Click <b>Export</b> button and select desired format in the menu:%1Also, you can use the <b>Export</b> submenu of the context menu of the result tab header.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_export@2x"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "How to keep the result of the query and execute a different command?",
      "html": "Each result tab header contains a <b>pin</b> button:%1So once the tab is pinned it will not be replaced by the next command result.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_pin@2x"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "How to automatically adjust the columns widths in result?",
      "html": "Click the button below the result and select <b>Auto Size Columns</b> in the menu.%1The widths will be adjusted according to the settings in this menu:<ul><li><b>Check All Rows</b> - all rows are examined to calculate resulting width to fit any value in the column.</li><li><b>Check Visible Rows</b> - only visible rows are examined.</li><li><b>Don't Check Rows</b> - widths are set depending on the field type, without checking values.</li><li><b>Wrap Values</b> - turn ON/OFF wrapping for values.</li></ul>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_autosize@2x"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Duplicate one or few lines",
      "html": "Press %1 in the editor to duplicate the selected text or the current line when no text is selected.<br />You can also click the button on the <b>Advanced Editing Panel</b>:%2",
      "params": [
        {
          "type": "shortcut",
          "value": "Ctrl+D"
        },
        {
          "type": "image_centered",
          "value": "vs_sql_editor_duplicate@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Format query",
      "html": "To reformat entire text or selected block click the <b>Format Query</b> button located above the editing area:%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_format@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Query parameters",
      "html": "Use the <b>Parameters</b> panel to pass correct values for the parameters in your statement. It can be useful for building prepared statements to be used in code.%1Uncheck the <b>Use Parameters</b> checkbox to temporarily disable applying parameters.<br />The latest parameters set is saved for each distinct query in the recent queries history.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_query_parameters@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to edit the result of SQL query?",
      "html": "<ol><li>Execute an SQL query which returns PK fields from one or multiple tables</li><li>Untick the <b>Read-only</b> checkbox at the bottom of the SQL query result tab.</li><li>After editing, click the <b>Apply Changes</b> button at the bottom of the tab.</li></ol>Note: SQL Server requires a <b>FOR BROWSE</b> statement in the query to make the result editable.",
      "params": [],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Error messages during writing a query",
      "html": "During writing queries, the static analyzer constantly processes the text for frequent errors and outputs it to the <b>Analyzer</b> tab on the bottom panel:%1Clicking on the error highlights the line with an error.<br />Additionally, Valentina Studio Pro allows you to find and warn about unresolved identifiers:%2This option can be turned ON/OFF with the <b>A</b> button.<br />The place with an error is marked and can be clicked on the scrollbar, so it is easy to navigate to the problematic place in case the text is long.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_analyzer@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_sql_editor_analyzer_idents@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to easily paste a query from the souce code to the SQL Editor?",
      "html": "Valentina Studio Pro has a <b>From Code</b> function which removes quoting and escaping present in text copied from a code editor.<br />The button to perform this operation is located above the editing area:%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_from_code@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to quickly move a line of text up or down in the SQL Editor?",
      "html": "In the Valentina Studio Pro, there are buttons <b>Move Line Up (%1)</b> and <b>Move Line Down (%2)</b> located above the editing area:%3They move the current line or multiple selected lines.",
      "params": [
        {
          "type": "shortcut",
          "value": "Shift+Alt+Up"
        },
        {
          "type": "shortcut",
          "value": "Shift+Alt+Down"
        },
        {
          "type": "image_centered",
          "value": "vs_sql_editor_move_line@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to easily move a value in the comma separated list to the next or to the previous position?",
      "html": "In the Valentina Studio Pro, there are buttons <b>Move Element Left (%1)</b> and <b>Move Element Right (%2)</b> located above the editing area:%3They move the element at the cursor position.<br />This operation is applicable to the elements of a list of identifiers or a list of values.",
      "params": [
        {
          "type": "shortcut",
          "value": "Ctrl+Shift+Alt+Left"
        },
        {
          "type": "shortcut",
          "value": "Ctrl+Shift+Alt+Right"
        },
        {
          "type": "image_centered",
          "value": "vs_sql_editor_move_element@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to easily move up or down a complete statement?",
      "html": "In the Valentina Studio Pro, there are buttons <b>Move Statement Up (%1)</b> and <b>Move Statement Down (%2)</b> located above the editing area:%3They move the statement with cursor.<br />",
      "params": [
        {
          "type": "shortcut",
          "value": "Ctrl+Shift+Alt+Up"
        },
        {
          "type": "shortcut",
          "value": "Ctrl+Shift+Alt+Down"
        },
        {
          "type": "image_centered",
          "value": "vs_sql_editor_move_statement@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Unsafe commands protection",
      "html": "<b>UPDATE</b> and <b>DELETE</b> commands without the <b>WHERE</b> clause modifies the whole table and can lead to data loss if used by mistake, so they are considered unsafe.<br />Using information from the <b>Static Analyzer</b> Valentina Studio Pro is able to recognize such unsafe commands.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_unsafe_commands@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "SQL Editor placeholders",
      "html": "Placeholder is an advanced feature of SQL Editor, which is used in code snippets, templates and smart suggestions of auto-completion. In all cases, some prepared text is inserted into the editor and it may contain a placeholder, which works as a prompt for you to explain what should be typed here, for example: <tblName>. %1You can see placeholders in such scenarios:<ul><li>auto-complete menu</li><li>smart_suggestions</li><li>built-in function arguments</li><li>User Defined Functions (UDFs) arguments</li><li>insert code snippets</li><li>insert command templates</li><li>generate SQL</li></ul>On the insert of text with a placeholders, the first placeholder is selected. Use <b>TAB</b> to jump to the next placeholder in the text and %2 to the previous one.<br />While a placeholder is selected, just start typing something and this will replace it. Also possible to press <b>ENTER</b> to insert the text of the placeholder as is in most cases.<br />For a function parameter with a default value, this value will be inserted.<br />Example: <code>'func( x, y = 5 )' ⇒ 'func( x, 5 )'</code>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_placeholders@2x"
        },
        {
          "type": "shortcut",
          "value": "Shift+Tab"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to define placeholders in own code snippets?",
      "html": "When you create your own code snippet, you can create your own placeholders.<br />For this surround text by format symbols <code><#placeholder#></code>.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_snippet_placeholders@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Smart suggestions for SELECT and INSERT commands",
      "html": "This list is shown in the auto-complete menu when<ol><li>SQL Analyzer recognizes a <b>SELECT</b> command</li><li>and the <b>SELECT</b> expression has only the first item typed</li><li>the <b>FROM</b> clause has the name of a table.</li></ol>%1If you choose this item, then the list of all fields of the table mentioned in the <b>FROM</b> clause is inserted into <b>SQL Editor</b>.%2The same works for the <b>INSERT</b> command.%3Note: you can start typing any character to see this list on the menu. A <b>good tip is to use '*'</b>, then you will not see other identifiers in the menu.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_smart_select@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_sql_editor_smart_select_applied@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_sql_editor_smart_insert@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Autocompletion in the select-list",
      "html": "If you are going to write the <b>SELECT</b> command<ul><li>type <b>SELECT</b><li>then type <b>FROM</b> and one or a few tables here<li>then only return back to <b>SELECT</b> clause.</ul>This way, the <b>SQL Editor</b> will be able to show autocompletions for fields of these tables.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_ac_select-list@2x"
        }
      ],
      "categories": [
        "SQL Editor"
      ]
    },
    {
      "title": "Smart suggestions for SQL commands",
      "html": "Please notice, when you type the first word of the SQL command, after typing 3 or more characters you can get a smart suggestion.<br />For example, \"sel\":%1Can be replaced with the following template:%2",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_smart_sel_count1@2x"
        },
        {
          "type": "image_centered",
          "value": "vs_sql_editor_smart_sel_count2@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Smart suggestions for VALUES binding",
      "html": "For the INSERT command in the VALUES clause, a developer may want to use a list of bind-value. If the command has many fields then typing such a list is an annoying enough task.<br />Autocomplete will be able to help with this. Type any character when you are inside of the parenthesis of <b>VALUES</b> to see that list on the menu.%1You can copy&paste such a query into your code in some programming language.<br />Also, you can test this query with some values in Valentina Studio. For this enter values in the right-side panel <b>Parameters</b>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_smart_values@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Smart suggestion for JOIN",
      "html": "For the <b>SELECT</b> command, Valentina Studio Pro offers to generate JOIN condition automatically.<br />Start typing the <b>JOIN</b> clause to get the list of available suggestions for of the table.%1Or you can use suggestion after typing <b>ON</b> clause.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_smart_join@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to easily execute one of the statements in the SQL Editor? ",
      "html": "Valentina Studio Pro is able to execute the single SQL command, where the text caret is located, without the need to select it.<br />The button <b>Execute Current</b> is used for it:%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_editor_execute_current@2x"
        }
      ],
      "categories": [
        "SQL Editor",
        "Pro Features"
      ]
    },
    {
      "title": "How to quickly find an object of certain type by its name?",
      "html": "<b>SQL Search</b> allows you to find database objects on a server or in local storage very quickly. Objects can be located either by name or by property value, according to the filter and selected matching pattern.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_sql_search@2x"
        }
      ],
      "categories": [
        "SQL Search",
        "Pro Features"
      ]
    },
    {
      "title": "Bonjour",
      "html": "The first section of the <b>Start Page</b>, <b>Servers</b>, has <b>Bonjour</b> list of auto-recognized Valentina Servers in the local network. You can click one of them to connect or use its contextual menu to add it to bookmarks.",
      "params": [],
      "categories": [
        "Start Page"
      ]
    },
    {
      "title": "Open a database with drag&drop",
      "html": "You can drag&drop a local Valentina or SQLite database file to the middle section of the <b>Start Page</b> to open it.",
      "params": [],
      "categories": [
        "Start Page"
      ]
    },
    {
      "title": "Examples",
      "html": "On the <b>Start Page</b>, you can see a few example databases and projects which are cloud-based, they are not copied to your disk by installer, but are loaded from an external storage (Github). These databases and projects have an icon with a cloud.%1<i>Note, you can hide examples in the context menu or in the preferences</i> (<b>Application > General</b>)",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_examples@2x"
        }
      ],
      "categories": [
        "Start Page"
      ]
    },
    {
      "title": "Reloading examples",
      "html": "After working with example of database or project you may find it necessary to restore it to the initial state.<br />To redownload the example, select <b>Reload...</b> in its context menu.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_examples_reload@2x"
        }
      ],
      "categories": [
        "Start Page"
      ]
    },
    {
      "title": "How to integrate reports created in Valentina Studio in custom applications? ",
      "html": "Valentina offers a wide range of application development kits (ADKs) which can be used to integrate <b>Valentina Reports</b> into user applications, such as:<ul><li>.NET</li><li>C</li><li>C++</li><li>Java</li><li>Objective-C</li><li>LiveCode / Revolution</li><li>Xojo / Real Studio / Realbasic</li><li>Ruby / Ruby on Rails</li><li>PHP</li><li>Python</li></ul>Also, if reports are hosted at a Valentina Server, it is possible to generate reports via the <b>REST</b> interface from any programming language capable of making HTTP requests.",
      "params": [],
      "categories": [
        "Valentina ADKs",
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Valentina Reports ADK methods for report generation require datasource string, how to obtain it within the Valentina Studio?",
      "html": "On the <b>Project Tab</b>, in the context menu of the datasource select <b>Show Datasource String</b>%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_project_datasource_string@2x"
        }
      ],
      "categories": [
        "Valentina ADKs",
        "Report Editor"
      ]
    },
    {
      "title": "How to upload a license to Valentina Server?",
      "html": "There are 3 ways to do it in Valentina Studio:<ul><li>In the connection context menu, click <b>Upload License...</b>%1</li><li>Drag&Drop the license file to the connection</li><li>In the <b>Server Admin</b>, on the <b>Licenses</b> tab, use the <b>Upload...</b> button</li></ul>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_license_upload@2x"
        }
      ],
      "categories": [
        "Valentina Server",
        "Server Admin"
      ]
    },
    {
      "title": "Managing your working environment with Workspaces",
      "html": "<b>Workspaces</b> mechanism allows you to create different isolated environments for your different \"projects\" situations.<br />For example, if you do some work for multiple organizations, it can be useful to create separate workspaces for them.<br />The workspace includes the following components:<ul><li>Bookmarks</li><li>SQL Snippets</li><li>Recent databases</li><li>Recent projects</li><li>Open connections</li><li>Open local databases</li><li>Query log</li></ul>On the first start of Valentina Studio, you get into the <b>Default</b> workspace. This workspace always exists and cannot be deleted.<br />You can manage the workspaces from the main menu or from the menu of the button <b>Workspaces</b> on the top-right of the toolbar.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_workspaces_menu@2x"
        }
      ],
      "categories": [
        "Workspaces",
        "Pro Features"
      ]
    },
    {
      "title": "How to easily set values for the Foreign Key fields in the Data Editor? How to view records pointed by Foreign Key fields?",
      "html": "The <b>Data Editor</b> features a specialized dialog designed for editing and viewing values of <b>Foreign Key</b> and <b>ObjectPtr</b> fields, providing seamless access to data from the linked table without the need to switch between the base or related tables.%1This dialog displays records from the linked table, offering convenient options such as filtering, sorting, and column reordering.<br />Mark the desired record, and simply click <b>Change</b> to apply the selected value.<br />It can be used for both new and existing records, as well as for setting values in the filter row.<br />Similar to other value editors, this dialog can be presented as a popup by clicking the button below the edited cell, or as a separate modal dialog through a double-click action.<br />Read more <a href='https://valentina-db.com/docs/dokuwiki/v13/doku.php?id=valentina:products:vstudio:help:data_editor:single_table_mode:fk_value_editor'>here</a>",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_data_editor_fk_editor@2x"
        }
      ],
      "categories": [
        "Data Editor"
      ]
    },
    {
      "title": "Is it possible to use data from Google Sheets to generate a report?",
      "html": "Yes, JavaScript queries of Valentina Reports engine allow making HTTP requests to web services such as the <b>Google Sheets API</b>.%1Just enable the API, supply the sheet ID and API key.",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_report_editor_gsheets@2x"
        }
      ],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Is it possible to use MongoDB as a datasource for reports?",
      "html": "Yes, you can create MongoDB datasources and write source queries for reports in one of the following formats:<ul><li>JSON &ndash; using commands which return a result set, e.g. <code>{ \"find\":\"collection_name\" }</code></li><li>JavaScript &ndash; retrieve data using JavaScript code, e.g. <code>db.collection('collection_name')</code>.</li></ul>",
      "params": [],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    },
    {
      "title": "Is it possible to use Python when creating reports?",
      "html": "Yes, Python is supported for writing source queries and expressions, just select it as a language.%1",
      "params": [
        {
          "type": "image_centered",
          "value": "vs_report_editor_python_query@2x"
        }
      ],
      "categories": [
        "Report Editor",
        "Pro Features"
      ]
    }
  ]
}