Socialtext::Resting.3pm

Langue: en

Autres versions - même langue

Version: 2009-08-28 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Socialtext::Resting - module for accessing Socialtext REST APIs

SYNOPSIS

   use Socialtext::Resting;
   my $Rester = Socialtext::Resting->new(
     username => $opts{username},
     password => $opts{password},
     server   => $opts{server},
   );
   $Rester->workspace('wikiname');
   $Rester->get_page('my_page');
 }
 
 

DESCRIPTION

"Socialtext::Resting" is a module designed to allow remote access to the Socialtext REST APIs for use in perl programs.

METHODS

new

     my $Rester = Socialtext::Resting->new(
         username => $opts{username},
         password => $opts{password},
         server   => $opts{server},
     );
 
     or
 
     my $Rester = Socialtext::Resting->new(
         user_cookie => $opts{user_cookie},
         server      => $opts{server},
     );
 
 

Creates a Socialtext::Resting object for the specified server/user/password, or server/cookie combination.

accept

     $Rester->accept($mime_type);
 
 

Sets the HTTP Accept header to ask the server for a specific representation in future requests.

Standard representations: http://www.socialtext.net/st-rest-docs/index.cgi?standard_representations

Common representations:

text/x.socialtext-wiki
text/html
application/json

get_page

     $Rester->workspace('wikiname');
     $Rester->get_page('page_name');
 
 

Retrieves the content of the specified page. Note that the workspace method needs to be called first to specify which workspace to operate on.

get_attachment

     $Rester->workspace('wikiname');
     $Rester->get_attachment('attachment_id');
 
 

Retrieves the specified attachment from the workspace. Note that the workspace method needs to be called first to specify which workspace to operate on.

put_workspacetag

     $Rester->workspace('wikiname');
     $Rester->put_workspacetag('tag');
 
 

Add the specified tag to the workspace.

put_pagetag

     $Rester->workspace('wikiname');
     $Rester->put_pagetag('page_name', 'tag');
 
 

Add the specified tag to the page.

delete_workspacetag

     $Rester->workspace('wikiname');
     $Rester->delete_workspacetag('tag');
 
 

Delete the specified tag from the workspace.

delete_pagetag

     $Rester->workspace('wikiname');
     $Rester->delete_pagetag('page_name', 'tag');
 
 

Delete the specified tag from the page.

post_attachment

     $Rester->workspace('wikiname');
     $Rester->post_attachment('page_name',$id,$content,$mime_type);
 
 

Attach the file to the specified page

post_comment

     $Rester->workspace('wikiname');
     $Rester->post_comment( 'page_name', "me too" );
 
 

Add a comment to a page.

put_page

     $Rester->workspace('wikiname');
     $Rester->put_page('page_name',$content);
 
 

Save the content as a page in the wiki. $content can either be a string, which is treated as wikitext, or a hash with the following keys:

content
A string which is the page's wiki content.
date
RFC 2616 HTTP Date format string of the time the page was last edited
from
A username of the last editor of the page. If the the user does not exist it will be created, but will not be added to the workspace.

name_to_id

     my $id = $Rester->name_to_id($name);
     my $id = Socialtext::Resting::name_to_id($name);
 
 

Convert a page name into a page ID. Can be called as a method or as a function.

get_pages

     $Rester->workspace('wikiname');
     $Rester->get_pages();
 
 

List all pages in the wiki.

get_page_attachments

     $Rester->get_page_attachments($page)
 
 

List all the attachments on a page.

get_revisions

     $Rester->get_revisions($page)
 
 

List all the revisions of a page.

get_taghistory

     $Rester->workspace('wikiname');
     $Rester->get_taghistory($page)
 
 

Get a history, by revision, of all tags for a page.

get_workspace_tags

     $Rester->workspace('foo');
     $Rester->get_workspace_tags()
 
 

List all the tags in workspace foo.

get_homepage

Return the page name of the homepage of the current workspace.
     $Rester->workspace('wikiname');
     $Rester->get_backlinks('page_name');
 
 

List all backlinks to the specified page

     $Rester->workspace('wikiname');
     $Rester->get_frontlinks('page_name');
 
 

List all 'frontlinks' on the specified page

get_pagetags

     $Rester->workspace('wikiname');
     $Rester->get_pagetags('page_name');
 
 

List all pagetags on the specified page

get_taggedpages

     $Rester->worksapce('wikiname');
     $Rester->get_taggedpages('tag');
 
 

List all the pages that are tagged with 'tag'.

get_tag

     $Rester->workspace('wikiname');
     $Rester->get_tag('tag');
 
 

Retrieves the specified tag from the workspace. Note that the workspace method needs to be called first to specify which workspace to operate on.

get_breadcrumbs

     $Rester->get_breadcrumbs('workspace')
 
 

Get breadcrumbs for current user in this workspace

get_workspace

     $Rester->get_workspace();
 
 

Return the metadata about a particular workspace.

get_workspaces

     $Rester->get_workspaces();
 
 

List all workspaces on the server

get_user

     my $userinfo = $Rester->get_user($username);
     print $userinfo->{email_address};
 
 

Get information about a username

create_user

     $Rester->create_user( { username => $username,
                             email_address => $email,
                             password => $password } );
 
 

Create a new user. Other parameters can be specified, see POD for Socialtext::User. username is optional and will default to the email address, as in most cases username and email_address will be the same.

add_user_to_workspace

     $Rester->add_user_to_workspace( $workspace, { username => $user, 
                                       rolename => $role,
                                       send_confirmation_invitation => 0 || 1,
                                       from_address => $from_email } );
 
 

Add a user that already exists to a workspace. rolename defaults to 'member', send_confirmation_invitation defaults to '0'. from_address must refer to a valid existing user, and is only needed if send_confirmation_invitation is set to '1'. If the user is already a member of the workspace, this will reset their role if you specify a role that's different from their current role.

get_users_for_workspace

     my @users = $Rester->get_users_for_workspace( $workspace );
     for ( @users ) { print "$_->{name}, $_->{role}, $->{is_workspace_admin}\n" }
 
 

Get a list of users in a workspace, and their roles and admin status.

put_persontag

     $Rester->put_persontag( $person, $tag )
 
 

Tag a person.

get_person

     $Rester->get_person();
 
 

Retrieves a person.

get_signals

     $Rester->get_signals();
 
 

Retrieves the list of signals.

post_signal

     $Rester->post_signal('O HAI');
 
 

Posts a signal.

put_webhook

     $Rester->put_webhook( %args )
 
 

Creates a webhook. Args will be encoded as JSON and put up.

response

     my $resp = $Rester->response;
 
 

Return the HTTP::Response object from the last request.

AUTHORS / MAINTAINERS

Chris Dent, "<chris.dent@socialtext.com>" Kirsten Jones "<kirsten.jones@socialtext.com>" Luke Closs "<luke.closs@socialtext.com>" Shawn Devlin "<shawn.devlin@socialtext.com>"

OTHER CONTRIBUTORS

Michele Berg - get_revisions()