Managing postings is a nontrivial undertaking, but PAPI gives us a lot of tools to complete the job. Once again we started by exploring the parentage of a posting and giving a high-level description of all the posting members. We discussed the user rights and how we could proactively determine what the user was allowed to do. Then we cleared up the relationship between page status and posting state.
In the Managing Postings section, we discussed the three ways to mark a posting Submit, Approve, and Decline and then proceeded to AcquireOwnership and ReleaseOwnership. We discussed file management, using methods such as CopyTo, MoveTo, and Delete, and ended the management section with ValidateChangeToken.
In the Working with Posting Members section, we dug into each property and method, starting with the read-only members and followed by the read/write members. Members that were inherited from the same roots as channel were previously detailed in Chapter 25.
In the Working with Posting Child Objects section, we talked about how to add placeholders to our template. Our discussion led to the Parent property as well as ConnectedPostings and ConnectedTemplates. CustomProperties for postings are as impractical as they were for channels; however, they are created using a different paradigm. We had a very detailed discussion about the various kinds of posting revisions that CMS supports.
We touched on the Placeholders and Template properties, gaining access to the PlaceholderDefinitions in both, and lastly we talked about Approvers.
In the next chapter, we dig even further into placeholders. They are not as consistent as postings are with channels and templates.