UPortal Presentation Layer For FLUID Summit September 27, 2007 Susan Bramhall, Yale University

Slides:



Advertisements
Similar presentations
Using the Self Service BMC Helpdesk
Advertisements

Customizing the MOSS 2007 Search Results November 2007 Rafael Perez.
Lesson 17: Configuring Security Policies
Turners SharePoint Web Site How we did it. 2 Page Anatomy Custom Search Web Part Custom Search Web Part Data Form Web Parts Content Query Web Part HTML.
SharePoint 2010 Permissions Keith Tuomi. profile KEITH TUOMI SharePoint Consultant / Developer at itgroove Developing Online Systems since years.
16 HTML Tables and Frames Section 16.1 Create a basic table using HTML Define borders Merge cells Align content in tables Section 16.2 Create a frames-based.
Chapter 9 Chapter 9: Managing Groups, Folders, Files, and Object Security.
Distributed Layout Management Mark R. Boyd Principal Engineer Information and Communication Systems The Church of Jesus Christ of Latter-Day Saints Formerly.
Managing Content in uPortal Susan Bramhall Yale University ITS Technology and Planning.
1 of 6 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
New uPortal Contributions from the University of Wisconsin-Madison Jim Helwig University of Wisconsin-Madison Eric Dalquist Unicon, Inc. JA-SIG December.
Overview of Distributed Layout Manager Presented by: u Mark Boyd, SunGard SCT u Marlin Benson, SunGard SCT u Todd Trann, University of Saskatchewan.
1 of 6 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2007 Microsoft Corporation.
1 Securing Network Resources Understanding NTFS Permissions Assigning NTFS Permissions Assigning Special Permissions Copying and Moving Files and Folders.
MC 365 – Software Engineering Presented by: John Ristuccia Shawn Posts Ndi Sampson XSLT Introduction BCi.
1 Chapter Overview Creating User and Computer Objects Maintaining User Accounts Creating User Profiles.
131 Agenda Overview Review Roles Lists Libraries Columns.
UPortal: Hands On Mark Mazelin Cedarville University.
Database-Driven Web Sites, Second Edition1 Chapter 8 Processing ASP.NET Web Forms and Working With Server Controls.
© 2007 RightNow Technologies, Inc. RightNow Technologies Carolina’s User Group Meeting RightNow Technologies Workspace Designer v8.0 Sylvia Nolan Solutions.
XP New Perspectives on XML, 2 nd Edition Tutorial 10 1 WORKING WITH THE DOCUMENT OBJECT MODEL TUTORIAL 10.
With Windows XP, you can share files and documents with other users on your computer and with other users on a network. There is a new user interface.
© 2004 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice SISP Training Documentation Template.
Review IDIA 619 Spring 2013 Bridget M. Blodgett. HTML A basic HTML document looks like this: Sample page Sample page This is a simple sample. HTML user.
INTERPRETING IMPERATIVE PROGRAMMING LAGUAGES IN EXTENSIBLE STYLESHEET LANGUAGE TRANSFORMATIONS (XSLT) Authors: Ruhsan Onder Assoc.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Rendering Contexts and Components What is a uPortal3 context ? –Defines all aspects of a traditional portal instance Design, navigation, profiles Parameter.
Leveraging DLM Processors JA-SIG 2009 Conference, Dallas Monday, March 2, 2009, 2:00PM-3:00PM Tim Carroll University of Illinois.
Processing of structured documents Spring 2002, Part 2 Helena Ahonen-Myka.
XML Parsers Overview  Types of parsers  Using XML parsers  SAX  DOM  DOM versus SAX  Products  Conclusion.
UPortal 101 JA-SIG Pre-conference Seminar Susan Bramhall & Andrew Petro Vancouver, BC, June 4, 2006.
DLM: The uPortal Pushmi-Pullyu JA-SIG with Altitude, Denver 2007 Susan Bramhall,Yale University Jim Helwig, University of Wisconsin-Madison.
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
Moodle (Course Management Systems). Managing Your class In this Lecture, we’ll cover course management, including understanding and using roles, arranging.
New uPortal Contributions from the University of Wisconsin-Madison Jim Helwig University of Wisconsin-Madison Eric Dalquist Unicon, Inc. JA-SIG December.
WDK Overview How the WDK implements MVC and provides a base from which custom sites can be created.
1 Chapter Overview Publishing Resources in Active Directory Service Redirecting Folders Using Group Policies Deploying Applications Using Group Policies.
Dreamweaver MX. 2 Overview of Templates n Templates represent a web page design or _______ that will be common to multiple pages. n There are two situations.
Chapter 9: SHARING FILE SYSTEM RESOURCES1 CHAPTER OVERVIEW  Create and manage file system shares and work with share permissions.  Use NTFS file system.
A Community of Learning SUNGARD SUMMIT 2007 | sungardsummit.com 1 Extending SSO – CAS in Luminis Presented by: Zachary Tirrell Plymouth State University.
Andrew S. Budarevsky Adaptive Application Data Management Overview.
UPortal 3JA-SIG Summer Conference 2006 uPortal 3.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
Windows SharePoint Services Managing users and rights.
Using Ajax to Improve uPortal User Experience Jen Bourey Yale University
XML Study-Session: Part III
Microsoft® Excel Key and format dates and times. 1 Use Date & Time functions. 2 Use date and time arithmetic. 3 Use the IF function. 4 Create.
UPortal 3: Sneak PreviewJA-SIG Winter Conference 2005 uPortal 3 sneak preview Eric Dalquist, Peter Kharchenko Unicon Inc.
UPortal 3 RC2 PreviewJA-SIG Conference, Summer 2007 uPortal RC2 Preview Moving on Up Reviewing current work and future plans Standardizing the framework.
XP New Perspectives on XML, 2 nd Edition Tutorial 7 1 TUTORIAL 7 CREATING A COMPUTATIONAL STYLESHEET.
1 FESA architecture v.1.0 Framework Configuration & Data-entry Tool 5 th December 2003.
Transportation Agenda 165. Transportation About Pages Pages organize and present information Pages are files that end in.aspx 166.
Introduction to Programming in Corvid EXSYS-Corvid is an intelligent systems programming environment General order of tasks: Enter and define Variables.
UPortal3 navigation features Fall’05 developer meeting day 2.
UpgradinguPortal to What’s new that matters Better use of third party frameworks Faster! Improved caching Drag and Drop New Skin & Theme Accessibility.
Configuring and Managing Resource Access Lecture 5.
Flag Quiz Game App Android How to Program © by Pearson Education, Inc. All Rights Reserved.
XML Schema – XSLT Week 8 Web site:
Chapter 5 Introduction to Defining Classes Fundamentals of Java.
Product Training Program
XML Parsers Overview Types of parsers Using XML parsers SAX DOM
ASP.NET Forms.
About SharePoint Server 2007 My Sites
uPortal: architecture and features
XML Parsers Overview Types of parsers Using XML parsers SAX DOM
uPortal3 navigation features
Jon Allen, Justin Tilton instructional media + magic, inc.
February 11-13, 2019 Raleigh, NC.
Presentation transcript:

uPortal Presentation Layer For FLUID Summit September 27, 2007 Susan Bramhall, Yale University

Summer 2007 JA_SIG Conference DLM the uPortal Pushmi-pullyu: sig.org/wiki/download/attachments/ /DLM-TheuPortalPushmi- Pullyu_Bramhall-Helwig-JA- SIG_ ppt?version=1 Good conceptual overview of DLM

What is a layout? tab column channels

A fragment is a piece of a tree tab column channels tab column channels A predefined fragment including 2 tabs, 3 columns, several channels

How is the “tree of content” created? Some content is pushed to the user Some is subscribed to by the user Some is allowed to go anywhere on the tree Some must remain is a certain place

That is the layout manager’s job

uPortal 2.0 December 2001 Justin Tilton sig.org/wiki/download/attachments/13455/looknf eel.pdfhttp:// sig.org/wiki/download/attachments/13455/looknf eel.pdf (Works in IE) This is a great presentation of base uPortal presentation / layout management using Simple Layout Manager. With thanks to uPortal 2.0 architect Peter Kharchenko:

SLM issues… Layouts were based on template selected based on user attributes. Whenever the user modified the layout the ENTIRE layout tree was saved User never saw changes to template after that

Summer 2007 JA_SIG Conference Mark Boyd Summer 2007 DLM seminar sig.org/wiki/download/attachments/ /DlmSummer20 07.ppt?version=1 No notes but excellent presentation of 2.6 Distributed Layout Manager as released in 2.6 plus features in Luminis IV not yet in uPortal

What is DLM? Fragment User Owned

What is DLM? Fragment Owned Tab Fragment Owned Channel User Owned Channel

DLM History uPortal adopted by Campus Pipeline, DLM work starts DLM 1.0 pushed fragments debut in Luminis ALM work begins in earnest SCT asked to contribute DLM DLM 1.0 debuts in uPortal 2.5 DLM 2.0 Processing Pipeline 2007 DLM 2.0 in Luminis

DLM History DLM 1.0 (uPortal 2.5) –Pushed fragments –Variable Restrictions –User Modifications to fragment –XML file based configuration DLM 2.0 –Graceful Fragment Degratation –Processor pipeline (uPortal 2.6) –Subscribed fragments –Fragment Manager channel/DB based configuration

uPortal Layouts: pre-DLM UP_LAYOUT_STRUCT UP_LAYOUT_PARAM LayoutStore Loads Structure XSLT LayoutManager manages Theme XSLT

uPortal Layouts: DLM Style UP_LAYOUT_STRUCT UP_LAYOUT_PARAM DLM LayoutStore Loads DLM Structure XSLT DLM LayoutManager manages DLM Theme XSLT ILF PLF Fragment Cache Merge ILF = Incorporated Layout Fragment (user’s viewed layout) PLF = PersonalLayoutFragment (user’s persisted layout)

uPortal Layouts: Fragment Owners UP_LAYOUT_STRUCT UP_LAYOUT_PARAM DLM LayoutStore Loads DLM Structure XSLT DLM LayoutManager manages DLM Theme XSLT ILF PLF Fragment Cache ILF = Incorporated Layout Fragment (user’s viewed layout) PLF = PersonalLayoutFragment (user’s persisted layout) same

Configuring DLM Fragments Dlm.xml Fragment owner Audience Precedence Properties

Configuring Fragments /properties/dlm.xml /WEB-INF/classes/properties/dlm.xml –Properties. –Fragment account declarations. –Audiences that receive those fragments automatically.

DLM.XML Properties –Identifies account whose layout should be copied for any newly created fragment accounts.

DLM.XML Properties –Deprecated. –Identifies implementation of interface org.jasig.portal.layout.dlm.LayoutDecorator. public void decorate (Document layout, IPerson person, UserProfile profile) –Allowed customizations to post-merging layout.

DLM.XML Properties –Determines refresh period of cached fragment layouts for layout change propagation to other servers. –Value in minutes.

DLM.XML Fragments –name = name of fragment, shows when owner is logged in. –ownerID = username for account whose layout is the fragment’s layout. –precedence = determine’s ordering and bumping rights. If same as another fragment then index of declaration in dlm.xml is used. –Content is zero to many tags.

DLM.XML Audiences –Audience identifies who should get the fragment layout. –Factory must implement org.jasig.portal.layout.dlm.EvaluatorFactory. public Evaluator getEvaluator( Node audience ); –Audience parameter is DOM representation of audience tag’s XML content. –Content must be well-formed XML understood by declared factory.

DLM.XML Audiences Determines

Demo –All users but guest should see Entertainment fragment. –Entertainment fragment owned by ent-lo account. –Changes to layout should appear for other users.

DLM.XML Audience Factories –Factory implements org.jasig.portal.layout.dlm.EvaluatorFactory. public Evaluator getEvaluator( Node audience ); –Evaluator interface public boolean isApplicable( IPerson person ); –If any audience evaluator answers true then the fragment is granted. –Four factories included in org.jasig.portal.layout.dlm.provider package.

DLM.XML Audience Factories –AllUsersEvaluatorFactory No content. Always returns true. –GuestUserEvaluatorFactory No content. Returns true if IPerson.isGuest() returns true.

DLM.XML Audience Factories –PersonEvaluatorFactory Evaluates IPerson.getAttribute(name) values. Audience can have one to many paren or attribute elements and “ORs” their responses together. Paren element has single attribute “mode” with allowed values of “AND”, “OR”, and “NOT” and nested element outcomes combine accordingly with NOT acting as if it contained a nested, envelopting “OR” paren. Attribute element has three attributes: –name: used as the key for IPerson.getAttribute(key). –mode: can be “contains”, “startsWith”, “exists”, “equals”, and “endsWith”. –value: is the value used for comparison

DLM.XML Audience Factories –PersonEvaluatorFactory quiz Will grant the fragment to anyone with green or hazel or brown eyes.

DLM.XML Audience Factories –PersonEvaluatorFactory quiz Will grant the fragment to anyone without both green eyes AND blonde hair. If they have one or the other or both they don’t get it. Expression: NOT( eyes=green OR hair=blonde) Expression: (eyes NOT green) AND (hair NOT blonde)

DLM.XML Audience Factories –PersonEvaluatorFactory quiz Will grant the fragment to anyone with eyes NOT(brown) OR brown so everyone gets it.

DLM.XML Audience Factories –GroupMembershipEvaluatorFactory Inherits same logical expressions as in PersonEvaluatorFactory “attribute” element only supports attributes: –mode: “memberOf” and “deepMemberOf” –name: name of the group being checked for membership

DLM.XML Audience Factories –GroupMembershipEvaluatorFactory quiz –true for Sam, false for Jill. –true for both Sam and Jill. Everyone Students contains Sam Jill

DLM.XML Audience Factories –Extra Credit quiz –Multiple audience tags OR’ed together. –Eyes equal brown OR member of Students.

Custom Evaluator Factories If you need it, build it. –Factory implements org.jasig.portal.layout.dlm.EvaluatorFactory. public Evaluator getEvaluator( Node audience ); –Evaluator interface public boolean isApplicable( IPerson person );

DLM.XML Fragment Precedence Location, Location, Location – screen real-estate is not created equal. –DLM’s merging algorithm pushes tabs from granted fragments into user’s layout view. –Tabs to left bump tabs to the right off of the screen. –Channels at top bump channels at the bottom off of the screen. –Identical precedence reverts to index in dlm.xml.

DLM.XML Fragment Precedence User tab “E” and no restrictions (to be discussed shortly) Quiz: In what order would merged tabs appear? ACBDE

DLM 2.0 Features Graceful fragment degradation (uPortal 2.6) Processor pipeline (uPortal 2.6) Subscribe Fragments Fragment Manager channel/DB based configuration

Processing Pipeline Parameter Processors processParameters( ) Distributed Layout Manager ProcessLayout Parameters() Processing Pipe User Instance processParameters() method called on all processors

getContentHandler( ) User Instance Content Handler SAX Event Stream Processing Pipeline SAX Processors User Instance Content Handler Distributed Layout Manager getUserLayout() Processing Pipe User Instance Some Content Handler returns

Processing Pipeline Configured in properties/dlmContext.xml – … … –

Processing Pipeline in uPortal 2.6 Defined by dlmContext.xml ThemeParamInjector –Passes full name to theme RegularViewChannelRemover –Watches for removal of channel AjaxPreferencesThemeParamInjector –Sets isAjaxEnabled and isLoggedInUser

Examples ExampleStickyTabEnforcer Watches for a tab with name "Sticky Tab" and if found sets that tab as the currently active tab on every request ExampleBookmarksRemover Alters the SAX event stream coming from the DistributedLayoutManager by stripping out any events related to a channel with name="Bookmarks".

Nowadays layouts are not everything