300 likes | 438 Views
Managing Content in uPortal. Susan Bramhall Yale University ITS Technology and Planning. Who am I?. Yale University Portal Implementer Occasional contributor to uPortal Early adopter of Distributed Layout Manager Grandmother. What Will I cover?. The layout manager’s job
E N D
Managing Content in uPortal Susan Bramhall Yale University ITS Technology and Planning
Who am I? • Yale University Portal Implementer • Occasional contributor to uPortal • Early adopter of Distributed Layout Manager • Grandmother
What Will I cover? • The layout manager’s job • An overview of uPortal layout managers • Distributed Layout Manager basics • Introduction to uPortal users and groups • How to create layout fragments • How user content changes and managed content changes interact
What does the user see? • We want to • Push content to users based on who they are • But, allow users to choose what they see • How? • By working with the layout manager
folder type=“root” folder (tab) folder (tab) folder (tab) folder (column) folder (column) folder (column) folder (column) folder (column) channel channel channel channel channel channel channel The Layout An xml tree of generic folders and channels
The Layout Manager’s Job To direct the show the Layout Manager must • Know where to start • Have rules to follow to include the right content and exclude everything else • And where each segment goes
Of Fragments and Templates • A template is a starting point for personal layout • A fragment is a living segment of pushed content
Publish, Subscribe, , Pull • Publishing is what an administrator does • Subscribing is what a user does • Administrators can also PUSH content • Pull = Subscribe
Concepts • Fragments and Templates • Publish and Subscribe • Push and Pull • Audience • Precedence and Restrictions
Which Layout Manager? • Simple Layout Manager (SLM) • uPortal 1.0 to present • Aggregated Layout Manager (ALM) • uPortal 2.0 to present • Distributed Layout Manager (DLM) • uPortal 2.5 to present
Simple Layout Manager • uPortal 1.0 – 2.5 but no longer default • Based on completely templates • Allows personal layout for each user • But personalized layout is a copy • New content in template is lost on users who have customized
Aggregated Layout Manager • uPortal 2.0 – now • Will NOT be the future default • Based on fragments (think tab) and templates • Can push fragments • Can subscribe to whole fragments • Allows personal layout for each user but fragments are read only
Distributed Layout Manager • Default in uPortal 2.6 • Templates and Fragments • Fragments can be modified • Cannot subscribe to a fragment (yet) • Allows personal layout for each user and user changes are merged with changes to fragments
Steps to Pushing DLM Fragment • Define the fragment in dlm.xml • Login as the fragment owner and set up the layout
Define the Fragments • dlm.xml configuration • Each Fragment definition includes • An owner • Precedence • Audience
Audience • Everyone needs the right audience! • Built-in evaluators • Extensible API • Boolean expressions
Defining the audience Built in Audience Evaluators • GuestUserEvaluatorFactory • AllUsersEvaluatorFactory • GroupMembershipEvaluatorFactory • PersonEvaluatorFactory
User Attributes • IPerson is the basic user object • Attributes come from jdbc or ldap • Or any other source you invent
PersonDirectory.xml • API allows extension • Spring configurable beans • CachingPersonAttributeDaoImpl • MergingPersonAttributeDaoImpl • JdbcPersonAttributeDaoImpl • LdapPersonAttributeDaoImpl
PersonEvaluator Audience • Tabs based on Person attributes • PersonDirectory Flexibility
compositeGroupServices.xml • Starts with Local groups from uPortal database • Includes comments for • LDAP group service (beware) • File System group service • Person Attribute Group service (PAGS)
GroupMembershipEvaluator Audience • Tabs based on Group
Precedence and Restrictions • Administrator sets parameters • User works within boundaries • End result is pushed content merged with personal changes
Create the Fragment Content • dlm.xml is complete • Login as fragment owner • Use preferences channel to create content for the fragment • Header and footer will be removed and other content will become the fragment
Practical DLM See DLM Administrators Guide at http://www.ja-sig.org/wiki/x/pjQ • Experiment in the quickstart… • Login as news-lo/news-lo. See preferences. • Login as student / student. See changes. • Go to preferences, see merging personal changes with pushed fragment