[Building Sakai] Sakai and BBB

Adrian Fish a.fish at lancaster.ac.uk
Wed Oct 5 06:03:27 PDT 2011


Yep. That all looks fine. The next step is to turn on all logging for 
the bbb tool, restart your Sakai and try again.

The instructions for adding logging are here: 
https://confluence.sakaiproject.org/display/DOC/Sakai+Logging+%282.5%29

You'd need an entry like:

log.config.count=1
log.config.1 = ALL.org.sakaiproject.bbb

Give that a bash and see what ends up in your catalina.out

Cheers,
Adrian.

On 05/10/2011 13:55, Patrick Coleman wrote:
> Is this what you are looking for?
>
>
> site (xml)
> Represents a site (a collection of users and tools) in the Sakai system
> RESTful URLs: http://microformats.org/wiki/rest/urls
> HTTP response codes as returned by the system:
> 200 - OK (request is ok and content returned)
> 201 - CREATED (request created new content, URL and id of content in 
> the header)
> 204 - NO CONTENT (request is ok but no content to return)
> 400 - ERROR (general error in the request, probably invalid parameters 
> or data)
> 401 - UNAUTHORIZED (user authentication required for this request)
> 403 - FORBIDDEN (authorization required, insufficient privileges, user 
> is already authenticated)
> 404 - NOT FOUND (resource not found, URL is invalid in some way, id or 
> action are invalid)
> 405 - METHOD NOT ALLOWED (the method is not supported for this entity 
> type)
> 406 - NOT ACCEPTABLE (the data format requested is unavailable for 
> this entity type)
> 500 - INTERNAL SERVER ERROR (general server failure, probably a 
> failure in the provider)
> 501 - NOT IMPLEMENTED (indicates that a prefix is invalid)
>
> Sample Entity URLs (_id=':ID:') [may not be valid]:
> Entity Collection URL: GET /site (xml) (json) (html) (form)
> Response Code Details: 200 plus data; 404 if not found, 406 if format 
> unavailable
> Retrieves the list of all sites that the current user can access
> Create Entity URL: POST /site (form)
> Response Code Details: 201 plus id (EntityId); 400 if inputs invalid
> Adding a site will always set the owner/created by to the current user 
> unless 'owner' is set to a userId, the minimum to create a site is the 
> id and the type, all other fields are optional
> Show Entity URL: GET /site/:ID: (xml) (json) (html) (form)
> Response Code Details: 200 plus data; 404 if not found, 406 if format 
> unavailable
> Allows viewing of data from a single site, use 'includeGroups' 
> (boolean) to also get the groups data with the site
> Update Entity URL: PUT /site/:ID: (form)
> Response Code Details: 204; 400 if inputs invalid
> Can update all writeable fields in the site including owner
> Delete Entity URL: DELETE /site/:ID: (form)
> Response Code Details: 204; 404 if not found
>
> Custom Actions
> userPerms : show (GET) : [/site/:ID:/userPerms] (xml) (json) (html) (form)
> Allows the retrieval of the current user's permissions within the 
> specified site using a url like /site/:SITEID:/userPerms[/:PREFIX], 
> where PREFIX allows the caller to limit the returned permissions to a 
> subset. For example, the url 
> '/direct/site/XYZ/userPerms/calendar.json' would return the calendar 
> permissions of the current user in the site 'XYZ'. Missing the PREFIX 
> off would result in the permissions for all the tools in the site 
> being returned.
>
> setPerms : edit (PUT) : [/site/:ID:/setPerms]
> Allows the setting of the permissions for the specified site by 
> posting to the url /site/:SITEID:/setPerms. This is done by passing a 
> set of post parameters where the key takes the form of 
> 'ROLEID:FUNCTION' and the value is a boolean 'true' or 'false'. For 
> example, passing the parameter 'maintain:blog.post.create=true' would 
> switch the blog.post.create function on for the maintain role in the 
> specified site.
>
> perms : show (GET) : [/site/:ID:/perms] (xml) (json) (html) (form)
> Allows the retrieval of the permissions for the specified site using a 
> url like /site/:SITEID:/perms[/:PREFIX].json, where PREFIX allows the 
> caller to limit the returned permissions to a subset. For example, the 
> url '/direct/site/XYZ/perms/calendar.json' would return the calendar 
> permissions for each role in the site 'XYZ'. Missing the PREFIX off 
> would result in the permissions for all the tools in the site being 
> returned.
>
> pages : show (GET) : [/site/:ID:/pages] (xml) (json) (html) (form)
> Allows retrieval of all pages and tools in a site, use "props" 
> (true/false, default false) to include page properties, use "config" 
> (true/false, default false) to include tool configurations
>
> exists : show (GET) : [/site/:ID:/exists] (xml) (json) (html) (form)
> Returns an empty 200 if the site exists, and a failure (possibly 404) 
> if it does not.
> Note that you can also check this by simply using the show view of a 
> site but that returns the site information as well so this is faster
>
> role : * : [/site/role] (xml) (json) (html) (form)
>
> group : * : [/site/group] (xml) (json) (html) (form)
> Allows access to group information directly using a url like: 
> /site/siteId/group/groupId For membership actions use the Membership 
> Provider
> (GET) /direct/site/siteid/group/groupid - gets metadata for group but 
> not membership.
> (POST) /direct/site/siteid/group/groupid - updates metadata for group 
> but not membership.
> (PUT) /direct/site/siteid/group - create a new group in the site 
> (returns group id). Parameters include title, description, optionally 
> initial list of members.
> (DELETE) /direct/site/siteid/group/groupid - delete an existing group 
> in the site.
>
> URL Redirects
> 1)   /site/{id}/memberships ==> calculated destination
> Allows for retrieval of all memberships for a site by redirecting to 
> the memberships entity provider
>
> Entity class : org.sakaiproject.entitybroker.providers.model.EntitySite
> Type :: bean
> NameTypeStatus
> 1) activeEditbooleanRead Only
> 2) createdTimeorg.sakaiproject.time.api.TimeRead Only
> 3) customPageOrderedbooleanRead/Write
> 4) descriptionstringRead/Write
> 5) emptybooleanRead Only
> 6) iconFullUrlstringRead/Write
> 7) iconUrlstringRead/Write
> 8) iconUrlFullstringRead Only
> 9) idstringRead/Write
> 10) infoUrlstringRead/Write
> 11) infoUrlFullstringRead/Write
> 12) joinablebooleanRead/Write
> 13) joinerRolestringRead/Write
> 14) lastModifiedlongRead/Write
> 15) maintainRolestringRead/Write
> 16) modifiedTimeorg.sakaiproject.time.api.TimeRead Only
> 17) ownerstringRead/Write
> A userId, can be changed after a site is created but has no real 
> effect if the contact info is set
> 18) propsjava.util.MapRead/Write
> 19) providerGroupIdstringRead/Write
> 20) pubViewbooleanRead/Write
> 21) publishedbooleanRead/Write
> 22) referencestringRead Only
> 23) shortDescriptionstringRead/Write
> 24) siteGroupsjava.util.ListRead Only
> 25) siteGroupsListjava.util.ListWrite Only
> 26) siteOwnerorg.sakaiproject.entitybroker.providers.model.OwnerRead Only
> 27) skinstringRead/Write
> 28) titlestringRead/Write * required
> 29) typestringRead/Write * required
> 30) userRoles[Ljava.lang.String;Read/Write
>
> Data and Request Handling
> Output formats : xml, json, html, form
> Input formats : html, xml, json
> No Access Provider registered for request processing
>
> Capabilities
> NameTypeDescription
> 1CoreEntityProviderorg.sakaiproject.entitybroker.entityprovider.CoreEntityProvider
> 2EntityProviderorg.sakaiproject.entitybroker.entityprovider.EntityProvider
> 3ActionsExecutableorg.sakaiproject.entitybroker.entityprovider.capabilities.ActionsExecutable
> 4CRUDableorg.sakaiproject.entitybroker.entityprovider.capabilities.CRUDable
> 5CollectionResolvableorg.sakaiproject.entitybroker.entityprovider.capabilities.CollectionResolvable
> 6Createableorg.sakaiproject.entitybroker.entityprovider.capabilities.Createable
> 7Deleteableorg.sakaiproject.entitybroker.entityprovider.capabilities.Deleteable
> 8Describeableorg.sakaiproject.entitybroker.entityprovider.capabilities.Describeable
> 9Inputableorg.sakaiproject.entitybroker.entityprovider.capabilities.Inputable
> 10Outputableorg.sakaiproject.entitybroker.entityprovider.capabilities.Outputable
> 11RESTfulorg.sakaiproject.entitybroker.entityprovider.capabilities.RESTful
> 12Redirectableorg.sakaiproject.entitybroker.entityprovider.capabilities.Redirectable
> 13RequestStorableorg.sakaiproject.entitybroker.entityprovider.capabilities.RequestStorable
> 14Resolvableorg.sakaiproject.entitybroker.entityprovider.capabilities.Resolvable
> 15Sampleableorg.sakaiproject.entitybroker.entityprovider.capabilities.Sampleable
> 16Saveableorg.sakaiproject.entitybroker.entityprovider.capabilities.Saveable
> 17Updateableorg.sakaiproject.entitybroker.entityprovider.capabilities.UpdateableThe 
> owner (a userId) value can now be changed once the site is created
>
> REST:: 1.0.1 SVN: $Revision: 77717 $ : $Date: 2010-05-21 17:40:47 
> -0400 (Fri, 21 May 2010) $
>
>
> On Oct 5, 2011, at 7:57 AM, Adrian Fish wrote:
>
>> What version of Sakai are you using the BBB tool on? The site
>> permissions entity provider stuff only got added from 2.7 I think.
>>
>> Try viewing this URL:
>>
>> http://localhost/direct/site/describe
>>
>> You should see lots of CustomActions, one of which should be 'perms'. If
>> that's not there, then you have a problem ...
>>
>> Cheers,
>> Adrian.
>>
>> On 05/10/2011 12:12, Patrick Coleman wrote:
>>> I replied to Sam's personal email about this....and he felt...
>>> "No permissions in the list indicates some sort of deeper issue. I would
>>> check for dupe jars. If there are no duplicate jars, I would attempt a
>>> complete re-deploy of BBB."
>>>
>>> I've done what he suggested, re-deployed BBB and checked for 
>>> duplicate jars
>>> but found none.
>>>
>>>
>>> Anyone have any other ideas?
>>>
>>> Thanks
>>>
>>>
>>> ---------------
>>> My reply to Sam
>>>
>>>
>>> There isn't much more in catalina.out when I click on meeting
>>>
>>> This first line is when I just click on "Meetings"
>>>
>>>> INFO: EntityEncodingManager: No entities to format (json) and 
>>>> output for
>>> ref (/bbb-meeting)
>>>
>>> This is what I get when I click on "Create Meeting"
>>>
>>>> INFO Could not process entity: /site (400)[null]: Cannot execute custom
>>> action (perms) for request method GET, The custom action view key (show)
>>> must match the request view key (list)
>>>
>>>
>>> I see that there is a "Permissions" heading also which seems to 
>>> suggest you
>>> can define permissions but I
>>> don't see how they can be defined?
>>>
>>>
>>
>> -- 
>> ==================================
>> Adrian Fish
>> Software Engineer
>> B66 Management School
>> Lancaster University
>> Lancaster
>> LA1 4YW
>>
>> http://www.sakaiproject.org
>> http://confluence.sakaiproject.org/display/YAFT/Yaft
>> http://confluence.sakaiproject.org/display/CLOG/Home
>> http://confluence.sakaiproject.org/display/BBB/Home
>>
>> _______________________________________________
>> sakai-dev mailing list
>> sakai-dev at collab.sakaiproject.org
>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>
>> TO UNSUBSCRIBE: send email to 
>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of 
>> "unsubscribe"
>
> *Patrick Coleman*
> patcoleman at me.com <mailto:patcoleman at me.com>
> (301)-651-9573
>
>
>
>
>
>

-- 
==================================
Adrian Fish
Software Engineer
B66 Management School
Lancaster University
Lancaster
LA1 4YW

http://www.sakaiproject.org
http://confluence.sakaiproject.org/display/YAFT/Yaft
http://confluence.sakaiproject.org/display/CLOG/Home
http://confluence.sakaiproject.org/display/BBB/Home

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20111005/f517b060/attachment.html 


More information about the sakai-dev mailing list