Download presentation
Presentation is loading. Please wait.
Published byGwendolyn Davis Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.