XML-RPC.ComUserLand
    Simple cross-platform distributed computing, based on the standards of the Internet.



Spec

Mail List

Directory

C/C++

RSS

OPML

XML

Dave



Manila-RPC interface

What is Manila? 

Manila is an "Internet server application that allows groups of writers, designers and graphics people to manage full-featured, high performance web sites thru an easy-to-use browser interface."

Behind the scenes 

In addition to its HTML interface, Manila has a SOAP and an XML-RPC interface, much as Mac and Windows applications have scripting interfaces thru Apple Events and COM. This document describes the RPC interface for Manila. Though SOAP and XML-RPC are different protocols, the interface is the same for both.

Why have a scripting interface? 

A browser-based interface is wonderful, but sometimes when you're editing a long story, specification or agreement, you need a better editor than the one built into web browsers. This interface allows developers of text editing software to enable writers to edit text in a Manila site as easily as they edit text within a web browser.

UserLand is developing an application called Radio UserLand that fills this role.

And, because the interface is open, any editor from any developer, from simple text editors such as Notepad, SimpleText and emacs all the way to Word and Dreamweaver, and graphics programs such as Photoshop, can be adapted to plug into Manila sites with the same level of convenience and power.

What is Pike? 

In this document you'll see references to "Pike". It was the codename for Radio when it was in early development. We didn't change the spec because other developers might be saying their interfaces are Pike-compatible, as we suggest in the spec, and we didn't want to cause breakage.

In progress 

This specification, part of the development process of Pike, is still evolving. The interfaces you see here will be maintained, but we're adding new interfaces as we develop more functionality on the workstation side.

It was last updated 11/16/00 to add new handlers which are used to manipulate new templates, to get information about editors and members, and to get additional information about discussion group messages.

Simon Fell wrote a WSDL file that describes the Manila-RPC interface for SOAP. Thanks!

There are also two new handlers which were added for SOAP support. One gets a table of all the shortcuts in a site, and the other gets a table of all of the editors of a site. Other changes are listed below.

03/09/01: Added two new handlers. One gets the site's editorial outline without base64 encoding the opml text, and the other sets the editorial outline taking plain text (non-base64-encoded) opml as an input parameter.

04/24/00: Added two new handlers. One gets the current content of a home page; the other takes a URL and returns a siteName, suitable for use in calling other Manila RPC handlers.

03/23/00: Now supports sending rendering information from server to client and from client to server.

02/12/00: Supports custody; the checkIn handlers were added.

As functionality of Manila grows, we expect this specification to evolve, much as the scripting interfaces of Macintosh applications grew as new versions of the software were released.

Our goal in releasing this specification is to encourage developers of desktop editing tools to explore Internet-enabled content applications.

How to learn more about Manila 

This specification may not make much sense if you haven't used Manila to do website development.

Fortunately, it's very easy to learn how to use Manila. Visit UserLand's ManilaSites.Com website and create your own Manila site. It takes a few minutes to set up your site.

All Manila sites support the interfaces described on this page.

Two levels 

The interface is presented in two levels:

1. Basic level -- If a server implements this level of functionality it can work with Pike exactly as Manila does. This level is also called "Pike-compatible."

2. Advanced level -- If a server implements this level of functionality in addition to Basic level, it will be compatible with all scripts written that build on Manila. "Manila-compatible."

Terminology 

Most RPC calls take, as their first two parameters, a username and password which identify a member of a site. In Manila, the username is an email address, though that's an implementation detail not mandated by the spec.

Members have different editorial privileges. In Manila, the Managing Editor has complete control, Contributing Editors can create new stories and upload pictures, and members who aren't editors have variable permissions, depending on the configuration of the site.

Access permissions for these roles are enforced by the server. If an operation is attempted that the user does not have permission for, the server should return a fault, according to the XML-RPC spec.

siteName, a string, is a unique identifier for a site on a server. In Manila, these names are stored at config.manila.sites. How these names are generated, what they look like, and how they are stored is an implementation detail, determined by the server.

The basic unit of content is a message. Stories, pictures, and home pages are messages that have been marked as such. In Manila, messages are stored in the discussion group, but that's an implementation detail that need not be true for every content management system (CMS) that implements this interface.

Every message is identified by a msgNum, unique in the space of the site it's in. Though this is a number in Manila, the msgNum is transmitted as a string, and can be any unique identifier.

The windowInfoTable parameter to most of the set handlers is a struct containing information about a window. This struct contains six elements:

  • height: the height in pixels of the window.
  • width: the width in pixels of the window.
  • top: the relative position of the top of the window, in pixels.
  • left: the relative position of the left side of the window, in pixels.
  • scrollLine: the line number of the first visible line at the top of the window.
  • expansionState: a list of line numbers. Each number is the number of a line that is expanded.

The rendererInfo struct, a parameter to manila.message.create and manila.message.set, is a struct that specifies the name of the renderer to use on the message contents. (A renderer is code that generates HTML from text.)

The rendererInfo struct has two items:

  • name: a string, the name of the renderer to pass the message contents through.
  • flRenderOnEntry: a boolean. If true, then the message contents are passed through the renderer when the message is saved, as opposed to passing through the renderer at request time.

Most of the get handlers -- manila.css.get, manila.message.get, manila.template.get and similar -- return a struct containing two items:

  • body: the actual text of the item, a string.
  • windowInfoTable: a window info struct describing the state of the window.

Calling Manila RPC handlers using SOAP 

If you are calling Manila RPC handlers using SOAP, the SOAPAction header always begins with "/manila". For example, the SOAPAction header for manila.homepage.addToHomePage is SOAPAction: "/manila/homepage".

This corresponds to the actionURI parameter in the Frontier verb, soap.rpc.client, whose value in this example is /manila/homepage.

The SOAP-RPC method is encoded as an XML struct inside <SOAP-ENV:Body> in the SOAP-RPC request. For example, the input parameters for the manila.homepage.addToHomePage handler are encoded in the XML struct <addToHomePage> ... </addToHomePage>.

This corresponds to the methodName parameter in the Frontier verb, soap.rpc.client, whose value in this example is addToHomePage.

SOAP calls should be made to the same domain as the domain that serves your Manila site. If your site is served statically, then SOAP calls should be made to the domain which serves the dynamic version of the site.

Basic level -- "Pike-compatible" 

To implement compatibility with Pike, UserLand's web outliner, a CMS must implement all of manila.css, manila.customPrefs, manila.editorialOutline, manila.editors, manila.javaScript, manila.joinNowMembersBox, manila.navigation, manila.newsDayTemplate, manila.newsItemTemplate, manila.signOutMembersBox, manila.siteStructure, manila.template and manila.utilities.

A content management system must also implement a subset of manila.message and manila.homepage.

The following interfaces will be deprecated in the future, though they are still in wide use at the present time, and will continue to be supported by UserLand: manila.css, manila.customPrefs, manila.javaScript, manila.joinNowMembersBox, manila.navigation, manila.newsDayTemplate, manila.newsItemTemplate, manila.signOutMembersBox, manila.siteStructure and manila.template.

The preferred interface will be the manila.advancedPref interfaces.

css 

Get, set, check-in, and restore-to-default the cascading style sheet text for a site.
  • manila.css.checkIn (username, password, siteName)
    Release custody of the cascading style sheet. The member must be a managing editor.

  • manila.css.get (username, password, siteName)
    Get the cascading style sheet for a site, its text and window information. The member must be a managing editor.

  • manila.css.restoreDefault (username, password, siteName)
    Restore the cascading style sheet for a site to the default. The member must be a managing editor.

  • manila.css.set (username, password, siteName, s, windowInfoTable)
    Set the cascading style sheet for a site to s. The member must be a managing editor.

customPrefs 

Get, set, check-in, and restore-to-default the custom prefs XML text for a site.
  • manila.customPrefs.checkIn (username, password, siteName)
    Release custody of the custom prefs. The member must be a managing editor.

  • manila.customPrefs.get (username, password, siteName)
    Get the custom prefs XML text for a site. The member must be a managing editor.

  • manila.customPrefs.restoreDefault (username, password, siteName)
    Restore the custom prefs XML text for a site to the default. The member must be a managing editor.

  • manila.customPrefs.set (username, password, siteName, s, windowInfoTable)
    Set the custom prefs XML text for a site to s. The member must be a managing editor.

editorialOutline 

Get, set and check-in the editorial outline for a site.
  • manila.editorialOutline.checkIn (siteName, username, password)
    Release custody of the editorial outline. The member must be a managing editor.

  • manila.editorialOutline.get (siteName, username, password)
    Get the the site's editorial outline. Returns a struct containing flCheckedOut, editorialRole, flAcceptsOpml, and siteOutline, which is the site's editorial outline as base64 encoded opml document. username and password must identify a user with read access to message storage.

  • manila.editorialOutline.set (siteName, username, password, binaryOpmlText)
    Set the site's editorial outline. username and password must identify a managing editor of the site. binaryOpmlText is the site's editorial outline as a base64 encoded opml document.

editors 

Get the editors of a site, and get stories for a given editor.
  • manila.editors.get (siteName, role, username, password)
    Get info about editors in a given role. username and password must identify an editor of the site. role is a string with a value of either managingEditors or contributingEditors. This handler is deprecated since it is not SOAP compatible. Use manila.editors.getTable instead.

  • manila.editors.getStoriesHeaders (siteName, editorEmail, username, password)
    Returns a struct containing header information for all stories by a given editor. username and password must identify a person with read access to the site's discussion group.

  • manila.editors.getTable (siteName, role, username, password)
    Get info about editors in a given role. username and password must identify an editor of the site. role is a string with a value of either managingEditors or contributingEditors.

homepage 

Flip the site's homepage.
  • manila.homepage.flip (username, password, siteName)
    Flip the homepage of the site. username and password must identify a managing editor of the site.

  • manila.homepage.getMsgNum (username, password, siteName)
    Get the msgNum of the current home page. The member must be a managing editor.

javaScript 

Get, set, check-in, and restore-to-default the JavaScript text for a site.
  • manila.javaScript.checkIn (username, password, siteName)
    Release custody of the JavaScript. The member must be a managing editor.

  • manila.javaScript.get (username, password, siteName)
    Get the JavaScript for a site. The member must be a managing editor.

  • manila.javaScript.restoreDefault (username, password, siteName)
    Restore the JavaScript for a site to the default. The member must be a managing editor.

  • manila.javaScript.set (username, password, siteName, s, windowInfoTable)
    Set the JavaScript for a site to s. The member must be a managing editor.

joinNowMembersBox 

Get, set, check-in, and restore-to-default the join now members box template for a site.
  • manila.joinNowMembersBox.checkIn (username, password, siteName)
    Release custody of the join now members box. The member must be a managing editor.

  • manila.joinNowMembersBox.get (username, password, siteName)
    Get the join now members box template for a site. The member must be a managing editor.

  • manila.joinNowMembersBox.restoreDefault (username, password, siteName)
    Restore the join now members box template for a site to the default. The member must be a managing editor.

  • manila.joinNowMembersBox.set (username, password, siteName, s, windowInfoTable)
    Set the join now members box template for a site to s. The member must be a managing editor.

member 

Get the role of a member of a site.
  • manila.member.getRole (memberName, siteName)
    Return the role of this person: not a member, member, contributing editor, managing editor. The returned value is a code: 1 = managing editor, 2 = contributing editor, 3 = member, 4 = not a member.

message 

Mark and unmark messages as stories, save message content to the server, and get information about messages.
  • manila.message.calendar.getDaysInMonth (username, password, siteName, year, month)
    Get a struct containing all days in a given month, which contain messages. username and password must identify a user with read access to the discussion group.

  • manila.message.calendar.getFirstDate (username, password, siteName)
    Get the date of the first item in the message storage calendar. All members may access this information.

  • manila.message.calendar.getLastDate (username, password, siteName)
    Get the date of the last item in the message storage calendar. All members may access this information.

  • manila.message.calendar.getMonthsInYear (username, password, siteName, year)
    Get a struct containing all months in a given year, which contain messages. username and password must identify a user with read access to the discussion group.

  • manila.message.addToStoriesList (username, password, sitename, msgNum)
    Add the message identified by msgNum to the stories list. The member must be a managing editor.

  • manila.message.checkIn (username, password, siteName, msgNum)
    Release custody of a message. The member must have editorial privileges to set the text of this message.

  • manila.message.checkOut (username, password, siteName, msgNum)
    Take custody of a message. The member must have editorial privileges to set the text of this message.

  • manila.message.create (username, password, sitename, subject, body, bodyType, inResponseTo, windowInfo, rendererInfo)
    Create a new message with a subject, body, and bodyType. bodyType may be text/plain, text/x-outline-tabbed, or text/x-opml. windowInfo is a struct describing the state of the window; rendererInfo is a struct specifying which renderer to flow the content through. If windowInfo is 0, and the body type is text/x-opml, the server will use the window information that's in the OPML document. If the rendererInfo is 0, the default renderer on the server is used.

  • manila.message.isStory (username, password, sitename, msgNum)
    Determine if the message identified by msgNum is in the stories list. The member must be a managing editor.

  • manila.message.removeFromStoriesList (username, password, siteName, msgNum)
    Remove the message identified by msgNum from the stories list. The member must be a managing editor.

  • manila.message.getCurrentHeaders (siteName, username, password)
    Return a struct containing the message headers for the current day, the same messages you would see on a site's /discuss/ page. The member must have read access to the disucssion group for the site.

  • manila.message.getCurrentThreads (siteName, username, password)
    Return a struct containing the message headers for the most recent top-level messages. The member must have read access to the disucssion group for the site.

  • manila.message.getHeaders (siteName, username, password, d)
    Return a struct containing the message headers for a given day. The member must have read access to the disucssion group for the site.

  • manila.message.getResponsesHeaders (siteName, username, password, msgnum)
    Return a struct containing the message headers for messages which are responses to the given message. The member must have read access to the disucssion group for the site.

  • manila.message.getStoriesHeaders (siteName, username, password)
    Return a struct containing the message headers for the stories list, the same messages you would see on a site's /stories/ page. The member must have read access to the disucssion group for the site.

  • manila.message.set (username, password, sitename, msgnum, subject, body, bodyType, windowInfo, rendererInfo)
    Set the subject, body, and body type of a message. bodyType may be text/plain, text/x-outline-tabbed, or text/x-opml. windowInfo is a struct describing the state of the window; rendererInfo is a struct specifying which renderer to flow the contents through. The member must have editorial privileges to set the text of this message.

navigation 

Get, set, check-in, and restore-to-default the navigation XML text for a site.
  • manila.navigation.checkIn (username, password, siteName)
    Release custody of the navigation XML. The member must be a managing editor.

  • manila.navigation.get (username, password, siteName)
    Get the navigation XML text for a site. The member must be a managing editor.

  • manila.navigation.restoreDefault (username, password, siteName)
    Restore the navigation XML text for a site to the default. The member must be a managing editor.

  • manila.navigation.set (username, password, siteName, s, windowInfoTable)
    Set the navigation XML text for a site to s. The member must be a managing editor.

newsDayTemplate 

Get, set, check-in, and restore-to-default the news day template text for a site.
  • manila.newsDayTemplate.checkIn (username, password, siteName)
    Release custody of the news day template. The member must be a managing editor.

  • manila.newsDayTemplate.get (username, password, siteName)
    Get the newsDayTemplate for a site. The member must be a managing editor.

  • manila.newsDayTemplate.restoreDefault (username, password, siteName)
    Restore the newsDayTemplate for a site to the default. The member must be a managing editor.

  • manila.newsDayTemplate.set (username, password, siteName, s, windowInfoTable)
    Set the newsDayTemplate for a site to s. The member must be a managing editor.

newsItemTemplate 

Get, set, check-in, and restore-to-default the news item template text for a site.
  • manila.newsItemTemplate.checkIn (username, password, siteName)
    Release custody of the news item template. The member must be a managing editor.

  • manila.newsItemTemplate.get (username, password, siteName)
    Get the news item template for a site. The member must be a managing editor.

  • manila.newsItemTemplate.restoreDefault (username, password, siteName)
    Restore the news item template for a site to the default. The member must be a managing editor.

  • manila.newsItemTemplate.set (username, password, siteName, s, windowInfoTable)
    Set the news item template for a site to s. The member must be a managing editor.

signOutMembersBox 

Get, set, check-in, and restore-to-default the sign out members box template for a site.
  • manila.signOutMembersBox.checkIn (username, password, siteName)
    Release custody of the sign out members box. The member must be a managing editor.

  • manila.signOutMembersBox.get (username, password, siteName)
    Get the sign out members box template for a site. The member must be a managing editor.

  • manila.signOutMembersBox.restoreDefault (username, password, siteName)
    Restore the sign out members box template for a site to the default. The member must be a managing editor.

  • manila.signOutMembersBox.set (username, password, siteName, s, windowInfoTable)
    Set the sign out members box template for a site to s. The member must be a managing editor.

siteStructure 

Get, set, check-in, and restore-to-default the site structure XML text for a site.
  • manila.site structure.checkIn (username, password, siteName)
    Release custody of the site structure XML. The member must be a managing editor.

  • manila.siteStructure.get (username, password, siteName)
    Get the site structure XML text for a site. The member must be a managing editor.

  • manila.siteStructure.restoreDefault (username, password, siteName)
    Restore the site structure XML text for a site to the default. The member must be a managing editor.

  • manila.siteStructure.set (username, password, siteName, s, windowInfoTable)
    Set the site structure text for a site to s. The member must be a managing editor.

template 

Get, set, check-in, and restore-to-default the template text for a site.
  • manila.template.checkIn (username, password, siteName)
    Release custody of the template. The member must be a managing editor.

  • manila.template.get (username, password, siteName)
    Get the template for a site. The member must be a managing editor.

  • manila.template.restoreDefault (username, password, siteName)
    Restore the template for a site to the default. The member must be a managing editor.

  • manila.template.set (username, password, siteName, s, windowInfoTable)
    Set the template for a site to s. The member must be a managing editor.

utilities 

  • manila.getSiteName (siteUrl)
    Given the URL of a site, this handler returns the siteName, suitable for using in other Manila RPC calls.

Advanced level -- "Manila-compatible" 

To implement full Manila compatibility, all the interfaces manila.homepage, manila.member, manila.shortcut, and manila.sitePref must be implemented. In addition, the remaining interfaces in manila.message that are not required for Pike compatibility are required to be Manila-compatible.

advancedPref 

Get, set, check-in, and restore-to-default an advanced pref for a site. The item name parameter is a string whose value must be one of the following: css, customPrefs, homepageTemplate, javaScript, joinNowMembersBox, navigation, newsDayTemplate, newsItemTemplate, signOutMembersBox, siteStructure, or template.
  • manila.advancedPref.checkIn (username, password, siteName, itemName)
    Release custody of an advanced pref item. The member must be a managing editor. Returns true.

  • manila.advancedPref.checkOut (username, password, siteName, itemName)
    Takes custody of an advanced pref item. The member must be a managing editor. Returns true if the object could be checked out, or false if not.

  • manila.advancedPref.get (username, password, siteName, itemName)
    Get an advanced pref item for a site, its text and window information. The member must be a managing editor.

  • manila.advancedPref.restoreDefault (username, password, siteName, itemName)
    Restore an advanced pref item for a site to the default. The member must be a managing editor. Returns true.

  • manila.advancedPref.set (username, password, siteName, itemName, s, windowInfoTable)
    Set an advanced pref item for a site to s. The member must be a managing editor.

editorialOutline 

Get, and set the editorial outline for a site.

  • manila.editorialOutline.getOutline (siteName, username, password)
    Get the the site's editorial outline. Returns a struct containing flCheckedOut, editorialRole, flAcceptsOpml, and siteOutline, which is the site's editorial outline as an opml document. username and password must identify a user with read access to message storage.

  • manila.editorialOutline.setOutline (siteName, username, password, opmlText)
    Set the site's editorial outline. username and password must identify a managing editor of the site. opmlText is the site's editorial outline as an opml document.

gems 

Get and set information about gems.
  • manila.gems.create (username, password, siteName, fileName, theData, mimeType, title)
    Create the gem identified by fileName. The member must have editorial access to view the Gems page. Manila will try to set the MIME type if you pass in an empty string value.

  • manila.gems.delete (username, password, siteName, fileName)
    Delete the gem identified by fileName. The member must have editorial access to view the Gems page.

  • manila.gems.getHeaders (siteName, ct, username, password)
    Return a struct containing the headers for the most recent gems in the site. The maximum number of headers returned is defined by ct.The member must have editorial access to view the Gems page.

homepage 

Get dates from the home page and get and set the msgNum of the current home page.

  • manila.homepage.calendar.getFirstDate (username, password, siteName)
    Get the date of the first item in the home page calendar. All members may access this information.

  • manila.homepage.calendar.getLastDate (username, password, siteName)
    Get the date of the last item in the home page calendar. All members may access this information.

  • manila.homepage.calendar.getNextDate (username, password, sitename, dt)
    Get the date of the next item in the home page calendar after dt. All members may access this information.

  • manila.homepage.calendar.getOneDay (username, password, sitename, dt)
    Get the msgNum of the home page for the day specified by dt. All members may access this information.

  • manila.homepage.calendar.getPrevDate (username, password, sitename, dt)
    Get the date of the item in the home page calendar previous to dt. All members may access this information.

  • manila.homePage.addToHomePage (username, password, siteUrl, text)
    Add some text to the top of the home page. username and password must identify a managing editor of the site.

  • manila.homePage.getCurrentContent (siteName)
    Get the current contents of the home page. If the site is an editors only site, a fault is returned.

  • manila.homepage.setMsgNum (username, password, siteName, msgNum)
    Make the message identified by msgNum the current home page. The member must be a managing editor.

  • manila.homepage.setMultiple (username, password, siteName, dateList, homePageTextList)
    Sets the text for multiple home pages, using a single RPC call. dateList is a list of home page dates to set, and homePageTextList is a list of strings which the home pages will be set to. The text for a given date is in the same ordinal position in homePageTextList as the date in dateList. The member specified by username and password must be a managing editor.

homepageTemplate 

Get, set, check-in, and restore-to-default the homepage template text for a site.

These interfaces will be deprecated in the future, though they are still in wide use at the present time, and will continue to be supported by UserLand. The preferred interface will be the manila.advancedPref interfaces.
  • manila.homepageTemplate.checkIn (username, password, siteName)
    Release custody of the homepage template. The member must be a managing editor.

  • manila.homepageTemplate.get (username, password, siteName)
    Get the homepage template for a site. The member must be a managing editor.

  • manila.homepageTemplate.restoreDefault (username, password, siteName)
    Restore the homepage template for a site to the default. The member must be a managing editor.

  • manila.homepageTemplate.set (username, password, siteName, s, windowInfoTable)
    Set the homepage template for a site to s. The member must be a managing editor.

member 

Block, unblock, create, count, and list members of a site.
  • manila.member.block (username, password, siteName, memberKey)
    Block the member whose key is memberKey. username and password must identify a managing editor of the site.

  • manila.member.count (username, password, siteName)
    Count the number of members of a site. username and password must identify a managing editor of the site.

  • manila.member.create (username, password, siteName, memberKey, memberName, memberPassword)
    Create a new member with key memberKey, whose name is memberName, and whose password is memberPassword. username and password must identify a managing editor of the site.

  • manila.member.listAll (username, password, siteName)
    List all members of a site. Returns a struct. username and password must identify a managing editor of the site.

  • manila.member.unblock (username, password, siteName, memberKey)
    Unblock the member whose key is memberKey. username and password must identify a managing editor of the site.

message 

Get and set information about messages.
  • manila.message.calendar.getNextDate (username, password, sitename, dt)
    Get the date of the next item in the message storage calendar after dt. All members may access this information.

  • manila.message.calendar.getOneDay (username, password, sitename, dt)
    Get the msgNums of the messages for the day specified by dt. Returns a struct. All members may access this information.

  • manila.message.calendar.getPrevDate (username, password, sitename, dt)
    Get the date of the item in the message storage calendar previous to dt. All members may access this information.

  • manila.message.addToPicturesList (username, password, sitename, msgNum)
    Add the message identified by msgNum to the pictures list. The member must be a managing editor.

  • manila.message.attachEnclosure (username, password, sitename, msgnum, enclosureType, enclosureBits, enclosureAddress)
    Attach an enclosure to the message identified by msgNum. enclosureType is a MIME type, enclosureBits is the data, and enclosureAddress is a Frontier object database address. The member identified by username must have editorial permission for the specified message.

  • manila.message.attachEnclosureUrl (username, password, siteName, msgNum, url, length, type)
    Attach an enclosure to the message identified by msgNum. type is a MIME type, url is the URL of the enclosure, and length is the size of the file. The member identified by username must have editorial permission for the specified message.
    If length or MIME type is passed in empty, then we get the headers from the server where the file lives.

  • manila.message.attachPicture (username, password, sitename, msgNum, mimeType, pictureBits)
    Attach picture data to the message identified by msgNum. mimeType is the type of the picture, pictureBits is the data. The member identified by username must have editorial permission for the specified message.

  • manila.message.count (username, password, siteName)
    Count the number of messages in message storage. The member must be a managing editor.

  • manila.message.countPictures (username, password, siteName)
    Count the number of pictures in a site. The member must be a managing editor.

  • manila.message.countStories (username, password, siteName)
    Count the number of stories in a site. The member must be a managing editor.

  • manila.message.delete (username, password, sitename, msgNum)
    Delete the message identified by msgNum. The member must be a managing editor.

  • manila.message.get (username, password, sitename, msgNum)
    Get the the message identified by msgNum. Returns a struct containing subject, body, member, URL, and a rendererInfo struct specifying the current renderer for this message. username and password must identify a user with read access to message storage.

  • manila.message.getPicturesHeaders (siteName, username, password)
    Return a struct containing the message headers for the pictures list, the same messages you would see on a site's /pictures/ page. The member must have read access to the disucssion group for the site.

  • manila.message.getStats (username, password, siteName)
    Get the read counts for messages in message storage. The member must be a managing editor. Returns a struct containing msgNums and read counts.

  • manila.message.isHomePage (username, password, sitename, msgNum)
    Determine if the message identified by msgNum is or was a home page. The member must be a managing editor.

  • manila.message.isPicture (username, password, siteName, msgNum)
    Determine if the message identified by msgNum is in the pictures list. The member must be a managing editor.

  • manila.message.listPictures (username, password, siteName)
    List all the messages that are in the pictures list. username and password must identify a member of the site. Each item is a list, identified by the msgNum, containing the title and author.

  • manila.message.listStories (username, password, siteName)
    List all the messages that have been marked as stories. username and password must identify a member of the site. Each item is a list, identified by the msgNum, containing the title and author.

  • manila.message.listTopics (username, password, siteName)
    For threaded message storage systems, such as Manila, this returns the list of top-level items. The member must have read access to message storage. Returns a struct for each topic containing the title and author of the original post in each topic.

  • manila.message.openWithUrl (username, password, url)
    Get a struct via a message URL, which contains storyInfo and siteInfo. storyInfo contains subject, body, member, URL, and a rendererInfo struct specifying the current renderer for this message. siteInfo contains host, port, rpcPath, siteName, displaySiteName, url, username and password. The sitename and msgNum aren't known by the caller. This mirrors the manilaSuite.rpcHandlers.homePage.getCurrentContent handler.

  • manila.message.removeFromPicturesList (username, password, siteName, msgNum)
    Remove the message identified by msgNum from the pictures list. The member must be a managing editor.

  • manila.message.undelete (username, password, siteName, msgNum)
    Restore a message identified by msgNum that was previously deleted. The member must be a managing editor.

newsItem 

Create and edit news items. News items are specific to Manila sites which have news items enabled (via the Prefs->News Items page). A news items site consists of a collection of short pieces of text (descriptions), each of which may have associated with it, a title, a URL, and a department.
  • manila.newsItem.create (username, password, siteName, title, url, description, department, flPostToHomePage=false)
    Create a new news item, and possibly post it to the home page. The user must have permission to create news items, or have permission to post news items to the home page, if flPostToHomepage is true.
    Returns the message number of the message which contains the news item.

  • manila.newsItem.edit (username, password, sitename, msgnum, title, url, description, department, flPostToHomePage)
    Set the specified data elements of a news item. The user must have permission to edit the news item specified by msgnum.
    Input parameters whose value is the empty string do not cause any change in the corresponding data in the news item.
    Returns true.

shortcut 

Get and set shortcuts, delete them, list them. Shortcuts are items that, when surrounded by double quotes, are replaced at render time by a link, a picture, or some other text.
  • manila.shortcut.delete (username, password, siteName, shortcutName)
    Delete the shortcut whose name is shortcutName. The member must be a managing editor.

  • manila.shortcut.get (username, password, siteName, shortcutName)
    Get the contents of a shortcut. The member must be an editor of the site.

  • manila.shortcut.getTable (username, password, siteName)
    Get all shortcuts in a site. Returns a struct. The member must be an editor of the site.

  • manila.shortcut.listAll (username, password, siteName)
    List all shortcuts in a site. Returns a struct. The member must be an editor of the site. This handler is deprecated since it is not SOAP compatible. Use manila.shortcut.getTable instead.

  • manila.shortcut.set (username, password, siteName, shortcutName, shortcutData)
    Set the contents of the shortcut named shortcutName to shortcutDate. The member must be a managing editor of the site.

sitePref 

Get and set individual preferences for a site.
  • manila.sitePref.get (username, password, siteName, prefName)
    Get the site preference whose name is prefName. The member must be a managing editor.

  • manila.sitePref.set (username, password, siteName, prefName, prefData)
    Set the site preference whose name is prefName to the contents of prefData. The member must be a managing editor.

© Copyright 2004-2011 Scripting News, Inc.
© Copyright 1998-2004 UserLand Software, Inc.
XML-RPC is a trademark of UserLand Software, Inc.
Posted: 1/18/00; 4:56:43 PM Pacific.

Create your own Manila site in minutes. Everyone's doing it!