Using Logi 12 Studio

Our primary development tool, Logi Studio, is used by developers to create Logi applications. It's a powerful development tool with many useful features and this topic provides specific instructions for using it.

About Logi Studio

Logi Studio is a stand-alone Windows .NET application that provides a comprehensive development environment for creating Logi Info web applications. It's capable of producing applications that run in .NET and Java environments. A typical scenario for Java developers is to use Studio on a Windows system to develop and test their applications, and then deploy them to their Linux/UNIX or Windows servers to be run under Java libraries.

Studio provides a number of features that make development easy and fast. It manages your project files and includes editors for every type of file that might be included in a web application, except images. Intelligent-completion features reduce the number of keystrokes necessary and potential typos made. You can develop and test your application right inside Studio.

This topic provides all the information necessary to become successful with Logi Studio. New users should read it carefully to get a full understanding of the tools Studio offers and how Logi applications are developed.

This version of Logi Studio includes these important changes:

  • A Filter Definitions control allows you to filter definitions, in all categories at once, in the Application Panel.
  • The Consolas font is now used in the Definition Source editor, the Support file editors, the Attributes panel, and the Attribute Zoom window.
  • The Search feature provides additional filters, such as Exclude Remarked Elements, the ability to search within search results, a new results format, and more improvements.

Getting Started

When Logi Studio starts, it presents a Getting Started dialog box:
 


A number of features are available to introduce you to Logi Info, including:
 

Sample Apps

Sample applications built with Logi Info can be launched using the View button. They'll open in your default browser and provide some interesting examples of the possibilities available.

Welcome Video

This short video gives you an introduction to the technology behind a Logi Info application, and shows you how they're constructed. Key concepts and features are explained.

Studio Tour

An interactive image of Studio helps you discover its geography, terminology, and features. Hover your cursor over the numbers in the images for descriptive text.

Create Your Own

This step-by-step tutorial, in conjunction with an included tutorial application, guides you through creating your first reports, including a Data Table, a Bar Chart, an Analysis Grid, and a Dashboard.

Discover DevNet

Links are provided into useful topics and features in our Developer Network website.

You can disable the dialog box, so that it no longer appears when Studio starts, by clearing the checkbox at the bottom.

You can always redisplay it by clicking the Getting Started button, shown above, at the top-right of the Studio's main menu. Its state can also be set directly in ToolsOptions.

The Welcome Panel

When the Getting Started dialog box is hidden or moved aside, you'll see the Welcome panel when you start Studio and whenever there's no application open.

The Welcome panel provides quick links to recently-opened applications, links that open applications using a variety of methods, and a link to DevNet, our online community. In addition, you'll see some useful content, from DevNet, displayed in a scrolling area.

Application Folders and Files

A Logi application is made up of a number of files that reside in an application folder group with a specific hierarchy.
 

The physical folder structure that contains source files is displayed within Logi Studio in the Application panel, as shown above left. Standard folders are colored red and cannot be deleted. Files can be right-clicked and copied, renamed, and deleted, as shown above right.

Files that are deleted in Studio are placed in the Recycle Bin and can be restored, if desired.

Report definitions can also be designated as the default report for an application (this can useful to temporarily make a report the default during development, to avoid having to navigate to it through other reports when testing).
 


     

Files can be added to the application via the New File toolbar icon or, as shown above, by selecting and right-clicking the destination folder in the Application panel. Right-clicking the folder presents you with the option add a new file or an existing file to the application. If you select Existing Definition..., a copy of the file will be placed in your application; the original file is left untouched.
 


     

You can also drag files into, or out of, Studio from, or to, the operating system (from Windows Explorer or the Desktop, for example) or another Studio instance.

In Studio, files are dragged from or dropped onto the file/folder tree in the Application panel. When dropping files, if you don't explicitly drop them onto a folder in the tree, Studio will attempt to place them in the correct folders based on their file extensions. Files can be dragged and dropped within other folders in the file tree.
 

Studio also supports a hierarchy of "pseudo folders" for additional file organization purposes. Folders are created by right-clicking any folder, as shown above, and selecting Add New Folder.
 

Creating folders in this manner and then creating or dragging files into them produces the kind of file names shown in the example above. As you can see, no actual folders are created in the file system and the pseudo folders are represented by files that have an .fld extension. In Studio, entire folders can be dragged into other folders to reorganize them.

The following types of files are found in a Logi application:

  • _Settings - The _Settings Definition file provides application-wide configuration information. Paths, constants, data connections, diagnostic settings, etc. are all configured here.
  • Reports - Report definitions are the basic source code files of a Logi application, with each report definition usually equating to one web page. Individual files, with an .LGX extension, are enumerated here; double-clicking a definition will open it in the definition editor in the Workspace panel. A Master Report, introduced in v12.1 and created using a wizard on the main menu Design tab, is a report template that other reports can incorporate. For more information, see Master Reports.
  • Mobile Reports - These are report definitions specifically designed for creating reports for mobile devices.
  • Processes - Process definitions are a special category of non-presentation source files containing code that executes on the web server. They can contain code for conditional and unattended processing and provide flexibility and coding depth not available in Report definitions.
  • Data - Data definitions can be used to create an application that retrieves data from a variety of sources and then streams it out as JSON data, to Logi apps, non-Logi apps, and browser clients. See Data Definitions for more information.
  • Support Files - These are the files that support the report and process definition files and include style sheets, images, data files, HTML files, and more. See Support Files Management for more information.
  • Widgets, Templates - These folders contain files that are for special purposes.

To edit most files, double-click their name and they'll open in an appropriate editor in the Workspace panel. If you try to open and edit files in proprietary formats, such Excel spreadsheets, they'll open instead in the external application they're associated with in your computer's file system.
 

In the file system, a basic Logi application looks like the example shown above. All of the files for a single application are contained in one folder, called the "Application folder", which makes deploying the app easy.

In the example above, the bin folder and folders beginning with "rd" are system folders and must be present. Their contents should not be directly edited. The two folders highlighted above are created automatically when the app runs, so don't be concerned if you create a brand new app and don't see them at first. Other folders may also be created on-the-fly, based on features in your application.

Studio doesn't keep track of application files in a database or repository, so you can directly manage files in the Windows file system by copying, moving, renaming, or deleting them without causing any damage (or course, internal references to specific files may need to be updated). You can always update Studio's list of files by right-clicking any folder and selecting Refresh Application.
 

Editing Files

Logi Studio includes file type-aware editors for viewing and editing application files.
 


As shown above, when files are opened they're added to the Workspace panel as tabbed panels. The editor for each tab panel is appropriate for its file's type. Features include:

  • Tabs can be reordered by dragging them left or right.
  • Editors may, depending of file format, include line numbering, color coding, and collapsible regions.
  • Elements and text can easily be copied and pasted between files in different tab panels.
  • Copying an element also copies all of its child elements.
  • Intelligent completion of element names and HTML tags is provided when typing.
  • Undo-Redo (Ctrl-Z, Ctrl-Y) is available for all changes made since the last Save.
  • The Preview panel for definitions includes Forward, Back, Refresh, and Stop buttons.
  • Multiple elements that are hierarchical peers in the element tree can be selected at once, then moved or copied as a group.
  • Elements have their valid child elements available for selection directly from their (right-click) context menus and from the Element Toolbox panel.

Files are closed, and their tabbed panel removed, by clicking the X icon in the tab by the file name. You'll be prompted to save any changes that may have been made.


     

Tab context menus, available by right-clicking, are available, as shown above. The menu options vary based on the type of file being edited in the tab panel.


     

At the bottom of the Workspace panel are several tabs that appear when editing a definition. The Source tab provides a view of the definition's underlying XML source code. If an element is selected in the definition when the Source tab is clicked, its corresponding XML tag will be highlighted in the source code, as shown above. Skilled developers can edit or copy-and-paste source directly here if necessary.

Copying the XML source is an easy way to send all or part of the definition to someone else; for example, to another developer or to Logi Support in an email. In fact, just selecting and copying an element right in the element tree itself and then pasting it into a email or another application will result in its XML source code being pasted.

Working with Elements

The primary source code files for Logi applications are report definitions. These files contain XML-formatted text and Studio allows you to create and edit this text by graphically manipulating objects, called "elements". In Studio, elements are arranged in a tree structure that mirrors the top-to-bottom structure of a web page and some elements have names that are similar to HTML tags.
 


The example above shows elements in the "Element Tree" in a report definition. An element can be the "parent" of another element, creating a parent-child relationship between them. In the example above, the Label, New Line, and Image elements are children of the Body element. These relationships are governed by rules which are enforced within Studio by restricting the availability of child elements for assignment to a parent element.

Elements can be added to the element tree by first selecting the parent element and then double-clicking the child element in the Element Toolbox panel, or by dragging-and-dropping the element. The Element Toolbox, shown above, includes:

  1. Elements are grouped by function, and groups can expanded or collapsed.
  2. Elements can be double-clicked, or dragged-and-dropped, in order to add them to a definition.
  3. Tabs to specify the relationship of the displayed elements to the element selected in the definition: Child or Sibling. Only elements which apply to the specified relationship type will be displayed.


You can also filter the elements shown in the toolbox:

Just enter letters into the Filter Elements box, shown above, and the elements in the toolbox will be filtered as you type. And, of course, only elements that appear in the toolbox because they have a relationship with the element selected in the Element Tree will be included in the filtered list.
 

Child and sibling elements can also be added to the definition by right-clicking an element in the tree and selecting them from the context menu that appears:
 


An element's context menu, shown above, includes several useful options for working with elements, such as moving, copying, cutting, or deleting them.
 

You can also select multiple parent elements (hold down the "Ctrl" key while selecting them) and then add a child element beneath all of them at once. In the example above on the left, multiple Data Table Column elements have been selected, then the Sort element was chosen from the Element Toolbox. The result, on the right, shows a Sort element added beneath each selected Data Table Column element.
 


     

Once in the tree, elements can be moved up or down by dragging them or by using the Up and Down tool bar arrows or similar items in their context menus. The example above shows a New Line element being dragged upward in the tree; note the circled green positioning dot that helps you determine where to drop it. When an element is moved in this way, all of its child elements move with it. Even groups of elements (peers, on the same level in the tree) can be selected and moved at the same time.

Elements can also be copied and pasted, individually or in groups, back into the same definition, into another definition, or even into another Logi application in order to reuse them. All of their child elements will be copied with them.

Even XML source code, copied from the Workspace panel's Source tab, can be pasted right into the element tree and will instantly appear there as the correct elements. This is a great way to share code via email or discussion forums.

Two special elements, Shared Element and Include Shared Element, can be used to make one instance of a group of elements re-usable throughout your application. Elements placed under a Shared Element element in one definition can be referenced using the Include Shared Element element in other definitions. This is particularly useful, for example, for managing headers and footers that appear on many reports within an application. More information about these useful elements is available inShared Elements.

Element Positioning

By default, Logi definitions use Flow Positioning to arrange the elements on a report page. This is a very common scheme in web applications in which each element's location is dependent on the location of the elements preceding it. This is the most flexible scheme and works best across multiple browsers.

Element Seeker

Logi Studio includes a feature, the Element Seeker, that lets you quickly locate an element in a definition file by selecting it in your preview or browser window. To use it, you must be working in Logi Studio v12.2 SP5+ and the Logi Server Engine version of your Logi application also has to be v12.2 SP5+. In addition, if you're using the Internet Explorer browser, you must be using IE 9 or later. Here's how it works:
 

Enable the Element Seeker in Studio's Debug menu, as shown above. When you preview or browse a report page, you'll see the Seeker icon in the lower right-hand corner.
 

When you click the Seeker icon, it will turn green and enter selection mode. As you move your mouse cursor around the page, different regions will be framed in green, as shown above. Click a framed region...
 

... and Logi Studio will open the correct report definition and select the element responsible for the chosen region, as shown above.

To turn off the Seeker's selection mode, you'll need to refresh your preview or browser page.

Setting Element Attributes

Elements can have a number of properites, or "attributes" in Logi-speak, that govern how they behave. The attributes of a selected element appear in Studio's Attributes panel and the number of attributes varies depending on the nature of the element.
 

As shown above, attribute names are displayed in the left column and attribute values are entered in the right column. Some attributes are required while others are optional. Attributes can be sorted in two ways: by Category or Alphabetically, by clicking the highlighted icons. When sorted by category, the required attributes appear at the top.

Hovering your cursor over an attribute value will cause the complete value to appear in a tooltip, even multi-line SQL statements.

Depending on the attribute, values can be entered in several different ways. Generally, values can always be typed-in directly.
 

Double-click an attribute name to open its Attribute Zoom window, shown above, which contains a larger, multi-line text entry area and allows you to see longer values without scrolling.
 

The values for some attributes consist of a specific set of valid choices and, as shown above, these are chosen by first clicking the circled down-arrow and then selecting a value from the drop-down list of choices. The length of the list can be expanded by dragging the indicated corner of the list.

 After selecting a value from the drop-down list, you can hold down the Ctrl key and selected additional values in the list, creating a comma-separated list of attribute values.

Where attributes require column names from a datasource, as shown above, a drop-down list is provided that will, first, retrieve the column names, and then, display them in a drop-down list for easy selection.

 This feature only works with datasources that respond to schema requests, such as databases, and so does not work with flat files. In addition, the parent data table or chart must have a valid ID for column names to be retrieved.

     

For some attributes, clicking the browse button in the value column will launch a wizard or tool. For example, when the browse button is clicked in the image above, it will open the SQL Query Builder tool, or...


...in the case of Color attributes, clicking the browse button will cause the Color Selector dialog box, shown above, to be displayed.


Attributes can be assigned for several elements at the same time, by selecting multiple elements (hold down the Shift or Ctrl keys while clicking elements). The Attributes panel will show all of the attributes the selected elements have in common; attributes that already have different values assigned will be indicated by the "(Differing values)" message. As shown above, assigning an attribute like Class in this state will set the individual Class attributes for each of the selected elements.

Elements that have a value in their Condition or Include Condition attributes are now indicated by a diamond icon:
 

The diamond icon, shown circled above, appears in both the Element Tree (left) and in the Attributes Panel.
 

Element ID Attributes

Some elements require a unique ID attribute value, which has to be entered by the developer. Developers are encouraged to use a "naming scheme" that conveys both element type and purpose.
 

However, most ID attributes are optional.
 

In addition, if an optional ID value is left blank, Studio will identify the element in the Element Tree by using text from another attribute value, as shown above. The attribute that Studio selects for this purpose varies, depending on the element type. This generally eliminates "duplicate ID" errors (often caused when copying and pasting elements) and to relieves you, in most cases, of the need to provide IDs at all.

Variable and Parameter Lists

Certain elements represent lists of name-value pairs. In this case, the Attributes panel displays an interface that allows you to enter as many arbitrary attribute names and values as needed.
 

In the example above, a Link Parameters element has been selected and three attributes have been created.

Attributes are created by entering a name in the text box at the top of the Attribute panel and clicking the "+" icon. The new attribute then appears in the list and its value can be set by typing a value directly into the right-hand value column. Values can consist of numbers, text, tokens, and, in some cases, formulae.

Attribute names can be edited by selecting them and clicking the "Pencil" icon. This will place the name into the top text box, where it can be edited. The icon will change to a "Diskette" icon and clicking it will save the edited attribute name. Attribute values can be edited directly, as usual, by placing the cursor on them.

Attributes can be removed entirely by selecting their name and clicking the red "-" icon.
 

Express Attribute Navigation

Some developers may prefer keyboard navigation to set attributes, avoiding constant switching between their keyboard and their mouse. Here are some "keyboard shortcuts" that allow this kind of mouseless navigation:
 

KeysAction

Once you've entered an Attribute value, the Tab key can be used to commit the value and move to the next value down.

Tab can also be used to move from an element to its attributes: Highlight an element and press the Tab key three times. Focus is placed on the last value attribute visited, or the first empty attribute, and you can begin typing a value immediately. No cursor bar appears in the attribute value.


 


Commit Value and Move - After typing an Attribute value, press Enter to commit it, and then the Up/Down arrow keys can be used to move to another attribute.



Abandon Value and Move - After typing an Attribute value, press Esc to abandon it, and then the Up/Down arrow keys can be used to move to another attribute.
 

The Attribute Spy

The Attribute Spy feature allows you to see all of the values assigned to a particular attribute for all elements at once. This is a very powerful tool that makes it easy to compare values, such as style sheet class assignments, or to get an overall view of values without excessive navigation and mouse-clicking.
 

As shown above, (1) simply select an attribute and then (2) click the Attribute Spy button at the top of the Attributes panel. Text will appear in the Workspace panel (3) indicating the values for that attribute for every element in the tree (excluding elements that do not have a value assigned for that attribute). Click the Attribute Spy button again to hide the text.

Intelligent Token Completion Feature

One of the most useful features in Logi Studio is the token completion feature. It's often difficult to remember all of the token types and identifiers that are available and this feature presents them and also prevents typing errors.
 

Here's how this feature works:

  1. Type an @ sign and the first letter or two of a token type in an attribute value and a list of token types will appear, as shown above left. Use the Up and Downarrow keys to further navigate to the desired type, if necessary, and press the Space Bar to select it. The token type will be added in the attribute value. You can instead type @ + first letter, for example, @f, to navigate to the desired token.

  2. Type a period (.) after the token type, as shown above right, and a list of token identifiers will appear. Type a letter or two and/or use the arrow keys again to navigate and the Space Bar again to select the desired identifier. It will be appended to the token type in the value column, including the trailing tilde.
     

Similarly, you can use the intelligent completion feature to provide column names, for example, for @Data tokens:
 

  1. Type an @ sign and the letter "d" in an attribute value and a list of token types will appear, as shown above left. If it's not positioned there already, use the Up and Downarrow keys to navigate to the Data token item. Press the Space Bar to select it. The token type will be added in the attribute value.

  2. Type a period (.) after the token type, as shown above right, and a list of columns, based on the datalayer in use, will appear. Use the arrow keys and Space Bar again to selection the desired column and it will be appended to the @Data token in the value column, including the trailing tilde. Under certain circumstances, you may instead see an item named "Retrieve columns..." which will get the column names and then display them. This feature only works with datasources that respond to schema requests.
     

The token completion feature also appears in other places, too:
 

For example, when you use the Attribute Zoom window and enter tokens, as shown above. Also, in the SQL Query Builder, if you edit your query manually and use tokens, it will pop up. The Space Bar and Period keystrokes work in these instances in the same way as described earlier.
 

Token Validation

Studio includes a token validation feature which examines tokens as you enter them and flags those that are incorrectly spelled.
 

In the example shown above, the tilde ("~") has been left off of the end of the Data token. Studio responds by displaying an Invalid Token button in the current definition tab. Clicking the button will take you to the offending token. The validation routine looks for missing tildes and misspelled token types ("@Reqest" instead of "@Request", for example).

Studio Wizards

Studio includes "wizards", or automated procedures, which walk you, step-by-step, through complex tasks, from creating new applications to building charts. They save a lot of keystrokes and mouse clicks and provide repeatable, consistent productivity. Wizards can be invoked in several ways.
 

When you select an element that has wizard support in the Element Tree, a special tab will appear on the main menu, containing items for the appropriate wizards, a shown above.
 

Element wizards are also available in the context menus that pop-up when you right-click an element, as shown above. As in the main menu, their availability depends on which element is selected in the definition. The wizards shown above are specific to the Body element.
 

By default, if you double-click an element in the Element Toolbox that has a wizard associated with it, a dialog box like the one shown above will be displayed. It offers you the choice of inserting the element into the Element Tree directly (and configuring it manually) or running the wizard (which assists in configuring it). This behavior can be changed by unchecking the "Show this..." checkbox, in which case elements will just be inserted in the future. You can also control this behavior using the ToolsOptions menu option.

Wizards are also capable of validating your definition and will let you know, for example, if you're missing an element that needs to be provided before the wizard can proceed.

Studio includes other kinds of wizards as well, such as the Master Report Layout wizard. This wizard, available on the main menu's Design tab, let's you select the components and layout for a master report that can be used to provide a framework for other reports, and then builds the definition for you. For more information, see Master Reports.
 

Wizards in Action

Studio's wizards are too numerous to document individually (there are more than 50!) but let's look at a representative example of a wizard in action:

In the definition shown above, Data Table and DataLayer.SQL elements have been added beneath the Body element, and the datalayer has been configured with a valid SQL query. Right-clicking the data table displays its context menu; let's let the Element Wizard add data columns to the table by selecting the Add Data Columns wizard.

 If the query is invalid or contains a typo, or you try this with a datasource that can't return a schema, the wizard will fail. In such a case, the wizard will display an error message that should assist you in correcting the problem.

As shown above, the wizard presents a dialog box displaying all of the columns that the SQL query returned. First, we'll click the Uncheck All link, then individually check the boxes for the first four columns, so that the selections look like the example shown above. Then we'll click Next.

The wizard will insert, and configure, all of the elements necessary for the data table columns we selected, as shown above.

Studio's wizards are a great resource for configuring elements, such as charts, that have a large number of configuration choices. For example, you could use the Add a Chart wizard to get the basic chart set up for you and then you could customize it from there.

Assigning Themes and Style Sheet Classes

The presentation qualities of elements are set in two ways. In some cases presentation values, such as Color, may appear as element attributes that can be assigned directly. However, in most cases, this is achieved by assigning a theme to the application or definition, or by manually assigning style classes to an element's Class attribute.
 

Using Themes

Themes allow developers to instantly apply a consistent "look" to their applications. A theme is a collection of files (images, style sheet, template modifier file, etc.) that impart a specific appearance to a Logi application or definition. Several standard themes are provided for your use, and new ones are available in DevNet's Samples pages.

Themes do the work for you, assigning style classes and setting other appearance attributes, making it easier to produce great looking reports without an in-depth knowledge of style classes and style sheets. You can easily switch between themes in order to experiment with them.

When you use the New Application wizard in Studio, one of the steps is the selection of a theme for the new application, as shown above.

One way to apply a theme is to add a Style element to your report definition, then set its Theme attribute to the name of one of the available themes, as shown in the example above. The report will then have the theme applied to it. You can do the same for an entire application by using a Global Style element in the _Settings definition.

More information about themes is available in Themes.

You can modify standard themes to create your own custom themes using the Theme Editor wizard in Logi Studio. For more information, see Theme Editor.
 

Using Style Classes

The first step in using style is to assign a style sheet. This .css file is typically placed (or created) in your application's _SupportFiles folder and assigned using the same Style or Global Style elements discussed in the previous example to assign a theme. Once the style sheet has been assigned to the definition, its style classes are available for use by elements.
 

As shown in the example above left, classes from the currently assigned style sheet are available for selection from a drop-down list in the Class attribute value of an element. The classes in the list are drawn from the style sheet assigned to the report definition or the application. This is a quick way to select classes, although class names can also be typed-in directly. Multiple classes can also be assigned, separated by spaces or commas. A preview of the effect of the assignment is shown in Studio's Information panel.

The list of class choices includes a (Class Selector...) item, shown above right, which opens the Class Selector tool.
 

The Class Selector tool, shown above, allows a class to be assigned by selecting it in the class list (1) and clicking OK. The attributes of the class are shown in the upper right panel (2) and they can be edited there. Controls (3) allow you to save, add, and delete classes and the effect of the selected class is shown in the lower preview panel (4). This tool provides pretty comprehensive class management right within Studio.

A more convenient editing option is to open the style sheet, by double-clicking it in Studio's Application panel. It will open in a special editor in the Workspace panel and the intelligent editor will provide style selector choices and completion suggestions as you type.

Finally, you can use an external style sheet editor, if you've installed one:
 


     

You can open and edit style sheets in an external style sheet editor by selecting and right-clicking the file in the Application panel, as shown above left, then selecting Open Externally from the pop-up menu. Another method is to select the Style element in the element tree, select its Style Sheet attribute, and click the Open File... icon that appears at the top of the Attributes panel, as shown above right. These actions will launch any style sheet editor application associated in the file system with the .css file extension and open the style sheet in it.

More information about working with style classes is available in Introduction to Style Sheets.
 

Testing and Debugging Applications

While developing a Logi application, you'll want to periodically check your work by viewing it, and Logi Studio provides several ways to do this.
 

Using the Preview Tab

The Preview tab, at the bottom of the Workspace panel, provides the developer with a fast way to view the report definition currently being edited.
 

To preview a report definition that's open in the Workspace panel:

  1. Ensure that the desired report definition is the selected definition in the workspace.
  2. Click the Preview tab at the bottom of the Workspace panel, as shown above.
  3. Browse and interact with the report definition using the toolbar at the top of the Preview panel.

Note that clicking Preview will save all open definitions before displaying the report.

When using Preview, any JavaScript errors thrown will cause a count of the errors to appear next to the preview URL:
 

Click the number, as shown above, to display a dialog box containing the JavaScript error message. In earlier versions of Studio, the dialog box will simply be displayed automatically, interrupting execution.
 

Using the "Live Preview" Feature

The Live Preview feature allows you preview your work in a separate, "live" desktop window.

The Main Menu's Live Preview item is shown above. The live preview will be displayed in a separate window and any changes made to the definition will immediately be reflected in that window. You can resize and relocate the new preview window as desired; you can even drag it onto a separate display, if you have one.

You can also switch to Live Preview from regular Preview mode:
 


     

To start Live Preview, first preview the report definition, using the Preview tab, and then click the Live Preview icon, circled above.

The preview will be displayed in a separate window, and Studio will switch back to its Definition tab. You can resize and relocate the new preview window as desired; you can even drag it onto a separate display, if you have one.

Any subsequent changes you make to the definition code will immediately be reflected in the Live Preview window.
 

If you don't want definition changes to be updated immediately in the Live Preview window, you can pause and restart them, using the Pause and Play icons in the Live Preview window, circled above.

To exit Live Preview, just click the Live Preview window's Close (X) icon.


Browsing the Default Report Definition

In a Logi application, one of the report definitions is designated (in the _Setting definition) as the "default" report - the page that will be shown if no definition is specified in the URL. If you don't change it, this is usually the Default report definition.

     

You can browse the default report by clicking the Run Application menu item, shown above, in Studio's Main Menu, or by pressing the F5 key. Your computer's default browser (the one associated with .htm/.html file extensions) will be used for this.

You can change the "default" report designation using two methods:
 

As shown above, left, in the Application panel, select the desired report definition, right-click it, and select Set As Default from its context menu. This sets the Application element's Default Report attribute, shown above, right, in the _Settings definition. You can also manually edit this attribute value directly in the _Settings definition.

Using the Run Application menu item will save all open, unsaved definitions before displaying the report.
 

Browsing Any Report Definition

You can also browse any report definition without opening it in the Workspace panel, or setting it as the default report:
 


As shown above, select the desired report definition, right-click it, and select Run In Browser from the popup menu. Using this menu item will save all open definitions before displaying the report definition.
 

Using the Test Parameters Panel

One of Studio's least well-known panels is the Test Parameters panel. Studio makes this panel visible when the current definition expects to receive and use parameters. It provides a way for developers to supply request variable values for their definitions when previewing them in Studio, and it makes experimenting with different values very easy.
 

The example above shows this panel in use. Studio will automatically populate the left column with the tokens for any request variables expected by the currently selected definition in the Workspace. You can enter values for those tokens, and they'll be fed to the definition when you Preview it in the Workspace panel, or right-click it in the Application panel and select "Run in Browser".

 The token values in Test Parameters are not fed to the application when you click the Run Application menu item or press the F5 key.
 

Using the Debugging Features

Logi Studio also provides debugging features for an application, but they have to be enabled to work. They are not enabled by default.
 

You can turn on comprehensive debugging for all your report pages by clicking the Debug menu item, shown above, and selecting Debugger Link from the selection list.


Selecting a debugger option in the menu sets an attribute value in the _Settings definition, as shown above. This value can also be set manually.

When the Debugger Style has been set to DebuggerLinks and the report is run, a Debugger Trace Report is generated. It can be accessed in two ways: using the debug icon which will now appear in your report pages, or from a link that appears on a runtime error page. The trace report appears either in the Preview panel or in your browser, depending on which method you were using to view your report.
 

As shown in the example above, the debug icon for the report "floats" in the lower right-hand corner of the browser window, so you don't have to scroll down to use it. Any charts, which are processed separately by the Logi Engine, will have their own debug icon and trace report.

For more information about debugging, see Debug Reports.
 

Using the Element Seeker

Logi Studio includes a feature, the Element Seeker, that lets you quickly locate an element in a definition file by selecting it in your preview or browser window. To use it, you must be working in Logi Studio v12.2 SP5+ and the Logi Server Engine version of your Logi application also has to be v12.2 SP5+. In addition, if you're using the Internet Explorer browser, you must be using IE 9 or later. Here's how it works:
 

Enable the Element Seeker in Studio's Debug menu, as shown above. When you preview or browse a report page, you'll see the Seeker icon in the lower right-hand corner.
 

When you click the Seeker icon, it will turn green and enter selection mode. As you move your mouse cursor around the page, different regions will be framed in green, as shown above. Click a framed region...
 

... and Logi Studio will open the correct report definition and select the element responsible for the chosen region, as shown above.

To turn off the Seeker's selection mode, you'll need to refresh your preview or browser page.

Deploying Logi Applications

After you've developed your Logi application on your development machine, it's time to deploy it to your production server. There are several ways to this, and they're all discussed in Deploy a Logi Application.

 If your application uses Discovery 3.0+ and you wish to preserve the Dataviews, visualizations, and other objects created during development, or if you're moving your application to another server and want to preserve the same objects, you'll also need to migrate the Platform Database. For more information, see Deploy a Logi Application.

The easiest of these methods is to use Studio's Application Deployment tool. Before you use it, however, ensure that:

  1. Logi Server is installed on your production server. On a development machine you generally install both Logi Studio and Logi Server and you may wish to install them both on a production server, but it's not required and most developers only install Logi Server there.
  2. The .NET framework, or Oracle JDK or OpenJDK 8, 11, 12, 13, or 14 has been installed on the production server.
    Oracle has changed its Java usage policies - see Java Usage Policy for important information.
  3. You have an appropriate Logi license for the production server.
  4. You have the appropriate security credentials for writing to the production server.
  5. The production server has connectivity to the database server or other datasources needed by your application, and you know the security credentials they require.
  6. You know any storage conventions for folder locations on the production server that you need to observe (such as, "all applications must be installed on the D: drive, not the C: drive")?

Studio's Application Deployment tool is capable of copying all or part of your application to the production server, using either file system copy commands to local or shared network drives, or one of three flavors of FTP (standard, SSL, or SSH). In Studio, the details of each operation are called a "deployment target" and they can be saved for later reuse.

The Application Deployment tool is started in Studio by selecting it from the Main Menu Tools tab, as shown above.

If no deployments have been defined, the dialog box shown above appears. Click the link or New... to define your first deployment target.

The Add/Edit Deployment Target dialog box contains the following:

  1. Caption: Enter an arbitrary name for the deployment, for easy future reference.
  2. Transfer Method: Select copy to Local or Network drive, FTP, FTP (SSL), or FTP (SSH).
  3. Path: If Local/Network was selected in #2, enter the UNC file path to the destination app folder on the production server. For example:

    \\myWebServer\myLogiApp

    If an FTP variant was selected in #2, enter the FTP protocol URL to the destination app folder and arguments. Examples:

    For FTP & FTP SSL: ftp://myWebServer/myLogiApp, ftp://myWebServer.com:8082/projects/myLogiApp

    For FTP SSH:  sftp://test.myServer.local//opt/tomcat/webapps/myLogiApp
    Note use of two forward slashes after server name. Also you'll have to create the target application folder and grant permissions, as described in the next section, because the application is not being deployed to a user's home directory.

    If necessary, you'll be prompted to supply a user ID and a password when the tool run; do not include them in the URL.
     
  4. Test: This button can be used to ensure connectivity to the destination.
  5. File Types: Select the file types that are to be deployed. Files are overwritten at the destination without warning!
  6. Server Type: If "Server Engine" was selected in #5, these options are shown. Select the appropriate server type.
  7. AvailableVersions: If "Server Engine" was selected in #5, available server engine versions are shown. Select the appropriate version.

If the destination requires a user ID and password in order to access it, when you click the Test button, you'll be prompted for login credentials. If the credentials are successfully authenticated, the user ID will automatically be saved with the deployment target details and, optionally, the password as well.

Once a deployment target has been defined, it appears in a list...
 

...as shown above, where it can be managed and edited. To run a deployment, check its checkbox and click the Deploy button. If multiple deployments are selected, they'll run consecutively.

The connection with the destination server will be established and then the files will be deployed to it.

The Deployment dialog box will expand to display the results of the process, as shown above. The running log indicates which files are added, replaced, or skipped. Deployment process logs are created in the rdDeployment folder beneath each Logi application folder as text files and are accessible through the View Logs link.

Finally, the deployment will complete and a direct link to its log file will be displayed.

 It's very important that you understand that copying the files, using the Deployment tool, does not register the application with a web server on the target machine. So, after a first-time deployment is run, you must complete this registration on the target machine using Logi Studio, Server Manager (for .NET applications only), or the web server's management tools.
 

Logi Java Application Folder Permissions

After deployment of a Logi Java application, you can elect to grant 775 (full access) permissions manually on the application root folder and all of its child folders and files. If you prefer a more selective approach, typical Logi application folders require these permissions:
 

Folder

Permission

Logi app root

440

    assemblies

 

    rdDataCache

660

    rdDownload

660

    rdTemplate

660

    WEB-INF

 

       lib

 

          PhantomJS (binary)

550

    _Definitions

 

    _SupportFiles

 

    goBookmarks (InfoGo app only)

660

    (your custom folders)

660


 

Controlling Which Files Are Deployed

The Add/Edit Target dialog box allows you to select the files to be deployed by category:
 

Category

Description

Application Definition and Support

Copies all files in all folders with names beginning with an underscore, such as _Definition, _Script, _Support Files, etc. This includes folders like _Images and _Stylesheets, which are from a legacy folder scheme. Identical files will be skipped.

Application Settings

Copies _Settings.lgx only. Identical files will be skipped.

Server Engine (.NET app)

Copies the rdTemplate and bin folders - files are overwritten without warning. Also copies any .aspx, .asax, and .config files if they do not already exist; does not overwrite them if they do exist.

Server Engine (Java app)

Copies rdTemplate, Assemblies, and WEB-INF folders - files are overwritten without warning. Also copies any .aspx, .asax, and .config files if they do not already exist; does not overwrite them if they do exist.


Why not just deploy all of the categories all of the time? You'll want to do so for your first deployment but, generally, you won't want to for subsequent deployments in order to avoid overwriting files that may have been customized for the production server, such as _Settings.lgx. And, unless you're changing engine versions, deploying the engine files with every deployment is unnecessary and a waste of time. So the tool offers you the opportunity to tailor your deployments as needed.

However, developers may want to exclude specific application definition and support files from a deployment, and Studio provides an easy way to do that:
 


By default, all files in Studio's Application panel are included in deployments. However, if you wish to exclude a file, select it in the Application panel, right-click it, and uncheck the Include in Deployments item in the popup menu, as shown above.


If files have been excluded in this manner, in the bottom section of the Add/Edit Deployment Target dialog box, a View Excluded Files link will be displayed, as shown above. Clicking the link will display a list of the excluded files.
 

License Files

License files are never included in deployments, so you will have to manually deploy your license file the first time you deploy your application, or configure it to use a centralized license file. For more information about license files, see Product Licensing.
 

After a First-Time Deployment

After the first time an application is deployed, you must:

  • Provide a license file for the application, unless you're using a centralized license file.
  • Register the application with the web server.
  • Ensure that the datasource connection strings or parameters, constants, and other server-specific settings are correct in the _Settings definition.
  • For a Java app, complete any special configurations required by your web server.

For subsequent deployments, you need only run the Deployment tool to update the files on the target server.

For more information, see Deploy a Logi Application.

Ribbon Menu, Shortcuts, and Search

Studio operations can be controlled using the Ribbon Menu at the top of the screen. Here are its tabs and major menu items:
 

The Home Tab  

New Application

Create a new application with the assistance of the New Application wizard.

Open Application

Open an existing application from the File Explorer, the recent apps list, or a list of apps registered with the local web server.

New File

Create a new file by selecting a file category.

Recent

Re-open a recently closed file.

Save, Save All, Close

Save the file in the current Workspace editor tab, save all edited files, and close the current application, with a prompt to save any unsaved files.

Edit Actions, Remark,
Move Up/Down

Standard editing actions including Cut, Copy, Paste and more. Comment and uncomment elements and rearrange their order.

Search/Replace

Search current, or all, definitions and supporting text files, and replace text, if desired.

Element Navigation,
Expand/Collapse

Navigate to previous or next element in the Element Tree navigation history. Expand or collapse all child elements beneath the selected element.

Test Actions

Control debugging, and preview a definition in a browser or in a separate "live" window.


 The Design Tab

Master Report Layout

Launch the Master Report Layout wizard, which allows you to design a header-menu-footer template for use with each report definition. For more information, see Master Reports.

Theme Editor

Launch the Theme Editor wizard, which allows you to create and edit your own custom themes. For more information, see Theme Editor

Themes

Apply the selected standard theme to the current report, or to the entire application.
Other standard themes available in versions prior to 12.1 are no longer being included.


 The Tools Tab

Application Deployment

Deploy the application to other servers using the Application Deployment Tool.

Application Obfuscation

Render definitions unreadable by humans to prevent tampering and theft using the Application Obfuscation Tool.

Server Manager

View registered applications and change their Logi Engine versions individually or in bulk.

Git Extensions
 

Provides quick-and-easy access to Git, when it's being used as the application's source control repository.

Team Development

Manage built-in Logi source code control with file check-in/out and change history.

Database Browser

View schema and basic data samples from databases with connections in _Settings file.

Bookmark Storage

Create a SQL database table for Bookmark storage and migrate Bookmarks stored in the file system into it. For more information, see Bookmarks.

Dataview Authoring

Deprecated in Info v12.6+.

Create, edit, and manage Dataviews - representations of data that can be used and re-used throughout an application. For more information, see Dataview AuthoringMenu item is only visible when Discovery 3.x is installed.

SuperWidget Authoring

Deprecated in Info v12.6+.

Create, edit, and manage client-side components, such as charts and dashboards, to create single-page applications that make use of Dataviews. For more information, see SuperWidgets. Menu item is only visible when Discovery 3.x and SSRM 12.5+ are installed.

Elements/Attributes Panel

Specify the arrangement and order of the Element Toolbox and Attributes panels in Studio.

Options

Specify Studio options including file encoding and definition editor colors.


The Tools tab items Application Deployment, Application Obfuscation, Server Manager, Team Development, and the Database Browser are discussed more detail in separate sections in this topic.
 

The Wizards Tab

The Wizards tab appears when an element that has supporting wizards is selected. The number of wizards available varies depending on the selected element.

Some European keyboards use a key combination that includes the Alt key to produce characters like @ and ~ which are used frequently in Logi code. By default, the Alt key will shift focus to the Ribbon Menu, making it difficult to type these characters on European keyboards. An option to disable this focus shift is available in ToolsOptions.
 

Ribbon Menu Controls

The following controls are located outside the tabs, at the right end of the Ribbon Menu:
 

The Ribbon Menu items can be collapsed vertically to get more screen real estate, using the arrow highlighted above. The menu can be expanded again by clicking the arrow again, or by selecting a different menu tab.

The menu's Getting Started button, shown above, will redisplay the Getting Started dialog box whenever needed.

 

The menu's Help button, shown above, displays a drop-down list of resources for getting assistance and reporting problems.
 

Keyboard Shortcuts

The following keyboard shortcuts are available for those who may prefer to save mouse clicks:

Applications and Files

Editing

Ctrl n = New application

Ctrl f = Find

Ctrl o = Open application

Ctrl h = Replace

Ctrl l = Open application from local web server

Ctrl z = Undo

Ctrl s = Save selected file

Ctrl y = Redo

Ctrl, Shift s = Save all open files

Ctrl r = Remark/unremark

F1 = Studio Help

Ctrl x = Cut

F2 = Rename selected file

Ctrl c = Copy

F5 = Run current definition in browser

Ctrl v = Paste

F7 = Move element up (includes children)

Ctrl +  = Next navigation history item

F8 = Move element down (includes children)

Ctrl -  = Previous navigation history item

 

Ctrl   = With focus in Attribute panel and value committed, move to Prev/Next element in Element Tree


You can download and print our handy Studio Keyboard Shortcuts quick-reference card, if desired.
 

Search & Replace

Logi Studio includes a Search feature, including a Search control right on the main menu:
 


As shown above, the ribbon menu includes a text input control for entering new search terms and it keeps a historical list of terms sought during the current program session. Clicking the magnifying glass icon starts a new search using the displayed terms. Searches are not case-sensitive initially and can also be initiated using the Ctrl + F keys. Clicking the A-B icon, or using the Ctrl + H keys, will open the Search and Replace feature.

Search results are displayed in the Find and Replace dialog box, shown above.

The search results have been modified to provide more flexibility and to mimic web search results.

Controls in the dialog box, keyed to the numbers at the top, are:

  1. Find / Replace - Enter or select the desired search term and, if Replace is selected in the top menu, enter the term to replace it. Click Find, Replace, or Replace All to achieve the desired result.
  2. Scope - Select the desired scope: to search the entire application or to limit the search to the current folder, the current definition or document, or the current element.
  3. Match - Return results for all occurrences of the search term, for occurrences found in an element attribute value, or for occurrences found in element and attribute names. You can also filter results to match search term spelling case, to match only whole words, and to ignore elements that are remarked.
  4. Maximums - Limit searches to files no larger than the selected maximum file size, or limit the result set to the selected number of rows.
  5. Find within Results - Search within the results of the previous search.
  6. Results - Search results are grouped by file. Click a result row link to open the file and view the related element; click the row to view the element, or click the pencil/paper icon at the right end of a row to open the Attribute Zoom window for a specific attribute.

Additional searches can be launched from here with more selective scope and criteria, if desired. Results returned are listed by definition and are active links: clicking a result row will open the corresponding definition in the Workspace panel and highlight the specific occurrence in it.

Clicking the Replace tab in the dialog box reveals controls in which you can enter a replacement term and selectively make replacements.

Studio Options

Logi Studio can be configured using the Tools Options menu item:
 


Options include:

  • Show "Getting Started" dialog box - Select this option to display the dialog box designed for new users when Studio starts.
  • Ask to run wizards... - Controls whether or not a dialog box prompts you to insert an element or run its wizard when you double-click an element in the Element Toolbox.
  • Automatically open... - Select this option to have Studio, at startup, reopen that last application open when Studio was closed.
  • Limit SQL Requests... - Uncheck this option to allow very large result sets to be returned, but be prepared for possible delays.
  • Source Code Repository Friendly - When checked, prevents writing of the standard SavedAt, SavedBy, and EngineVersion attributes in definition file source code, which can interfere with some code repositories like GIT. Also adds .gitignore and .tfignore files in the application folder and makes formatting and other changes to the source code files. See the following section for more information.
  • Enable ribbon access... - Uncheck this option to prevent shifting focus to the Ribbon Menu when the Alt key is pressed. This is useful with some European keyboards that use key combinations that include the Alt key to produce characters like @ and ~.
  • Definition File Encoding - Specifies the character encoding scheme to be used in Logi definition files.
  • Remarks Color - Colored block indicates the color to be used for remarked (commented) elements in the element tree. Click the block to open the Color Selector dialog box and choose a new color.
  • Notes Color - Colored block indicates the color to be used for Note element text in the element tree. Click the block to open the Color Selector dialog box and choose a new color.
     

Source Code Repository Friendly Features

Logi Studio v12+ includes features designed to make Logi definition source code easier to use with 3rd-party source code repository and control products like GIT and TFS. In addition to changing the source code format, the features also create .gitignore and .tfignore files in the application folder.

 Note that if you enable these features your source code will be reformatted. However, it is reversible.
 

<?xml version="1.0" encoding="utf-8"?>
<Report ID="MyDefault" SavedBy="LOGIXML\lee" SavedAt="4/2/2015 3:43:55 PM" EngineVersion="12.0.029">
  <StyleSheet Theme="Signal" />
  <Body>
    <DataTable ID="dtOrders">
      <DataLayer Type="SQL" Source="SELECT * FROM Orders" ConnectionID="connNW" />
      <DataTableColumn ID="colOrderID" Header="OrderID">
        <Label ID="lblOrderID" Caption="@Data.OrderID~" />
        <DataColumnSort DataColumn="OrderID" DataType="Number" />
      </DataTableColumn>
    </DataTable>
  </Body>
  <ideTestParams />
</Report>


The example above shows the standard (non-"repository friendly") definition source code format. It includes "SavedBy", "SavedAt", and "EngineVersion" information and XML elements and their attributes appear on the same line. Also, special attributes are provided (but not shown here) to describe the "collapsed state" of the elements in Studio's Element Tree.
 

<?xml version="1.0" encoding="utf-8"?>
<Report
    ID="MyDefault"
    >
    <StyleSheet
        Theme="Signal"
    />
    <Body>
        <DataTable
            ID="dtOrders"
            >
            <DataLayer
                ConnectionID="connNW"
                Source="SELECT * FROM Orders"
                Type="SQL"
            />
            <DataTableColumn
                Header="OrderID"
                ID="colOrderID"
                >
                <Label
                    Caption="@Data.OrderID~"
                    ID="lblOrderID"
                />
                <DataColumnSort
                    DataColumn="OrderID"
                    DataType="Number"
                />
            </DataTableColumn>
        </DataTable>
    </Body>
</Report>


The same code is shown above after being reformatted to be "repository friendly". It has no timestamp, author, or engine version information and each XML attribute is displayed, in alphabetic order, on its own line. SQL queries will similarly be shown on multiple lines, making them easy to read. Any collapsed state attributes are saved in a separate file: _Definitions\Settings.lgp.

When you check or uncheck the Source Code Repository Friendly box in the Studio Options, you'll see the dialog box shown above.

  • If you click Yes, all of your definition files will be converted immediately to the other format and saved.
  • If you click No, then your files will be individually converted the next time you edit and save them.
  • Click Cancel to make no changes.

Checking or unchecking the box sets the General element's Repository Friendly attribute to True or False, in the _Settings definition. When Studio's New Application wizard is used to create a new application, this attribute is set to True by default.

You can change all, or individual, definitions back and forth between formats without concern. The format has no effect on the function or performance of a definition when it's executed.

The Database Browser

The Database Browser tool allows developers to view the objects and data in connected databases. The objects available include Tables, Columns, Views, and Stored Procedures. The database browser doesnot work with datasources that do not return a schema when queried, such as XML data files.

     

The Database Browser is launched from the main menu's Tools tab, as shown above. Select a database from the list of connections that have been configured in the _Settings definition for this application.

If you select a Connection element in the _Settings definition and click the Database Browser menu item, it will open the database immediately. If no Connection element is selected, then a list of databases like the one shown above will be displayed so you can select one.

  

The Database Browser, shown above, provides the following features:

  1. A list of the Tables available in the database is presented, as shown above.
  2. Each table icon can be expanded to display its Columns.
  3. The database's Views and Stored Procedures, if any, are also available.
  4. The Query Builder tool can be launched from here with this button.
  5. The Details tab provides table or column properties, the Source tab allows Stored Procedure code to be viewed (but not edited), and the Data tab displays the table's actual data, limited to 10,000 rows.
  6. Rows of data displayed in the Data tab can be right-clicked and edited or deleted.

 The Database Browser will work with the databases for which we provide "native" Connection elements, such as Oracle, MS SQL Server, and MySQL. It may work with other databases that use a connection that mimics that of a database for which we provide a native connection. It is notguaranteed to work with every database and, in that case, we recommend that you use tools provided with the database to examine and manipulate it outside of Studio.

The Database Browser may not support all of the functions and views available in Microsoft Access databases.

By default, the Database Browser will only return 10,000 rows of data. You can turn this limit off in Studio in Tools Options. The Database Browser is a non-modal dialog box and can remain open, for reference, while you work elsewhere in Studio.

The SQL Query Builder

The SQL Query Builder tool allows you to examine data, and construct and test your queries, from within Studio. It's launched either from the Database Browser or...
 

...as shown above, by clicking the browse button at the end of the DataLayer.SQL element's Source attribute.

The SQL Query Builder presents database objects in a (1) list, from which tables and views can be dragged into the (2) center work area. Manipulating the visual objects results in a SQL query being generated in the (3) bottom command area, where it can also be manually edited. The query can use multiple lines in the command area and can include DECLARE statements and other more complex SQL statement constructions.

Clicking the (4) Datatab at the top of the SQL Query Builder executes the SQL statements and displays the results in that tab panel. The F5 key can also be used to execute statements; portions of statements can be highlighted and selectively executed using F5 as well. SQL statements such as INSERT and UPDATE can be used to modify the data but there is no graphical way to directly make modifications in the Data tab. By default, the SQL Query Builder will only return 10,000 rows of data. You can turn this limit off in Studio in Tools Options.

Clicking (5) OK will cause the query constructed in the command area to be copied into the datalayer's Source attribute, if the SQL Query Builder was called by clicking the attribute's browse button. Otherwise, the query text can be selected, copied, and pasted as needed.

 The SQL Query Builder will work with the databases for which we provide "native" Connection elements, such as Oracle, MS SQL Server, and MySQL. It may work with other databases that use a connection that mimics that of a database for which we provide a native connection.

 The SQL Query Builder will not support all of the functions and views available in Microsoft Access databases, nor does it support other non-standard SQL languages, such as Salesforce Object Query Language. It is notguaranteed to work with every possible database and, in that case, we recommend that you use tools provided with the database to create and test queries, and then copy and paste them into Studio.
 

When a Query Has Been Entered Manually

Note that if you have already entered a query manually in the Source attribute and you then open it in SQL Query Builder, the tool will try to "reverse-engineer" the query into its graphical representation. It succeeds at this most of the time but, if the query includes tokens or is created using a non-standard SQL language, the SQL Query Builder may fail and display an error message. This is especially likely when Logi tokens have been used outside of a SELECT statement.
 

Use with Oracle and Multiple Schemas

When connecting to an Oracle database, SQL Query Builder will retrieve a list of schemas, prompt you to select one, and then retrieve the related objects.

The MDX Query Builder

The MDX Query Builder provides an easy way to construct MDX queries, which are essentially two-dimensional queries against three-dimensional (cube) data. The notation used to select cube data has strict formatting requirements and the MDX Query Builder helps you build valid queries.

You can invoke the MDX Query Builder from two datalayer elements: DataLayer.MDX and DataLayer.SQL.

DataLayer.MDX is used to retrieve data for the OLAP Grid and OLAP Table elements, exclusively, and DataLayer.SQL is used to retrieve data for a variety of other elements, including standard data tables and charts. The datalayers must reference a valid Connection.OLAP element to access the server.

As shown above, the MDX Query Builder is invoked by clicking the browse button at the end of the datalayer's MDX Source or Source attribute.

When the MDX Query Builder is displayed, as shown above, you must first select a (1) Cube. Based on that selection, the MDX Query Builder presents lists of (2) Dimensions and Members, and (3) Measures. These can be moved to an axis or added and removed by selecting and right-clicking them, as shown above. The (4) results of these actions can be seen in the Results panel, in tabular or (5) source code form.

Clicking (6) OK will cause the query constructed in the Results panel to be copied into the datalayer's MDX Source or Source attribute, if the MDX Query Builder was called by clicking the attribute's browse button. Otherwise, the query text can be selected, copied, and pasted elsewhere as needed.
 

When a Query Has Been Entered Manually

Note that if you have already entered a query manually in the MDX Source or Source attributes and you then open it in the MDX Query Builder, the tool will try to "reverse-engineer" the query. It succeeds at this most of the time but, if the query includes tokens or is created using a non-standard SQL language, the MDX Query Builder may fail and display an error message. This is especially likely when Logi tokens have been used outside of a SELECT statement.

Working with Studio Panels

Studio provides a intelligent and dynamic development environment for the creation of Logi applications. Though almost all of the source files used in an application are text files and can therefore be edited with something as simple as Notepad, the wizards, editors, and other tools within Studio make the development process faster and easier.

The primary visual feature of Studio is its set of panels. These are used to manage, organize, and edit the files that make up a Logi application. The panels are flexible and can be sized to suit personal tastes.

To resize a panel, simply position your cursor over the panel separator bar (where it will change to the resizing cursor, as shown above) and drag it in the desired direction. This applies to both vertical and horizontal separators.
 


     

If you prefer to add elements to the Element Tree using the "right-click and context menu" method, you may not want to see the Element Toolbox panel at all; similarly, you may not use the Test Parameters panel. You can effectively hide these two by reducing their heights, as shown above. Just drag their separator bars downward completely.

The Test Parameters panel is displayed only if the application accepts parameters.

If desired, the vertical positions of the Element Toolbox and Attributes/Test Parameters panels combination can be swapped, as shown above, using the ToolsElements and Attributes main menu item.


The two panels can also be arranged side-by-side, as shown above.

Changing Application Versions

A Logi application includes files and settings installed on the web server and version-specific binary files included in each Logi application project folder. This allows each Logi application to maintain its own version identity and allows backward compatibility from new versions of Logi products.

Applications can be upgraded and downgraded to different versions and, when a new version of Logi Info is installed, applications must be upgraded before they'll have the benefits of the new version.
 

When you open an application, Studio displays a warning in its Application tab, as shown above, if the application's version does not match the version of Studio being used. Applications will continue to run correctly with this mismatch but, as the warning says, the rules governing element relationships and attributes may be incorrect when editing definitions.

For existing Logi .NET and Java applications, Studio provides a quick and easy way to change versions:
 

To change versions, click the Change Version... link, shown above. This will display a wizard with a list of the installed versions and, after you select one, will replace the application's version-specific binary files with the files of the selected version. The replacement may take several minutes. This will not affect any definitions or support files you have created and you can revert the change.

For .NET applications, the Server Manager, which can be launched from Studio's Tools menu, can also be used to change application versions. This is a tool that allows you to examine all of the .NET Logi applications on the local web server and manage them.


The Server Manager dialog box, shown above, displays a list of the applications installed on the local web server. Select one or more applications (1) and the desired product versions (2), and click Change Version... (3). The process usually takes less than a minute for each application selected.

 Server Manager is intended for use only with .NET applications, using the IIS or Cassini web servers; if neither one of these servers is installed, Server Manager will prompt you to install them.

For additional important information about changing application versions, see Logi Product Upgrades.

Bookmark Storage

Bookmark, Gallery, and Save files are typically stored as XML files in the web server file system. However, this may not be useful or practical in some Logi application deployments, so it's possible to store them instead in a SQL database. Logi Studio includes a migration tool and a special File To Database Mapping element that make it easy to transfer existing bookmark files into a database, and then use them from there.

For more information about migrating these files, see the related section in Bookmarks.

Team Development Features

Note: This feature is not supported in Info 12.7.

Logi Studio includes two features for use in a team development environment, where multiple developers are working on the same Logi application. File Locking prevents multiple developers from inadvertently working on the same file at the same time and blocking or overwriting each other's modifications. File History retains a copy of each file revision and current versions can be "rolled back" to earlier versions.

As shown above, these features are enabled by adding a Team Development element to the application's _Settings definition. The two features, File History and File Locking, are enabled by setting their respective attributes.
 

When you Save the _Settings definition, the Team Development features will become enabled. Definitions in the Application panel, including the _Settings definition, will be shown with a "padlocked" icon, indicating that the files have been locked. Hovering your mouse over the definitions will cause a "File Locked" tooltip to appear. Attributes and their values for elements in those definitions will be shown with gray text, indicating that they cannot be edited.

Individual files can be unlocked, opened, closed, or locked using the pop-up menu options, shown above, that are now available when a file is right-clicked. The file icons will change to reflect a file's locked or unlocked state. Locking applies to text-based support files as well as definition files.

Team Development uses a source control system approach, where to unlock a file is to "check it out" and to lock it is to "check it in". This means:

  • When no one is working on any file, they are all locked (checked-in) and available to be unlocked (checked-out) by anyone.
  • When you unlock (check-out) and open a file, you can edit it, but everyone else is prevented from working with it.
  • When you save and/or re-lock (check-in) the file, then it's available to be unlocked by anyone again.

When a file has been unlocked by a user, other users attempting to unlock it will see an "in-use" icon next to the entry in Studio and a tooltip that indicates who's working with this file, when they hover their mouse over it.

Note that the initial locked state is also applied to the _Settings definition, and you must now unlock it if you want to modify it.


     

If they've been enabled in the _Settings definition, File Locking and File History information can be viewed by clicking the Team Development menu item, shown above, in the Tools tab.

When the toolbar icon is clicked, the Team Development dialog box opens, as shown above. File Locking details are displayed in the first tab, allowing development team members to determine which files are locked, who locked them, and when.

File History details are displayed in the second tab. Revision information and the actual revised data are presented. If a particular file is double-clicked, an individual file history dialog box is displayed and it includes a Rollback... button, which can be used to replace the current file contents with the selected version's contents.

The Team Development features use a localdatabase file located under the folder "TeamDevelopment", shown above, in the Logi application folder. The folder and database file are automatically created when the Team Development features are enabled

The Pack Team Development Database feature helps to maintain performance. Clicking the appropriate button in the Application History tab will present a prompt for confirmation. Clicking Yes will start a process that makes a backup of the Team Development database and then packs and shrinks it. All developers should close the application in Studio before a packing operation is started. You should pack the database whenever you feel that File History retrieval is taking a long time.

These features allow team developers to work together on an application, without getting in each other's way, and provide a useful audit trail of modifications.
 

System Configuration

A commonly-used approach for team development is to set up a centralized "development server" where the Logi application files can be accessed, using a shared network folder, by all members of the development team. Logi Info Server is installed on that server, along with a web server and all necessary supporting files. A Logi Info license is required for that server.

Developers who can "map" a local drive to the shared folder on the development server must be given Read, Write, Modify, and Delete file access permissions. Developers must also have Logi Info or, at the very least, Logi Studio installed and licensed on their own machines. They then "open" the Logi application on the development server and apply the Team Development settings as outlined above.

In the _Settings definition, the Path element's Application Path attribute should be set to the URL of the Logi app on the development server, rather than to the usual http://localhost/yourApp. Do not set the Alternative Definition Folder attribute, which is not relevant for this situation.

Working with Source Control

The choice of a source control system is highly dependent on the complexity of the source control functionality required. For smaller, simple applications, the use of the Team Development functionality within Logi Studio is often enough. Logi Team Development allows you to maintain version control, based on file saves, and provides file-locking/sharing capabilities for multiple developers.

If you require more sophisticated source control, then a third-party product will be necessary. Popular products include Git, Microsoft TFS, and Subversion. The files that make up a Logi Info application are used directly from the file system; they're not stored in, or controlled by, a database or other constraining mechanisms, so third-party source control products can be used directly on them without concern.

To benefit from a third-party product, however, you should keep your Logi application's source code folders (_Definitions, _SupportFiles, _Templates, _Scripts, _Plugins), and all the root folder .aspx files under source control. Keeping the bin, rdTemplate, and other "rd*" system folders outside of source control will allow you to easily move between different versions of the Logi engine without interfering with your source control functionality.
 

Basic Git Extensions Support

Git Extensions is a standalone UI tool for managing Git repositories. Logi Studio is now able to integrate Git Extensions, providing quick access to basic Git features when it's being used as the application's code repository.

Logi Studio's Git Extensions integration is enabled when a Git Extensions installation is detected and when an application ancestor folder contains a .git file (indicating that the application files are actually being managed in Git).
 

Once enabled, Git features can be accessed using the icon on Studio's Tools ribbon menu, shown above,
 

or by right-clicking any file in the Application Panel, as shown above.
 

In either case, the Git Extensions UI shown above will appear so that you can manage your repositories and files.

General information about using Logi Info applications with Git can be found in this DevNet blog post.

Obfuscating Definitions

Obfuscation is a common technique used by developers to protect their software products from theft, tampering, and reverse-engineering. The code obfuscation feature in Studio for .NET is a mechanism that allows Logi developers to make their _Settings, Report and Process definitions unreadable by humans. Definitions that have been obfuscated can be de-obfuscated, making them readable again. At runtime, both .NET and Java Logi applications automatically decode and use obfuscated files.

OEMs who embed Logi products within their own applications should use obfuscation to aid in securing their products before distribution, but there may be little need for obfuscation in an enterprise setting where all Logi report consumers are internal corporate employees.

The Obfuscation tool is available via the Studio Tools tab on the main menu:

Obfuscation is based on a password, which is entered in the tool, shown above. There are three file choices available in the process:

  • Skip Settings File - All process and report definitions will be obfuscated but the _Settings.lgx file will not be included. This can be useful if certain settings, such as Connection Strings, need to be manually edited after deployment or if there is a chance that debugging may be needed.
     
  • Settings File Only - This is useful when settings need to be hidden, such as Connection String passwords, but there is little concern about securing other kinds of definitions. In particular, OEMs with deployed solutions should use this option to shield their license key data from view.
     
  • All Files - Includes all .lgx files in the operation.

Other than the _Settings.lgx file, there is no way to select individual files within an application for obfuscation. In general, we do not recommend that you obfuscate files as a routine practice if you have no security concerns.

 When obfuscating files, record and store your password carefully. Logi Analytics is not able to decipher passwords for the purpose of de-obfuscation if your password is lost or forgotten.
 

Batch Obfuscation Tool

Developers may want to include obfuscation as part of an unattended build process and the Obfuscation Tool can be run as a console application for this purpose.
 

As shown above, if the default product installation is used, the tools can be found at:

    C:\Program Files\LogiXML IES Dev\LogiObfuscation.exe

Running the tool without any arguments will display the help information shown above. These arguments are the same as the settings available through Studio's interface and are discussed in the previous section.

Deleting a Logi Application

If you want to delete an entire Logi application, you can do so by using your file system tools, such as Windows Explorer, to delete the entire application folder.

First, in IIS Manager or other web server management tool, delete the virtual directory or web application entry for the app.

Then, delete the application folder. On a typical Windows server platform, for example, you would delete:

    C:\inetpub\wwwroot\yourAppFolder

and all its subfolders and files.

Note that your web server may hold some application files open to improve performance and you may receive an "Access Denied" type error when you try the folder deletion. If this happens, try stopping and restarting the web server. For IIS, this can be done very easily by running iisreset.exe from the Start Menu Run option or from a command line window. Once the web server is restarted, try deleting the application folder again.

Afterwards, in Studio, your application will still appear in the Recent Applications panel of the Welcome tab. Click its entry, as if to open it, and Studio will display a warning that it no longer exists and remove it from its list of recent applications.