More in this section

Forums / General Discussions / How is 4 handling Staged Content?

How is 4 handling Staged Content?

4 posts, 0 answered
  1. Steve
    Steve avatar
    3037 posts
    Registered:
    03 Dec 2008
    18 Oct 2010
    Link to this post
    3.x had Staging tables...but I don't see those in the 4.0 DB (unless I am blind :), is everything handled in\around sf_page_data for drafts?

    (Working on a module with staged content, want to follow the same way 4.0 does it)

    Thanks,
    Steve
  2. Ivan Dimitrov
    Ivan Dimitrov avatar
    16072 posts
    Registered:
    12 Sep 2017
    18 Oct 2010
    Link to this post
    Hi Steve,

    There is a new enum - ContentLifecycleStatus which we use in Sitefinity 4.0.


    •   Master - This is the primary state of an item and always exists. You see only drafts in the backend.
    •   Temp -This is a copy of the item that exists to mark changes in an edit screen. It marks the item as locke,
    •    Live - This is a snapshot of the draft item that is visible on the public side

    Kind regards,
    Ivan Dimitrov
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
  3. Steve
    Steve avatar
    3037 posts
    Registered:
    03 Dec 2008
    18 Oct 2010
    Link to this post
    So all the pages and versions are stored now in a single table? (sf_page_data?)

    Would you be able to elaborate on how do you denote which page version is the current "Live" version...so I assume it has the Live enum, but what to the previous versions sit at?
  4. Ivan Dimitrov
    Ivan Dimitrov avatar
    16072 posts
    Registered:
    12 Sep 2017
    19 Oct 2010
    Link to this post
    Hi Steve,

    The versions are not stored in sf_page_data table. Generally, you should not use the database for any manipulations and this is what we suggest since 3.x edition and this is why we use Data Layer. If we are talkign about the pages and versioning the history is created by drafts which are copied into PageData and we keep the PageDraft as serialized object. The Fluent API of PageFacede supports methods like

    CheckOut - Creates a draft and locks the current page to the current user.
    CheckIn  - Applies all current changes to the draft version and unlocks the draft so other users can continue editing. Here we are creating a new version of the page by calling PageDraftFacade.Versioning().CreateNewVersion().
    SaveChanges() - Saves all the changes that were performed through the fluent API operations and we commit the transaction.

    All the best,
    Ivan Dimitrov
    the Telerik team
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
4 posts, 0 answered