RXServer is an ASP.NET (.NET Framework) content management system written in C# by Noisy Cricket AB. It runs multiple sites from one installation, with pages built from reusable content modules and a database-driven authorization model for users, groups, and roles. The source here is an archive of several generations of the engine, with the oldest files dating to 2005-2008 and the repository itself published in 2024.
This is old code. It targets the .NET Framework 2.0 era (Visual Studio 2005/2008 project files, ProductVersion 8.0.50727), uses Web Forms, and depends on third-party assemblies that are no longer current (Telerik RadUpload/RadEditor for .NET 2, MySQL Connector/Net 1.0.7). It is published as a record of the project, not as something you drop into a modern stack.
RXServer drives a database-backed CMS. The data model (see the Database*.sql files in application/RXServer2.0/) defines the core concepts:
- Sites (
sit_sites) — multiple websites served from one engine. - Pages (
pag_pages) — the page tree per site, with URL rewriting (RXServer.Web.UrlRewrite.cs). - Modules (
mod_modules,mde_moduledefinitions) — content blocks placed on pages. Implemented module types include articles and teaser images (RXServer.Web.Modules.Article.cs), lists (RXServer.Web.Modules.List.cs), a page-flip viewer (RXServer.Web.Modules.PageFlip.cs), and HTML mail (RXServer.Web.Modules.HtmlMail.cs). - Object data (
obd_objectdata) — a wide generic table (50 varchar columns) holding per-language content for module instances. - Languages (
lng_language) — content is keyed by language id, so a site can be multilingual. - Authorization — users, groups, roles (
usr_users,grp_groups,rol_roles) plus a set of join tables granting groups and roles access to sites, pages, modules, documents, and tasks (asg_*,asr_*,apg_*,apr_*,amg_*,amr_*,adg_*,adr_*,atg_*,atr_*). Authentication and login live inRXServer.Authentication.cs. - Documents (
doc_documents) — file/document records with their own group and role authorization.
Most rows carry the same audit and soft-delete columns (*_createddate, *_createdby, *_updateddate, *_updatedby, *_hidden, *_deleted, *_ts), so deletes are logical rather than physical.
Data access goes through a small in-house abstraction, iCDataHandler (iConsulting.iCDataHandler.iCDataObject). It wraps a connection and exposes GetDataSet/command execution over either MySQL or an XML-file "database" backend (XmlDbConnection), with optional connection-string encryption.
- C# on ASP.NET Web Forms (
.aspx, master pages, user controls, custom server controls). - .NET Framework 2.0 era — VS2005/2008 project and solution files (legacy MSBuild 2003
.csprojformat). - MySQL as the primary database (MySQL Connector/Net 1.0.x), with an alternative XML-file backend through
iCXmlDbClient. - Third-party assemblies: Telerik RadUpload / RadEditor (.NET 2),
ASPPainterNET,ImageQuantization,ICSharpCode.SharpZipLib. - NDoc2 (bundled under
application/NDoc2-Alpha3u/) for generating the API documentation (RXServer.chm).
The repository collects several versions and supporting tools side by side under application/:
| Path | What it is |
|---|---|
application/RXServer/ |
An early version of the engine (RXServer.cs, RXServer.Web.cs, RXServer.Library.cs). |
application/RXServer2.0/ |
The most complete version. Core library plus the web modules, menus, parsing, authorization, URL rewriting, and the MySQL schema (Database1-6.sql). |
application/RXServer3.0/ |
The RXServer.Web.CoreLib library and the start of a 3.0 core. |
application/RXServer4/ |
An ASP.NET Web Site project (CMS.sln, Default.aspx inheriting RXServer.Lib.RXBasePage, web.config) wired to a MySQL rx4_crm database. |
application/RXContentHolder/ |
A custom PlaceHolder-derived server control for named content panes. |
application/iCDataHandler/, application/iCDataHandler 2.0.6/ |
The data-access library (two versions), bundled with MySQL Connector/Net source. |
application/RSSReader/ |
A small RSS reader component. |
application/MiniWeb/ |
A standalone example/site (Swedish-language pages: Hem, Medlemmar, Länkar, Kontakta oss). |
application/NDoc2-Alpha3u/ |
The NDoc2 documentation generator used to build RXServer.chm. |
source/ |
Loose dependency assemblies (ASPPainterNET.dll, MySql.Data.dll). |
Note that compiled output (bin/, obj/), .suo files, and _sgbak SourceSafe backup files are checked in alongside the source — this is a working tree captured as-is, not a cleaned-up release.
These projects predate the dotnet CLI. To open them you need a Windows toolchain from the period:
- Open the solution for the version you want in Visual Studio 2008 (or later with the legacy project converter), for example
application/RXServer2.0/RXServer2.0.slnorapplication/RXServer4/CMS.sln. - Restore the third-party references. Some
HintPathentries point at siblingbin/Debugfolders and a..\..\Com\directory that is not part of this repository, so missing references (epicFlashControl, RadUpload, etc.) will need to be supplied before the projects build cleanly. - Create the database. For RXServer 2.0, run the
Database1.sqlthroughDatabase6.sqlscripts inapplication/RXServer2.0/against a MySQL server (the scripts create databases such asbayerwebsite). RXServer4 expects a MySQL database namedrx4_crm— see theData.ConnectionStringapp setting inapplication/RXServer4/web.config. - Point the connection string in
web.configat your MySQL instance and run the web project under IIS or the Visual Studio development server.
Expect to do legacy-platform work to get this running. The build was authored against MySQL 5.0 and ASP.NET 2.0, and several dependencies are .NET 2-only.
Archived. The engine was built and used in the mid-to-late 2000s; this repository is the source published in October 2024 as a single commit. It is not maintained, has no automated tests, and is not intended for new deployments. Treat it as a historical reference for how a multi-site, multilingual Web Forms CMS was put together at the time.
No project license file is included. The bundled MySQL Connector/Net source under application/iCDataHandler*/mysql-connector-net-1.0.6-noinstall/ carries its own COPYING (GPL) and is a third-party dependency, not part of RXServer's own code. Original RXServer code is Copyright Noisy Cricket AB; the AssemblyInfo files mark it "Copyright © 2007".