[Building Sakai] release 1 SP1 of Lesson Builder

Hedrick Charles hedrick at rutgers.edu
Tue Dec 21 17:00:21 PST 2010


On Dec 21, 2010, at 6:59:03 PM, Nate Angell wrote:

> Chuck:
> 
> I find the direction Lesson Builder is taking very compelling and
> agree that it fits a need not well met in Sakai.

> I'm wondering if you could speak some to how you see development
> progressing in terms of how LB would best exist, for example as an
> independent tool on its own release cycle (like Samigo and others), or
> perhaps something different?

Dr. Chuck is doing portal support for it in 2.9. I'd like to see it in the core. The problem is that there are limits to what I can do without some changes in other tools. Although it can work currently when installed separately, when you take a test, Samigo ends by doing a redirect in _top, which escapes the iframe in which I run it. (I have submitted a Jira with patch, and the installation instructions advise you to install it.)  I'd also like to have the ability to add new tests, assignments etc, directly in LB, without having to go to the tool first. that's going to require minor changes in the tools. Now this could be done independently: none of the needed changes will interfere with normal function of the tools, so it doesn't really have to be synced with LB releases, but I have a feeling that it would really be better to be part of the core. But that's not my decision. For the moment I'm assuming it will be separate. And for the moment people will probably want to take updates more often than new Sakai releases. I believe version 1 will be a coherent set of features, which can be used as is, but i've got a list of things that I'd still like to do, and people might want to take updates during the semester. 

Version 1 is intended for the Spring. I'll tag RC2 in the next day or two if no problems show up on our test system. I'll resist the temptation to add any more features until the final version 1. Obviously, we'll be using it this Spring. I believe one other site will as well. The next big target date is 2.9 release. I've got an agreement with Chuck to convert it to a portlet that won't require an iframe. That has to be done by the 2.9 code freeze. He's also looking for it to have CC import/export. I'd like to see it release with Sakai, but to continue doing work between Sakai releases at least for the next year. I would expect to sync a version with Sakai 2.9, and tag it with the same version number. We'll move to 2.8 in May, so obviously it will be available for 2.8 by the time we do our internal best testing in March/April. I guess I should do a 2.8 tag as well,, whether it show up in 2.8 or is simply available for independent installation. 

> Related, how do you see LB intersecting with kernel and/or core Sakai
> capabilities, and how can LB best develop to mesh effectively with
> kernel/core and other tools so as to minimize alterations to other
> code areas? Are there things other Sakai development teams could be
> doing to make LB more effective and/or easier to deploy?

I think we can do it with minor changes to other tools. I'm developing my own class that encapsulates tool-specific stuff. One possibility would be to integrate with with entity broker. The problem is that we don't have all that good support for current EB features now. Unless all the tool maintainers get fired up, it's probably going to be easier for me to maintain integration, and keep the code to integrate a tool as small as possible.

At the moment what I need is:

* a way to check whether a user has done an assignment, submitted a forum comment, etc. Generally existing APis allow this
* a way to control access to a tool. With Samigo and assignments I do it by creating a group that I control, and making the test or assignment limited to that group. With other tools I'm not as tight about control. I can whether I send a student to the tool, but if the tool is accessible to students directly, I can't control that. 
* a way to produce a list of objects in a tool so people can choose one. Existing APIs normally allow this,, although with jForum the best alternative was to read the database directly.
* where there is a specific end to something, e.g. end of a test, I'd prefer to be able to trap it and make it return to me. However currently I run these things in an iframe, with a "Return to lesson" button at the top. So trapping the end isn't critical, as long as it doesn't do like Samigo and escape from the iframe
* a way to call directly into the "create a new test" code or equivalent. I haven't done that yet, and it's a ways in the future on my road map

I'd also like to see the copy site and import site code changed so that a lesson that refers to specific assignments could refer to the copies in the new sites. Ideally, copy/import would be a two-pass process. The first pass wold create all the new objects, and produce a list of them. The second pass would let people fix up references. I currently put in a placeholder with an explanation that tells people to update the reference. Eventually I'll do something really hacky, like the first time someone uses the tool in the new site, go back and make the replacements myself, based on the test name (since I don't have the mapping for the actual object ID's_) I should note that copy/import seems never to have been tested with tools that allow multiple instances. Some of the code doesn't work at all, some of it is odd. I've done some fixes and jira'ed that. More work could be done. Again, the installation instructions tell people to install the patches from those jiras.

This is the kind of stuff that would be useful. I don't think any of this is major. The most complex stuff is hooks into the portal, but Chuck is doing that.

The real limiting factor at the moment is manpower. The original code was written in 7 weeks by a really good programmer. I've spent about as much time myself this Fall. When i started it I wasn't quite sure how far it would go. It's pretty clear now that at least for us it's going to be strategic. I'm continuing to work, but in theory I'm a full-time manager. I'm considering assigning some of my full-time staff on a more continuing basis. To be honest I blew it. I didn't think carefully about what would happen if the tool succeeded, and ask whether Rutgers is willing to become the developer for a major tool. We may well end up taking that on. I do have developers, and we're not averse in principle to giving back to the community. But I'd love to have help. In the meantime I'll continue to spend time on it, and I'll have the original author back this summer. Between us we'll be able to do a lot of my wish-list. What I'm most dreading is the CC import/export. That's going to depend upon the state of the existing code. If we can use it, and just put support for LB in, I can survive. If I have to do a whole CC system myself, that's going to divert a lot of my time. (The reason CC is necessary is that we want to be able to pull publisher content in. To the extent that they have actual content, and not just a test bank, they're likely to assume a system like WebCT with its "organizer pages," or some other kind of structure. Without LB, Sakai has no obvious place to put that kind of content. With LB, we do. Assuming that Sakai 3 works, we'll eventually need a way to export content so we can pull it into Sakai 3. While porting LB to Sakai 3 is not impossible, I really hoped to get the necessary functionality into the core Sakai 3 pages.)


> Do I have it wright that LB was originally the work of a high school
> student? That alone seems worthy of great note.
> 
> - Nate
> 
> On Tue, Dec 21, 2010 at 3:43 PM, Hedrick Charles <hedrick at rutgers.edu> wrote:
>> Sure. Feel free to send me email. I'll be happy to create accounts on a test
>> server for staff at other sites that want to play. Just be aware that we
>> typically restart the system every day or so without warning. So far we
>> haven't cleared the database, but we may need to do so.
>> I'm looking at doing a screencast.
>> 
>> On Dec 20, 2010, at 5:45:49 AM, Adam Marshall wrote:
>> 
>> Is there a place where one can test-drive “Lesson Builder”? I’d love top
>> have a play. Failing that do you have a screen cast so I can see a demo?
>> 
>> 
>> _______________________________________________
>> 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"
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20101221/7847356d/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3817 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20101221/7847356d/attachment.bin 


More information about the sakai-dev mailing list