I went to Bloomington, Indiana in December and with Marlon Pierce’s help, started working on the Sakai JSR-168 portlet again. A really great steak from Zagreb always gets the juices flowing – Marlon said I could not have any steak until I had an initial version done – so motivation was high.
Now four days later, I have an even better release with a bunch of usable features. I attach some PowerPoint and source for you to take a look at. Here is a set of new stuff:
– Added Gallery Portlet
– Added a tree view portlet that shows all of your sites and tools
– Moving the code into SVN (when I get a good network connection)
– Configuration flexibility
– Added proxy portlets for common Sakai tools:
Announcements (sakai.announcements)
Assignments (sakai.assignment)
Chat Room (sakai.chat)
Discussion (sakai.discussion)
Gradebook (sakai.gradebook.tool)
Email Archive (sakai.mailbox)
Membership (sakai.membership)
Message Forums (sakai.messageforums)
Preferences Tool (sakai.preferences)
Presentation (sakai.presentation)
Profile (sakai.profile)
Resources (sakai.resources)
Wiki (sakai.rwiki)
Tests & Quizzes (sakai.samigo)
Roster (sakai.site.roster)
Schedule (sakai.schedule)
Site Info (sakai.siteinfo)
Syllabus (sakai.syllabus)
This basically means that you can drop a Samigo into a JSR-168 portal after a few details have been handled.
Author Archives: Charles Severance
Sakai Board: More Principles
These are some more Sakai principles that were discussed by a few other folks.
The Sakai Foundation Board directs resources that belong to the Sakai Foundation or have been given/loaned to the Sakai Foundation. With limited resources, the Foundation tends to focus on investments which build and sustain the community. The Sakai board also provides some support for community-wide design and technical activities like project management, release management and quality assurance in the best interest of the community.
Nearly all of the work of designing, developing and producing Sakai releases is done by volunteers. These volunteers may be individual contributors or may work for an organization that is involved in Sakai and is making a voluntary organizational contribution. That said, one of the Sakai Foundation’s goals is to inform and guide volunteers making contributions how they might maximize the benefit of their efforts for the entire Sakai community.
Sakai’s direction is driven by contributions from the community. In order for an organization to effect the direction of Sakai it is best done through contributing resources to that aspect of Sakai that the organization feels is important.
Sakai efforts are organized into a number of separate projects, roughly modeled after Apache. Each project has a set of committers who self-manage their commit list. Generally the path to becoming a committer in a project is for one to develop an understanding of that element of Sakai and begin contributing through an existing committer. Once it becomes clear that the new contributor has achieved the appropriate skill level, they can then be granted committer status. The Sakai Foundation Board delegates operational authority for appointing appropriate committers to the leadership of the technical community.
Sakai is software which must maintain 100% production capability over its entire lifetime. Maintaining the performance, quality and reliability of Sakai releases is the founding principle of Sakai software engineering.
Sakai Board: Basic Principles
This is a set of guiding principles that we wrote down at the first meeting of the Sakai Foundation Board. This is really a brainstorming session more than anything else – but the nicely capture some of the truths about Sakai.
They are not “adopted” – just discussed.
Compiling VUE
In my ever expanding quest for places to integrtate Sakai into, I have decided to start playing with VUE (http://vue.tccs.tufts.edu/). VUE is pretty cool – it makes context maps.
In my crazy design thoughts, I want Sakai to hand VUE maps over web services. Those maps will contain information about sites the user has access to on the Sakai Host, and pages within those sites.
This is a long term fun thing for me. Thanks to Jeff K and Anoop K for their help on this.
But I figured I would share how I got VUE to compile on my Mac in case you want to be a cool VUE developer too.
It is (yet another) Chuck C-Schell script that I wronte because I have a terrible memory!
It grabs source, does a bit of fiddling with the source, compiles, and runs VUE.
Echos of Year 2000 / Y2K
It is January 1, 2006, and sitting watching Television last night – I thought back to 2000 and thought about the fear that we all held watching the ball drop and half-expecting the sewers to back up on Times Square as midnight kicked over.
Also today I am “cleaning out my closet” and pitching some old stuff and came across a Powerpoint Presentation that I made in 1999 about Y2K – at the time, I was the CIO of the College of Engineering at Michigan State University and I got a bit of flak about this talk.
Now six years later I am going to throw away the printout of my slides as I clean my closet so I figure that before I pitch them, I would type them in in case anyone in the future decides to ever look back at this point in time. Kind of a time capsule.
Here are images of this talk
Web Services in Objective C Part 3
This is my caller file. It is a .mm file not a .m file so I can micx C++ and Objective C. Sorry for my newbieness.
This is SakaiServer.mm – look in the doLogin method.
Again, Creative Commons Public Domain blah blah.
Web Services in Objective C Part 2
This is the SoapUtils.h – you include this.
Again if someone knows how to make this a set of utilities in a separate file that are linked together – let me know. I am an Xcode Newbie :)
Doing Web Services in Objective C
The examples for web services in Objective C in Xcode 2 are pretty lame. I am surprised that things are not cleaner – the WebKit is very sweet and cool.
I took one of the examples and refactored it to make it really cool. I will post code in the blog in my next two posts.
This is a mix of C++ and Objective C. I am not an expert in either in Xcode2 having learned Xcode 4 days ago. If someone smarter than me wants to redo this Apple event code using purely Objective C – that is fine with me. I would actually like that refactored code.
This is all Creative commons public domain – sample code stuff. Use, tear up reuse, don’t sue me.
This is the meat of host things are used again – note my weird dialect where I switch back form C, C++, and Objective C. I am still a newbie and fall back to things I know like fprintf from time to time :)
Doing a Modal Dialog in Objective C
See this URL:
http://developer.apple.com/documentation/Cocoa/Conceptual/Sheets/Tasks/UsingAppModalDialogs.html
This is a better modal dialog than in the Hillegass book pages 306-311. The Hillegass book is great showing the wiring of such a sheet – but the code below is better for the actual showing of the dialog. The Hillegass book uses the selector (nifty pet trick – but overkill for most modal dialogs).
The most Important things to Know in Xcode2
There are a few things are are *SOOO* subtle in Xcode. You need to know them of you will hate Xcode2. Thanks to my buddy Jeff Kahn and some good IM – I learned these tricks. Each thing easily has wasted several hours to a half day for me. But once you know them Xcode2 becomes more tolerable.
I am having fun with Objective C. I like the message pattern. It is fun to send messages to things. I worry a *lot* about memory leaks though.
On to the critical bits.