| Charly 2005-12-20, 5:55 pm |
| I Notice in Node Table of CMS Database, that for some Posting records,
the Approval Status column has a value of "2". This record happens to
be a record which has Posting State "Editor - Declined".
I am storing some ancillary data in a separate custom database which
needs to be related to the records in the MCMS database. So I need to
be able to determine which NodeID (the integer) for the relevant Node
that has placeholder content associated with it. To do this I have,
using Reverse Engneering and some rather gnarly dynamic data analysis,
attempted a UDF That takes the Posting Guid, and a Publishing Mode
value, and returns the integer ID of the Node record in question.
But The Approval Status = 2 values are throwing a wrench into this
process. Is there somewhere that I find the relationship between
posting state (in Publishing API) and the values of the Node table
columns that are affected by this?
Obviously I am only interested in Node records with type = 16 and
IsShortcut = 0/1,
And I already know (thought) that the following were true:
1. Each "Posting" has a MasterGuid, that every node associated with
the posting has the MasterGuid in it in one or another of the Guid
columns.
2. All Posting Nodes have a NodeGuid and have Type column = 16.
3. Those that represent shortcuts have IsShortcut = 1 and non-null
FollowGuid which contains the MasterGuid,
4. There may be one or more content nodes that have placeholders, with
content, associated with them.
Each COntent Node represents a revision of the Posting.
There can be at most one Published revision, one working
revision, and any number of historical archive revisions.
5. If a published revision exists it has NodeGuid = MasterGuid,
IsShortcut = 0, ApprovalStatus = 1 and null values for FollowGuid and
ArchiveSourceGuid.
6. If Working revision exists it has NodeGuid = MasterGuid, IsShortcut
= 0, ApprovalStatus = 0 and null values for FollowGuid and
ArchiveSourceGuid.
7. All Archive revisions have ArchiveSourceGuid = MasterGuid,
IsShortcut = 0, ApprovalStatus = 1 and null value for FollowGuid .
, ... But I have now discovered that assumption 6 is not entirely true,
since at least one working revision object has ApprovalStatus = 2, and
so I am wondering what else might be missing from this model.
|