JA-SIG Home
About uPortal
Documentation
Getting Started
Developers
Architecture
Users
Release
|
uPortal 2.1 Distribution Notes
Purpose
This distribution is targeted towards
people who would like to install
uPortal in a development or production
environment. It contains uPortal source
code and properties files, but not a servlet
container, directory, or relational database,
which are required. Use of this distribution
requires knowledge of J2EE environments and the
Ant tool from the Apache Jakarta project.
Contents
- uPortal 2.1
- uPortal 2.1 java libraries (Xalan, Log4J, etc)
- uPortal Architecture overview and JavaDoc API (see docs directory)
System requirements
- JDK 1.3 or higher
- JAVA_HOME environment variable must be set
- Installation of Ant from Jakarta: http://jakarta.apache.org/ant
Instructions
- Modify build.properties with local settings.
- Use the following ant targets:
deploy - installs uPortal into a servlet container
db - prepares a relational database with uPortal schema and data
dist - creates JavaDoc, uPortal jar, and uPortal WAR files.
For descriptions of other Ant targets, see docs/uPortal_tools_overview.txt.
- Make sure the database and servlet container are running and
access uPortal with http://localhost:8080/uPortal.
Your URL may be different if you have configured a different port
and or context name.
- You can login to uPortal with the following user name/password combinations:
demo, demo
student, student
faculty, faculty
staff, staff
developer, developer
Each user may have a slightly different layout.
Notes
- Several properties files and database tables have changed
since uPortal 2.0.x. If you are upgrading from this version,
you will need to see to it that your properties files and
database schema AND data are upgraded appropriately.
An upgrade tool is included, but it has not been tested
thoroughly. The tool can be launched using the following
ant command:
IMPORTANT: First make sure to backup your original database!!!
ant -f convert.xml all
See the uPortal website to get the latest
version of the upgrade tool.
- uPortal does not strictly require the use of connection
pooling, but it is highly recommended for production
installations. If your servlet container does not provide
connection pooling, try something like Poolman.
For information about Poolman, see http://www.codestudio.com.
-
Bug fixes from 2.0.x releases have been implemented in 2.1
whenever they were appropriate.
Please report bugs and suggestions:
http://mis105.mis.udel.edu/bugzilla/
uPortal website:
http://www.udel.edu/uPortal
Changes since uPortal 2.0.x
Database
- Increased the size of TYPE column in UP_CHAN_TYPE to 128.
- Added Applet channel type to UP_CHAN_TYPE
- Changed Minesweeper channel type from "Custom" to "Applet": UP_CHANNEL.CHAN_TYPE_ID from -1 to 6
- Updated UP_CHANNEL.CHAN_CLASS for CWebProxy channels to reflect new package name.
- Updated UP_CHANNEL_PARAM.CHAN_PARM_VAL for CWebProxy channels from "CWebProxy/XHTML.ssl" to "XHTML.ssl"
- Updated UP_CHAN_TYPE.TYPE and UP_CHAN_TYPE.CHAN_DEF_URI for Web Proxy channel type with values
"org.jasig.portal.channels.webproxy.CWebProxy" and "/org/jasig/portal/channels/webproxy/CWebProxy.cpd"
- Changed "Simple XML Transformation" to "XML Transformation" in UP_CHAN_TYPE
- Added default admin user layout.
- Added Groups Manager and Permissions Manager channels to layout
- Added permissions for org.jasig.portal.channels.groupsmanager.CGroupsManager
- Added new tables for caching and locking in concurrency packages:
UP_ENTITY_CACHE_INVALIDATION
UP_ENTITY_LOCK
- Added table UP_ENTITY_PROP to store entity properties for RDBMPropertyStore in support of the EntityPropertyRegistry
- Renamed UP_GROUP_ENTITY_TYPE to UP_ENTITY_TYPE
- Added new column: UP_ENTITY_TYPE.DESCRIPTIVE_NAME
- Added new row to UP_ENTITY_TYPE: ENTITY_TYPE_NAME=org.jasig.portal.groups.IEntity
- Changed the size of UP_GROUP.GROUP_ID and UP_GROUP.CREATOR_ID from 255 to 240
- Changed UP_GROUP.CREATOR_ID values from numbers to Strings, i.e. "0" to "system".
- Changed UP_GROUP_MEMBERSHIP.MEMBER_ID values from numerical user IDs to usernames for members that are IPersons.
For example, 2 --> demo
- Added new row to UP_SEQUENCE: SEQUENCE_NAME=UP_ENTITY_TYPE and SEQUENCE_VALUE=20
- Changed UP_PERMISSION.PRINCIPAL value format from "3.4" to "3.local.4"
- Changed UP_PERMISSION.TARGET value format from "6" to "local.6"
- Added UP_GROUP_MEMBERSHIP.MEMBER_SERVICE column with values equal to "local".
- Changed UP_GROUP_MEMBERSHIP.GROUP_ID to VARCHAR(200)
- Changed UP_GROUP_MEMBERSHIP.MEMBER_KEY to VARCHAR(200)
- Split UP_PERMISSION.PRINCIPAL into PRINCIPAL_TYPE and PRINCIPAL_KEY.
Properties
Please see the comments within each properties file
for more information about any of the changes below.
Bug fixes
- Added ISO-8859-1 arguments to various serialization-related constructors in MediaManager - bug 1083.
- Changed profile id to layout id in a call to obtain channel jndi context - bug 1223.
- Fixed PortalSessionManager so tags are not generated when they are not needed - bug 980.
Other changes
- Changed InitialSecurityContext.java to InitialSecurityContextFactory.java in order
to allow channels access to methods exposed by security providers.
- Added Poolman, JUnit, RunXSLT and test targets to build.xml file.
- Abstracted user layout manager: added org.jasig.portal.layout package
- Renamed IUserLayoutManager to IUserPreferencesManager
- Refactored ChannelManager to use one, unified channel output method.
- Added "id" attribute to "layout" element with value "root" in the user layout XML.
- Added getChannelDefinition(String channelFunctionalName) to IChannelRegistryStore.
- Added a getHeaders() method to org.jasig.portal.BrowserInfo
- Added setBaseActionURL(), setParametersSingleValued(), and getParameters() methods to ChannelRuntimeData
- Changed getWorkerActionURL() to getBaseWorkerURL() in ChannelRuntimeData.
- Added getHttpRequestMethod() method to ChannelRuntimeData.
- Allowed for security provider that does not have username before authentication.
- Added new package, org.jasig.portal.webservices, which exposes channels via web services
- Added new remote channel proxy channel for accessing remote channels exposed by the web service
- Added new method: getConnection(String dbName) in RDBMServices that gets connection via JNDI
- Added jdbc2_0stdext.jar to build.xml and build.properties. It is needed for code that obtains a connection via JNDI
- Moved org.jasig.portal.ChannelDefinition.ChannelParameter into its own class: org.jasig.portal.ChannelParameter
- Moved ChannelParameter to its own class - was an inner class of ChannelDefinition.
- Added org.jasig.portal.utils.CommonUtils
- Multivalued and unvalued runtime parameters now supported in CWebProxy.
Rewrote CWebProxy as a multithreaded cachable channel.
Added new parameters for multithreaded cachable version + cw_person to CPD file.
Added manual handling of redirects from HTTP status 302 and 303, and 301 in the case of a GET request.
Now accepts cookies received with a 3xx request before following the redirect.
Implemented IMultithreadedMimeResponse and made other changes to allow proxied applications to deliver downloads via the DownloadWorker
Added support for cw_personAllow, and passing keyword-only query strings
- Channel manager now implements LayoutEventListener.
- Added way of specifying JDBC DataSource names in PersonDirs.xml.
- Added channel functional names (fname) to publishing in CChannelManager.
- Removed CBookmarks channel, images, stylesheets, and database tables. Now in portal_channels repository.
- Added support for multithreaded channel adapters that implement IMultithreadedMimeResponse.
- Added new thread pool implementation.
- Added channel rendering groups support.
- Added inter-channel communication registry (ICCRegistry) and access to it via ChannelStaticData.
Added new tabs of channels that demonstrate inter-channel communication.
- Added support for downloading MIME files in a multithreaded channel.
- Added parameter persistence to CGenericXSLT.
- Now shows username as well as display name in PersonDirNameFinder.
- Separated inner and outer exceptions in CError for better readability
- Allowed credentials and principals to be defined and held separately by each security context
- Added org.jasig.portal.concurrency packages for caching and locking entities
- Added services EntityCachingService and EntityLockService
- Removed ChannelRegistryStoreFactoryOld, IChannelRegistryStoreOld, and RDBMChannelRegistryStoreOld
- Added new channel type: Applet
- Added new elements to channelPublishingDocument.dtd to support arbitrary parameters:
arbitrary-parameters, paramName-prefix
- Made it easier to plug in alternate group factory implementations
Added method IGroupService getGroupService() to GroupService
Added method IEntityGroupStore getGroupStore() to IGroupService
- Added a new service EntityPropertyRegistry, along with supporting xml configuration file, dtd and classes in the subpackage 'services.entityproperties'.
Can be used to store and query properties of portal entities such as IPersons, Channels and Groups.
- Changed package of EntityTypes from org.jasig.portal.groups to org.jasig.portal
- Added new class org.jasig.portal.utils.CookieCutter which manages cookies for CWebProxy
- Added org.jasig.portal.security.ILocalConnectionContext
Added ability for CGenericXSLT to use ILocalConnectionContext via a new property: upc_localConnContext
Added ability for CWebProxy to use ILocalConnectionContext via a new property: upc_localConnContext
- Moved URL filtering logic out of CWebProxy stylesheet and into new filter classes.
- Changed package of CWebProxy to org.jasig.portal.channels.webproxy
- Added DeleteUser tool and corresponding Ant target
- Removed org.jasig.portal.groups.MinimalEntity.
- Added pluggable permission policies: org.jasig.portal.security.IPermissionPolicy
- Added search methods for entities and groups to org.jasig.portal.services.GroupService
- IServant now extends IChannel.
- Added ability to specify individual people as well as groups when granting access while publishing a channel
- Added delete and update capability to DbLoader.
- Added command line options to DbLoader.
- Added new tool: org.jasig.portal.tools.DbTest which prints out db metadata
- Added ability for ResourceLoader to set the HTTPS handler according to the setting in portal.properties
- Changed code in serveral places to construct an AuthorizationPrincipal based on an IPerson EntityIdentifier
- PersonDirNameFinder no longer requires database lookup to get username.
- Made IPerson implement IBasicEntity.
- Enhanced CPersonAttributes so that it can display a user's jpeg photo.
- Added StatsRecorder which can record portal statistics
Added org.jasig.portal.services.StatsRecorder
Added org.jasig.portal.services.stats package
- Added Channel ARchive (CAR) support.
Modified org.jasig.portal.ChannelFactory
Added getBaseMediaURL() methods to ChannelRuntimeData
Added getInstance() method to PortalSessionManager
Added org.jasig.portal.car package
- Added setKeywords() and getKeywords() to ChannelRuntimeData and calls to these methods in ChannelManager.
- Added support for composite groups.
Changed ChannelCategory id and creatorId from int to String to support composite group keys.
- Added remote user security context. New files:
org.jasig.portal.security.provider.RemoteUserSecurityContext
org.jasig.portal.security.provider.RemoteUserSecurityContextFactory
org.jasig.portal.security.provider.RemoteUserPersonManager
- Added db converstion tool: convert.xml and RunXSLT tool
- Added reading of authorization properties in AuthorizationImpl.
- Added test code that works with JUnit
|