[Building Sakai] Sakai and BBB

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


Next question :)

Which version of the BBB code are you using?

On 05/10/2011 14:19, Patrick Coleman wrote:
> Not exactly sure what I'm looking for so I attached the catalina.out 
> file for the start up.
>
> Pat.
>
>
>
>
>
> On Oct 5, 2011, at 9:03 AM, Adrian Fish wrote:
>
>> 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
>
> *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/131f0bce/attachment.html 


More information about the sakai-dev mailing list