Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "UPortal 101 JA-SIG Pre-conference Seminar Susan Bramhall & Andrew Petro Vancouver, BC, June 4, 2006."— 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 1. Building uPortal 2. Logging 3. Configuration Flavors (properties, Spring, xml) 4. Database 5. Starting it up! 6. Authentication 7. User Attributes, IPerson 8. Groups 9. Channels 10. Layout Management (very brief) 11. Stats Recording

4 Building uPortal  Details in the wiki at: http://www.ja-ig.org/wiki/display/JCON/uPortal+101 1. Set up development environment in Eclipse 2. Create project containing uPortal 101 Vancouver branch from JA-SIG repository 3. 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.jdbcDriverjdbcUrl=jdbc:hsqldb:hsql://localhost:8887jdbcUser=sajdbcPassword=  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 1. Run “ant initportal” 2. Start Tomcat 3. Browse to http://localhost:8080/uPortal 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 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 The Layout An xml tree of generic folders and channels folder (tab) folder (column) channel folder (column) folder (tab) folder (column) channel folder (column) folder type=“root” folder (tab) folder (column) channel

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 1. Define the fragment in dlm.xml 2. Login as the fragment owner and set up the layout

27 Exercising DLM  See Mark Boyd’s excellent documentation DLM Administration Guide DLM Administration GuideDLM 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


Download ppt "UPortal 101 JA-SIG Pre-conference Seminar Susan Bramhall & Andrew Petro Vancouver, BC, June 4, 2006."

Similar presentations


Ads by Google