Another user has taken action on the page, and its state has been changed

Overview

An edited page that remains in draft mode can prompt an error related to a conflict with changes made by two users. The error states: "Another user has taken action on the page, and its state has been changed. Please, refresh the page to see the current state." This article aims to resolve this message.

 

Prerequisites

 

Diagnosis

 error_publishing.jpg

  • Another user may have made a change that conflicts with your changes.

A page follows a workflow, and there are certain stages (Draft or Published) that control the current state of the page in the workflow. If any process fails to update the state, the page may get stuck in a determined mode.

 

Solution

Follow the steps below to manually push the page into a published state, if needed:

Back up the site and the database BEFORE making any changes to the DNN installation.

  1. Log in to the site as a host/superuser.
  2. Publish the page through SQL, following these steps:
    1. Go to Persona Bar > Settings > SQL Console.
    2. Run the following SQL script to identify the page's current state:
      • Identify the TabID for the page by looking for it in the tabs table.

        SELECT * FROM tabs WHERE TabName = 'PageName'


      • Then run the below query once you have the TabID identified above.

        SELECT StateID FROM ContentItems 
        WHERE ContentTypeId = 1 AND TabID = <TabID>


    3. The state of the page is probably 2. To find out what the StateID means in the context of the workflow, run the following query:

      SELECT * FROM ContentWorkflowStates WHERE StateID = <StateID>


    4. If the result of this query is equal to a "Draft" state, the "Published" state in the workflow would be 3 (as the next one). Move the page to the following state, with the query below:
      • Use the TabID column identified previously.

        UPDATE ContentItems SET StateID = 3 
        WHERE ContentTypeId = 1 AND TabID = <TabID>


    5. The next step is to find out the latest page version that has been published.

      SELECT * FROM TabVersions WHERE Tabid= <TabID>


    6. The latest Tab Version will likely have the IsPublished column set to 0 (False). In this case, set that to 1 (True), using this query:
      • Replace the parameter <TabVersionID> with the column identified in the previous query.

        UPDATE TabVersions Set IsPublished = 1 
        WHERE TabVersionID = <TabVersionID>
  3. Clear the server cache.

Comments

0 comments

Please sign in to leave a comment.