Working with Meridio Object Type Classificiations

Follow

Meridio Object Types

An object type is the broadest classification of items within Meridio, there are five Meridio Object Types that need to be understood in order to effectively classify items from a Meridio system.

Containers and Folders

Containers in Meridio can be thought about as a folder in a filesytem, they can have any number child containers or documents within them.

When a Container in Meridio is record managed it is known as a Folder and it gains a number of additional fields that do not exist on the base Container Object Type. Mapping those additional fields on Containers is possible however they will all return empty strings - to that end is can be useful to classify Containers and Folders as distinct Content Types.

See the field matrix for information on which fields are available for each Object Type.

Documents and Records

To continue the filesystem analogy a Document can be thought of as a file in a fileystem, that is it has a number of properties such as an author and title, and also has an underlying binary that stores the file in question.

These Documents can be linked in a way such that they can appear (be referenced) in multiple different Containers simultaneously - enabling shortcut link resolution in PMA will result in one of these Document references becoming a file in the target and the remaining references becoming links to that file.

When a Document is record managed it is known as a Record and it gains a number of additional fields that do not exist on the base Document type. Mapping those additional fields on Documents is possible however they will all return empty strings - to that end it can be useful to classify Documents and Records as distinct Content Types.

See the field matrix for information on which fields are available for each type.

Parts

Folders can be split up into a number of sub-sections called Parts, each Part possesses a number of record management properties that pertain to their child Documents/Records.

Categories

In addition to having an Object Type an item in Meridio may also have a Category - the purpose which is to allow Custom Properties to be set on items of that Category. Containers/Folders are usually assigned the Container Category whereas Documents/Records may have any other Category.

Categories map directly to PMA Content Types therefore any Custom Properties for a Category will be visible in the metadata mapping screen of the corresponding Content Type.

It is important to note that items may be uncategorised in Meridio and as such will require manual classification.

 

Classifying Meridio items in Proventeq Migration Accelerator

This snippet will be included as a prelude in each of our functions, it's separated out here for brevity.


function isContainer {
    $MigrationItem.SI.EntityCategory -eq 0
}
function isFile {
    $MigrationItem.SI.EntityCategory -eq 1 -and (-not (isLink))
}
function isLink() {
    $MigrationItem.SI.EntityType -eq 'Link'
}
function isRecordManaged {
    $MigrationItem.SourceMetaContext.ContainsKey("id") -and [String]::IsNullOrEmpty($MigrationItem.SourceMetaContext["id"]) -eq $false
}
function isCategorised() {
    [String]::IsNullOrEmpty($MigrationItem.SI.ContentType) -eq $false
}

 

Splitting on Object Type

It is often useful to split a Meridio Category into a Record Managed Content Type and a base Content Type, that way the Record Managed objects can be treated as such in the target system - this can be achieved through the use of Custom Content Type classification.

In a scenario where items that are categorised as Policy need to be split into Policy_Record and Policy_Document Content Types two source classifications would be created like so:


# Policy Record
$MigrationItem.SI.ContentType -eq 'Policy' -and (isFile) -and (isRecordManaged)

 


# Policy Document
$MigrationItem.SI.ContentType -eq 'Policy' -and (isFile) -and (-not (isRecordManaged))

Classifying Un-Categorised Items

 

Containers/Folders

 


# Uncategorised Container/Folder
(-not (isCategorised)) -and (isContainer)

 


# Uncategorised Folder
(-not (isCategorised)) -and (isContainer) -and (isRecordManaged)

 


# Uncategorised Container
(-not (isCategorised)) -and (isContainer) -and (-not (isRecordManaged))

Documents/Records

 


# Uncategorised Document/Record
(-not (isCategorised)) -and (isFile)

# Uncategorised Record
(-not (isCategorised)) -and (isFile) -and (isRecordManaged)

# Uncategorised Document
(-not (isCategorised)) -and (isFile) -and (-not (isRecordManaged))

 

Field Matrices

Container/Folder

  Container Folder
ContainerID
Parent
Title
Comment
CreatedByUser
CreatedByUserID
CreateDate
IsShared
OwnerID
OwnerName
RmFolderDetails
KeywordTypeID
CategoryID
Inherit
CascadeBehaviour
ReplicationType
HomeSystemId
HomeSystemName
GlobalId
LastSynchTime
Path
LastModificationDate
FilingCategoryID
id
name
ownerID
ownerName
referenceCode
parentTitlePath
parentRefCodePath
comment
createDate
CreatedByUser
CreatedByUserID
openStatus
openDate
closeDate
lastAdditionDate
lastRetrievalDate
lastReviewDate
lastReleaseDate
parentObjectId
currentPartId
recordCountClosure
recordSizeClosure
annualClosureDate
cutOffFrequency
effectiveCutOffDate
autoGenerateNewPart
generateSequenceNumber
currentDisposalScheduleId
explicitDisposalScheduleChainId
inheritedDisposalScheduleChainId
effectiveDisposalScheduleChainId
lastInstructionExecuted
nextInstructionToExecute
effectiveDate
hold
destinationExportOrg
dpaDisclosability
dpaExemption
dpaNotes
foiDisclosability
foiExemption
foiNotes
eirDisclosability
eirExemption
eirNotes
physical
physicalArchiveId
physicalHomeLocation
physicalCurrentLocation
physicalContentsList
availableForCheckout
checkoutStatus
requestStatus
barcode
facilityId
checkedOutByUserId
checkedOutToUserId
Inherit
groupOwnerId
cascadeBehaviour
disposalApproved
disposed
permanentPreservation
vitalRecord
vitalRecordReviewPeriod
lastVitalRecordReviewDate
homePage
ReplicationType
HomeSystemId
HomeSystemName
GlobalId
LastSynchTime
FilingCategoryID
FilingCategoryTitle

 

Document/Record

  Document Record
DocID
PolicyID
CreatedByUser
CreatedByUserID
CreateDate
Comment
Title
OnlineVersionsSize
OnlineRenditionsSize
MarkedForDelete
OriginalFileName
DefaultLockFileName
LatestVersionID
IsLocked
OnlineVersionCount
IndexingType
OwnerID
OwnerName
CategoryID
IsRecord
LastModificationDate
LastModifiedByUserID
LastModifiedByUserName
ParentDocID
Author
WorkflowProcess
CascadeBehaviour
DocumentDate
ReplicationType
HomeSystemId
HomeSystemName
GlobalId
LastSynchTime
RelationshipCount
LatestVersionFingerprint
IsCollaborativeCopy
groupOwnerId
NormalisedTitle
id
name
createdByUser
createdByUserId
ownerID
ownerName
comment
categoryId
categoryTitle
author
documentDate
sequenceNumber
circulationList
declaredByUserId
declaredByUserName
createDate
declarationDate
lastRetrievalDate
lastReviewDate
lastReleaseDate
currentDisposalScheduleId
inheritedDisposalScheduleChainId
explicitDisposalScheduleChainId
effectiveDisposalScheduleChainId
lastInstructionExecuted
nextInstructionToExecute
effectiveDate
hold
permanentPreservation
destinationExportOrg
dpaDisclosability
dpaExemption
dpaNotes
foiDisclosability
foiExemption
foiNotes
eirDisclosability
eirExemption
eirNotes
physical
physicalArchiveId
physicalHomeLocation
physicalCurrentLocation
physicalContentsList
availableForCheckout
checkoutStatus
requestStatus
barcode
facilityId
checkedOutByUserId
checkedOutToUserId
groupOwnerId
cascadeBehaviour
disposalApproved
superseded
supersededOnDate
disposed
vitalRecord
vitalRecordReviewPeriod
lastVitalRecordReviewDate
cutOffDate
ReplicationType
HomeSystemId
HomeSystemName
GlobalId
LastSynchTime
RelationshipCount
Fingerprint
DefaultLockFileName
newDocCategoryId
Was this article helpful?
0 out of 0 found this helpful

Comments