Forum OpenACS Q&A: Solution Grove Releases Web 2.0 Page Demo and Tutorials

I am very pleased to announce the release of the Beta version of Solution Grove's Web 2.0 Desktop.

If you are no stranger to Google's Personal Home Page, PageFlakes, NetVibes and Fold, then you will instantly know what this is all about.

The major difference of course is that it's done using OpenACS with packages like the News Aggregator, XoWiki and Ajax Helper.

It showcases two of the technology buzzwords that we've been hearing so much about recently .. "Ajax" and "Mashups".

Tutorials and short How-To's on how this demo came to be are on the way and will be made available at

Two tutorials are ready for your reading pleasure.

Comments, suggestions and reactions are most welcome.

THIS IS AWESOME. Great stuff. Is that stuff available already? Which branch?
Great Job. Ditto to Nima's question. Is it available? Which branch? What are your plans to make available the code?
Great job Bamilton!

How did you handle the AJAX request/response on the server end? Did you create a TCL file in your desktop package to handle this? Or is it done from within your AJAX package?

excellent!!!, this should replace the actual portlets ...

It's not available in CVS right now but I can provide you a compressed file with the package if you'd like so that you can play around with it.

If we do decide to put it in CVS, it will most likely be in CVS HEAD.



The Ajax Helper just provides tcl wrapper scripts to Scriptaculous javascripts. The Scriptaculous javascripts are responsible for making the xmlhttp request and other neat effects.

Yes there are tcl files that accept the xmlhttp request and respond according. These have to be created by you for your application. Ajax Helper does not have a mechanism to manage responses and requests although it is a nice idea. Gustaf's Xotcl-Request-monitor is probably a package that you would want to look into.

You can read about how I used Ajax and Ajax Helper for this demo page in tutorial 2


I should have used the portals package for this demo but my lack of understanding about the dynamics and usage of the new-portal/portal package led me to just create my own mechanism which I'm sure pales in comparison to the portals package used in dotlrn.

If you are referring to the drag and drop function, the blind down/up effect to hide/show portlets, I beleive these can be worked in to the existing portals package with some minor modifications.

How to create drag and drop portlets is a topic of another tutorial I am brewing.

Hello Hamilton,

send the tarball, or put the code in /storage, I really looking forward to put this available for the portal system...

Posted by Jun Yamog on

Great work! It would be great if I can get back in developing w/ OACS with these new tools.

WooHoo!! Roc, did you just volunteer to integrate this UI with the portals used in dotLRN?

We hope this demo will inspire more use of Ajax and mashups. Much of this work was client funded and our client’s requirements didn’t warrant dotLRN (he just wanted one page, no groups, etc). We are happy to share code but really don’t want to promote yet another portal-like package.

Our goal is to make it clear that you can have your cake and eat it to. You don’t have to leave behind all the functionality of OpenACS to get the cool new features of Web 2.

BTW, the client that funded this work is a corporate client who would not want their name on the board. However, they have done OpenACS a favor and they could use a favor. Does anyone know someone who is an expert at installing Flash Streaming Server? The client has bought it and we are having some difficulties with installation. We would be happy to pay for a few hours of consulting from someone who has experience with this installation.


A compressed file with the mashups and a copy of the ajax helper package is now up on /storage

No guarrantees that it will work out of the box but if you have problems trying it out, let me know by posting here and I'll try to help.

Two questions:
- when I deactivate javascript I dont see any portlet at all. Is there a plan for this?
- will this be integrated in Don's new portlet system or the existing one of dotLRN

I tested in on Opera, Firefox and IE and it works just like a charm. What about apple browsers and konqueror?

For question # 1, my answer is yes. Part of our gradual development of it will be to make it more robust. This means displaying appropriate and friendly error messages. In the case above, the app should and will display a message saying that you need javascript to be on for the site to function.
Hi Hamilton,

I installed and played a bit with the mashup package and found it very impressive.

I'm not sure if it is a problem in my installation, but I discovered that the only way to make the portlets draggable is to disable the developer-support package. Hope that this can avoid to other people a debugging session.

Another question is that I got a Google map key and set it into the corresponding parameter, but nothing appears on the page and I have no clue as how to proceed.

Many thanks to you and Solution Grove for your valuable contributions!

Hi Claudio,

The problem you discovered with developer support is a bit odd because the index.adp and index.tcl files do not use the regular acs templates. Thanks for the info, though, I'll give it a look.

The google map key works only in the URL that you registered with. For me when I test on my dev box, I get a javascript message that the Google API key is not being used in the correct url. The API key I registered was meant to be used in, so when I run it from a different URL I get the said javascript error.

On IE, once the javascript error is encountered, the whole thing stops and does not continue.

On firefox, however, you will get further because firefox ignores and notes the error in the javascript console and proceeds with the rest of the javascript.

I hope this helps.


Hi Hamilton,

I just tried out ajaxhelper, as I wanted to use a effect to hide/show the clipper sidebar in dotfolio. I found your ajaxhelper package works quite well! I would recommend others to use this package if they are interested in ajax.


Thanks Nick,
I am glad it helped.



Here is an update:

Our demo has started to be noticed and compared to IBM!

I created a video tour:

Hi I need the AjaxHelper Package, can you enable?