Tech Tip: Opening a Custom Dialog from a Method
There are times when the fields on a single form are not enough to provide the full functionality you want available to your users. In these cases, you may need to display a dialog that prompts your users to enter some additional information. Aras In...1KViews0likes0CommentsAn Introduction to Client Development in Aras
You've mastered server-side code inside of Aras Innovator and know the IOM like the back of your hand. Now there's just one obstacle left to tackle as an Aras developer: JavaScript. Unlike the nice predictability of server-side code where eve...499Views0likes0CommentsMicrosoft Power BI Part I: Getting Started
Do you want to interactively visualize and analyze your data inside of Aras Innovator? In this article, I will review the steps needed to create Microsoft Power BI reports and describe how to embed them into an Aras form. 1. Setting Up Power BI ...401Views0likes0CommentsAras Fundamentals: Adding Relationships to ItemTypes
In this Fundamentals article, we’ll go over how to add a Relationship to custom or default ItemTypes in Aras Innovator. In a previous Aras Fundamentals blog post, we created an ItemType called Purchase Order. And today we’ll be expanding on that ItemType by adding two new Relationships to it. For our Purchase Orders, we want to be able to add a list of Parts associated with the Purchase Order and add comments to the Purchase Order along the way. The first use case requires adding a Relationship to an ItemType, and in the second case we will add a Null Relationship. What does a Relationship do and why would we want to relate one Item to another, anyways? A Relationship is an Item that connects two Items. Because it’s separated from the source and related Items, it has its own properties, rules and actions – all of which can be customized independently. An Item could link to the most recent version of the related Item or the related Item’s version at the time when the Relationship was made. The specifics of customizing a Relationship’s functionality are beyond the scope of this article, so for now we’ll focus on creating basic Relationships. Adding a Relationship Let’s start by adding a Part List to the Purchase Order. The Purchase Order is going to be used to keep track of the Parts requested by one of our customers, so we need some way to store which Parts have been requested. The easiest way to do this is to add a Relationship pointing to Parts by following the steps below: In the ItemType search grid, search for the Name of the Purchase Order. Open the Purchase Order ItemType and click ‘Edit’. Navigate to the RelationshipTypes tab (next to the Properties tab). Click on the ‘Select Item’ button to define a new RelationshipType. In the search dialog, search for and select the ‘Part’ ItemType by its name. Fill out the table row for the new RelationshipType. Start by specifying the tab order, we’ll put 10 – though this only matters if we have more than one Relationship. In the Name column, enter ‘Purchase Order Part’. A typical naming convention for RelationshipTypes is to use the source and related ItemTypes’ names. Enter 'Part List' in the Tab Label field. This will be the name of the tab that the user sees when editing the source item. Save and Unclaim the Purchase Order ItemType by clicking on ‘Done’. For each RelationshipType that is created, a Relationship ItemType of the same name will be automatically made. We can add properties and behavior to this ItemType to change the characteristics of the Relationship, as needed. For this Relationship, we don’t need to add or change anything, so let’s continue onwards. Adding a Null Relationship Now let’s look at adding a Null Relationship to our Purchase Order ItemType. In a Null Relationship, the RelationshipType has a source ItemType, but no related ItemType. This RelationshipType structure is useful when we need to track items that pertain only to the source item and won’t be reused. For example, we want to add a way to attach comments to our Purchase Orders. The steps to create a new Null Relationship are: While editing the ItemType, navigate to the RelationshipType tab. Click on the ‘Add Row’ button to get a new blank row. Note that the far-left column has the ‘Null Relationship’ icon. Fill out the table row. Start by specifying the tab order as 20. This will make the Comments tab come after the Part List tab. Enter ‘Purchase Order Comments’ as the name for the RelationshipType. A good naming convention is to use the source ItemType’s name and a descriptive name of the new Relationship. Enter the Tab Label, we’ll set this to ‘Comments’. The name column stays blank for a Null Relationship. Save and Unclaim the ItemType by clicking ‘Done’. We want this Relationship to record comments, so we need to add a property to the Relationship to hold that information. Here are the steps to add a comments property to the ‘Purchase Order Comments’ Relationship ItemType: In the ItemType search grid, search for ‘Purchase Order Comments’, which was just created when we saved the parent ItemType. Open the Relationship ItemType and click on the ‘Edit’ button. Optionally, we can add singular and plural labels to make the table title clearer. In the Properties tab, click the ‘Add Row’ button. Name the property ‘_comment’. The underscore isn’t necessary, but it’s an easy way to distinguish system-made properties from ones we’ve added. Change the Label to something more readable, like ‘Comment’. This will be the table header in the Relationship’s tab. Select Text for the Data Type of the property. The comment will be sequence of text without a set length, so the best option here is Text. That way, users can write as much as they need to without being constrained by a character limit. Make the property visible to the user, by ensuring the boxes under ‘Hidden’ and ‘Hidden2’ are unchecked. Optionally, set the default Width of the column to a value like 200 so more of the comment can be read in the table. Save and Unclaim the ItemType by clicking ‘Done’. Default Structure View Let’s test out our new RelationshipType by opening a Purchase Order for edit. And … hm, we can’t see the Relationship tabs. Oh, of course, we forgot to enable the view for the Purchase Order ItemType. That’s an easy fix; we just need to enable the source ItemType to show Relationship tabs when an Item is opened. To do this, we’ll open the Purchase Order ItemType for editing, click on the Default Structure View drop down menu and select ‘Tabs On’. We can then save the changes. Here’s a list of the Structure View options and what they mean: ‘Tabs On’ will display all relationship tabs if there are any associated with the ItemType. ‘Tabs Off’ is the Aras Innovator default and hides the Relationship tabs from the accordion section of the Item. ‘Tabs Min’ adds the relationship tabs to the accordion section but defaults it to closed. ‘Tabs Max’ is currently the same as ‘Tabs On’ but may change functionality in the future. Now that we can see the Relationships for this ItemType, we can test the new RelationshipTypes by adding them to a Purchase Order Item. Open a Purchase Order Item for editing. Add a Part Relationship Item by clicking on the ‘Parts List’ tab. I have a premade Part to use, so we’ll click the ‘Select Items’ button and search for the Part, highlight it by clicking on it, and hit ‘OK’ to add the Relationship. If you're following along and don't have a premade Part, you can click the 'Create Item' button to add a new Part on the fly. Add a Null Relationship Item by clicking on the ‘Comments’ tab. Click on ‘Add Row’ and fill out the values with our comment. We’re done adding Relationships to this Item, so we can Save and Unclaim the Purchase Order by clicking 'Done'. In Conclusion That’s all we need to do to add Relationships to ItemTypes. We also learned when to use standard Relationships versus Null Relationships. The series of Aras Fundamentals blog posts should help with mastering essential techniques for developing in the Aras Innovator system.323Views0likes0CommentsTransforming Flat Files into a Digital Thread Using the Aras Batch Loader
This guide is for administrators, solution builders, and data migrators working in Aras Innovator®. If you’re comfortable with ItemTypes, Relationships, and basic AML, you’re in the right place! A quick heads up: Batch Loader requires an Enterprise License in Aras Innovator. Please confirm that you have it under Administration> Feature Licenses before proceeding. For the full breakdown and examples, refer to the official BatchLoader Documentation. You can find it by logging into your subscriber portal or pulling it from the CD image. TL;DR Batch Loader turns flat file rows into AML and submits them to Aras Innovator. You can run it via the GUI. Common delimiters are tab, space, and comma. Template parameters like @1, @2, … map columns to AML properties. What it is and where it fits The Batch Loader transfers data between environments or loads data extracted from another system. It reads flat files (e.g., TSV/CSV) and converts each row into AML, which is then sent to Innovator. Use the GUI to prototype mappings and validate a template. Important note: Batch Loader is for data, not configurations. Configuration changes (Item Types, Forms, Methods, and UI buttons) should be made through the Import/Export utilities. Example: adding a button is a configuration change handled by the Import tool. Importing a list of Parts from Excel is a data load handled by Batch Loader. Typical jobs include seeding Users and Parts, loading relationships (e.g., BOM) after base items exist, and importing documents using their files so the link is created automatically. Source Preview: Data you will be inserting into the Aras Innovator instance. Database Options: Where you will configure the load process. Template: The file that will determine the structure of the data being loaded. Please refer to the Template section below for additional information. Quick guide Start by pointing the tool at your data file Choose the InnovatorServer endpoint (e.g. http://localhost/InnovatorServer) Here are the key options you’ll need to configure: DataFilePath – Full path to the data file that contains the records to be loaded. Delimiter – Character used to separate fields in the data file. Common options are: Tab (\t) Space ( ) Comma (,) WorkerProcesses – Number of worker processes used while loading data. Recommended: 1 Threads – Number of threads per worker process. Recommended: 1 LinesPerProcess – Number of lines each worker process loads before a new process starts, with any remaining lines. Encoding – Encoding (or codepage number) of the data file. FirstRow – The row where the actual data starts. Example: if the first row is column headers, set FirstRow = 2. LastRow – The row where data stops. Default: -1 (read until the end of the file). LogFilePath – Full path and filename for the log file where Batch Loader writes status and errors. Example: C:\Parts.log LogLevel – Level of detail included in logs: 1 = Low, minimal info, suited for stable automated jobs. 2 = Medium, adds error details, suited for developing new jobs. 3 = High, full debug detail, including AML for each row. PreviewRows – Number of rows displayed in the Preview Pane. MaxColumns – Maximum number of columns displayed in the Preview Pane. FirstRowIsColumnNames – If set to True, Batch Loader treats the first row as column names and starts parsing data from the next row. Example: C:\Parts.txt Templates: Templates in Aras Innovator utilize AML, an extension of XML, which defines Item Types, business logic, and other elements. In this case, the templates guide how the platform will structure the data being inserted. When authoring templates, bind columns with N. Start with add for initial loads. For recurring loads, consider switching to merge with a where clause (e.g., keyed name) so existing items update safely without colliding with sensitive properties. For structures, load Items first, then Relationships (e.g., Part BOM), or use an advanced template that edits a Part and adds its BOM lines in one pass. For documents, consider loading the Document and its File together in the same template to avoid dangling relationships. Common quick fixes: If you hit permission/licensing errors, confirm the Enterprise License is active. If connections fail, sanity-check that the endpoint uses the InnovatorServer path, not the web client (e.g., http://localhost/InnovatorServer). Do not include trailing /server or /client. If headers don’t line up, reconcile FirstRow and FirstRowIsColumnNames with your file. With these tips, you’re set to move flat files into Aras Innovator smoothly, strengthening the digital thread that keeps project data current across our PLM ecosystem. For more details, please refer to the Batch Loader documentation. Please post on our community forums with any questions or advice you would like to share!300Views0likes0CommentsPoly Item Basics
Inside of Aras Innovator, a common use of Poly Items is to relate them to existing ItemTypes. Let’s say, for example, there is a selection within a part form to choose Documents related to the Parts ItemType. We can add a Documentation Poly Item to the Part ItemType allowing us to add both Documents and Technical Documents using the same relationship. In this blog post we will create this Poly Item to manage all of the documentation within Innovator, so we can search for all the documents linked to a part conveniently. This range of flexibility is very powerful when integrating multiple sources to one target within ones PLM environment. We have the ability to add more customization to our Parts and their related Items; creating this Poly Item gives the user many more options on what can be tied to a Part. Creating Our Poly Item Let's say you want to have a selection containing Technical Documents and also normal Documents. We then want this to be tied to the Part ItemType as a property. First let’s create the custom Documentation Poly Item ItemType. Go to Administration > ItemTypes > Create New Item Type. Give it the name Documentation. Select Poly Item and hit save. it should look like this: Once you do that, go to TOC Access and select and add World as the Identity. Next, go to Poly Sources, this is where we will add the two document ItemTypes and select a Document and tp_Block. Note that now, since this is all contained under one ItemType, we can could add it as a relationship. Users can then connect both Documents and tp_block items to the same parent. Now in order to customize our search grid to not only display the Document and Technical Document ItemTypes, we will add some significant properties. The Result In order to confirm our changes, we can make our new Poly Item view-able to the TOC in order to easily search. We will also go ahead and add the additional properties, making it easier for the user to search considering there will be many options between the two ItemTypes: Under properties, search classification for the name and un-select the first Hidden attribute. Do the same with the property keyed_name. Now if we open the TOC and select our Documentation Poly Item ItemType at the bottom, we can search our new ItemType. After adding these changes, we can see that it is much easier now to search and view all of the documents within our Aras Innovator instance. Conclusion Poly Items become very useful when tied to other ItemTypes via relationships. You can take this custom Poly Item a step further and integrate the Documentation ItemType to a Part. This relationship can improve how documents are found relating to specific parts. If a user wanted all the documentation for a Makerbot Assembly, our new Item could query all the Technical Documents and Documents associated to the Makerbot. There are so many ways to effectively use Poly Items to a group existing ItemTypes. Let us know how you're using Poly Items in your instances in the comments!300Views0likes0Comments