Daily Archives: June 23, 2009

Reply to Ray Henderson’s Blog Post

Ray Henderson of BBLearn made a post about their directions in standards:

Read Ray’s Post

Here is my comment:

Ray – I am really glad to see this post. I hope to see you at DevCon in a few weeks and catch up. The real value of being part of Blackboard is the reach that you can have when we all deploy high impact standards. I think that there is a very strong value proposition for a company with a dominant market share to participate and strongly contribute to interoperability standards. When market-dominating products do not solidly support standards – people get a feeling of lock-in – in a sense there are likely many organizations which will not consider a commercial offering that does not support real and interoperable standards because (a) it does not play well when there are multiple learning solutions on a campus, and (b) the sense of vendor-lock-in is particularly distasteful in a teaching and learning context. And as you say, it is not enough for Blackboard to participate – it is necessary to lead and to add significant horsepower to the building of standards. In a sense, I would like to see Blackboard build on the leadership you have shown in the IMS LTI 2.0 group. Working closely on LTI 2.0 with Lance Neumann, George Kroner, and John Fontaine has been a delight. Now lets move it to the next level with leadership participation-levels in standards like IMS LIS and IMS Common Cartridge. I would say “welcome to the jungle” – but you have years of experience in the jungle already :).

Clearing Entries in App Engine – Clearing the Data Store

It would be nice to have bulk clear of the App Engine Data Store. Many folks have resorted to little REST like ways to do this. Here is my take on it:

class PurgeHandler(webapp.RequestHandler):
def get(self):
if not users.is_current_user_admin() :
self.response.out.write('Must be admin.')
return
limit = self.request.get("limit")
if not limit:
limit = 10
table = self.request.get('table')
if not table:
self.response.out.write('Must specify a table.')
return
q = db.GqlQuery("SELECT __key__ FROM "+table)
results = q.fetch(10)
self.response.out.write("%s records" % len(results))
db.delete(results)

Nothing fancy. This could easily be improved and I may improve it after I get some free time.

Reference: I got my inspiration from this Google Groups Post