What is ProAppDesigner?
- Designer with rich set of UI controls and backend components to build applications in Aras Innovator just by configuration
- No code solution to generate modern, complex, responsive, mobile friendly UI
- Comes with TemplateStudio to create templates for an ItemType to show item details as well as items dashboard
- Comes with Wizard to show details of the item at runtime
- Comes with Dashboard to show items dashboard for a specific ItemType and global dashboard for many ItemTypes at runtime
- Allows creating templates with limited information for external users that can be used in Aras Portal
- Has rich features like conditional display, validation rules, computed values, conditional formatting, dynamic read-only based on the configuration
- Has worksheet control with Excel-like editing within Innovator
- Has Type and Global Dashboards for various roles
- Supports end users to create their own views for admin defined wizards and dashboards
- Automates creation of Word, PDF, PowerPoint documents based on selections through wizard pages
- Supports TechnicalDataPackage (TDP) export and import for offline usage and changes
- Works with Innovator version 12SP5 onwards in both on-premises and enterprise deployments
Benefits
- Create and visualize data more effectively with modern, intuitive UI powered by rich UI control set
- Generate complex, responsive, mobile friendly, and high performance UI without writing a single line of custom code
- Create guided UI for showing long data entry forms with conditional display set with expressions
- Configuration driven UI powered by TemplateStudio is up to 80% faster than conventional custom code
- Business users without any programming background can create complex application UI
- Easy upgrades, independent of Innovator version
- Reduce server side implementation cost with readily available general purpose backend components
Features
- Pages and Dialogs for building multi-page and single-page applications.
- DynamicLayout controls (Sections and Groups) in Toolbox to organize controls on the pages and dialogs.
- Basic controls in Toolbox for presenting all property types from ItemType definition.
- Table control to show Related Item data in tabular form with drag & drop, conditional formatting, computed columns capabilities.
- Preview feature for reviewing changes quickly while building the template without creating Item from ItemType.
- Display Condition on all UI controls can be defined with expression to dynamically render or hide controls based on property values.
- Default Value on Text control to show computed value based on the expression built from other properties.
- Validation Rules on all controls to validate entered data before submitting the request to server. Rules can be built based on the expression from the properties of the current and previous pages.
- Conditional Formatting can be defined on Text control and Table control column to highlight the fields or cells with defined styles. Rules are built with expression based on thresholds set on property value.
- ButtonGroup control to define actions that can show dialogs or standard actions from Innovator like WhereUsed, StructureBroswer, DPN View etc.
- RichText control will allow user to create rich-text that can be stored as formatted text property on the item.
- Signature control can capture user signature as picture and store it as image property on the item.
- Report control can show table or chart-based reports defined based on QueryDefintion for local and global data.
- Structure control can show any structured data with all relationships with the help of defined QueryDefintion.
- Item control can show item property from the item. Items control can show related items from a RelationshipType with keyed names.
- Navigation panel is shown based on the defined pages and their order, provides guided UI with next and previous buttons.
- Responsive UI: Controls rendered on the page will get adjusted to the available page width to avoid showing horizontal scrollbars.
Typical Workflow
- Create DataModel (ItemTypes & RelationshipTypes) for the application
- Create UI Template for the root ItemType and bind it to the DataModel
- Using preview feature test the template thoroughly
- Publish the template through Lifecycle
- Create, view and edit actions from Innovator now uses Template for creating or accessing the item
Template Studio Template Type
Template Studio
Wizard is used to show details of the selected item at runtime. When item is selected from Innovator search grid, if the item type has published ProAppDesigner template, item details will be shown using the template instead of using default Innovator form.
- Wizard has simple and collection controls to show properties of the current item and its relationships
- Shows item details in read-only as well as in edit mode using the same template
- Hides controls in the template based on current user’s roles
- Shows navigation panel with multiple pages if the template created for ItemType has multiple pages
- Shows navigation buttons at the bottom to navigate from page to page
- Shows error icon on the page in the navigation panel if user navigates away from that page without fixing validation errors
- End users can create their own views for the Wizard of a specific ItemType by customizing it at runtime
Template Studio Controls
Controls in the ProAppDesigner are the basic building blocks using which complex UI can be created. Controls are broadly categorized into the following categories.
- Simple Controls: Simple controls can be used to show data from an item or its properties
- Collection Controls: Collection controls can be used to show data related to collection of items and their relationships
- Layout Controls: Layout controls can be used to organize simple and collection controls with a proper layout in the UI
Wizard
Wizard is used to show details of the selected item at runtime. When item is selected from Innovator search grid, if the item type has published ProAppDesigner template, item details will be shown using the template instead of using default Innovator form.
- Wizard has simple and collection controls to show properties of the current item and its relationships
- Shows item details in read-only as well as in edit mode using the same template
- Hides controls in the template based on current user’s roles
- Shows navigation panel with multiple pages if the template created for ItemType has multiple pages
- Shows navigation buttons at the bottom to navigate from page to page
- Shows error icon on the page in the navigation panel if user navigates away from that page without fixing validation errors
- End users can create their own views for the Wizard of a specific ItemType by customizing it at runtime
Dashboards
- Type dashboards: Type dashboards are shown based on the Dashboard template created for a specific ItemType in Template Studio
- Global dashboard: Global dashboard is shown based on the Global Dashboard template created in Template Studio that contains data related to multiple ItemTypes
- User dashboards: User dashboards are created by the end users by customizing the default dashboards shown to them
- Dashboards can have dashboard tables, worksheets, reports, frame with external content, and PowerBI reports
- Dashboard shows dashboard tables and worksheets with pre-applied filters
- If admin defines dashboard tables and worksheets without enforcing pre-applied filters, end user can change the filter expression by using all advanced operators in the expression builder
- Roles specific dashboard tables and dashboard table columns
- Dashboard table and worksheet can be shown in edit or read-only mode with conditional formatting and computed columns
- With table and worksheet in edit mode, end-user can edit the item data (inline editing) within the table/worksheet and save the changes in bulk without accessing item details page
- Embedding PowerBI Reports
User Dashboards
- End users can create their own views based on the admin defined wizards and dashboards
- For each ItemType, end users can create any number of views for the wizard and the dashboard. These views are shown along with the default views defined by the admin
- To create the view upon clicking Config action, end user will be shown with the designer using which he can configure or hide existing controls from the layout. He can also add new widgets from widget libraries to the layout.
Advanced Table Control
- Can render relationships and related items data of the context item
- Can also render reference data (WhereUsed items of a specific ItemType) of the context item
- Has features like Computed Columns, Validation Rules and Conditional Formatting
- Supports variable row height, row height will be adjusted based on the cell content
- Supports Cell navigation using navigation keys and all other shortcut keys are allowed like Copy, Paste, Delete etc.
- Allows re-ordering of rows with Drag & Drop
- With Column Width setting, column widths can be set in percentage or pixels. With percentage option, horizontal scrollbar will never be shown
- With Cascade Delete setting, all child relationships and related items are deleted when the context item is deleted
- Freeze Column: Fixes certain columns so that they are always visible and don’t move along with horizontal scrollbar
- Can be configured to show either Scrolling or Pagination
- Can render 5,000 rows in less than 10 seconds
Worksheet
- Worksheet control provides Excel experience for creating data sheets
- Property based columns constrained with data types
- Nested rows from child relationships
- Computed Columns, Validation Rules and Conditional Formatting
- Cell navigation by navigation keys
- Excel type of Sorting and Filtering
- Copy Paste between Excel and worksheet controls
- Drag & Drop
- Cell copy by drag
- Undo & Redo
- Freeze Column: Fixes certain columns so that they are always visible and don’t move along with horizontal scrollbar
- With Column Width setting, column widths can be set in percentage or pixels. With percentage option, horizontal scrollbar will never be shown
- With Cascade Delete setting, all child relationships and related items are deleted when the context item is deleted
- Can render 10,000 rows in less than 10 seconds
Advanced Tree-Table Control
- TreeTable allows showing child relationship data of same root type as children in the table
- First column in the table shows tree structure. Nodes in the tree will show expand and collapse icons if they have children
- Computed values, validation rules, conditional formatting can be configured at all levels
- Should be able to add, edit, delete rows at any level in the tree in same window without opening new tabs
- All incremental updates made at all levels can be saved to server in a single transaction
- Add or insert rows at the sibling or child level
- Freeze Column: Fixes certain columns so that they are always visible and don’t move along with horizontal scrollbar
Structure Control
- Allows to show any structure which contains items of different ItemTypes and RelationshipTypes
- Bound to Query Definition, that defines which RelationshipTypes, Related ItemTypes and properties
- In edit mode, structure can be modified by adding or inserting new children or by deleting existing children
- Separate right panel to show details of selected node and its relationships
- Can configure which relationships to be shown in the tree
- Can configure which relationships to be shown in the table on the right panel
Graph Control
- Shows structured data of the context item in the graphical structure
- Bound to Query Definition, that defines which RelationshipTypes, Related ItemTypes and properties to show in the Graph
- Editable Graph to modify the structure
- Flyout to show details of selected node and its relationships
- Advanced Filtering based on ItemType and its properties
- Conditional Formatting Rules to set background color for nodes dynamically
Report Control
- Using report control any kind of report can be created using Query Definition, Expression or ServerMethod based on the data in the Innovator
- All report control types can show drilldown reports
- All report types can cache data at User or Global scope to show the report quickly next time based on the previously generated data
- Report can be defined either with Local or Global scope. Local scope shows those Query Definitions which expects context item Id. Global scope shows all the Query Definitions defined in the Innovator
- As part of definition, report control expects Function, GroupBy, Columns fields
- At runtime, report control executes QueryDefinition to get DataSource for the report
- PowerBI report can show reports defined in PowerBI server
- TreeTable report can show report data in Table or TreeTable form with dynamically generated columns
- Supported report types: Pivot Table, Table Barchart, Heatmap, Row Heatmap, Column Heatmap, Line Chart, Bar Chart, Stacked Bar Chart, Area Chart, Stacked Area Chart, Pie Chart, TreeTable, PowerBI
Project Plan Control
- ProjectPlan control can be used to show project activities from a project item in the Innovator
- ProjectPlan supports multiple views Default (TreeGrid & Timeline), TreeGrid, Timeline and Resource for showing project plan
- Can edit project plan in Timeline view
- Inline editing in TreeGrid view for predecessors with precedence type
- Can import activities from a project template inside project plan
- Can export and import MPP files to the project
- Auto scheduling of tasks without saving the project
Calendar Control
- Calendar control can be used to show Working Days, Work Hours, Holidays, Events, Vacations, Project Tasks at Organization, Project, and User level.
- Organization Calendar: Can define Working Days, Work Hours, and Holidays at Organization level.
- Project Calendar: Project Calendar inherits Working Days, Work Hours, Holidays from Organization Calendar. Project Calendar can override Working Days, Work Hours, Holidays at Organization level.
- User Calendar: User can create Events and Vacations in his calendar. User calendar shows ProjectTasks from various projects. User can open ProjectTask from the Calendar and mark the task as completed.
Widgets & Widgets Libraries
- Widgets are the predefined UI components, created from the existing collection controls of the template.
- Once defined can be used across many templates.
- Widgets are organized in libraries that are defined by admin.
- Admin can give access to the libraries based on the user’s roles.
- While creating wizard or dashboard template for a specific ItemType, admin can select a collection control and add it to the library.
- All collection controls added to the layout, will show the action ‘Add Widget to Library’ under control actions dropdown menu. Selecting the action will show the flyout ‘Add Widget to Library’.
- Adding a widget from library to the template can be done using Widget control from the toolbox.
- Widget can be added to template by-copy or by-reference by selecting appropriate option from ‘Widget Settings’ flyout.
- Adding widget by-copy, will copy the definition of the Widget to the template. Any subsequent updates done on the widget in the library will not reflect in the template if the widget is added by copy.
- By adding widget by-reference, will always show the latest widget based on its updates in the library.