logo





GradeBook released!
Oct, 2008
Solstice adds a grade book to its toolkit!

New Versions!
April, 2008
A new version of all our software is available!

CommonView Released
April, 2008
Check out our latest collaborative tool.

RESTful Web Services
Jan, 2008
Solstice provides support for RESTful development.

Crowds REST API

Groups REST API

Definitions

{version}
Refers to the version of the WebQ API desired.

{user}
Refers to a person's username, scoped with login realm if appropriate.

{group_id}
Refers to the numeric ID of the group in question.

{login_name}
Refers to the login name of the user, "mcrawfor" for example. Can be scoped with a login realm if appropriate, "gandalf:PN" for user "gandalf" at the Protect Network login realm.

Resources

/crowds

GET: Returns an XHTML representation listing all available version of this service.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Versions</title>
    </head>
    <body>
        <h1>Versions</h1>
        <ul class="versions">
            <li><a class="version" href="https://inkey.eplt.washington.edu/tools/rest/crowds/v1/group">v1</a></li>
        </ul>
    </body>
</html>

/crowds/{version}/group

GET: Returns an XHTML representation listing all groups the authenticated user can view or edit.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Group List</title>
    </head>
    <body>
        <h1>Group List</h1>
        <ul class="groups">
            <li><a class="group" href="https://inkey.eplt.washington.edu/tools/rest/crowds/v1/group/573">Abba</a></li>
            <li><a class="group" href="https://inkey.eplt.washington.edu/tools/rest/crowds/v1/group/204">ASUW Voting Students 2007</a></li>
            <li><a class="group" href="https://inkey.eplt.washington.edu/tools/rest/crowds/v1/group/774">GoPost board 186 group, role Administrator</a></li>
        </ul>
    </body>
</html>
POST: Creates a new group.  The representations accepted and returned are identical to the group GET and PUT below. You will find the URI of the new group in the Location header.

/crowds/{version}/group/{group_id}

GET: Returns an XHTML representation describing the group in detail.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>An Example Group</title>
    </head>
    <body class="group">
        <h1 class="name">An Example Group</h1>
        <div class="description">
            An example used for web services documentation.
        </div>

            <div>
                <b>Creator</b>
                <div class="creator">mcrawfor</div>
                <b>Created</b>
                <div class="created">Tue, 23 Jan 2007 00:32:33 GMT</div>
                <b>Last Modified</b>
                <div class="last_modified">Fri, 26 Oct 2007 23:42:19 GMT</div>

                <b>Owners</b>
                <ul class="owners">
                    <li><a class="person" rel="owner" href="https://inkey.eplt.washington.edu/tools/rest/crowds/v1/person/mcrawfor">mcrawfor</a></li>
                </ul>

                <b>Members</b>
                <ul class="members">
                    <li><a class="person" rel="member" href="https://inkey.eplt.washington.edu/tools/rest/crowds/v1/person/jlaney">jlaney</a></li>
                    <li><a class="person" rel="member" href="https://inkey.eplt.washington.edu/tools/rest/crowds/v1/person/pmichaud">pmichaud</a></li>
                    <li><a class="person" rel="member" href="https://inkey.eplt.washington.edu/tools/rest/crowds/v1/person/dcwalker">dcwalker</a></li>
                    <li><a class="person" rel="member" href="https://inkey.eplt.washington.edu/tools/rest/crowds/v1/person/thatssad">thatssad</a></li>
                    <li><a class="person" rel="member" href="https://inkey.eplt.washington.edu/tools/rest/crowds/v1/person/mcrawfor">mcrawfor</a></li>
                </ul>
                
                <b>Member Groups</b>
                <ul class="member_groups">
                    <li class="member_group">
                    <div class="name">TRAIN 102 A</div>
                    <div class="source">University of Washington Course</div>
                    <div class="key">93A4290C81395178872220077SPAF2B3</div>
                    </li>
                    <li class="member_group">
                    <div class="name">TRAIN 102 A</div>
                    <div class="source">University of Washington Course</div>
                    <div class="key">93A4290C81395185362220077AUAF2B3</div>
                    </li>
                </ul>
 
            </div>
        </body>
    </html>

PUT: Updates the group with a new title, description, owners, and members.  The representation accepted is identical to the output of GET above, but very forgiving.  The following is a minimal acceptable representation.  Note that the key portions are the structure and class names.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <body class="group">
        <div class="name">Example</div>
        <div class="description">Example description.</div>

        <div rel="owner">perrin</div>
        <div rel="owner">pippin</div>

        <div rel="member">gandalf:PN</div>
        <div rel="member">frodo</div>
        <div rel="member">bilbo</div>
        <div rel="member">gollum</div>

        <div class="member_group">
            <div class="source">University of Washington Course</div>
            <div class="key">93A4290C81395178872220077SPAF2B3</div>
        </div>
        <div class="member_group">
            <div class="source">University of Washington Course</div>
            <div class="key">93A4290C81395185362220077AUAF2B3</div>
        </div>

    </body>
</html>

/crowds/{version}/person/{login_name}

GET: Returns an XHTML representation of the person.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>mcrawfor</title>
    </head>
    <body class="person">
        <h1 class="login_name">mcrawfor</h1>
        <div>
            <b>Name</b>
            <div class="name">Milos!!</div>
            <b>Surname</b>
            <div class="surname"></div>
            <b>Email</b>
            <div><a rel="email" class="email" href="mailto:mcrawfor@u.washington.edu">mcrawfor@u.washington.edu</a></div>
            <b>Creation Date</b>
            <div class="created">Mon, 22 Jan 2007 18:27:32 GMT</div>
            <b>Last Modified</b>
            <div class="last_modified">Thu, 23 Aug 2007 22:31:12 GMT</div>
            <b>Login Realm</b>
            <div class="login_realm">University of Washington</div>
            <b>Realm Key</b>
            <div class="remote_key">09EFAA5ED44D11D586930004AC494FFE</div>
            <b>Realm Name</b>
            <div class="system_name">MILES J.</div>
            <b>Realm Surname</b>
            <div class="system_surname">CRAWFORD</div>
            <b>Realm Email</b>
            <div><a rel="email" class="system_email" href="mailto:mcrawfor@u.washington.edu">mcrawfor@u.washington.edu</a></div>
            <b>Last Realm Modification Date</b>
            <div class="system_last_modified">2007-01-22 10:27:32</div>
        </div>
    </body>
</html>