Open Forum Actions


Access

Get access permissions for a page

Get parameters
  • action = "getAccess"
  • pageName = Page name to get access permissions for
Get examples: // Simple URL /OpenForum/Actions/Access?action=getAccess&pageName=/OpenForum/Actions/Access // Using JSON.get JSON.get('/OpenForum/Actions/Access', 'getAccess', 'pageName=/OpenForum/Actions/Access') .onSuccess(function(result) { console.log('Access:', result); }).go();

Attach

Upload and attach a file to a page

Post parameters
  • page = Target page name
  • fileName = Name of the file being uploaded
  • (file data) = Multipart form data with file content
Post example: // Using FormData and fetch var formData = new FormData(); formData.append('file', fileInput.files[0]); formData.append('fileName', 'myfile.txt'); fetch('/OpenForum/Actions/Attach?page=/MyPage', { method: 'POST', body: formData }).then(response => response.json()) .then(result => console.log('Uploaded:', result));

AttachmentExists

Checks if an attachment exists on a page

Get parameters
  • pageName = Page name containing the attachment
  • fileName = Name of the attachment to check
Get examples: // Simple URL /OpenForum/Actions/AttachmentExists?pageName=/MyPage&fileName=file.txt // Using JSON.get JSON.get('/OpenForum/Actions/AttachmentExists', null, 'pageName=/MyPage&fileName=file.txt') .onSuccess(function(result) { console.log('Exists:', result); }).go();

Attachments

Get list of attachments for a page with optional metadata

Get parameters
  • pageName = Page name to list attachments from
  • matching = Optional filter pattern (regex)
  • metaData = Optional flag to include file size and timestamp
Get examples: // Simple URL /OpenForum/Actions/Attachments?pageName=/MyPage&matching=.*.txt // Using JSON.get with metadata JSON.get('/OpenForum/Actions/Attachments', null, 'pageName=/MyPage&metaData=true') .onSuccess(function(result) { console.log('Attachments:', result.attachments); console.log('Total size:', result.size); }).go();

CauseError

Throws a server-side JavaScript error to test error reporting

Post parameters
  • None
Post example: // Using JSON.post JSON.post('/OpenForum/Actions/CauseError', null, '') .onSuccess(function(result) { console.log('This should not succeed'); }) .onError(function(error) { console.log('Error caught:', error); }).go();

Copy

Copy a file attachment or entire page to another location

Get parameters
  • pageName = Source page name
  • newPageName = Destination page name (optional, defaults to pageName)
  • fileName = File to copy (optional - if not specified, copies entire page)
  • newFileName = Destination filename (optional, defaults to fileName)
  • returnType = Response type: "json" for JSON response, otherwise redirects to Editor
Get examples: // Simple URL /OpenForum/Actions/Copy?pageName=/Source&newPageName=/Destination&fileName=file.txt // Using JSON.get JSON.get('/OpenForum/Actions/Copy', null, 'pageName=/Source&newPageName=/Destination&fileName=file.txt&returnType=json') .onSuccess(function(result) { console.log('Copied:', result); }).go(); Post parameters (deprecated)
  • sourcePageName
  • newPageName
  • listPageName
Post example: // Using JSON.post JSON.post('/OpenForum/Actions/Copy', null, 'sourcePageName=/OldPage&newPageName=/NewPage') .onSuccess(function(result) { console.log('Copied!'); }).go();

CreateQueue

Creates a new queue with a unique name and returns the queue name

Get parameters
  • pageName = Any page name (required but not used)
Get examples: // Simple URL /OpenForum/Actions/CreateQueue?pageName=dummy // Using JSON.get JSON.get('/OpenForum/Actions/CreateQueue', null, 'pageName=dummy') .onSuccess(function(queueName) { console.log('Queue created:', queueName); }).go();

Delete

Deletes a page or file, moving it to /OpenForum/DeletedPages

Get parameters
  • pageName = Page name to delete (or page containing file if fileName is specified)
  • fileName = Optional file to delete (if omitted, entire page is deleted)
  • returnType = Response type: "json" for JSON response, otherwise redirects
Get examples: // Simple URL - delete a file /OpenForum/Actions/Delete?pageName=/MyPage&fileName=file.txt // Using JSON.get - delete a page JSON.get('/OpenForum/Actions/Delete', null, 'pageName=/MyPage&returnType=json') .onSuccess(function(result) { console.log('Deleted:', result); }).go();

ForkLink

Resolves a .link file by copying the linked resource to the page

Get parameters
  • pageName = Page containing the .link file
  • fileName = Name of the .link file to resolve
Get examples: // Simple URL /OpenForum/Actions/ForkLink?pageName=/MyPage&fileName=resource.txt.link // Using JSON.get JSON.get('/OpenForum/Actions/ForkLink', null, 'pageName=/MyPage&fileName=resource.txt.link') .onSuccess(function(result) { console.log('Forked:', result); }).go();

GetAttachments

Get attachments for a page with optional filtering

Get parameters
  • action = "getMatching" or "getAll"
  • pageName = Page name to get attachments from
  • matching = Regex expression to match files (required for "getMatching")
Get examples: // Simple URL - get matching files /OpenForum/Actions/GetAttachments?action=getMatching&pageName=/MyPage&matching=.*\.js$ // Using JSON.get - get all files JSON.get('/OpenForum/Actions/GetAttachments', 'getAll', 'pageName=/MyPage') .onSuccess(function(result) { console.log('Attachments:', result); }).go();

GetAuthentication

Returns the authentication string from HTTP headers for use by applets

Get parameters
  • pageName = Any page name (required but not used)
Get examples: // Simple URL /OpenForum/Actions/GetAuthentication?pageName=dummy // Using JSON.get JSON.get('/OpenForum/Actions/GetAuthentication', null, 'pageName=dummy') .onSuccess(function(authString) { console.log('Authentication:', authString); }).go();

GetInheritedFilePath

Returns the inherited path of a file, searching up the page hierarchy

Get parameters
  • pageName = Page name to start searching from
  • fileName = Name of the file to find the inherited path for
Get examples: // Simple URL /OpenForum/Actions/GetInheritedFilePath?pageName=/MyPage&fileName=page.js // Using JSON.get JSON.get('/OpenForum/Actions/GetInheritedFilePath', null, 'pageName=/MyPage&fileName=page.js') .onSuccess(function(path) { console.log('Inherited path:', path); }).go();

GetPageAsList

Returns a page as a JavaScript array of list entries

Get parameters
  • pageName = Page to read as a list
  • varName = Name of JavaScript array variable to return
Get examples: // Simple URL /OpenForum/Actions/GetPageAsList?pageName=/MyPage&varName=myList // Using JSON.get JSON.get('/OpenForum/Actions/GetPageAsList', null, 'pageName=/MyPage&varName=myList') .onSuccess(function(jsArray) { console.log('Array:', jsArray); eval(jsArray); // Creates myList variable }).go();

GetPagesList

Returns a comma-delimited list of all page names in the wiki

Get parameters
  • pageName = Any page name (required but not used)
Get examples: // Simple URL /OpenForum/Actions/GetPagesList?pageName=dummy // Using JSON.get JSON.get('/OpenForum/Actions/GetPagesList', null, 'pageName=dummy') .onSuccess(function(pageList) { var pages = pageList.split(','); console.log('Pages:', pages); }).go();

GetUser

Returns the current user's name

Get parameters
  • pageName = Any page name (required but not used)
Get examples: // Simple URL /OpenForum/Actions/GetUser?pageName=dummy // Using JSON.get JSON.get('/OpenForum/Actions/GetUser', null, 'pageName=dummy') .onSuccess(function(username) { console.log('Current user:', username); }).go();

History

Get history of file changes for a page

Get parameters
  • action = "list"
  • pageName = Page to get history for
  • fileName = Optional specific file to get history for
Get examples: // Simple URL - get all page history /OpenForum/Actions/History?action=list&pageName=/MyPage // Using JSON.get - get specific file history JSON.get('/OpenForum/Actions/History', 'list', 'pageName=/MyPage&fileName=page.js') .onSuccess(function(result) { console.log('History:', result.data); }).go();

Move

Move a file or entire page to a new location

Get parameters
  • pageName = Source page name
  • newPageName = Destination page name (optional, defaults to pageName)
  • fileName = File to move (optional - if not specified, moves entire page)
  • newFileName = Destination filename (optional, defaults to fileName)
  • returnType = Response type: "json" for JSON response, otherwise redirects to Editor
Get examples: // Simple URL - move a file /OpenForum/Actions/Move?pageName=/OldPage&newPageName=/NewPage&fileName=file.txt // Using JSON.get - move a page JSON.get('/OpenForum/Actions/Move', null, 'pageName=/OldPage&newPageName=/NewPage&returnType=json') .onSuccess(function(result) { console.log('Moved:', result); }).go();

PageExists

Checks if a page exists in the wiki

Get parameters
  • pageName = Page name to check
Get examples: // Simple URL /OpenForum/Actions/PageExists?pageName=/MyPage // Using JSON.get JSON.get('/OpenForum/Actions/PageExists', null, 'pageName=/MyPage') .onSuccess(function(exists) { console.log('Page exists:', exists); }).go();

Pages

Returns a JSON array of child page names for a given page

Get parameters
  • pageName = Parent page name to get children from
Get examples: // Simple URL /OpenForum/Actions/Pages?pageName=/OpenForum // Using JSON.get JSON.get('/OpenForum/Actions/Pages', null, 'pageName=/OpenForum') .onSuccess(function(pages) { var pageList = JSON.parse(pages); console.log('Child pages:', pageList); }).go();

Publish

Publishes a page to a remote OpenForum site

Get parameters
  • pageName = Page name to publish
  • newPageName = Destination page name on remote site
Get examples: // Simple URL /OpenForum/Actions/Publish?pageName=/MyPage&newPageName=/PublishedPage // Using JSON.get JSON.get('/OpenForum/Actions/Publish', null, 'pageName=/MyPage&newPageName=/PublishedPage') .onSuccess(function(result) { console.log('Published:', result); }).go();

RJSC

Remote JavaScript Call - executes server-side JavaScript code

Get parameters
  • code = JavaScript code to execute on the server
  • queueName = Optional queue name for output messages
Get examples: // Simple URL /OpenForum/Actions/RJSC?code=wiki.getDateTimeStamp(); // Using JSON.get JSON.get('/OpenForum/Actions/RJSC', null, 'code=wiki.getDateTimeStamp();') .onSuccess(function(result) { console.log('Result:', result); }).go();

Rebuild

Rebuilds all wiki pages from their source markup

Get parameters
  • pageName = Page name to return to after rebuild
Get examples: // Simple URL /OpenForum/Actions/Rebuild?pageName=/Home // Using JSON.get JSON.get('/OpenForum/Actions/Rebuild', null, 'pageName=/Home') .onSuccess(function(result) { console.log('Rebuild started:', result); }).go();

RefreshJarManager

Refreshes the JAR manager to reload Java libraries

Get parameters
  • pageName = Any page name (required but not used)
Get examples: // Simple URL /OpenForum/Actions/RefreshJarManager?pageName=dummy // Using JSON.get JSON.get('/OpenForum/Actions/RefreshJarManager', null, 'pageName=dummy') .onSuccess(function(result) { console.log('JAR manager refreshed:', result); }).go();

RefreshPage

Refreshes a page by regenerating HTML from its wiki markup

Get parameters
  • pageName = Page name to refresh
Get examples: // Simple URL /OpenForum/Actions/RefreshPage?pageName=/MyPage // Using JSON.get JSON.get('/OpenForum/Actions/RefreshPage', null, 'pageName=/MyPage') .onSuccess(function(result) { console.log('Page refreshed'); }).go();

RenderWikiData

Renders wiki markup data to HTML

Get parameters
  • pageName = Page context for rendering
  • data = Wiki markup data to render (optional if using sourcePageName/fileName)
  • sourcePageName = Source page containing file to render (optional)
  • fileName = File containing wiki markup to render (optional)
Get examples: // Simple URL - render inline data /OpenForum/Actions/RenderWikiData?pageName=/MyPage&data=!!Title // Using JSON.get - render from file JSON.get('/OpenForum/Actions/RenderWikiData', null, 'pageName=/MyPage&sourcePageName=/Source&fileName=content.wiki') .onSuccess(function(html) { console.log('Rendered HTML:', html); }).go();

Revert

Reverts a page to a specific historical version

Get parameters
  • pageName = Page name to revert
  • version = Version identifier to revert to
Get examples: // Simple URL /OpenForum/Actions/Revert?pageName=/MyPage&version=2022-11-17-07-32-56-0380 // Using JSON.get JSON.get('/OpenForum/Actions/Revert', null, 'pageName=/MyPage&version=2022-11-17-07-32-56-0380') .onSuccess(function(result) { console.log('Page reverted'); }).go();

Save

Saves text data as an attachment to a page

Post parameters
  • pageName = Page name to save attachment to
  • fileName = File name for the attachment
  • data = Text data to save in the attachment
Post example: // Using JSON.post JSON.post('/OpenForum/Actions/Save', null, 'pageName=/MyPage&fileName=notes.txt&data=' encodeURIComponent('My notes')) .onSuccess(function(result) { console.log('Saved!'); }).go();

SaveImage

Saves a base64-encoded image as an attachment

Post parameters
  • pageName = Page name to save image to
  • fileName = Image file name
  • data = Base64-encoded image data
Post example: // Using JSON.post with base64 image data JSON.post('/OpenForum/Actions/SaveImage', null, 'pageName=/MyPage&fileName=image.png&data=' base64ImageData) .onSuccess(function(result) { console.log('Image saved:', result); }).go();

SystemTime

Returns the current system time in milliseconds

Get parameters
  • action = "getTime"
Get examples: // Simple URL /OpenForum/Actions/SystemTime?action=getTime // Using JSON.get JSON.get('/OpenForum/Actions/SystemTime', 'getTime', '') .onSuccess(function(result) { console.log('System time:', result.time); }).go();

TestExample

Example action template for testing purposes

Get parameters
  • pageName = Any page name (required but not used)
Get examples: // Simple URL /OpenForum/Actions/TestExample?pageName=dummy // Using JSON.get JSON.get('/OpenForum/Actions/TestExample', null, 'pageName=dummy') .onSuccess(function(result) { console.log('Result:', result); }).go();

Update

Saves a page's wiki source and rebuilds the page

Post parameters
  • pageName = Page name to update
  • source = Wiki markup source content
  • tags = Page tags (comma-separated)
Post example: // Using JSON.post JSON.post('/OpenForum/Actions/Update', null, 'pageName=/MyPage&source=' encodeURIComponent('!!My Page\n\n((Content))') '&tags=documentation,wiki') .onSuccess(function(result) { console.log('Page updated'); }).go();

UpdateJarManager

Updates and refreshes the JAR manager to reload Java libraries

Get parameters
  • pageName = Any page name (required but not used)
Get examples: // Simple URL /OpenForum/Actions/UpdateJarManager?pageName=dummy // Using JSON.get JSON.get('/OpenForum/Actions/UpdateJarManager', null, 'pageName=dummy') .onSuccess(function(result) { console.log('JAR manager updated'); }).go();

User

Get current user information and profile

Get parameters
  • action = "getCurrentUser" or "getCurrentUserProfile"
  • currentPage = Current page (optional, for getCurrentUser)
  • referrer = Referrer URL (optional, for getCurrentUser)
  • userAgent = User agent string (optional, for getCurrentUser)
Get examples: // Simple URL - get current user /OpenForum/Actions/User?action=getCurrentUser // Using JSON.get - get user profile JSON.get('/OpenForum/Actions/User', 'getCurrentUserProfile', '') .onSuccess(function(result) { console.log('User profile:', result.data); }).go();

ValidatePageName

Validates a page name against wiki naming rules

Get parameters
  • pageName = Page name to validate
Get examples: // Simple URL /OpenForum/Actions/ValidatePageName?pageName=/MyPage // Using JSON.get JSON.get('/OpenForum/Actions/ValidatePageName', null, 'pageName=/MyNewPage') .onSuccess(function(isValid) { console.log('Page name valid:', isValid); }).go();

ViewFolder

Creates a page view of a folder showing its contents

Get parameters
  • pageName = Page name to view as a folder
Get examples: // Simple URL /OpenForum/Actions/ViewFolder?pageName=/OpenForum/Actions // Using JSON.get JSON.get('/OpenForum/Actions/ViewFolder', null, 'pageName=/MyFolder') .onSuccess(function(page) { console.log('Folder view:', page); }).go();

Zip

Zips or unzips a page and its attachments

Get parameters
  • action = "zip" or "unzip"
  • pageName = Page name to zip/unzip
  • fileName = File name to unzip (required for "unzip" action)
Get examples: // Simple URL - zip a page /OpenForum/Actions/Zip?action=zip&pageName=/MyPage // Using JSON.get - unzip a file JSON.get('/OpenForum/Actions/Zip', 'unzip', 'pageName=/MyPage&fileName=backup.zip') .onSuccess(function(result) { console.log('Unzipped:', result); }).go();