ARAS31 import.mf deployment issue
Hai, We recently upgraded our environment from Aras Innovator 11 to Aras Innovator 31, and we are running into several issues while deploying our solution packages. I wanted to share the details here to see if anyone has faced similar challenges or has suggestions. In Aras 11, we used an import.mf file with the following structure, and everything deployed without issues: <imports> <package name="DatabaseIdentifier" path="com\aras\innovator\DatabaseIdentifier" /> <package name="com.aras.innovator.solution.PLM" path="PLM\Import" /> <package name="com.aras.innovator.solution.Project" path="Project\Import"> <dependson name="com.aras.innovator.solution.PLM" /> </package> <package name="com.aras.innovator.core" path=".\" /> <package name="com.aras.innovator.cui_default" path=".\" /> <package name="Custom_Pkg1" path="CustomPkg1\Import" /> <package name="Custom_Pkg2" path="CustomPkg2\Import" /> </imports> After upgrading to Aras 31, we tried using the same .mf configuration, but we are encountering multiple deployment errors. Issues Observed 1. Null Reference Error Object reference not set to an instance of an object. 2. Method Not Found Error It points to this AML:→ Error: “No items of type Method found.” <Item type='ItemType' id='8052A558B9084D41B9F11805E464F443' action='edit'> <Relationships> <Item type="Server Event" action="add"> <related_id keyed_name="FileOnGet" type="Method"> <Item type="Method" action="get" select="id"> <name>FileOnGet</name> </Item> </related_id> </Item> </Relationships> </Item> Import package 'com.aras.innovator.core' failed with message: No items of type Method not found. 3. Timeout Error During Import The package was then marked as a failed release (seen for custom_Pkg). faultcode: 999 faultstring: System.Net.WebException: The operation has timed out 1. In Aras 31, are we required to use manifest.json instead of the old import.mf format for custom packages? 2. If yes, where exactly should the manifest.json file be placed, and what structure should it follow? 3. How should we handle customizations or extensions to system-level packages like com.aras.innovator.core and com.aras.innovator.cui_default that previously existed in Aras 11? 4. Has anyone encountered the faultcode 999 / timeout issue during import — and how did we resolve it? Thanks in Advance SaliniSolved256Views0likes9CommentsAras 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.372Views0likes0CommentsAras Fundamentals: Creating an ItemType
This article will cover the creation of new ItemTypes, which is important for administrators as it allows Aras Innovator to be customized to your business needs. Today, we’re going to create a simple ItemType for Purchase Orders, but this same process can be used to create a wide variety of ItemTypes. We'll make the Purchase Orders, then set permissions for them and create a form so that users can add details. To follow along, you’ll need to be an administrator on your Aras Innovator instance. The screenshots and specific steps in this article were made using Aras Innovator Version 12 Service Pack 2, and while the steps should be similar for any Service Pack, you may notice small changes. Creating the ItemType To create a new ItemType, open up the table of contents and navigate to Administration > ItemTypes. If you click on ItemTypes and select “Create New ItemType” then you will be presented with the form, which should look much like it does below. Aras allows you to configure ItemTypes in a great deal of detail, but today we’re going to focus on the basics. Since Name has a blue background, we know it's required, so we need to add a name before we can save. Let’s name this ItemType Purchase Order. Since all our required fields have values in them, we could be done here, but there are a few things we'd like to to add before we do. You can see the two label fields- Singular Label and Plural Label. These get used in displays often and labeling them “Purchase Order” and “Purchase Orders” respectively will be helpful for our users. Similarly, we can choose an icon to represent Purchase Orders. Aras Innovator has a number of these preloaded, or you can add new images. If you want more details on anything here, look at the Just Ask Innovator database, found under Help if you click your initials at the top right. Adding Properties Before we save, we want to add a couple of properties. Properties are useful for containing discrete pieces of information associated with an ItemType. One very common property is a Name. For Purchase Orders, we might also want to keep track of the Price. The steps to add a new property are as follows: Go to the Properties tab in our Purchase Order ItemType. The button to add a new row is at the top left, and looks like this Click it. Aras Innovator will jump down to the property we’re creating at the first column. Enter the “_name” property. We don’t have to start with the underscore, but it’s useful to have some way to distinguish between properties that the system made and properties that we made. Underscores are one way to do this. Click on the Label column to the right of Name. Labels are intended to be something more human readable; in this case, type Name. Click on the Data Type column to the right of Label. We want to store a short bit of text in this, which means we could use either the Text datatype or the String datatype, but we want to use String. Without going into much depth, the Text datatype is for much longer sequences, things on the order of a newspaper article- or a blog post! Strings have lengths, and thirty-two characters seems long enough for the name of a Purchase Order. We also want a Price property in our Purchase Orders. We can repeat the process we used before; make a new row, enter something like “_price” for the name of the property, “Price” for the label, and this time giving it the DataType of Integer. Now you understand how to make properties and can add as many as you need. Or more than you need. We're not going to stop you. For now, let’s hit Save. Once we do, Aras Innovator will set up the ItemType for use, including adding system properties and creating a form with the custom properties we just added. Making Sure Everyone Has Access After a moment, Aras Innovator will finish creating a number of system properties that every ItemType has, as well as making things like the associated form. Once that’s finished, we can customize our Purchase Orders. If we open our table of contents and scroll down to the bottom where new ItemTypes default to, we don’t see them. That’s because we haven’t configured who is allowed to use them yet. For that, go back to our Purchase Order ItemType. In the tabs below, there are three that we need to make changes to: TOC Access, Can Add, and Permissions. Lets start with the TOC Access tab. We need to choose some identities that have access to view and use this ItemType. You’ll want to be more specific with what users and user groups you’ll allow, but for the sake of demonstration we can use the World identity, which will allow every user to interact with the Purchase Orders. To do this, follow the following steps: Click on the relevant tab. (TOC Access or Can Add.) Select new Identities with the select icon, which looks like this Under Name type “World” and press enter. Left click the resulting row Click OK to select it. In TOC Access, we also want to set the Category. This will control what folder Purchase Orders will be in on the Table of Contents. We'll use Documents for now, but as long as your structure makes sense to you it can be in any folder. The Can Add tab is laid out the same way, and we can repeat those steps to give the World identity (a category containing every user) the ability to add Purchase Orders. We don't need to set a category in Can Add. We’re also going to need permission to see, edit, and if needed delete Purchase Orders. For now, the Default Access permissions will do well. Adding Permissions is slightly different than adding to Can Add or TOC Access. Click on the Permissions tab Select new Identities with the select icon. Under Name type Default Access and press enter Left click the resulting row Click OK to select it. Next to Default Access in the Permissions area, there's a checkbox next to Is Default. Check it. You'll notice that this is very similar to the process for adding Can Add or TOC Access, except for the last step. Once you’ve clicked Save, we should now see Purchase Orders available in the Documents folder in the Table of Contents, right where it should be. We can right click on it and create a new Purchase Order if we want. Doing so though, we now are shown a form with the Save, Done, and Discard options above, and our Name and Price fields where we can type in the right values for those. Our Purchase Orders are now ready for use! From here, you can fill in values for Name and Price, the two properties we created earlier. Aras Innovator automatically added them to the form, saving us a bit of time! Congratulations and Conclusions Congratulations! If you’ve been following along, then you’ve made your first ItemType, granted access to those who need it, added a pair of custom properties, and lastly created an instance of that ItemType. While you would want to add more detail to a Purchase Order in your organization, as well as take more care with who was granted permission to use them, you would follow the same steps we used today. If you have more questions, feel free to get in touch in the comments below this article. Good luck, and happy customization!467Views0likes0Comments