You are currently browsing the monthly archive for February, 2008.
Today, the MyCamTools Beta website has gone live on one of our servers in order to make it available for people outside of CARET. Deploying the Sakai instance itself was again the usual pain, but adding in the SData things went quite smoothly. The good thing now is that when we have made changes to /flat or /widgets, we don’t have to trigger a rebuild and restart the server, we can just go into tomcat on the server and use svn update on the /flat and /widgets folder. And our changes are live immediately. We believe this can be useful in rapid development and getting things and tests out there …
You can visit the site at http://mycamtools.caret.cam.ac.uk.
If you are a member of the University of Cambridge, you can log in using your Raven account. If you are from outside the University, just send an e-mail to me (nicolaas.matthijs@caret.cam.ac.uk) and I’ll create a Friends account for you …
In order to make development of Widgets and development within flat easier we have selected/written a couple of JavaScript libraries. I will give a short explanation of all of them:
- SData.js
Our own JavaScript library which allows you to a number of useful things in a very easy way:
* sdata.Ajax.request(options)
A short function that handles your Ajax request and takes care of all cross browser issues
* sdata.Log.info(message)
Adds a message to the log window, if the current document has got a Log window defined
* sdata.Log.clear()
Clears the log window
* sdata.events.Listener.onLoad(function)
Adds an event to the onLoad event of the browser
* sdata.widgets.WidgetLoader
Private function that will look for widget definition inside the HTML document and will replace them by the real widget (inline or mountable)
* sdata.widgets.WidgetPreference.save(prefname, content, callback)
Will save a string against the currently logged in user that can be used to save preferences, save data, …
* sdata.widgets.WidgetPreference.get(prefname, callback)
Will retrieve a preference against the user.
- ExtJS 2.0 (http://extjs.com/)
Pretty good and pretty extensive JavaScript framework which allows us to have dragable windows, floating windows, resizable windows, … without having to reinvent anything and being cross-browser. Once you get used to its syntax, you can do quite a lot with it in a pretty short period of time. We will mainly use this for the iGoogle like portal page and floating widgets.
- SWFUpload (http://swfupload.org/)
SWFUpload is a Flash/JavaScript based library which allows you to upload (multiple) files. It is very easy to use and has got all of the functionality we wanted: doing more than one file at a time, showing upload progress, … This library will also be used by Fluid. We will mainly use this in the QuickFileUpload and QuickDropBox widgets, a filemanager, …
- Trimpath (http://code.google.com/p/trimpath/wiki/JavaScriptTemplates)
Amazingly quick and easy javascript library that allows template rendering based on a JavaScript/JSON object. You put a template in a hidden div or within a div within comments, and you can add fields, for loops, if loops, statements, functions, … to it. Our SData library allows you to call the functions of TrimPath. We use this library in nearly every widget to render data we received from the SData Web Services.
- QueryString
Very simple and small JavaScript library that just allows you to read the querystring from the page you are currently in. We mainly use this to extract the Site id from the site.html page.
- RSH or Really Simple History (http://code.google.com/p/reallysimplehistory/)
This very useful Ajax History library allows us to preserve the functionality of the browser’s Back button. We mainly use this within a worksite when you switch between tools. Because all of this is AJAX and doesn’t reload the page, normally the back button would loose its functionality. Now, when switching to another tool, you can still go back to the previous tool using the Back button.
One of the main ideas we had was replacing the current My Workspace by an iGoogle like portal page that can contain all kinds of widgets. We are working both on the architecture of the portal page itself and on a development mechanism for widgets. Widgets are very modular and can be developed at any time.
The idea is that you can add widgets to your portal page according to your intentions and interests. It should allow users to perform certain tasks a lot easier and a lot faster. It would also make Sakai a lot more user-oriented.
You can also rearrange your widgets by dragging them around. You can also minimize widgets if they are of less importance. All of this is displayed in three 33% width columns.
The state of your portal page is saved on the server and will be regenerated when you come in the next time.








Recent Comments