OpenForum Server — What it offers

OpenForum is a browser‑editable web application server: like a wiki that can also host and run web services. Authorized editors work entirely in the browser, creating content and server endpoints without restarting the server. It ships with an integrated web server and authentication, supports real‑time + static content, and can integrate with databases/REST/XML. Pages are hierarchical and inherit templates. See Introduction and Architecture.


1) Core idea & page architecture

Each page is a folder with well‑known files that define its content and behavior.

Useful background: Architecture.


2) Special “system” pages & built‑ins


3) Editing experience

The Content Editor is a two‑pane, block‑based editor focused on content pages (text/images). Left: overview + pages + image library. Right: sectioned WYSIWYG editing with add/move controls. You can drag images from the library, use Preview (updates on save), then Publish to go live. You can also create new pages and choose a category. See Content Editor.

The Advanced Editor exposes an overview, editors, plugins, and actions (Editor).


4) Markup & templating


5) Client‑side JavaScript (OpenForum JS)

A built‑in JS library provides high‑level primitives: dependency management and DOM scanning/binding; file/storage APIs (load/save/append/list), JSON/AJAX helpers (`JSON.get/post`), an offline‑aware OFX layer, table helpers, UI utilities, async helpers, and inter‑tab collaboration (IntraQ). See Open Forum Javascript.


6) Server‑side JavaScript & Actions

Add a get.sjs or post.sjs file to a page to turn it into an API endpoint. Server‑side code can call helper services (transaction/wiki/file/js) and Java APIs. A rich catalog of reusable endpoints lives under /OpenForum/Actions(/OpenForum/Actions) (e.g., Save, SaveImage, GetAttachments, Rebuild, SystemTime, Copy/Move/Delete, Pages, Publish, Zip).

Example: save text to an attachment via the Save action
POST /OpenForum/Actions/Save Parameters: pageName, fileName, data
Example: save a canvas image via SaveImage from the browser
function saveCanvas(pageName,fileName,canvas){ var data = canvas.toDataURL().substring(22); var post = new Post(); post.addItem("data",data).addItem("fileName",fileName).addItem("pageName",pageName); JSON.post("/OpenForum/Actions/SaveImage","save",post.getData()).go(); }

More: Open Forum Server Side Javascript and Actions.


7) Graphics (Giraffe)

Giraffe is an integrated canvas graphics engine for 2D objects, animation and interaction.

OpenForum.includeScript("/OpenForum/Giraffe/giraffe.js"); var giraffeCanvas; OpenForum.init = function() { giraffeCanvas = Giraffe.quickStart("canvas"); giraffeCanvas.add(new Giraffe.Line(100,100,130,150)); };

See Giraffe for objects, animation, and interaction.


8) Deployment & operations


9) Standard JavaScript reference

Quick references to core JS objects (Array, Date, Global, JSON, String) are bundled under Standard Javascript.


TL;DR