This project adds an action to Aras Graph Navigation that automatically packages a Graph View Definition and all of its related rows. It collects the graph view, its nodes, connectors, item type rows, default cards, related view cards, and the underlying query definition into a single package so you can export and migrate it cleanly.
When the action finishes, it automatically opens the owning Package Definition so you can review or export it.
- Adds an Item / Client action on Graph View Definition:
labs_GraphViewDefinitionPackage
- Packages:
- The selected gn_GraphViewDefinition
- Related gn_GraphViewItemType, gn_GVDefaultCard, gn_GraphViewNode, gn_GraphViewConnector
- Any gn_ViewCard referenced by default cards
- The linked qry_QueryDefinition (if present)
- Reuses the Graph View’s existing package, if it’s already packaged
- Otherwise, creates/reuses a generic package:
- PackageDefinition:
GraphViews.Package - PackageGroup:
Graph View Definition
- PackageDefinition:
- Safe dependency behavior:
- If any required element is already owned by a different package, the method returns an error and makes no changes
- No
PackageDependsOnrelationships are created automatically
- Automatically opens the resulting PackageDefinition in a new tab
- Aras Innovator installed (Release 33 or later recommended)
- Graph Navigation solution installed
- Aras Package Import Utility
Important! Always back up your code tree and database before applying an import package or code tree patch!
- Aras Innovator installed
- Aras Package Import Utility
- This project’s import package (manifest and related files)
- Back up your database and store the BAK file in a safe place.
- Open the Aras Package Import tool.
- Enter your login credentials and click Login.
- Note: you must log in as root for the package import to succeed.
- In TargetRelease, enter the Innovator release this package targets (for example:
33). - In Manifest File, enter the path to this project’s
imports.mffile, e.g.:..\GraphViewPackager\imports.mf - In Available for Import, select the package from this project (for example: aras.labs.PackageGraphViewDefinition).
- Set Type =
Mergeand Mode =Thorough Mode. - Click Import.
- Close the Aras Package Import tool.
After import, the Graph View Definition ItemType will have a new client action configured.
- Log in to Innovator as an administrator or a user with rights to run the action.
- Navigate to: Administration > Configuration > Graph Navigation > Graph View Definition
- Open the Graph View Definition you want to package.
- Click the Package Full Graph Definition action.
- The client method will:
- Find the current Graph View Definition ID.
- Call the server method to package the graph and its related rows.
- If packaging succeeds, show a confirmation and open the Package Definition that owns this graph view.
- In the opened Package Definition:
- Look for the “Graph View Definition” group (or the existing group that already contained the graph).
- You should see:
- The
gn_GraphViewDefinitionitself - Its graph navigation rows
- Any included
gn_ViewCardandqry_QueryDefinitionelements
- The
- If any required element (for example a View Card or Query Definition) is already owned by a different package:
- The method returns an error like:
Packaging failed: one or more required elements are already packaged in another package... - No elements are added or changed.
- The method returns an error like:
- If the graph view is already packaged in an out-of-the-box package (such as
com.aras.innovator.solution.SA), that package will open and the existing group is reused.
Created by Matt Toppi for Aras Labs. GitHub: @matttoppi
MIT License – see the LICENSE file for details.
