[Deploying Sakai] [Building Sakai] URGENT: Need some advice on sites created without roles

Steve Swinsburg steve.swinsburg at gmail.com
Mon Apr 2 07:34:58 PDT 2012


Hi Seth,

For 1 I was going to suggest the copyRole web service. It should be pretty easy to just get a list of the site ids and adjust the (latest version of this) perl script:
https://source.sakaiproject.org/contrib//swinsburg/webservice-scripts/sync-roles-in-sites.pl

cheers,
Steve




On 03/04/2012, at 12:25 AM, Seth Theriault wrote:

> Hello,
> 
> I need some urgent advice on correcting a problematic local 
> situation: sites created without roles.
> 
> We are running the equivalent of Sakai 2.8.1 on Oracle 11. We 
> have some automated Quartz jobs that create course sites based on 
> official SIS information. When a course is "released" as 
> official, we gather that info and create a site.
> 
> Over the weekend, SIS released 5000 new courses. About 1/3 
> through the Quartz job, these errors started appearing:
> 
> 2012-03-31 12:26:34,908 WARN  [QuartzScheduler_Worker-4] [org.sakaiproject.db.impl.BasicSqlService]: transact: rolling back: azg:/site/LOCAL_SITE_ID
> 2012-03-31 12:26:34,908 WARN  [QuartzScheduler_Worker-4] [org.sakaiproject.db.impl.BasicSqlService]: transact: failure: net.sf.ehcache.CacheException: org.sakaiproject.db.BaseDbFlatStorage.SAKAI_REALM_PROPERTYCache: Could not remove disk store entry for key SAKAI_REALM_PROPERTY:REALM_KEY:9561. Error was org.sakaiproject.util.BaseResourcePropertiesEdit
> 2012-03-31 12:26:34,908 WARN  [QuartzScheduler_Worker-4] [org.sakaiproject.site.impl.BaseSiteService]: .addSite(): error copying realmnet.sf.ehcache.CacheException: org.sakaiproject.db.BaseDbFlatStorage.SAKAI_REALM_PROPERTYCache: Could not remove disk store entry for key SAKAI_REALM_PROPERTY:REALM_KEY:9561. Error was org.sakaiproject.util.BaseResourcePropertiesEdit
>         at net.sf.ehcache.store.DiskStore.remove(DiskStore.java:477)
>         at net.sf.ehcache.Cache.remove(Cache.java:1463)
>         at net.sf.ehcache.Cache.remove(Cache.java:1390)
>         at net.sf.ehcache.Cache.remove(Cache.java:1348)
>         at org.sakaiproject.memory.impl.MemCache.remove(MemCache.java:591)
>         at org.sakaiproject.util.BaseDbFlatStorage.writeProperties(BaseDbFlatStorage.java:1224)
>         at org.sakaiproject.util.BaseDbFlatStorage.writeProperties(BaseDbFlatStorage.java:1203)
>         at org.sakaiproject.util.BaseDbFlatStorage.writeProperties(BaseDbFlatStorage.java:1196)
>         at org.sakaiproject.util.BaseDbFlatStorage.commitResource(BaseDbFlatStorage.java:851)
>         at org.sakaiproject.authz.impl.DbAuthzGroupService$DbStorage.saveTx(DbAuthzGroupService.java:1112)
>         at org.sakaiproject.authz.impl.DbAuthzGroupService$DbStorage$9.run(DbAuthzGroupService.java:1083)
>         at org.sakaiproject.db.impl.BasicSqlService.transact(BasicSqlService.java:334)
>         at org.sakaiproject.authz.impl.DbAuthzGroupService$DbStorage.save(DbAuthzGroupService.java:1079)
>         at org.sakaiproject.authz.impl.BaseAuthzGroupService.completeSave(BaseAuthzGroupService.java:605)
>         at org.sakaiproject.authz.impl.BaseAuthzGroupService.addAuthzGroup(BaseAuthzGroupService.java:743)
>         at org.sakaiproject.site.impl.BaseSiteService.addSite(BaseSiteService.java:1155)
>         at org.sakaiproject.site.cover.SiteService.addSite(SiteService.java:229)
>         at edu.columbia.cuit.courseworks.sakaifeeds.ColumbiaLoadCourseSites.processSites(ColumbiaLoadCourseSites.java:160)
>         at edu.columbia.cuit.courseworks.sakaifeeds.ColumbiaLoadCourseSites.loadCourseSites(ColumbiaLoadCourseSites.java:96)
>         at edu.columbia.cuit.courseworks.sakaifeeds.ColumbiaLoadCourseSites.execute(ColumbiaLoadCourseSites.java:49)
>         at org.sakaiproject.component.app.scheduler.jobs.SpringJobBeanWrapper.execute(SpringJobBeanWrapper.java:70)
>         at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
>         at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:534)
> 
> In the end, the sites were created but without any roles, which 
> makes our automated registrations fail as well. So, I have two 
> questions:
> 
> 1) What is the best way to add the roles (copied from another realm) to these sites?
> 2) Does anyone have any advice for preventing this sort of thing 
> from popping up?
> 
> For #1, I was thinking about using webservices and copyRole() to 
> do it in small batches. This is essentially how the roles were 
> supposed to be added anyway.
> 
> Seth
> 
> _______________________________________________
> 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"



More information about the production mailing list