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();
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));
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();
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();
Throws a server-side JavaScript error to test error reporting
Post parameters
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 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();
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();
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();
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();
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();
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();
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();
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();
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();
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();
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 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();
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();
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();
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();
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();
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();
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();
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();
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();
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();
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();
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();
Returns the current system time in milliseconds
Get parameters
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();
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();
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();
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();
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();
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();
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();
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();