Moved some reusable code from SkinnablePortal to PortalService.
public boolean allowTool(Site site, Placement placement)
public boolean doGatewaySiteList()
public List getGatewaySites()
// private ??
public List getAllSites(HttpServletRequest req, Session session,
boolean includeMyWorkspace) throws IOException {
public Site getMyWorkspace(Session session)
public Map convertSiteToContext(HttpServletRequest req, Site s, String prefix,
String currentSiteId, String myWorkspaceSiteId)
public List convertSitesToContext(HttpServletRequest req, List mySites, String prefix,
String currentSiteId, String myWorkspaceSiteId)
public Site getSiteVisit(String siteId) throws PermissionException,
IdUnusedException {
public String getSiteEffectiveId(Site site)
private String[] getGatewaySiteList()
// Is this called elsewhere
portalService
See if indexof is still needed...
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.sakaiproject.site.api.Site;
import org.sakaiproject.exception.IdUnusedException;
import org.sakaiproject.exception.PermissionException;
import org.sakaiproject.tool.api.Placement;
import org.sakaiproject.tool.api.Session;
boolean allowTool(Site site, Placement placement);
boolean doGatewaySiteList();
List getGatewaySites();
List getAllSites(HttpServletRequest req, Session session,
boolean includeMyWorkspace) throws IOException;
Site getMyWorkspace(Session session);
Map convertSiteToContext(HttpServletRequest req, Site s, String prefix,
String currentSiteId, String myWorkspaceSiteId);
List convertSitesToContext(HttpServletRequest req, List mySites, String prefix,
String currentSiteId, String myWorkspaceSiteId);
Site getSiteVisit(String siteId) throws PermissionException,
IdUnusedException;
String getSiteEffectiveId(Site site);
Project.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Made some progress coding. Status below up through r20374.
TODO - Portlet Portal
http://bugs.sakaiproject.org/jira/browse/SAK-8180
Skin Better
- Overlaps on tiny screens
Look into resizing the frame above us. - Probably not practical...
Generally switch macros.vm to use simpler context approach stuff and normalize what we put into context - low priority
-------
Presense - Floating div - Done
http://www.developer.be/forums/index.cfm/fuseaction/dsp_full_thread/fullthreadid/1408/forumID/10.htm
http://www.devx.com/tips/Tip/12867
Test Popup - Done
Refactor code so Ian's stuff uses my new routines - Done
Solve log in and log out for dense portal - Done
Option 1 - always log in
Option 2 - allow anonymous...
Fix bottom nav in page and in portlet. - Done
Don't show presence in the MyWorkspace - Done
It is off to the airport to come back from China - I will have to write the blog entry on the plane. It will take abotu 24 hours to get back. See you in a bit.
I ahev not been blogging much because in my spare time I was writing an NSF proposal to get some money for Sakai in the name of Cyber infrastructure. Sorry about that. The name of the proposal is: SDCI Data Improvement: Sakai Research Edition - Human Communications as Part of the Scientific Record. This is follow on work to my National Middleware grant where I worked on the Open Grid Computing Environment (www.ogce.org).
The project summary is below. Sorry I involved very few people in the review - I wrote it in a week during the China trip during nights and weekends and on planes.
Now that I am done I can blog more about China.
Also remember that this is a proposal and is not likely to be funded - so don't start complaining about the deliverables unless the proposal gets funded :).
This proposal will extend the Sakai Collaboration and Learning Environment (CLE) so it can be used to capture the communication interactions between cooperating scientists and make those conversations and data part of the long-term scientific record along with the experimental data, intermediate results and published scientific results. There are significant efforts to develop reusable Cyberinfrastructure technology to capture experimental data and metadata and retain that data in long-term digital repositories. Unfortunately, nearly all of the human interaction that currently happens around these scientific activities is done using some ad hoc communication system such as Google Groups or a listserv system. What is needed is a system that rigorously retains as much of the scholarly communication as possible with full metadata and places those discussions, documents, and conversations into the long-term digital repository along side the experimental data. By combining the human communication and experimental data, future scientists will be able to reconstruct both the experimental results and analysis, but also be able to more fully reconstruct the information environment that was used produced the scientific results.
The Sakai Collaboration and Learning Environment is already in use by a million users around the world and is used for teaching, learning, research collaboration, and other forms of collaborative work. Sakai is developed using a community of over 100 open source developers from schools and organizations around the world. The non-profit Sakai Foundation coordinates this worldwide activity in order to produce a high quality product with quality equivalent to commercial products in the space and to insure the long-term viability of the Sakai Community.
This project improves several areas of Sakai which are important to research applications: (a) improve the user interface and usability of Sakai to insure that Sakai provides services that are attractive to researchers, (b) build data models so as to product standard interchange formats for material like chat, threaded discussions, e-mail archives, uploaded files, and others, (c) build the capability for this communication data to be easily stored in data repositories alongside the experimental data, and (d) build the ability to use Sakai in a federated-identity environment where researchers can use their institution-provided accounts to interact with many different Sakai systems.
Broader Impact
• Scientists will be able to easily make their interactions and intermediate results available to the general public, searchable by Google with little additional effort. Data can be made public as the discussion is happening, or after the work is completed.
• Because Sakai is used both for research and teaching and learning the barriers to moving information between research and teaching will be significantly reduced.
• Researchers using Sakai from multiple fields will develop and improve best practices for the use of collaborative technology.
• Researchers can use the Sakai Foundation Requirements Process to request features that they need to better make use of Sakai. The Sakai Foundation will track these requirements and coordinate the volunteer developmers and attempt to address the requirements.
• We can use the research applications of Sakai as a fertile ground to understand the requirements and use cases of the emerging cross-institutional Meta-University.
• This effort adds to and builds on existing and future JISC and DEST funding for research applications of Sakai.
• This effort provides a single point of contact for Sakai's research applications and can help others apply for funding for additional research-oriented capabilities for Sakai.
Intellectual Merit
• The data models that will be developed to capture the semantics of a broad range of human collaboration activity will be a significant contribution.
• We hope that these data models can be used to jump-start a standards process to increase the consensus around these models and further broaden the use of these data models as an interchange format.
Sorry I have not written more this week while in China. It has been a great week with many visits and fun adventures that I promise to write and catch up next week. Probably the most fun bit was getting a facial in Beijing - but for now I must away to the airport.
We are now leaving Wuhan for Shanghai.
Today was quite a day - we got up early and went to Tianamen Square and then walked through the Forbidden City. It is pretty cool to be at the place which most of us in the rest of the world feel helped signficnatly define modern China.
I took lots of pictures at the Forbiddeen City - It reminded me of the movie Mulan - although that is the wrong Dynasty. I particlularly liked the Imperial Gardens on the north end of the Forbidden City.
At the Forbidden City we ran into a place that made these Chinese Zodiac stamps (year of the dog, etc). I got a particularly cool stamp made for Sakai - actually "think open" Sikai and had the stamp made as the year of the Monkey (2004 when Sakai was born). They hand carved the stamp into soft stone as you waited. My policy is to only behave like a silly tourist the first time I go to a new country :)
We went to a cool noodle shop on the side of the road for lunch and met some local folks who though it was pretty funny that I only knew one word of Chinese "Xia Xia" which is Thanks Thanks and yet was deep in this local neighborhood at a hole-in-the-wall restaraunt.
The we went to Tsingua University and met Prof Chen Jiangang and his team to talk about their techology solutions for higher education. They have an impressive array of software - their seven software modules range from a course management system to a student enrollment system, alumni system and others. They provide an end-to-end solution to higher education in China. They are not open source - they charge for their software - but their customers like it just fine because the team provides such great service and provides a China-only solution highly tuned to the local culture and training environment. Their CMS was similar in function in Sakai - my hope is that in time we can find ways to get Sakai capabilities into their system rather than replacing their system with Sakai. Of course we talked about IMS Tool Interoperability :)
After a great meeting we went to a really nice restaraunt and had Peking duck. I learned a lot about green tea - the fancy stuff you cannot get in the US. You just put the leaves in a tall class with hot water and when the leaves sink to the bottom - you drink - when you get to the point where there is 1.5 inches of water left they put in more hot water so your tea continues.
Everyone is so friendly here. Every time we get ina cab Zhen starts talking for the whole trip - from these cab rides we learn many things - for example today we learned that it is pretty cheap and effective to hire a cab to go all the way to the Great Wall and back in five hours - so we will try to do this Thursday morning. The cost is 500 RMB which is about $45.00 - actually quite a bargain when you think of the convienence and time savings.
Blog photos will be far and few because they cost 0.25 per photo to send - so I will take a bunch and upload them to the blog at trip-end - I will only upload 2-3 per day while here in China. I am uploading some of the photos to the whereissakai tag on Flickr. The Cingular service seems to work fine - data service seems more reasonable than anything else at 0.02 / K.
We arrived in Bejing Sunday night at 10PM and made it to the hotel. Internet access will be dicey because (according to the note in the hotel) - "December 27, 2006 some internet cables were damaged in the South China Sea".
I am working now late at night - my guess is that it will be tougher to use during the day. And probably no Skype/Gizmo - even now it is pretty sluggish - but thankfully it works. Watch the photo blog as we travel around.
http://www.dr-chuck.com/images/2007/01/
My Cingular works quite well.
I am off to my first trip to China - I will be back January 24. I will try to blog a bit as we proceed. Goto to run - they just announced boarding.
My dream about a Treo, iPhone, Bloging, and an earthquake. Very silly. It shows that my subconcious is furiously trying to understand the implications of the iPhone.
Or perhaps it was just a "bit of bad beef".
Last night I had a terrible dream. It was a very very vivid dream - in rich color and hi-def. I dreamed that I was at home with my family and an earthquake happenned - it was a MAJOR earthquake - so major that the house was pitching as if we were on a boat in heavy seas.
After a few seconds I realized that we were in no danger - the earthquake was high magnitude but the rolling was very gentle (remember - this was a dream). So with everything pretty safe I decied that the next thing to do was to use my cell phone (Treo) to take a video of the undulating ground out the window.
It was amazing - the ground had 10 foot waves of dirt slowly going by my window while we gently rocked back and forth in the house.
So I grabbed my Treo to blog the earthquake with some video. But someone had changed my Treo into some "super user friendly mode" with pop up help and lots of onscreen prompts. (With my current Treo, I can take a video and send it almost with a set of key presses without even looking at the unit.)
Back to the horrible dream - I *could not* make the Treo work for the life of me - I pushed buttons and nothing I expected happenned - I remember thinking that the graphics were really pretty with pretty pictures in the background and that all the menus scrolled very smoothly (kind of like a Sony Camcorder or my Sony DSC-W50). The fonts were very smooth and very pretty.
I was frantic bcause I knew that earthquakes were short lived and each second that I could not get my Treo to work seemed like the quake would be over - I started crying as it felt like the earthquake was subsiding and I still had no video of the the awsome quake to put on YouTube and my blog.
After the quake was over I sobbed for a while at how I did not get the video.
The dream now cuts to a bus tour where we are surveying the damage - I am still sniffling and trying to figure out my Treo - now to take pictures - my son Brent tries to help me to no avail. I am sitting by a lake looking up at a mountain with a large hunk broken off and cannot even take a Treo picture of it - even with all the time in the world I cannot figure out this new "hyper friendly" Treo phone.
End of dream.
Interpretation
Apparently I must be subconciously terrified that the iPhone will have no buttons and will require constant staring at the screen doing precise gestures to do the simplest tasks. I do lots with my Treo with one hand and by feel. This will not be possible with only a gesture interface.
As a simple example, I bought my daughter an iPod for Christmas and by the time I *figured out* the combination of gestures and clicks to use the iPod UI - I had switched the language to Swedish! Of course this was my first non-shuffle (which does have butons) iPod experience.
Of course I will badly need an iPhone the moment it is available - not so much because it is a great phone - but because it is a great computer - it will be the most awsome piece of hardware in the world - it will end up being a "shuttle craft" and remote control to all of the larger computer equipment that you have like your macBook Pro, iTv, iStereo, iPictureFrame, iRefrigerator, iCoffeePot, iGarageDoorOpener, iAutoMobile etc etc :)
I am on vacation this week attending the Rose Bowl in Pasdena, CA with my son Brent, brother in law Ted (from the flooring video) and nephew Brandon.
They got Rose Bowl tickets for Christams. I have never been to a bowl game and wanted to go to at least one and this seems like a good one with UM and USC in the Rose Bowl - the grandaddy of them all.
In addition to the Rose Bowl - we went to Santa Monica and plan to go to Hollywood and Universal Studios on the trip - we get back early Friday morning after a red-eye.
So I am on Vacation - I have the cell in case folks need to get ahold of me.
You can look at the pictures of the vacation at http://www.dr-chuck.com/images/