1 / 31

CSDepot Computer Science Department Portal

CSDepot Computer Science Department Portal. Final Project Report In partial fulfillment of the requirements for a Master’s Degree in Computer Science Presented by Rebecca Twigg For Dr. Edward Chow Dr. Charlie Shub Dr. Tim Chamillard May 30, 2006. What is a Portal?.

tiara
Télécharger la présentation

CSDepot Computer Science Department Portal

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. CSDepotComputer Science Department Portal Final Project Report In partial fulfillment of the requirements for a Master’s Degree in Computer Science Presented by Rebecca Twigg For Dr. Edward Chow Dr. Charlie Shub Dr. Tim Chamillard May 30, 2006

  2. What is a Portal? • A webpage aggregating content and applications from disparate sources • Content unit is a channel, or portlet • uPortal mostly refers to channels - Sun One Server term • Portlet is an emerging term associated with standards: JSR-168, WSRP • Commercial portal solutions: Plumtree, IBM, SAP and BEA - high license fees • Open-source enterprise portals include Apache Jetspeed, eXo, jPorta, Liferay, JBoss

  3. What is uPortal? • Free open-source J2EE portal framework targeting higher education institutions • Developed collaboratively by JA-SIG, Princeton, Cornell, others – ongoing effort • Based on J2EE standards, including Java, JNDI, JDBC, JSP, Java Servlets, XML, XSLT • Many universities have implemented uPortal – see list at www.uPortal.org

  4. The uPortal Framework • uPortal is not a portal, but a portal framework – a reusable design • uPortal provides a skeletal set of Java classes, XML and XSL files from which a custom campus portal can be developed • Not intended as a turnkey solution • uPortal documentation – on wiki at JA-SIG’s website: http://www.ja-sig.org/wiki/homepage.action

  5. System Requirements • Server: Any platform that can run Java 2 Runtime Environment - CSDepot tested with: Windows XP, Linux, UNIX - uPortal also implemented on Solaris, MacOS X. • Browser: CSDepot tested with IE 6.0, Netscape 8.1 • Development: Requires Java Development Kit - JDK 1.4 Standard Edition - Versions 1.4.2_08, 1.4.2_10, 1.4.2_11 work

  6. XML • Transient portal data • Can be thought of as tree structure • XML sources: - Built from portal database data (e.g. layout structures) - Written in Java classes - Stored on application server as XML file - Accessed from external source, e.g. as RSS stream

  7. XSLT • Transforms XML from one tree structure to another • Involves selection of node or set of nodes in XML tree • Performs processing on selected nodes/nodesets to produce transformed XML tree • Portal layouts undergo first a structure transformation to produce initial structure, e.g. tab-column structure for HTML browsers • Layouts then undergo a theme transformation using XSLT stylesheets to produce mark-up, e.g. XHTML, read by browser

  8. CSDepot • Prototype portal developed for UCCS Computer Science Department • Implements and extends uPortal framework • Holistic extensions include: - Statistics tracking - Editable channels - Editing permissions - Per-channel publishing permissions • UCCS skin, layouts and portal users • CSDepot application can be viewed at https://wind.uccs.edu/CSDepot

  9. Statistics Tracking • StatsRecorder service is started when portal is initialized with new session creation, StatsListener is added • When portal user adds a new channel to layout, instantiates a channel or targets a channel, channel-specific entry is created in HashTable in RDBMStatsRecorder. • When user logs out, database table UP_CHANNEL_STATS is updated with HashTable contents. • Channel must have statistics tracking enabled to track statistics • Design optimizations decisions: 1) Statistics only recorded in database when user logs out – saves time and database connections 2) Statistics only recorded for channels tracking stats – saves space, also time

  10. New CSDepot Channels • Department Message - implements new Message channel type • Course Information channels – implements new Course channel type • Graduate Application • Statistics Manager – reports statistics

  11. Department Message Channel • Implements new Message channel type • Channel is editable by users with editing permissions • Access is controlled via presence/absence of edit button • GenericXSLT as base, adding code to channel to handle edit event • If edit event is received, edit form displayed • New XML file is re-created each time message is edited

  12. Department Message – Editing

  13. Course Information Channel • Implements new Course channel type • Implements inter-channel communication – from uPortal ICC demo • Uses JNDI context and event handlers to communicate • Viewer channel is registered as a listener in course channel’s ICCRegistry • ViewerURL object is bound in viewer channel’s JNDI context • When link is selected in course channel, URL is passed to viewer channel’s JNDI context • Event causes viewer channel to retrieve bound ViewerURL object and update display • Hyperlink text and underlying URL values can be edited by course instructor • Other course information can also be edited

  14. Course Information Channel - Editing

  15. Course Information Channel - Viewing

  16. Graduate Application Channel • Deferential view based on editing permissions • Guests can submit new graduate application online • Applicants can later check their application status • Department administrators and graduate committee members have edit permissions • Are presented with list of applicants • Can select individual applicant and view details, update transcript and/or application status • When status of an application is updated to “Transcripts Received”, graduate committee members are notified that new applicant is ready for evaluation

  17. Graduate Application Channel – Guest View

  18. Graduate Application Channel – Department Admin/Graduate Committee List View

  19. Graduate Application Channel – Department Admin/Graduate Committee Detailed View

  20. Statistics Manager Channel • Displays usage statistics for all channels • List shows total times channel has been instantiated and targeted • Channel is instantiated when user clicks tab on which channel is located • Channel is targeted when user interacts with channel, e.g. clicks link, button, etc. • Details provide list of users who have accessed a channel • User’s access count totals • Dates of most recent accesses • Statistics caching is available as option in portal.properties file • Enabled provides faster performance, but won’t show current statistics until Servlet container is rebooted • Caching occurs at document and channel levels • Default is caching disabled

  21. Statistics Manager Channel – List View

  22. Statistics Manager Channel – Detailed View

  23. New Channel Types • Course and Message channels have respective new channel types • New .cpd file results in creation of type-specific steps • Steps seen during publishing via Channel Manager channel • Course channel also has extra Course Info step before General Settings step • Entering course information results in the pre-population of several publishing step forms

  24. New Course and Message Channel Types in Channel Manager

  25. Course Channel Type CPD • <channelDef> • <description> • This is a channel which allows the creation of a customizable course channel. • </description> • <class>org.jasig.portal.channels.CCourse</class> • <params> • <step> • <ID>1</ID> • <name>Channel Parameters</name> • <description> • Enter the course number and name in the form below. • </description> • <parameter modify="publish-only"> • <name>xmlUri</name> • <label>XML URI</label> • <type base="string" input="text" display="text"> • <length>40</length> • <maxlength>2000</maxlength> • </type> • <example>mutable/CCourse/CS100.xml</example> • </parameter> • <parameter modify="publish-only"> • <name>instructor</name> • <label>Instructor Username</label> • <type base="string" input="text" display="text"> • <length>25</length> • <maxlength>35</maxlength> • </type> • <defaultValue>400</defaultValue> • </parameter> • </step> • </params> • <controls> • <control type="edit" include="yes" override="no"/> • <control type="about" include="no" override="no"/> • <control type="help" include="no" override="no"/> • </controls> • </channelDef>

  26. Course Channel Type – Course Info Step

  27. CSDepot Access Control • New CSDepot channels implement role-based security • Security is determined by user & group permissions to portal activity for each channel • Activities include subscribe, publish and edit • New to CSDepot: All editing permissions • uPortal 2.4.1: All-or-nothing publishing permissions • New to CSDepot: Channel-specific publishing permissions • For example, allows instructors to change channel definition of their channels – track statistics, assign channel subscription permissions, etc.

  28. Access Control - Message and Course channels • Editing is controlled, only users/groups with permission to edit may edit channel • Department Message – anyone in dchair group can edit • Course channels – instructor can edit • Edit button is present if channel is editable AND user has editing permissions • These are checked when user layout XML is created and when user adds channel to layout • Controlled via new channel XML attribute “isUserEditable” • If “isUserEditaable” set to true, edit button is added during theme transformation

  29. Access Control – Graduate Application • Deferential view controlled via editing permission assigned to user/group • Channel is not defined as editable, so edit button does not appear in channel title bar • Overloading of editing permissions • If user/group has editing permissions, options presented are those to show applicant lists • Otherwise options are to apply or check application status (current portal user only)

  30. Access Control – Statistics • Reporting controlled by permission to subscribe to Statistics Manager channel • Tracking controlled by Boolean channel statistics tracking flag

  31. Conclusion • CSDepot provide a working prototype for further study and development • UCCS has been investigating uPortal for almost a year • Pros: • Inexpensive portal solution – framework & student labor is free • Provides ability to implement large degree of customization • Flexible – Java offers platform independent code; XML/XSLT offer data independence • Cons: • Steep learning curve – many technologies to learn: • Java, Servlets, JSP, JDBC, JNDI, XML, XSLT, SQL, JavaSript, XHTML, Tomcat, Ant • Possibly also WML, UDDI, SOAP, WSRP-Portlets, JSR-Portlets • Application itself contains large number of files - 12,300 files in development package (including Tomcat, Ant and HSQL)

More Related