Skip to content

johanolofsson72/RXServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

RXServer

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.

What it does

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 in RXServer.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.

Tech stack

  • 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 .csproj format).
  • 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).

Project structure

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.

Getting started

These projects predate the dotnet CLI. To open them you need a Windows toolchain from the period:

  1. 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.sln or application/RXServer4/CMS.sln.
  2. Restore the third-party references. Some HintPath entries point at sibling bin/Debug folders 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.
  3. Create the database. For RXServer 2.0, run the Database1.sql through Database6.sql scripts in application/RXServer2.0/ against a MySQL server (the scripts create databases such as bayerwebsite). RXServer4 expects a MySQL database named rx4_crm — see the Data.ConnectionString app setting in application/RXServer4/web.config.
  4. Point the connection string in web.config at 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.

Status

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.

License

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".

About

Archived ASP.NET Web Forms (.NET Framework 2.0) multi-site, multilingual CMS in C# by Noisy Cricket AB, with page/module content, MySQL or XML-file storage, and group/role authorization. Source from the mid-2000s, published 2024.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors