1 / 29

uPortal 101

uPortal 101. JA-SIG Pre-conference Seminar Susan Bramhall & Andrew Petro Vancouver, BC, June 4, 2006. Who am I?. Yale University Portal Implementer Occasional contributor to uPortal Early adopter of Distributed Layout Manager Grandmother. Our Agenda. Please follow along on the wiki:

vine
Download Presentation

uPortal 101

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. uPortal 101 JA-SIG Pre-conference Seminar Susan Bramhall & Andrew Petro Vancouver, BC, June 4, 2006

  2. Who am I? • Yale University Portal Implementer • Occasional contributor to uPortal • Early adopter of Distributed Layout Manager • Grandmother

  3. Our Agenda Please follow along on the wiki: http://www.ja-ig.org/wiki/display/JCON/uPortal+101 • Building uPortal • Logging • Configuration Flavors (properties, Spring, xml) • Database • Starting it up! • Authentication • User Attributes, IPerson • Groups • Channels • Layout Management (very brief) • Stats Recording

  4. Building uPortal • Details in the wiki at: http://www.ja-ig.org/wiki/display/JCON/uPortal+101 • Set up development environment in Eclipse • Create project containing uPortal 101 Vancouver branch from JA-SIG repository • Compile and deploy to Tomcat Server • We will use ant tasks to run other uPortal tools. • Source for tools in package org.jasig.portal.tools

  5. uPortal Database • JNDI or JDBC • rdbm.properties vs container DAO • Tests by DatabaseMetaData • Pooling Connections

  6. JNDI or JDBC? In portal.properties: • RDBMServices.getDatasourceFromJndi • “false” when no container • “true” if container supplied • RDBMServices.jndiRetryDelay • RDBMServices.PortalDatasourceJndiName • The name used to request data source from container

  7. rdbm.properties • rdbm.properties jdbc parameters: jdbcDriver=org.hsqldb.jdbcDriver jdbcUrl=jdbc:hsqldb:hsql://localhost:8887 jdbcUser=sa jdbcPassword= • Also has pooling built in via jdbcUsePool=true

  8. JNDI • Container supplies data source • Well known implementations • Ant deploy target populates context descriptor (uPortal.xml or uPortal55.xml) from rdbm.properties • RDBMServices.getDataSource(name) • Will return any available jndi data source to a channel

  9. Pooling Database Connections • Definitely need to do this either using RDBMServices or container • See uPortal.xml and uPortal55.xml for example configurations

  10. RDBM Services Metadata • Attempts to do outer joins to determine correct syntax • Join test failed: Errors in log are normal

  11. uPortal Database in Practice • For this seminar see wiki: http://www.ja-sig.org/wiki/x/2Ds • Start hsqldb • Set up uPortal 101 project to point to hsqldb • Verify using “ant dbtest”

  12. Start uPortal • Run “ant initportal” • Start Tomcat • Browse to http://localhost:8080/uPortal

  13. Tah-Dah!

  14. User Attributes / Person Directory • IPerson is the object containing user attributes • Attributes come from jdbc or ldap • Or a source you invent

  15. PersonDirectory.xml • Legacy is PersonDirs.xml • Jdbc and ldap parameters inline • API allows extension • Spring configurable beans

  16. Spring Beans • JNDI DAOs • LDAP • Wrappers • Merging, caching • Example: http://www.ja-sig.org/wiki/x/Xjw

  17. User Management Q: OK, I have configured the user object. How do users get created? A: It all happens at login • After Authentication succeeds… • Attributes are found via Person directory service • Layout is determined by layout manager based on groups and user attributes. • How? Come back after short break to get the rest of the story

  18. Back After a Short Break…

  19. Groups Management • See wiki: http://www.ja-sig.org/wiki/display/UPC/Composite+Group+Service+Guide • Groups Service • Extensible through API • Configurable via XML • Combine as many as needed into Composite Group Service

  20. compositeGroupServices.xml • Starts with Local groups in uportal database • Includes comments for • LDAP group service (beware) • File System group service • Person Attribute Group service (PAGS)

  21. Local Groups in uPortal Database • Persisted in uPortal database • groups management channel • Users are copied to the local groups of assigned template on first login • Group membership does not change automatically after login • Appropriate for local portal permissions

  22. Other Group Stores • File System Groups • Based on file system directory structure • LDAP groups And Person Attribute Group Store • Based on attributes of IPerson • Try out http://www.ja-sig.org/wiki/x/Yjw

  23. Layout Management • How does content get into a user’s layout? • SLM vs. ALM vs. DLM

  24. 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

  25. 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

  26. Steps to Pushing DLM Fragment • Define the fragment in dlm.xml • Login as the fragment owner and set up the layout

  27. Exercising DLM • See Mark Boyd’s excellent documentation DLM Administration Guide • An exercise if there is time: http://www.ja-sig.org/wiki/x/ajw

  28. There is lots more to learn For example: • Caching options • Internationalization / localization • ssl issues, HttpProxyServlet • Using other containers • Running unit tests • More extension points

  29. Good Luck! • Use the wiki and list archives for questions • Can’t find the answer? Ask the list. • Research and report bugs on JIRA Lists: http://www.uportal.org/getinv.html Wiki: http://www.ja-sig.org/wiki/display/UPC/Home JIRA: http://www.ja-sig.org/issues

More Related