Files
wwtools/graccesscli/graccess_operations.md
T
Joseph Doherty 32f26272ae Initial commit: Wonderware / System Platform tools and reference
Five tools under one repo, all docs organized per DOCS-GUIDE.md:

- aalogcli: .NET 4.8 / x86 CliFx CLI for reading System Platform binary
  logs (*.aaLGX) for LLM debugging, built on aaOpenSource/aaLog. Commands:
  last, tail, range, unread, fields. Stable JSON envelope under --llm-json.
  Build template under lib/build/ for rebuilding aaLogReader.dll.

- aot: ArchestrA Object Toolkit 2014 v4.0 reference material. Dev guide
  (Markdown converted from CHM), API reference for the ArchestrA.Toolkit
  namespace, and the Monitor / Watchdog VS sample solutions.

- graccesscli: .NET 4.8 / x86 CliFx CLI that automates Galaxy
  configuration via the ArchestrA GRAccess COM interop. Includes session
  daemon, IPC protocol, and llm-json envelope contract.

- grdb: SQL/DDL exploration of the Galaxy Repository database. DDL
  captures, reusable queries, hierarchy / contained-name <-> tag-name
  translation notes.

- histdb: LLM-oriented reference for AVEVA Historian retrieval. INSQL
  linked-server, extension tables, every wwXxx time-domain extension,
  every retrieval mode, alarm/event SQL recipes, REST API. Distilled
  from the 243-page Historian Retrieval Guide.

Root contains:
- CLAUDE.md: thin index pointing into each tool's README.
- DOCS-GUIDE.md: doctrine for organizing docs for LLM consumption.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 18:22:20 -04:00

310 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# GRAccess Operations Reference
Operations supported by the ArchestrA GRAccess library, organized by functional area.
Page references link to sections in `graccess_documentation.md`.
---
## Galaxy Management (IGRAccess — Pages 101104)
| Operation | Method | Description |
|---|---|---|
| Query galaxies | `QueryGalaxies(nodeName)` | List available galaxies on a GR node |
| Create galaxy | `CreateGalaxy(name, nodeName, hasSecurity, authMode, description)` | Create a new galaxy |
| Create from template | `CreateGalaxyFromTemplate(...)` | Create a galaxy from a template |
| Delete galaxy | `DeleteGalaxy(galaxyName, nodeName)` | Delete a galaxy |
## Galaxy Connection & Session (IGalaxy — Pages 3555)
| Operation | Method | Description |
|---|---|---|
| Login | `Login(userName, password)` | Log in with forced client sync |
| Login (extended) | `LoginEx(userName, password, forceSynchronization)` | Log in with optional deferred sync |
| Synchronize | `SynchronizeClient()` | Sync client with server |
| Logout | `Logout()` | Log out from the galaxy |
| Get version | `VersionString` / `VersionNumber` | Retrieve galaxy version |
| Check upgrade needed | `UpgradeRequired` | Check if galaxy needs upgrade |
| Migrate galaxy | `MigrateGalaxy(galaxyName, grNodeName)` | Upgrade a galaxy |
## Galaxy Backup & Restore (IGalaxy — Pages 3940, 4748)
| Operation | Method | Description |
|---|---|---|
| Backup | `Backup(processId, backupFile, nodeName, galaxyName)` | Back up a galaxy to file |
| Restore | `Restore(processId, backupFile, nodeName, galaxyName, restoreOlder)` | Restore a galaxy from backup |
## Object Queries (IGalaxy — Pages 3738, 4445, 5152)
| Operation | Method | Description |
|---|---|---|
| Query by name | `QueryObjectsByName(templateOrInstance, tagnames[])` | Find objects by tagname array |
| Query by condition | `QueryObjects(templateOrInstance, conditionType, value, matchCondition)` | Find objects by single condition |
| Query multi-condition | `QueryObjectsMultiCondition(templateOrInstance, conditions)` | Find objects by multiple conditions |
| Create conditions | `CreateConditionsObject()` | Create an IConditions for multi-condition queries |
### Condition (ICondition — Page 29, IConditions — Pages 3032)
| Property/Method | Description |
|---|---|
| `Kind` | Condition type (EConditionType) |
| `Value` | Value to search for |
| `Negation` | Negate the expression |
| `Add(condition)` | Add a condition to the collection |
| `Remove(index)` | Remove a condition |
| `Join(condition)` | Join two conditions |
## Template Operations (ITemplate — Pages 182207)
| Operation | Method | Description |
|---|---|---|
| Create instance | `CreateInstance(name, createContainedObjects)` | Create a single instance from template |
| Create instances | `CreateInstances(tagnames[], createContainedObjects)` | Create multiple instances from template |
| Create derived template | `CreateTemplate(name, createContainedObjects)` | Derive a new template |
| Delete template | `DeleteTemplate(forceOption)` | Delete the template |
| Check out | `CheckOut()` | Check out for editing |
| Check in | `CheckIn(comment)` | Check in with comment |
| Undo check out | `UndoCheckOut()` | Discard checkout changes |
| Save | `Save()` | Save after configuration |
| Unload | `Unload()` | Release object cache |
| Add UDA | `AddUDA(name, dataType, category, security, isArray, arrayCount)` | Add a user-defined attribute |
| Delete UDA | `DeleteUDA(name)` | Delete a UDA |
| Rename UDA | `RenameUDA(oldName, newName)` | Rename a UDA |
| Update UDA | `UpdateUDA(name, dataType, category, security, isArray, arrayCount)` | Modify a UDA |
| Add extension primitive | `AddExtensionPrimitive(type, name, isObjectExtension)` | Add an extension primitive |
| Delete extension primitive | `DeleteExtensionPrimitive(type, name)` | Delete an extension primitive |
| Rename extension primitive | `RenameExtensionPrimitive(oldName, newName)` | Rename an extension primitive |
| Get extended attributes | `GetExtendedAttributes(attrName, upToLevel, categories[])` | Get attributes across hierarchy |
| Get help URL | `GetObjectHelpURL()` | Get object help URL |
### Template Properties (ITemplate — Pages 182207)
| Property | Description |
|---|---|
| `Tagname` | Object tagname (read/write) |
| `ContainedName` | Contained name (read/write) |
| `HierarchicalName` | Full hierarchical name (read-only) |
| `DerivedFrom` | Parent template name |
| `BasedOn` | Root ancestor template name |
| `Category` | Object category (ECATEGORY) |
| `CategoryGUID` | Category GUID |
| `Container` | Container object (read/write) |
| `Area` | Area object (read/write) |
| `Host` | Host assignment (read/write) |
| `Toolset` | Toolset membership (read/write) |
| `Attributes` | All attributes collection |
| `ConfigurableAttributes` | Editable attributes collection |
| `ConfigVersion` | Configuration version number |
| `CheckoutStatus` | Checkout status (ECheckoutStatus) |
| `CheckedOutBy` | User who checked out |
| `EditStatus` | Edit status (EEditStatus) |
| `ValidationStatus` | Validation status (EPACKAGESTATUS) |
| `Errors` | Validation error list |
| `Warnings` | Validation warning list |
| `CommandResult` | Last operation result |
| `CommandResults` | Last batch operation results |
## Instance Operations (IInstance — Pages 104133)
| Operation | Method | Description |
|---|---|---|
| Delete instance | `DeleteInstance()` | Delete this instance |
| Deploy | `Deploy()` | Deploy the instance |
| Deploy (extended) | `DeployEx(...)` | Deploy with extended options |
| Undeploy | `Undeploy()` | Undeploy the instance |
| Undeploy (extended) | `UndeployEx(...)` | Undeploy with extended options |
| Upload | `Upload()` | Upload runtime config changes |
| Upload (extended) | `UploadEx(...)` | Upload with extended options |
| Check out | `CheckOut()` | Check out for editing |
| Check in | `CheckIn(comment)` | Check in with comment |
| Undo check out | `UndoCheckOut()` | Discard checkout changes |
| Save | `Save()` | Save after configuration |
| Unload | `Unload()` | Release object cache |
| Add UDA | `AddUDA(name, dataType, category, security, isArray, arrayCount)` | Add a user-defined attribute |
| Delete UDA | `DeleteUDA(name)` | Delete a UDA |
| Rename UDA | `RenameUDA(oldName, newName)` | Rename a UDA |
| Update UDA | `UpdateUDA(name, dataType, category, security, isArray, arrayCount)` | Modify a UDA |
| Add extension primitive | `AddExtensionPrimitive(type, name, isObjectExtension)` | Add an extension primitive |
| Delete extension primitive | `DeleteExtensionPrimitive(type, name)` | Delete an extension primitive |
| Rename extension primitive | `RenameExtensionPrimitive(oldName, newName)` | Rename an extension primitive |
| Get extended attributes | `GetExtendedAttributes(attrName, upToLevel, categories[])` | Get attributes across hierarchy |
| Get help URL | `GetObjectHelpURL()` | Get object help URL |
### Instance Properties (IInstance — Pages 104133)
All properties from ITemplate above, plus:
| Property | Description |
|---|---|
| `DeployedVersion` | Config version at last deploy |
| `DeploymentStatus` | Deploy status (EDeploymentStatus) |
## Bulk Object Operations (IgObjects — Pages 87101)
| Operation | Method | Description |
|---|---|---|
| Check out (bulk) | `CheckOut()` | Check out all objects in collection |
| Check in (bulk) | `CheckIn(comment)` | Check in all objects |
| Undo check out (bulk) | `UndoCheckOut()` | Undo checkout for all objects |
| Deploy (bulk) | `Deploy()` | Deploy all instances in collection |
| Deploy (bulk extended) | `DeployEx(...)` | Deploy with extended options |
| Undeploy (bulk) | `Undeploy()` | Undeploy all instances |
| Undeploy (bulk extended) | `UndeployEx(...)` | Undeploy with extended options |
| Upload (bulk) | `Upload()` | Upload runtime changes for all |
| Upload (bulk extended) | `UploadEx(...)` | Upload with extended options |
| Delete all | `DeleteAllObjects()` | Delete all objects in collection |
| Export objects | `ExportObjects(exportType, outputFile)` | Export objects from galaxy |
| Export as protected | `ExportObjectsAsProtected(...)` | Export as protected |
| Add to collection | `Add(gObject)` | Add an object to the list |
| Add from collection | `AddFromCollection(gObjects)` | Merge another collection |
| Set area (bulk) | `Area` (set) | Set area for all objects |
| Set host (bulk) | `Host` (set) | Set host for all objects |
| Set container (bulk) | `Container` (set) | Set container for all objects |
| Set security group (bulk) | `SecurityGroup` (set) | Set security group for all objects |
## Attribute Operations (IAttribute — Pages 1320, IAttributes — Pages 2124)
### IAttribute
| Operation | Method/Property | Description |
|---|---|---|
| Get value | `Value` | Get the attribute value (IMxValue) |
| Set value | `SetValue(mxValue)` | Set the attribute value |
| Get name | `Name` | Attribute name |
| Get data type | `DataType` | Attribute data type (MxDataType) |
| Get category | `AttributeCategory` | Attribute category |
| Get security | `SecurityClassification` | Security classification |
| Set security | `SetSecurityClassification(classification)` | Change security classification |
| Get locked state | `Locked` | Whether attribute is locked |
| Set locked state | `SetLocked(locked)` | Lock/unlock the attribute |
| Get has buffer | `HasBuffer` | Whether attribute has a buffer |
| Set has buffer | `SetHasBuffer(hasBuffer)` | Set buffer flag |
| Get array bound | `UpperBoundDim1` | Upper bound of first dimension |
| Get set handlers | `RtSethandler` / `CfgSethandler` | Runtime/config set handlers |
### IAttributes Collection
| Property | Description |
|---|---|
| `Item[nameOrIndex]` | Get attribute by name or 1-based index |
| `Count` | Number of attributes |
| `ShortDescription` | Short description of the object |
| `ExecutionOrder` | Execution order name |
| `SecurityGroup` | Security group name |
| `ExecutionRelatedObject` | Execution related object name |
## Import / Export (IGalaxy — Pages 4344, 5255)
| Operation | Method | Description |
|---|---|---|
| Import objects | `ImportObjects(inputFile, overwritesAllowed)` | Import objects from file |
| Import objects (extended) | `ImportObjectsEx(inputFile, versionConflict, nameConflict, appendName)` | Import with conflict resolution |
| Import script library | `ImportScriptLib(path)` | Import a script library |
| Export all | `ExportAll(exportType, outputFile)` | Export all galaxy objects |
| GR Load | `GRLoad(csvFilePath, grLoadMode)` | Load galaxy from CSV file |
## Toolset Management (IToolset — Pages 207209, IToolsets — Pages 210213)
| Operation | Method | Description |
|---|---|---|
| Query toolsets | `galaxy.QueryToolsets()` | Get all toolsets |
| Query toolsets (extended) | `galaxy.QueryToolsetsEx(folderType)` | Get toolsets by folder type |
| Add toolset | `toolsets.Add(name)` | Add a new toolset |
| Add child toolset | `toolsets.AddToolSet(name, parentToolset)` | Add toolset under parent |
| Delete toolset | `toolsets.DeleteToolSet(name)` | Delete a toolset |
| Rename toolset | `toolset.Rename(newName)` | Rename a toolset |
| Move toolset | `toolset.MoveToToolset(newParent)` | Move to different parent |
| Get children | `toolset.GetChildToolsets()` | Get child toolsets |
## Script Library Management (IScriptLibrary — Pages 175177, IScriptLibraries — Pages 173175)
| Operation | Method | Description |
|---|---|---|
| Query script libraries | `galaxy.QueryScriptLibraries()` | Get all script libraries |
| Add script library | `scriptLibraries.Add(name)` | Add a new script library |
| Export script library | `scriptLibrary.Export(path)` | Export a script library to file |
| Get name | `scriptLibrary.Name` | Script library name |
## Security (IGalaxySecurity — Pages 5962)
| Operation | Method/Property | Description |
|---|---|---|
| Get security settings | `galaxy.GetSecuritySettings()` | Get IGalaxySecurity object |
| Get read-only security | `galaxy.GetReadOnlySecurity()` | Get security in read-only mode |
| Authentication mode | `security.AuthenticationMode` | Galaxy auth mode |
| Available roles | `security.RolesAvailable` | Collection of configured roles |
| Available users | `security.UsersAvailable` | Collection of configured users |
| Available security groups | `security.SecurityGroupsAvailable` | Collection of security groups |
| Login time | `security.LoginTime` | Configured login timeout |
| Role update interval | `security.RoleUpdateInterval` | Role update interval |
### Galaxy Roles (IGalaxyRole — Pages 5557, IGalaxyRoles — Pages 5759)
| Property | Description |
|---|---|
| `RoleName` | Role name |
| `AccessLevel` | Access level |
| `Permissions` | General permissions (IPermissions) |
| `OperationalPermissions` | Operational permissions (IPermissions) |
### Galaxy Users (IGalaxyUser — Pages 6264, IGalaxyUsers — Pages 6465)
| Property | Description |
|---|---|
| `UserName` | `domain\username` |
| `FullName` | `first last` |
| `AssociatedRoles` | Roles collection |
### Permissions (IPermission — Pages 167171, IPermissions — Pages 171172)
| Property | Description |
|---|---|
| `PermissionName` | Permission name |
| `PermissionParentName` | Parent permission name |
| `IsConfigured` | Whether permission is active |
| `HasChildren` | Whether it has child permissions |
| `ChildPermissions` | Child permissions collection |
| `IsSecurityGroup` | Whether it's a security group |
| `SecurityGroup` | Associated security group |
### Security Groups (ISecurityGroup — Pages 177178, ISecurityGroups — Pages 178179)
| Property | Description |
|---|---|
| `GroupName` | Security group name |
| `gObjects` | Objects in this security group |
## Settings (ISettings — Pages 180182)
| Operation | Method | Description |
|---|---|---|
| Get settings | `galaxy.GetLocaleSettings()` / `galaxy.GetTimeMasterSettings()` | Retrieve settings |
| Get instance | `settings.Instance` | Get the instance for configuring |
| Save & close | `settings.Close()` | Save and check in settings |
| Cancel | `settings.Cancel()` | Cancel without saving |
## User Defaults (IGalaxy — Pages 4547)
| Operation | Method | Description |
|---|---|---|
| Get user defaults | `GetUserDefaults(userDefault)` | Get logged-in user's defaults |
| Set user defaults | `SetUserDefaults(userDefault, value)` | Set user defaults |
## Error Checking (ICommandResult — Pages 2526, ICommandResults — Pages 2628)
| Property | Description |
|---|---|
| `Successful` | Whether the operation succeeded |
| `Text` | Description of the result code |
| `ID` | Result reason code (EGRCommandResult) |
| `CustomMessage` | Custom message |
| `CompletelySuccessful` | (ICommandResults) All results successful |
| `Count` | (ICommandResults) Number of results |
| `Item[index]` | (ICommandResults) Get result by index |
## Utility (IGalaxy — Pages 43, 5051)
| Operation | Method | Description |
|---|---|---|
| Create empty collection | `CreategObjectCollection()` | Create an empty IgObjects collection |
| Get CDI version | `CdiVersionString` | CDI version string |