Roxen (web server)

Source: Wikipedia, the free encyclopedia.
Roxen
Original author(s)Per Hedbor
Developer(s)Roxen Internet Software AB
Initial release1996; 28 years ago (1996)
Stable release
6.1.246-release5 / May 7, 2018; 6 years ago (2018-05-07)
Written in
GPL
Websitedownload.roxen.com

Roxen is a

uLPC or Pike. During its heyday, Roxen was used by large companies such as RealNetworks,[1] Granada Media,[2] Xmission[3] and MCI.[4][clarification needed
]

Roxen was in many aspects ahead of its time,[5] featuring a web-based Graphical user interface (GUI) administration interface,[6] loadable modules that could be written in several languages including Pike and later Java, dynamic content generation with a comprehensive caching system, replication systems for multi-headed servers, and an embedded SQL server for data-heavy server operations (as well as broad support for other databases).[7] Roxen was built to meet the needs of content creators.[8]

RXML

RXML (RoXen Macro Language

MVC pattern.[citation needed
]

Notable tags include:

  • <if>[10] for conditional content (as well as tags for else, case, for, etc.)
  • <tablify>[11] for automatically transforming data into pretty tables
  • <cache>[12] for controlling the caching of dynamic content to reduce page fetch times/server loading
  • <gbutton>[13] and <gtext>[14] image generation tags
  • <diagram>[15] for converting data into graphical charts/graphs
  • <emit>[16] for generating content based on LDAP, SQL or filesystem queries (its trivial to build your own photo gallery with thumbnails using Roxen)

Roxen modules typically provide their functionality by extending RXML.

All RXML tags contain inline documentation which is used to fill out the online manual that is included on both Roxen's documentation site[17] and with every default server installation.

RXML also provides a variable system; all variables exist within a domain or "scope", e.g. form fields passed to the query are accessible as form.fieldname, user defined variables are stored in the var scope. Unfortunately, in its attempt to explain the two methods of variable instantiation, the documentation confuses most people.

In most cases, variables are referred to by name, but it is also possible to instantiate (insert the value of) a variable anywhere, in- or outside of tags/markup, using an XML entity-style markup, e.g. &page.path;. Optionally, one can specify encoding/escaping of the instance, e.g. &form.username:mysql; to insert a user-submitted value from a form safely into an SQL database or &page.path:js; to make a variable javascript safe.

See also

References

  1. ^ NoCrew news [2008-02-03T17:03:05]
  2. ^ "Home".
  3. ^ "XMission : Support : Publishing". www.xmission.com. Archived from the original on 2005-01-14.
  4. ^ "Home".
  5. ^ Product Review: The Roxen Challenger Web Server
  6. ^ Install Roxen web server on centos
  7. ^ Roxen: How Much Is Too Much Functionality?
  8. ^ Roxen: How Much Is Too Much Functionality?
  9. ^ Roxen Concepts
  10. ^ If Tags
  11. ^ <tablify>
  12. ^ <cache>
  13. ^ <gbutton>
  14. ^ <gtext>
  15. ^ <diagram>
  16. ^ <emit>
  17. ^ Roxen's documentation site

Further reading