Changes

Smart Studio

1,692 bytes added, 12:22, 27 July 2023
With {{UBIK}} Smart Studio, project engineering is made easier: Smart Modelling means to build meta models, do programmatic customizing and ACM configurations without having to work all the repetitive details. {{UBIK}} Smart Modelling automates as much as it can in order to give the engineer leeway to actually do the project.
On the Augmensys [[https://release.augmensys.com/download/modules/Studio/ release portal]], a test candidate for the beta version of {{UBIK}} Smart Studio is available. Here's the history of recent changes:
[[Smart_Studio_Beta_History]]
==== Meta Properties ====
The details of meta properties can be configured in the inspector tool for a selected meta property. The options include data type, selective list, unit, multi language, etc.
Live value meta properties are supported, too.
==== Classification ====
Create a new proxy by dropping a meta class onto the proxy graph.
See the respective chapter for the meta proxy graph.
 
[[Category:Pages with broken file links|Smart Studio]]
[[Category:Smart Modelling|Smart Modelling]]
=== Application Graph ===
Further, you can configure how the children should be resolved for a scoped connection - should a relation be used, or a link property on a child pointing to the parent object?
For query scopes, the outgoing connections are a bit simpler, because they can only target scopes that are compatible with the query filter class, and since the query delivers the children, there isn't much to configure there. For meta query scopes, no outgoing connections are shown because we cannot anticipate what query will be used at design time. However, if you provide a fitting child scope to the context, it will be used for the children of queries.
 
[[Category:Pages with broken file links|Smart Studio]]
[[Category:Smart Modelling|Smart Modelling]]
=== Bulk Editor ===
In order to modify potentially larger amounts of content instances conveniently, the [[SmartStudio Bulk Editor|Bulk Editor]] can be used. It shows all instances of a MetaClass in a table, extendable by derivates. The table rows are the instances, whereas the columns describe the meta properties. A single cell corresponds to the property value of a specific instance for a MetaProperty. As every other worksheet, the bulk editor can be used with data from a {{UBIK}} Environment. The results can be saved into the active project and/or back into the {{UBIK}} Environment.
The Bulk Editor supports multi-language values, sorting, filtering, grouping, drag & drop (also for multiple rows) and copy & paste (also for multiple target cells). Also, for the Bulk Editor, a multi-instance editor tool is available (similar to the inspector tool), allowing you to edit the values for mutliple multiple selected instances. A Bulk Editor worksheet can be exported to Excel using the respective context menu item.
==== Designing Queries ====
Queries can be designed using the Bulk Editor. You can use the context menu command "Convert to Query" in order to create a query for the meta class the bulk editor currently shows instances for. Then you can add Query Items by holding the {{key press|shift}} key while dragging column headers onto the query on the top left. The query items appear next to the query and can then be configured.
[[Category:Pages with broken file links|Smart Studio]]=== Custom Code ===[[CategoryYou can customize the behavior of {{UBIK}} programmatically. There are multiple ways to do so:Smart Modelling|Smart Modelling]]* React to life cycle events of objects (e.g., do something when an object is saved)* Override properties of objects (e.g., pre-process a value before it is assigned to a property)* Override methods of objects (e.g., evaluate the user rights for an object)* Add arbitrary custom code to a meta class* Create custom workflows * Create a custom code library to be used in the rest of the customizing {{UBIK}} SmartStudio provides rich code editors supporting IntelliSense and syntax highlighting based on Roslyn. For MetaClass related customizing, you can access such editors using the Behavior inspector tool (on the right hand side if you're using the default layout), when a MetaClass is selected in the Inheritance Graph. The custom code library can be maintained using a dedicated worksheet accessible via the "Behavior" menu.
=== Relation Target Bulk Editor ===
MetaProxies, their properties and their inheritance can be modeled and edited in the [[Meta Proxy Graph]]. A picker displaying all MetaProxies in the project and the {{UBIK}} Environment is available for choosing elements to display in the [[Meta Proxy Graph]] worksheet.
=== Project Smart Import: Comos meta data ===The Smart Model Import Worksheet can be used to import meta data XML files exported from Comos. The input is converted to Smart Models and opened in an Inheritance Graph Worksheet for further processing. One can also plan a semi-automatic import procedure, to make sure the import is processed safely and easily. After configuring the relevant steps, you will be guided through them as planned. Such a plan could be:* Show raw import data* Merge with Project data - Project wins in case of conflict (adjustable)* Save to Project* Merge with Environment data - Environment wins in case of conflict (adjustable)* Save to Environment* Finish importThe user can change the order of steps and switch them on or off.Further, the user can still do any actions manually, too.    === Smart Import: Project model import ===
Sometimes it can be handy for a project engineer to let the customer fill in an Excel sheet listing all the MetaClasses and MetaProperties. The engineer then can extend the Excel configuration with details, including MetaProxies and ACM scope configurations. This Excel map can be imported by SmartStudio, using the Excel/OleDB Project Model Import Worksheet. The result of this import can be saved into the active project or the {{UBIK}} Environment, and inspected in various other worksheets if desired.
An important feature of this import worksheet is the configuration of column mappings (assignment of column names or indexes to something meaningful in UBIK, like the name of a MetaClass) and the automatic detection of erroneous column assignments.
Here's an example for an Excel map that can be imported: [[File:SmartStudio_Excel_Project_Import_Test_Map.zip]]
 
 
Worksheets can originate from an import, from the project or from the environment.
Wherever it might have came come from, you can save the worksheet content to either the project or the environment.
However, in some cases the worksheet content needs to be combined with what you already have in order to resolve conflicts.
===== ''Merging worksheets with the {{UBIK}} Environment'' =====
It is possible to merge a worksheet with the Environment ({{UBIK}} database)using the context menu (right-click on the worksheet) or the respective toolbar icon.
The result is a combination between what you have defined in your worksheet and what the environment contains already regarding that situation.
In case of a conflict, normally the environment "wins". E.g., if you have a meta class A deriving from another meta class B in your worksheet, but the environment specifies C as a parent of A, the result of a merge would be A deriving from C. Using the inspector, you can specify whether a worksheet should override the environment on a merge. In that case, the merge result from the example above would be A deriving from B.
===== ''Merging worksheets with the SmartStudio project'' =====
You can also merge a worksheet with the currently active project, without saving it, using the context menu (right-click on the worksheet) or the respective toolbar icon.
The result is a combination between what you have defined in your worksheet and what the project contains already regarding that situation,
In case of a conflict, normally the project "wins". E.g., if you have a meta class A deriving from another meta class B in your worksheet, but the project specifies C as a parent of A, the result of a merge would be A deriving from C. Using the inspector, you can specify whether a worksheet should override the project on a merge. In that case, the merge result from the example above would be A deriving from B.
The result of such a merge is not saved yet; you can edit it and decide what to do with it - e.g., save it to the project, save it to the environment or dismiss it.
 
 
 
==== Cancelling active tasks ====
1,733
edits

Help improve this page!