// you’re reading...

Best practice

An undocumented RenderTag to enhance your RedDot CMS usability


RedDot CMS Usability - Release PageThe RedDot CMS Context Menu
RedDot CMS Usability – Show page status / Release a page

Ever had a call from a RedDot CMS editor like this:

"Hi there, I have published my page three times now but the changes don’t show up on the website!
…OH… hold on..
… uhm ..
.. I haven’t released the page, whoops.. bye.. <click – hang up>"

That’s what I call a usability issue within RedDot CMS.
Your author clearly should see at any given time what the page status is.

Three important statuses for your page an author needs to know

  • Page is checked out
    A user is editing the page, it needs to be submitted to workflow and released to publish changes
  • Page is waiting for release
    The page is waiting for approval or review and will not be published before this has happened
  • Page is released
    Page is good to go and will be published as it is in your Content Management System

Display the status using Render Tags

Since version 7.5 there is the RedDot CMS API also known as RenderTags.
It is a .NET based notation to address the property map of your content pages.

A simple RedDot tutorial snippet in PHP to display the page status:

<?php
   $state = '';
   $tmp = trim(strtolower('<%!! Context:CurrentPage.State !!%>'));
   if ($tmp == 'checkedout') $state = 'Status: checked out';
   if ($tmp == 'waitingforrelease') $state = 'Status: waiting for release';
   echo $state;
?>

The important line to access the RedDot RenderTags API for the page status is this one:

  <%!! Context:CurrentPage.State !!%>

Place it somewhere in your CMS page to display the current status of the page or ablock of content within your CMS page. Make sure you use the IoRangeRedDotModeOnly to ensure this information doesn’t get published.

A complete example to return the status as a string

 <!IoRangeRedDotMode>
  <%!! Context:CurrentPage.State !!%>
 <!/IoRangeRedDotMode>

Using the .NET based RedDot CMS API there is no need for RedDot Query Language (RQL) to determine the page status anymore. This makes the page load faster and your authors hopefully a lot happier.

Special credits

go to Michael Phillipp from the Karlsruhe Institute of Technology, Germany

Share and Enjoy:
  • Print
  • email
  • Twitter
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • MisterWong
  • Facebook
  • LinkedIn

No related posts.

About the author:

Markus Giesen Markus Giesen is a Solutions Architect and RedDot CMS Consultant, formerly based in Germany. Travelling around the world to find and offer solutions for a better world (in a very web based meaning). He just found a way to do this as part of a Melbourne based online consultant house. On this blog Markus shares his personal (not his employers) thoughts and opinions on CMS and web development. In his spare time you will find him reading, snowboarding or travelling. Also, you should follow him on Twitter!

Discussion

10 comments for “An undocumented RenderTag to enhance your RedDot CMS usability”

  1. How do you improve usability in your projects?

    Posted by Markus Giesen | February 10, 2011, 4:42 am
  2. That is very cool! (In a RedDot tragic kind of way)

    Posted by morgan ritchings | February 10, 2011, 5:24 am
  3. gotta love those undocumented render tags!!!

    always a pain to get the status of page via RQL – specially since it would return a bit value

    nice one Michael and Stefan!

    Posted by Kim Dezen | February 10, 2011, 8:52 am
  4. Love the phone call intro. This is great Render Tag API code.
    thanks.
    Jamie

    Posted by Jamie | February 10, 2011, 3:36 pm
  5. Neat trick for special usability cases. However, it is undocumented so it might go the away of the islink=2, islink=10 hack since the jump from CMS 7.5 to 9 or 10.

    When possible, I try to avoid as much extra rendering as possible in SmartEdit, since page load time tend to be the #1 user concern over the years for me (10 smartedit concurrent access = 10 extra rendering). I usually go around this usability issue by training the users to right click, see if page can be submitted to workflow or be released.

    Posted by Jian Huang | February 10, 2011, 3:57 pm
  6. I didn’t realise islink=2 hack was broken in v10 (it’s still working in v9).
    Is there a new workaround being used?

    Posted by RustyLogic | February 15, 2011, 1:13 pm
  7. S’ok found it :)
    “<%!! Context:Pages.GetPage(Guid:).GetUrl() !!%>

    Posted by RustyLogic | February 17, 2011, 12:12 pm
  8. Hi.

    I would like to ask if there is a render tag for getting the value of a standard or text field in other language/s.

    I found this:
    Context:CurrentPage.Elements.GetElement(txt_body).Value

    but it only gets the value of the element in the active language. I’m not sure if there is something I can add to call a certain language variant.

    Thanks.

    Dennis

    Posted by Dennis | February 18, 2011, 11:57 am
  9. Here’s a javascript equivalent using the v10 workflow icons… i’d suggest wrapping this up in a function and placing it directly to the right (or even left) of your open reddot tag for any author facing templates.

    switch(”")
    {
    case “CheckedOut”:
    document.write(”);
    break;
    case “WaitingForRelease”:
    document.write(”);
    break;
    case “Released”:
    document.write(”);
    break;
    }

    Posted by Morgan Ritchings | September 14, 2011, 1:50 am
  10. argh… stupid comment/spam cleaner… to see the code do a search for my post on google groups called “Page Status – Javascript snippet”

    Posted by Morgan Ritchings | September 14, 2011, 2:03 am

Post a comment



Stay up to date! - Get notified about followup comments

If you don't feel the urge to comment but wish to stay in the loop:
Just enter your email and subscribe to new comments.

Subscribe without commenting

Recent Tweets

  • RT @AirKraft: Transport Canada breakout: they manage 80K pages and 300K assets with WSM(RedDot). Wow! #OTCW 2010-11-11
  • The RedDot usergroup session 'Future of WCM' is in National Harbor 7, now. See you there! #otcw 2010-11-11
  • RT @yttergren: @AirKraft: Calling all WSM(RedDot) devs: share your solutions on http://bit.ly/bgPIof EVERY solution can win an iPad #OTCW 2010-11-10
  • Come to the Solution Exchange session. Enhance your (#reddot) CMS project! Chesapeake 12, 3:20pm #otcw Looking forward to see you there! 2010-11-10
  • More updates...