Tips & Trix Blog

Generic fields component

2012-06-28, 18:22 by Jonas Wallden in RXML/XSLT

One little-known feature of Roxen CMS is that component-based pages can include components declared entirely in XML/XSLT without the need for a corresponding Pike module. This is ideal for parameters or settings that non-programmers should have easy access to.

The idea is that you place these components on an internal page that can be seen in the Insite Editor environment but that is hidden from external visitors, e.g. using the External Visibility property. The page can then be modified and published using familiar actions.

You will need Roxen CMS 5.0.443 or newer to find the necessary module, though older versions should run it just fine if you copy the Pike module.

Read the rest of this entry

Roxen Application Launcher for Linux

2012-03-26, 13:56 by Erik Allemann in HTML/CSS RXML/XSLT

Pontus Östlund over at Tekniska Verken has built and maintained an excellent Application Launcher for Linux for some time. Several developers at Roxen HQ make use of it regularly.

Check it out:

Multi-column layouts with Roxen and XSL

2008-10-21, 16:00 by Tobias Liin in RXML/XSLT

As a web developer working with Roxen, you often need to make components render in different columns on the site, which may seem difficult since there is no column concept in the component editor. You may also want page layouts to vary from page to page, on one page you might want to use the full width of the page to render the content, but on another page you want two columns where the content column is a bit smaller to make room for a right column. There are many different ways to accomplish this, and the best way to do it depends on the requirements.

One way to do it, that I like personally, is to use pre-defined variant intervals. This will allow the page layout to vary automatically with the type of component inserted on the page, without having to treat each component specifically or make any modifications to the main XSL code when adding new components.

Lets say you have a site with two different possible layouts, one or two columns. Some components are supposed to be used in any of the columns, some only in the left and some only in the right column. So you specify variant intervals:

  • variant 0-99: renders in left column
  • variant 100-199: renders in right column
  • variant >= 200: not supported (open for future changes)

Read the rest of this entry

Email verification in vform

2008-09-19, 15:29 by Erik Dahl in RXML/XSLT

How it works:

  • Verfies the email adress according to string patterns. Valid email string patterns could be of this format and probably many more:
    • Erik Dahl <>
    • Erik Dahl <"">
  • Verifies that the domain part of the email address has a MX record - meaning that the <vinput type="email"/> does a domain name look-up.
  • Domain name look-up can be disabled in the tag using the disable-domain-check="yes" attribute in the <vinput/> tag.

Code example:

  <vform method="post">
      <label for="e_mail">Email</label>
      <vinput type="email" name="email" id="e_mail">
         * Incorrect email address
      <input type="submit"/>
      <span style="color: green;">OK</span>


Read the rest of this entry

Feb 24, 2018


Pike (0)

Latest comments

Hm, seems the dot was added to URL. The Issues are located at:
Ok, thanks for the feedback Chris! If you have Github account you're welcome to report an issue at If not, I'll try fix it for the next release anyway. Cheers!
Excellent! Great work Pontus. I had to make a change to the in the po dir as it was pointing to: /home/poppa/src/ral2/install-sh
Good to know someone other than me is using it :)
My though with three separators is that you then can have full width content, then two column content, then full with content again. I guess with two separators the two column layout will have to stretch to the footer. But when I think about it its quite rare that you want e.g. 1 col width, 2 cols width, 1 col width. In those case it's probably easier to just hard code the column layout in the XML file ;)