Using RSF to Develop a Sakai Tool – Lessons Learned Mark Norton, Nolaria Consulting.

Slides:



Advertisements
Similar presentations
The Web Wizards Guide to Freeware/Shareware Chapter Four Essential Tools for Web Page Authors.
Advertisements

XP New Perspectives on Microsoft Office Word 2003 Tutorial 7 1 Microsoft Office Word 2003 Tutorial 7 – Collaborating With Others and Creating Web Pages.
HTML Basics Customizing your site using the basics of HTML.
XHTML Week Two Web Design. 2 What is XHTML? XHTML is the current standard for HTML Newest generation of HTML (post-HTML 4) but has many new features which.
Working with Behaviors in DW Marion Setton. You may be familiar with divs and how to construct them generally using Dreamweaver CS5, but you can also.
Learn the techniques to create a SharePoint 2010 web site from an existing branded web site.
Cascading Style Sheets (CSS). Cascading Style Sheets With the explosive growth of the World Wide Web, designers and programmers quickly explored and reached.
XHTML Basics.
1. Content – Collective term for all text, images, videos, etc. that you want to deliver to your audience. 2. Structure – How the content is placed on.
Strategies For Creating Accessible University Webpages Scot Close and Neil Torrefiel Web Services Unit San Jose State University.
1 Web Developer & Design Foundations with XHTML Chapter 9 Key Concepts.
The Web Warrior Guide to Web Design Technologies
Alternate Software Development Methodologies
1 Lesson 10 Using JavaScript with Styles HTML and JavaScript BASICS, 4 th Edition Barksdale / Turner.
Creative Commons Attribution- NonCommercial-ShareAlike 2.5 License Sakai Programmers’ Café Sakai NWU Workshop, South Africa Recap of Sakai Services Antranig.
HTML tags Skills: adding HTML tags, text editor IT concepts: plain text, computer components – storage versus memory, separation of content and format.
Web Development Using ASP.NET CA – 240 Kashif Jalal Welcome to week – 3-1 of…
Developing a Basic Web Page Posting Files on UMBC
Introducing HTML & XHTML:. Goals  Understand hyperlinking  Understand how tags are formed and used.  Understand HTML as a markup language  Understand.
Using Cascading Style Sheets (CSS) Dept. of Computer Science and Computer Information CSCI N-100.
Reasonable Sakai Widgets Aaron Zeckoski Gonzalo Silverio Antranig Basman
IBM Proof of Technology Discovering the Value of SOA with WebSphere Process Integration © 2005 IBM Corporation SOA on your terms and our expertise WebSphere.
JQuery CS 268. What is jQuery? From their web site:
Creating a Simple Page: HTML Overview
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Ch6:creating consistent looking web sites. Master pages Master page defines a combination of fixed content and content place holder to hold the web page(.aspx)
WorkPlace Pro Utilities.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
© Ms. Masihi.  The Dreamweaver Welcome Screen first opens when you start Dreamweaver.  This screen gives you quick access to previously opened files,
McGraw-Hill/Irwin © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. Dynamic Action with Macromedia Dreamweaver MX Barry Sosinsky Valda Hilley.
XP 1 HTML: The Language of the Web A Web page is a text file written in a language called Hypertext Markup Language. A markup language is a language that.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
10 Adding Interactivity to a Web Site Section 10.1 Define scripting Summarize interactivity design guidelines Identify scripting languages Compare common.
Chapter 1 Understanding the Web Design Environment Principles of Web Design, 4 th Edition.
Week 1 Understanding the Web Design Environment. 1-2 HTML: Then and Now HTML is an application of the Standard Generalized Markup Language Intended to.
Sousa: Content Authoring and Delivery in Sakai Mark J. Norton Nolaria Consulting July 2008.
Using a Template to Create a Resume and Sharing a Finished Document
Learning Web Design: Chapter 4. HTML  Hypertext Markup Language (HTML)  Uses tags to tell the browser the start and end of a certain kind of formatting.
Section 4.1 Format HTML tags Identify HTML guidelines Section 4.2 Organize Web site files and folder Use a text editor Use HTML tags and attributes Create.
Introduction to Applets CS 3505 Client Side Scripting with applets.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Lecture 2 Building Web Pages 1 Lecture 2  Building Web pages  Languages and programs  HTML - Hyper Text Markup Language  Netscape’s Composer  MicroSoft.
XP Tutorial 9 1 Working with XHTML. XP SGML 2 Standard Generalized Markup Language (SGML) A standard for specifying markup languages. Large, complex standard.
Handy separation the report template into pages Handy visual separation of the report template into pages is available in Stimulsoft Reports.Net. You.
Section 8.1 Create a custom theme Design a color scheme Use shared borders Section 8.2 Identify types of graphics Identify and compare graphic formats.
XHTML By Trevor Adams. Topics Covered XHTML eXtensible HyperText Mark-up Language The beginning – HTML Web Standards Concept and syntax Elements (tags)
HTML Basics BCIS 3680 Enterprise Programming. Web Client/Server Architecture 2  Your browser (the client) requests a Web page from a remote computer.
Selenium and Selenium on Rails. Agenda  Overview of Selenium Simple Selenium Tests Selenium IDE  Overview of Selenium on Rails  Problems with Selenium.
8th Sakai Conference4-7 December 2007 Newport Beach POCS – Content Sequencing for Sakai Mark J. Norton Nolaria Consulting.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
1 June 10-15, 2012 Growing Community; Growing Possibilities Switching to on-line evaluations for courses at UC Berkeley Daphne Ogle, Lead Design, UC Berkeley.
Forms Collecting Data CSS Class 5. Forms Create a form Add text box Add labels Add check boxes and radio buttons Build a drop-down list Group drop-down.
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 8: Working with Style Sheets.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Session 3 How to Approach the UML Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
Creative Commons Attribution- NonCommercial-ShareAlike 2.5 License Sakai Programmer's Café Introduction to Reasonable Server Faces Aaron Zeckoski
Chapter – 8 Software Tools.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Tutorial #1 Using HTML to Create Web Pages. HTML, XHTML, and CSS HTML – HyperText Markup Language The tags the browser uses to define the content of the.
Leveraging Web Content Management in SharePoint 2013 Christina Wheeler.
Customizing Share Document Previews Will Abson Senior Integrations Engineer and Share Extras Project Lead
HTML III (Forms) Robin Burke ECT 270. Outline Where we are in this class Web applications HTML Forms Break Forms lab.
A first stab at a better templating system for Chisimba The Chisimba Canvas.
Section 10.1 YOU WILL LEARN TO… Define scripting
Modern web applications
JavaServer Faces: The Fundamentals
Modern web applications
Web Development Using ASP .NET
Tools to Show Effects of Different Download Order
Presentation transcript:

Using RSF to Develop a Sakai Tool – Lessons Learned Mark Norton, Nolaria Consulting

The Gallery Project Mark Norton was contracted to implement a design for an image sequencing tool (Gallery Tool) in January of The tool was designed by Daphne Ogle and Sean Byrne of UC Berkeley. The project was led by Oliver Heyer and Mara Hancock.

Project Goals Leverage the Resources tool to allow images to be collected and ordered. Create a place for such collections (galleries) to be selected. Show the collection as thumbnails Sequence the images manually and automatically (with a five second delay).

Development Process Basic requirements established in writing before any design work or implementations were done. Wireframes developed based on user research at UCB. Wireframes converted to RSF templates. Interative refinement of UI and behavior. Full code and UI review.

Design Preliminaries The Gallery tool was originally conceived as part of the Lila image repository project. Extensive user research was conduced by Daphne in This led to a basic understand of what was needed in an image viewer / sequencer. Final requirements were negotiated to scope the project.

Wireframes using Omnigraffle Getting StartedGallery Selection Thumbnail ViewImage Sequencing

Iterative Design Refinement This is the thumbnail view as originally conceived by Seamus. Note that the thumbnails are fixed size. This was rendered as …

Initial Thumbnail Design Looks good, but ….

Reflection on User Needs This tool is intended to be used in courses where the images are the central focus of learning. As such, they cannot be distorted in any way. But the first rendering caused the thumbnails to be rendered using a fixed height and width. RSF allows rapid UI design changes …

Resulting Implementation Thumbnails are now shown in the proper aspect ratios, though this means that some are smaller than others. This was deemed an acceptable trade off.

Building a Sakai Tool with RSF RSF was selected as the presentation technology for several reasons: –Faciliated user centric design. –Allowed designers to modify look and content. –Supports rapid response to change – agile! –There was a desire to evalute it as a new presentation technology for Sakai.

State Transitions Implementation starts with understanding of how the applciation transitions from one view state to another. This kind of documentation greatly helps the development process.

Create RSF Templates The template is an XHTML file that can be previewed with any browser. Only the rsf:id tags make this an RSF template.

RSF Templates The simplicity of RSF templates is one of the great features of this approach to presentation technology. Besides being able to preview in a browser, it brings the designer directly into the development process. HTML wireframes are easy to convert to RSF templates.

Write the Producers Rather than relying on the presentation tech engine to build a component tree, RSF requires the developer to create one explicitly.

Assembling Component Trees Rather than hiding the creating of the component tree from the developers (as JSF does), it is explicitly created in an RSF Producer class implementation. This gives a great deal of control over optional content. Table elements are generated iteratively. Strings are externalized using UIMessage, the MessageLocator, or RSF-EL.

Application Service Like all good Sakai tools, the Gallery tool has an application service that defines and implements it’s application logic. This helps separate abstract functionality from presentation issues. It also allows Gallery tool capability to be integrated with other applications. The ContentHosting service is used by this tool in a similar manner.

Learning to use RSF RSF is a new presentation technology with a lot of potential. There are some basic concepts that need to be mastered. After that, implementation choices drive the use if RSF.

UIBranchContainer The UIBranchContainer object is used when ever a component in the component tree needs to contain others (sub-nodes). Most commonly, this is used when elements are iteratively generated, such as in a table. Branch container components are identified by a colon, “:” in the RSF id.

Links and Internal Links Links between RSF views is handled by the UIInternalLink object. External links and image tags are handled by the UILink object. Access to local content in the application is defined in the Maven project file.

Use of UIVerbatim The UIVerbatim allows text to be entered directly into the rendering stream. This is dangerous if not handled carefully, since it could break the output integrity. However, there are times when it is needed. The Gallery tool has large blocks of text saved with markup in the Messages.properties file.

Forms in RSF RSF tries very hard to simplify creating and handling of forms. Both GET and POST form methods are supported. Parameters are defined and encapsulated by ViewParameters. ViewParameters are powerful and simple to use.

DHTML Tag parameters can be set using UIComponent decorators. This allows the producer code to set styles (if not defined by the template), handle dynamic actions such as onClick, image sizes, etc. Over time, best practices will arise on how best to use the capabilities of RSF to handle dynamic events.

Debugging RSF Code One of the great features of RSF is that it always TELLS you what’s going wrong. Usually this is done via excepts in catalina.out, but sometimes in the browser display. For example, RSF is very strict about the use of XHTML in the templates, but will tell you EXACTLY where it’s broken, if so.

Overall Impressions of RSF There is a learning curve associated with any presentation technology and RSF is no exception. It is well documented, conceptually simple, and has growing Sakai community support. Projects like Gallery and Evaluation will lead to a body of best practices that augment the existing examples.

The Future of Gallery Tool The Gallery Tool has been chosen to be a test vehicle for the Fluid project. The first Fuid component will be a lightbox image sequence editing gadget that will enable sequences to be defined directlyin the tool. Antranig Basman has assumed development of the Gallery tool and new code development.

Recommendations Give RSF a try. The examples are easy to follow. Training is available from Mark Norton and the Sakai Café project led by Aaron Zeckoski. Read the RSF documentation at Attend some of the other sessions on RSF at the conference.

Questions? Mark J.Norton Senior Consultant Nolaria Consulting Bedford, Massachusetts, USA