// you’re reading...


RQL in a nutshell

This is the first guest post by Manuel Schnitger, OpenText RQL guru, living and coding away in Germany.
You can find the original post here.

What is RQL?

RQL is the abbreviation of “RedDot Query Language”. RQL is the programming interface for the Open Text Management Server. Almost all actions that can be executed via the normal frontend (SmartTree, SmartEdit, Server Manager) can also be executed via the interface RQL. This result into the ability to write small (or even bigger) applications that does a specific job consisting of several steps automatically. Technically spoken it is a simple to understand request-response model.

Figure 1:CD cover of an old RQL workshop ;-)

Figure 1: CD cover of an old RQL workshop ;-)

History: Before RQL has been implemented as the interface for the application, all actions that lead to any communication with the project database were implemented as SQL statements. As the number of functions increased the number of different SQL statements increased accordingly.
When RedDot CMS 4.0 has been released in April 2001 RQL was now part of software and supported efficient development. The guys from R&D didn’t have to know each SQL statement any longer but could just use short RQL statements which were “translated” into SQL statements by the RQL object.

As RQL is not just used within the development department but can also be used by partners and customers, probably hundreds or thousands of applications have been created in the last ten years.

Basic F.A.Q.

Q: What skills do I need in order to create RQL applications?
A: If you do have basic programming knowledge and joined the basic training course for the Open Text Management Server then this should be enough ;-)

Q: Is there a specific programming language that I have to use?
A: No, technically spoken every programming language that has the ability to create objects can be used. So C#, ASP, PHP, JSP and many other languages can be used.

Q: Where can I use RQL?
A: You can create plugins that can be called via the normal front end in SmartTree, SmartEdit and in the Server Manager. Further more you can use RQL in the Template code and in external applications.

Q: What cannot be done with RQL?
A: Some functionality in the front end is implemented by using JavaScript and do not result into any communication with the database. As RQL is “just” implemented to communicate with the database, actions that do not require interaction with the database are not handled with RQL.

Getting started: Hello World!
Read more »

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

No related posts.


1 2 3 4

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!


5 comments for “RQL in a nutshell”

  1. On a note about performance, you should avoid using RQL in Pre-Execution. This adds too much overhead and things you can do in the templates should be executed with RDExecute instead just in SmartEdit. As well AJAX can be used to execute these further reducing page load times by splitting the RQL work from the normal SmartEdit page loads. Any questions on whether your instep with OT Services best practices reach out on Solution Exchange before you start writing.

    Posted by Tim Davis | February 1, 2011, 4:40 pm
  2. Thank you Manuel and Markus for this comprehensive guide!

    The Java developers might be interested in jRQL – an Open Source Java API to the CMS. See the benefits http://jrql.wordpress.com/jrql-api-benefits/

    Posted by Frank Leja | February 14, 2011, 11:47 am
  3. Hi,

    @Tim: I’ve just posted a new article regarding RQL and AJAX ;-) Thanks to the Service guys in N.Y.

    @Frank: Thanks! Good that you didn’t find mistakes ;-)

    Best regards,

    Posted by Manuel Schnitger | February 25, 2011, 7:14 pm
  4. Mistakes? I didn’t checked it in that detail.

    Posted by Frank | February 28, 2011, 9:48 am
  5. Hi Markus,
    Thanks for script you provided.
    I have tried to use same script and get result by adding fields –

    response.write Pagelist.objects(iCounter)(”changedate”) & “”
    response.write Pagelist.objects(iCounter)(”createdate”) & “”
    response.write Pagelist.objects(iCounter)(”releasedate”) & “”
    response.write Pagelist.objects(iCounter)(” createusername”) & “”
    response.write Pagelist.objects(iCounter)(” changeusername”) & “”
    response.write Pagelist.objects(iCounter)(” releaseguid”) & “”

    But i am not able to get details of date creation of page, when page was last changed, user who created page and user who last updated and released page.

    Please suggest any query for getting these details also.

    Posted by shivam | February 7, 2012, 8:54 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...