Changes between Version 46 and Version 47 of WebRpc


Ignore:
Timestamp:
May 25, 2010, 3:07:12 PM (14 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WebRpc

    v46 v47  
    33= Web Remote Procedure Calls (RPCs) =
    44
    5 BOINC projects export a number of Web RPCs for creating, querying and updating accounts and host records, and miscellaneous other purposes. These can be used for [AccountManagement account management systems] and credit statistics web sites.
     5BOINC projects export a number of Web RPCs for creating,
     6querying and updating accounts and host records,
     7and miscellaneous other purposes.
     8These can be used by [AccountManagement account management systems]
     9and credit statistics web sites.
    610
    711BOINC's RPC mechanisms have the following conventions:
     
    2832where N is a BOINC error number and xxx is a textual description. BOINC error numbers are in [source:trunk/boinc/lib/error_numbers.h lib/error_numbers.h]; common errors are:
    2933
    30  '''-1''': Generic error (error_string may have more info) [[BR]]
    31  '''-112''': Invalid XML (e.g., the preferences passed to am_set_info.php are invalid) [[BR]]
    32  '''-136''': Item not found in database (bad ID of any sort, or ID refers to an item not owned by the caller) [[BR]]
    33  '''-137''': Name is not unique. The EMail address or team name is already in use. [[BR]]
    34  '''-138''': Can't access database (treat same as -183) [[BR]]
    35  '''-161''': Item not found (deprecated; treat same as -136) [[BR]]
    36  '''-183''': Project is temporarily down [[BR]]
    37  '''-205''': Email address has invalid syntax [[BR]]
    38  '''-206''': Wrong password [[BR]]
    39  '''-207''': Non-unique email address (treat same as -137) [[BR]]
    40  '''-208''': Account creation disabled [[BR]]
    41  '''-209''': Attach failed. Perhaps due to invalid invitation code. [[BR]]
     34 '''-1''': Generic error (error_string may have more info)
     35
     36 '''-112''': Invalid XML (e.g., the preferences passed to am_set_info.php are invalid)
     37
     38 '''-136''': Item not found in database (bad ID of any sort, or ID refers to an item not owned by the caller)
     39
     40 '''-137''': Name is not unique. The EMail address or team name is already in use.
     41
     42 '''-138''': Can't access database (treat same as -183)
     43
     44 '''-161''': Item not found (deprecated; treat same as -136)
     45
     46 '''-183''': Project is temporarily down
     47
     48 '''-205''': Email address has invalid syntax
     49
     50 '''-206''': Wrong password
     51
     52 '''-207''': Non-unique email address (treat same as -137)
     53
     54 '''-208''': Account creation disabled
     55
     56 '''-209''': Attach failed. Perhaps due to invalid invitation code.
    4257----
    4358== Project configuration == #get_project_config
     59  '''action'''::
     60        Export project or account manager configuration info.
    4461 '''URL'''::
    4562        project_url/get_project_config.php
    4663 '''input'''::
    47         none. [[BR]]
     64        none.
    4865 '''examples'''::
    4966http://setiathome.berkeley.edu/get_project_config.php
    5067 '''output'''::
    51 
    52 The output comes from several sources. Must of it from the config.xml file, which is created by [MakeProject make_project], and in most cases you don't have to change it. Values are also obtained from the project database, and the trigger files that indicate when web and scheduler activity has been stopped.
    53 
    54 The document returned has this structure:
    5568
    5669{{{
     
    96109}}}
    97110
    98  '''The elements are'''::
    99         name: Project name
    100 
    101         master_url: Master URL
    102 
    103         local_revision: The SVN changeset number of the project's server software.
    104 
    105         web_stopped: Nonzero if the project's database is down, which means the data-driven web pages are turned off.
    106 
    107         account_creation_disabled: If present, this project is not allowing creation of new accounts
    108 
    109         min_passwd_length: Minimum password length (for new account creation)
    110 
    111         account_manager: If present, this is an account manager, not a BOINC project
    112 
    113         uses_username: If present, this project uses names (rather than email addresses) as the primary account identifier
    114 
    115         client_account_creation_disabled: If present, new accounts can be created only via the web (not via the client software).
    116 
    117         rpc_prefix: Prefix to use for web RPCs, instead of the master URL.
    118 
    119         error_num: The project is currently down. A BOINC error number is returned.
    120 
    121         platforms: A list of platforms for which the project has application versions.
    122 
    123         sched_stopped: Nonzero if the project's scheduler server is down, which means you can't get new work or report completed work.
    124 
    125         system_requirements: Hardware requirements for participating in this project. If a computer doesn't meet these requirements it may not get sent any work by the project. All requirements are 'net'; e.g. the CPU requirements are after factors like [ClientSched on-fraction, active-fraction], and resource share have been taken into consideration. NOT IMPLEMENTED YET. [[BR]]
    126 
     111 name:: Project name
     112 master_url:: Master URL
     113 local_revision:: The SVN changeset number of the project's server software.
     114 web_stopped:: Nonzero if the project's database is down, which means the data-driven web pages are turned off.
     115 account_creation_disabled:: If present, this project is not allowing creation of new accounts
     116 min_passwd_length:: Minimum password length (for new account creation)
     117 account_manager:: If present, this is an account manager, not a BOINC project
     118 uses_username:: If present, this project uses names (rather than email addresses) as the primary account identifier
     119 client_account_creation_disabled:: If present, new accounts can be created only via the web (not via the client software).
     120 rpc_prefix:: Prefix to use for web RPCs, instead of the master URL.
     121 error_num:: The project is currently down. A BOINC error number is returned.
     122 platforms:: A list of platforms for which the project has application versions.
     123 sched_stopped:: Nonzero if the project's scheduler server is down, which means you can't get new work or report completed work.
     124 system_requirements:: Hardware requirements for participating in this project. If a computer doesn't meet these requirements it may not get sent any work by the project. All requirements are 'net'; e.g. the CPU requirements are after factors like [ClientSched on-fraction, active-fraction], and resource share have been taken into consideration. NOT IMPLEMENTED YET. [[BR]]
     125
     126
     127----
     128== Server status == #server_status
    127129  '''action'''::
    128         Each BOINC project and account manager exports it's configuration via the get_project_config web RPC.
    129 
    130 ----
    131 == Server status == #server_status
     130    Get project status.
     131        Can be used used to make web sites showing the server status
     132        of multiple BOINC projects.
     133        Do not poll more often than 10 minutes.
    132134 '''URL'''::
    133135        project_url/server_status.php
    134136 '''input'''::
    135         [ xml: ]
    136  output formatting. 0=HTML, 1=XML. (default is 0 if not specified)   [[BR]] [[BR]]
     137        [ xml ] :: output formatting. 0=HTML (default), 1=XML.
    137138 '''examples'''::
    138139        http://lhcathome.cern.ch/lhcathome/server_status.php?xml=1
    139  '''output'''::
    140 
     140
     141 '''output'''::
    141142{{{
    142143<server_status>
     
    176177}}}
    177178
    178   '''action'''::
    179         XML export generally updated every 10 minutes or so - do not poll more often than that. Status is used to make web sites showing the server status of multiple BOINC projects.
    180179----
    181180== Create account == #create_account
    182 '''URL'''
    183 project_url/create_account.php
    184 
    185 '''input'''
    186 
    187 email_addr: email address.
    188 
    189 passwd_hash: The MD5 hash of the concatenation of the user's password and the lower case form of their EMail address. The user password itself is never sent on an RPC call for privacy.
    190 
    191 user_name: the user name.
    192 
    193 [ invite_code: ] Invitation code if project requires invitation to create accounts.
     181
     182 '''action'''::
     183
     184 Create an account.
     185 If the project already has an account with that email address,
     186 and a different password, it returns an error.
     187 If an account with that email address exists
     188 and has the same password, it returns the authenticator.
     189 Otherwise the project creates an account and returns the authenticator.
     190
     191 If <opaque_auth> is included in the reply,
     192 all subsequent RPCs that reference the account
     193 must supply the given string as well as the authenticator.
     194
     195 '''URL'''::
     196  project_url/create_account.php
     197
     198 '''input'''::
     199
     200 email_addr:: email address.
     201 passwd_hash:: The MD5 hash of the concatenation of the
     202  user's password and the lower case form of their EMail address.
     203  The user password itself is never sent in an RPC call.
     204 user_name:: the user name.
     205 [ invite_code ]:: Invitation code if project requires invitation to create accounts.
    194206
    195207'''example'''::
     
    204216</account_out>
    205217}}}
    206 
    207 '''action'''
    208 
    209 If the project already has an account with that email address, and a different password, it returns an error.
    210 If an account with that email address exists and has the same password, it returns the authenticator.
    211 Otherwise the project creates an account and returns the authenticator.
    212 
    213 If <opaque_auth> is included in the reply,
    214 all subsequent RPCs that reference the account must supply the given string
    215 as well as the authenticator.
    216 
    217218----
    218219== Look up account == #lookup_account
     220 '''action'''::
     221        If passwd_hash is given and is correct,
     222        the user's authentication string is returned.
     223        This authentication string is required for many of the other RPCs.
     224        If no account with the EMail address provided exists,
     225        an error is returned.
     226
     227  If <opaque_auth> is included in the reply,
     228  all subsequent RPCs that reference the account must supply the given string
     229  as well as the authenticator.
    219230 '''URL'''::
    220231        project_url/lookup_account.php
    221232 '''input'''::
    222         email_addr:
    223  email address [[BR]] [[BR]]
    224         [ passwd_hash: ]
    225  The MD5 hash of the concatenation of the user's password and the lower case form of the account's EMail address.  [[BR]] [[BR]]
    226         [ get_opaque_auth: ]
    227  Return the opaque authenticator for the user if the project provides one.  [[BR]] [[BR]]
     233
     234 email_addr:: email address
     235 [ passwd_hash ]::
     236  The MD5 hash of the concatenation of the user's password
     237  and the lower case form of the account's EMail address.
     238 [ get_opaque_auth ]::
     239  Return the opaque authenticator for the user if the project provides one.
     240
    228241 '''examples'''::
    229242        http://ralph.bakerlab.org/lookup_account.php?email_addr=user@example.com&passwd_hash=2ab598faf3160ccfa1a2d41a95557a92&get_opaque_auth=1
     
    237250}}}
    238251
    239  '''action'''::
    240         If passwd_hash is given and is correct, the user's authentication string is returned. This authentication string is required for many of the other RPCs. If no account with the EMail address provided exists, an error is returned.  [[BR]]
    241 The authentication string may also be obtained using the [userw:Boinccmd_tool#Account_query_and_attach boinccmd --lookup_account]  tool from an attached BOINC client; or, if the client is attached to the project and not using a weak authentication key, it is also stored in the project's account file, in the <authenticator> tag. This file is located in the BOINC data directory of the BOINC client, and called account_*.xml (where * is replaced by the project URL, with the "!http://" removed and any slashes replaced by underscores; ex: account_boinc.bakerlab.org_rosetta.xml).
    242 
    243 If <opaque_auth> is included in the reply,
    244 all subsequent RPCs that reference the account must supply the given string
    245 as well as the authenticator.
    246252----
    247253== Get account info == #am_get_info
    248254
     255 '''action'''::
     256        returns data associated with the given account
    249257 '''URL'''::
    250258        project_url/am_get_info.php
    251259 '''input'''::
    252         account_key:
    253  Authentication string for account to retrieve information about. See [#create_account create account RPC] or [#lookup_account lookup account RPC]   [[BR]] [[BR]]
    254 
    255         opaque_auth: opaque authenticator, if present.
    256 
    257  '''examples'''::
     260 account_key::
     261  Authentication string for account to retrieve information about.
     262  See [#create_account create account RPC] or
     263  [#lookup_account lookup account RPC]
     264        opaque_auth:: opaque authenticator, if present.
     265
    258266 '''output'''::
    259267
     
    281289}}}
    282290
    283  '''action'''::
    284         returns data associated with the given account
    285291----
    286292== Set account info == #am_set_info
    287293
     294 '''action'''::
     295        Updates one or more attributes of the given account.
     296        If email address is changed,
     297        you must also change the password hash.
     298        If the project uses opaque_auth,
     299        then it will be returned on the reply.
    288300 '''URL'''::
    289301        project_url/am_set_info.php
    290302 '''input'''::
    291         account_key:
    292  Authentication string of user account being changed. See [#create_account create account RPC] or [#lookup_account lookup account RPC]  [[BR]] [[BR]]
    293 
    294         opaque_auth: opaque authenticator, if present.
    295 
    296         [ name: ]
    297      [[BR]] [[BR]]
    298         [ country: ]
    299      [[BR]] [[BR]]
    300         [ postal_code: ]
    301      [[BR]] [[BR]]
    302         [ global_prefs: ]
    303      [[BR]] [[BR]]
    304         [ project_prefs: ]
    305      [[BR]] [[BR]]
    306         [ url: ]
    307      [[BR]] [[BR]]
    308         [ send_email: ]
    309     [[BR]]  [[BR]]
    310         [ show_hosts: ]
    311      [[BR]] [[BR]]
    312         [ teamid: ]
    313   ''zero means quit current team, if any''     [[BR]] [[BR]]
    314         [ venue: ]
    315      [[BR]] [[BR]]
    316         [ email_addr: ]
    317      [[BR]] [[BR]]
    318         [ password_hash: ]
    319 The password hash is MD5(password+lower_case(email_addr)).  [[BR]] [[BR]]
    320  '''examples'''::
     303        account_key:: Authentication string of user account being changed.
     304         See [#create_account create account RPC] or [#lookup_account lookup account RPC]
     305        opaque_auth:: opaque authenticator, if present.
     306        [ name ]::
     307        [ country ]::
     308        [ postal_code ]::
     309        [ global_prefs ]::
     310        [ project_prefs ]::
     311        [ url ]::
     312        [ send_email ]::
     313        [ show_hosts ]::
     314        [ teamid ]:: ''zero means quit current team, if any''
     315        [ venue ]::
     316        [ email_addr ]::
     317        [ password_hash ]:: The password hash is MD5(password+lower_case(email_addr)).
    321318 '''output'''::
    322319       
     
    328325}}}
    329326
    330  '''action'''::
    331         Updates one or more attributes of the given account.     The password hash is MD5(password+lower_case(email_addr)).     If email address is changed, you must also change the password hash.
    332 
    333         If the project uses opaque_auth, then it will be returned on the reply.
    334327----
    335328== Set host info == #am_set_host_info
    336329
     330 '''action'''::
     331        Updates the host's venue
    337332 '''URL'''::
    338333        project_url/am_set_host_info.php
    339334 '''input'''::
    340         account_key:
    341  Authentication string of user account owning the host being changed. See [#create_account create account RPC] or [#lookup_account lookup account RPC]      [[BR]] [[BR]]
    342 
    343         opaque_auth: opaque authenticator, if present.
    344 
    345         hostid:
    346      [[BR]] [[BR]]
    347         venue:
    348    [[BR]] [[BR]]
    349  '''examples'''::
     335        account_key:: Authentication string of user account owning the
     336         host being changed.
     337         See [#create_account create account RPC] or
     338         [#lookup_account lookup account RPC]
     339        opaque_auth:: opaque authenticator, if present.
     340        hostid::
     341        venue::
    350342 '''output'''::
    351343       
     
    356348}}}
    357349
    358  '''action'''::
    359         Updates the host's venue
    360350----
    361351== Get account/host credit information == #show_user
    362352
     353 '''action'''::
     354        Returns info about an account.
     355        If called with the authentication string,
     356        returns a list of hosts associated with the account.
    363357 '''URL'''::
    364358        project/show_user.php
    365359 '''input'''::
    366         [ userid: ]
    367  User ID to display. Either id: or auth: must be specified. [[BR]] [[BR]]
    368         [ auth: ]
    369  Authentication string of user to display. See [#create_account create account RPC] or [#lookup_account lookup account RPC].  Either id: or auth: must be specified. [[BR]] [[BR]]
    370 
    371         opaque_auth: opaque authenticator, if present.
    372 
    373         format:
    374  output formatting. 'xml' is only supported value (default is HTML formatting)  [[BR]] [[BR]]
     360        [ userid ]:: User ID to display. Either id or auth must be specified.
     361        [ auth ]:: Authentication string of user to display.
     362           See [#create_account create account RPC]
     363           or [#lookup_account lookup account RPC].
     364            Either id: or auth: must be specified.
     365        opaque_auth:: opaque authenticator, if present.
     366
     367        format:: output formatting.
     368         'xml' is only supported value (default is HTML formatting)
     369
    375370 '''examples'''::
    376371        http://boinc.bakerlab.org/rosetta/show_user.php?userid=123&format=xml
     
    428423}}}
    429424
    430  '''action'''::
    431         Returns info about an account.  If called with the authentication string, returns a list of hosts associated with the account.
    432425----
    433426== Get result list with pending credit == #pending
     
    435428        project/pending.php
    436429 '''input'''::
    437         format:
    438  Output formatting. 'xml' is only supported value (deafult is HTML formatting)  [[BR]] [[BR]]
    439         authenticator:
    440  Authentication string for user account to retrieve pending credit information about. See [#create_account create account RPC] or [#lookup_account lookup account RPC]   [[BR]] [[BR]]
    441 
    442         opaque_auth: opaque authenticator, if present.
     430        format:: Output formatting.
     431         'xml' is only supported value (deafult is HTML formatting)
     432        authenticator:: Authentication string for user
     433          account to retrieve pending credit information about.
     434          See [#create_account create account RPC] or [#lookup_account lookup account RPC]
     435        opaque_auth:: opaque authenticator, if present.
    443436
    444437 '''examples'''::
     
    459452----
    460453== Create team == #create_team
     454 '''action'''::
     455        Creates a team
    461456 '''URL'''::
    462457        project/create_team.php
    463458 '''input'''::
    464         account_key:
    465  Authentication string of team founder's user account. See [#create_account create account RPC] or [#lookup_account lookup account RPC]   [[BR]] [[BR]]
    466 
    467         opaque_auth: opaque authenticator, if present.
    468 
    469         name:
    470  name of team.   [[BR]] [[BR]]
    471         [ url: ]
    472  team URL.  [[BR]] [[BR]]
    473         type:
    474  one of [/team_types.php these types].   [[BR]] [[BR]]
    475         [ name_html: ]
    476  team name, with HTML formatting.  [[BR]] [[BR]]
    477         [ description: ]
    478  text describing team.  [[BR]] [[BR]]
    479         [ country: ]
    480  team country (if present, must be one of [/countries.php these countries]).  [[BR]] [[BR]]
    481  '''examples'''::
     459        account_key:: Authentication string of team founder's user account. See [#create_account create account RPC] or [#lookup_account lookup account RPC]
     460        opaque_auth:: opaque authenticator, if present.
     461        name:: name of team.
     462        [ url ]:: team URL.
     463        type:: one of [/team_types.php these types].
     464        [ name_html ]:: team name, with HTML formatting.
     465        [ description ]:: text describing team.
     466        [ country ]:: team country (if present, must be one of [/countries.php these countries]).
    482467 '''output'''::
    483468       
     
    489474}}}
    490475
    491  '''action'''::
    492         Creates a team
    493476----
    494477== Look up teams by name == #team_lookup_name
    495478
     479 '''action'''::
     480        Teams with names matching *string* will be returned.
     481        A maximum of 100 teams will be returned.
    496482 '''URL'''::
    497483        project/team_lookup.php
    498484 '''input'''::
    499         team_name:
    500  Substring of team name  [[BR]] [[BR]]
    501         [ format: ]
    502  Output formatting. 'xml' is only supported value (deafult is HTML formatting)  [[BR]] [[BR]]
     485        team_name:: Substring of team name
     486        [ format ]:: Output formatting. 'xml' is only supported value (deafult is HTML formatting)
    503487 '''examples'''::
    504488        http://boinc.bakerlab.org/team_lookup.php?team_name=BOINC&format=xml
     
    530514}}}
    531515
    532  '''action'''::
    533         Teams with names matching *string* will be returned.     A maximum of 100 teams will be returned.
    534516
    535517----
    536518== Look up team by ID == #team_lookup_id
    537519
     520 '''action'''::
     521        Show info on team with the given ID.
    538522 '''URL'''::
    539523        project/team_lookup.php
    540524 '''input'''::
    541         team_id:
    542  Team number of the team to lookup. [[BR]] [[BR]]
     525        team_id:: Team number of the team to lookup.
    543526 '''examples'''::
    544527        http://boinc.bakerlab.org/rosetta/team_lookup.php?team_id=111
     
    560543}}}
    561544
    562  '''action'''::
    563         Show info on team with the given ID.
    564 
    565545----
    566546== Get team member list == #team_email_list
    567547
     548 '''action'''::
     549        Show list of team members.
     550        If authentication string is that of a team administrator,
     551        show email addresses,
     552        and flag indicating whether the user opted out of getting emails.
    568553 '''URL'''::
    569554        project/team_email_list.php
    570555 '''input'''::
    571         teamid:
    572  database ID of team     [[BR]] [[BR]]
    573         [ account_key: ]
    574  Authentication string of a team administrator's user account. See [#create_account create account RPC] or [#lookup_account lookup account RPC]   [[BR]] [[BR]]
    575 
    576         opaque_auth: opaque authenticator, if present.
    577 
    578         xml:
    579  output formatting. 0=HTML, 1=XML. (default is 0)   [[BR]] [[BR]]
     556        teamid:: database ID of team
     557        [ account_key ]:: Authentication string of a team administrator's user account. See [#create_account create account RPC] or [#lookup_account lookup account RPC]
     558        opaque_auth:: opaque authenticator, if present.
     559        xml:: output formatting. 0=HTML, 1=XML. (default is 0)
    580560 '''examples'''::
    581561        http://boinc.bakerlab.org/rosetta/team_email_list.php?teamid=2241&account_key=Y&xml=1
     
    603583}}}
    604584
    605  '''action'''::
    606         Show list of team members.   If authentication string is that of a team administrator, show email addresses, and flag indicating whether the user opted out of getting emails.
    607585
    608586----
    609587== Set forum preferences == #edit_forum_preferences
    610588
    611  '''URL'''::
    612         project/edit_forum_preferences_action.php  [[BR]]
     589 '''action'''::
     590        Update user's forum preferences
     591 '''URL'''::
     592        project/edit_forum_preferences_action.php
    613593        (NOTE: this uses POST, not GET)
    614594 '''input'''::
    615         account_key:
    616  Authentication string of user account to change preferences for. See [#create_account create account RPC] or [#lookup_account lookup account RPC]    [[BR]] [[BR]]
    617 
    618         opaque_auth: opaque authenticator, if present.
    619 
    620         [ avatar_url: ]
    621  ''Note: the image will be downloaded and stored locally. Only JPG and PNG accepted.''     [[BR]] [[BR]]
    622         [ avatar_select: ]
    623      [[BR]] [[BR]]
    624         [ forum_images_as_links: ]
    625    [[BR]]   [[BR]]
    626         [ forum_link_externally: ]
    627   [[BR]] [[BR]]
    628         [ forum_hide_avatars: ]
    629      [[BR]] [[BR]]
    630         [ forum_hide_signatures: ]
    631      [[BR]] [[BR]]
    632         [ forum_jump_to_unread: ]
    633      [[BR]] [[BR]]
    634         [ forum_ignore_sticky_posts: ]
    635      [[BR]] [[BR]]
    636         [ forum_low_rating_threshold: ]
    637      [[BR]] [[BR]]
    638         [ forum_high_rating_threshold: ]
    639      [[BR]] [[BR]]
    640         [ forum_minimum_wrap_postcount: ]
    641      [[BR]] [[BR]]
    642         [ forum_display_wrap_postcount: ]
    643      [[BR]] [[BR]]
    644         [ signature_enabled: ]
    645      [[BR]] [[BR]]
    646         [ signature: ]
    647      [[BR]] [[BR]]
    648         [ forum_sort: ]
    649      [[BR]] [[BR]]
    650         [ thread_sort: ]
    651      [[BR]] [[BR]]
    652         [ faq_sort: ]
    653      [[BR]] [[BR]]
    654         [ answer_sort: ]
    655      [[BR]] [[BR]]
    656         [ forum_filter_user: ]
    657   [[BR]]    [[BR]]
    658         [ removeID: ... ]
    659    [[BR]] [[BR]]
    660  '''examples'''::
     595        account_key:: Authentication string of user account to change preferences for. See [#create_account create account RPC] or [#lookup_account lookup account RPC]
     596        [ opaque_auth ]:: opaque authenticator, if present.
     597        [ avatar_url ]:: ''Note: the image will be downloaded and stored locally. Only JPG and PNG accepted.''
     598        [ avatar_select ]::
     599        [ forum_images_as_links ]::
     600        [ forum_link_externally ]::
     601        [ forum_hide_avatars ]::
     602        [ forum_hide_signatures ]::
     603        [ forum_jump_to_unread ]::
     604        [ forum_ignore_sticky_posts ]::
     605        [ forum_low_rating_threshold ]::
     606        [ forum_high_rating_threshold ]::
     607        [ forum_minimum_wrap_postcount ]::
     608        [ forum_display_wrap_postcount ]::
     609        [ signature_enabled ]::
     610        [ signature ]::
     611        [ forum_sort ]::
     612        [ thread_sort ]::
     613        [ faq_sort ]::
     614        [ answer_sort ]::
     615        [ forum_filter_user ]::
     616        [ removeID ... ]::
    661617 '''output'''::
    662618        A lot of HTML (not XML)
    663  '''action'''::
    664         Update user's forum preferences
    665619
    666620----
    667621== Get user's last posts on the forum == #forum_get_data_user_posts
    668622
     623 '''action'''::
     624        Get user's last posts from the forum, or get user's last threads from the forums.
    669625 '''URL'''::
    670626        project/forum_get_data.php
    671627 '''input'''::
    672         method:
    673                 "user_posts" to retrieve post details, [[BR]]
    674                 "user_threads" to retrieve thread details.[[BR]] [[BR]]
    675         userid:
    676  Numeric user ID you wish to see forum data about. [[BR]] [[BR]]
    677         [ count: ]
    678  number of entries to return. Maximum 50, default 10.[[BR]] [[BR]]
    679         [ contentlength: ]
    680  number of characters to return from post content. Default returns whole post. Only used when method=user_posts. [[BR]]
     628        method:: "user_posts" to retrieve post details,
     629                "user_threads" to retrieve thread details.
     630        userid:: Numeric user ID you wish to see forum data about.
     631        [ count ]:: number of entries to return. Maximum 50, default 10.
     632        [ contentlength ]:: number of characters to return from post content. Default returns whole post. Only used when method=user_posts.
    681633 '''examples'''::
    682634        http://setiathome.berkeley.edu/forum_get_data.php?method=user_posts&userid=18&count=20&contentlength=256
    683635        http://setiathome.berkeley.edu/forum_get_data.php?method=user_threads&userid=182&count=20
    684 
    685  '''output'''::
    686        
     636 '''output'''::
    687637{{{
    688638<rpc_response>
     
    720670}}}
    721671
    722  '''action'''::
    723         Get user's last posts from the forum, or get user's last threads from the forums.
    724672
    725673----
     
    728676        project/apps.php
    729677 '''input'''::
    730         [ xml: ]
    731  output formatting. 0=HTML, 1=XML. (default is 0)  [[BR]] [[BR]]
     678        [ xml ]:: output formatting. 0=HTML, 1=XML. (default is 0)
    732679 '''examples'''::
    733680        http://setiathome.berkeley.edu/apps.php?xml=1
     
    761708}}}
    762709
     710