300 likes | 459 Views
Role-based Icons & Content. Presented by: Jeff Leisse Software Specialist & Patrick J. Kelly Sr. System Analyst / Portal Technical Team Lead. Introduction.
E N D
Role-based Icons & Content Presented by: Jeff Leisse Software Specialist & Patrick J. Kelly Sr. System Analyst / Portal Technical Team Lead
Introduction • Presentation involves a discussion regarding the creation of role-based icons and content specific to La Salle University’s web portal (mylasalle.edu) • Attendees will gain knowledge of how we customized our portal to meet the needs of our constituents.
Topics for discussion • La Salle University profile • Problem Statement • Technical Solution • Create Access Groups roles ≈ access groups • Modify the dlm.xml • Enhance the nested-tables.xsl style sheet • Code examples • Screenshots of Solution • Q & A
La Salle University • La Salle is a Catholic, comprehensive University founded by the Christian Brothers in Philadelphia in 1863. • Committed to personalized, humanistic, practical education • 6,345 current undergraduate, graduate and continuing studies students in attendance • Two campuses: one in Northwest Philadelphia and one in Newtown, Bucks County, 25 miles north of the city
La Salle Architecture Luminis 2.8 3.2 LUWIS email calendar Banner 6.x Self Service Student email Employee email WebCT Students Faculty Employees Students Faculty Employees Alumni Students Employees Faculty
Problem Statement • La Salle University uses two Lotus Notes 6.5 email servers (two CPIP connectors) • One for students • One for employees and faculty • Prospects and Alumni do not currently receive La Salle email accounts • Alumni email will be outsourced • Prospects do not use Banner Self Service icon • Can we give users “one-click” access to Banner Self Service products?
Problem Statement (cont’d) • Icons such as email & calendar need to be role-based • Content must also be available for prospects, applicants, and alumni • Roles and order of precedence must be added and reconfigured in dlm.xml • Luminis style sheet (nested-tables.xsl) must include logic to handle redirection of icons
Technical Solution • Create Access Groups (icons & content) • Modify the dlm.xml (config file) • Enhance the nested-tables.xsl (config file)
Creating Access Groups • Access groups will be referenced later on in the dlm.xml and nested-tables.xsl. • Stored in the LDAP and later called to customize icons and content. • First step in the process.
Modifying the dlm.xml • Purpose of dlm.xml • used to set precedence for the individual roles. Content is displayed in the order set by the logic within the dlm.xml file. • Precedence is set within a range of 0 -100. The role with the highest number receives the highest precedence, and so on. • Precedence = content tab displayed left to right. • The number given to a role is arbitrary and is only used in relation to other roles.
La Salle’s Order of Precedence Employee = 100 Faculty = 60 Alumni = 55 Student = 50 Prospectday = 30 Prospecteve = 30 Prospectgrad = 30 Prospect = 20 All-users = 10
Examples of dlm.xml code <dlm:fragment name='Employee' ownerID='employee-lo' precedence='100'> <dlm:audience evaluatorFactory='com.pipeline.uportal.dlm.provider.CPPersonEvaluatorFactory'> <attribute name='role' mode='equals' value='employee'/> </dlm:audience> </dlm:fragment> <dlm:fragment name='Faculty' ownerID='faculty-lo' precedence='60'> <dlm:audience evaluatorFactory='com.pipeline.uportal.dlm.provider.CPPersonEvaluatorFactory'> <attribute name='role' mode='equals' value='faculty'/> </dlm:audience> </dlm:fragment>
dlm.xml (cont’d) <dlm:fragment name='Students' ownerID='student-lo' precedence='50'> <dlm:audience evaluatorFactory='com.pipeline.uportal.dlm.provider.CPPersonEva luatorFactory'> <paren mode="AND"> <attribute name='role' mode='equals' value='student'/> <paren mode="NOT"> <attribute name='role' mode='equals' value='faculty'/> </paren> </paren> </dlm:audience> </dlm:fragment> paren mode gives the flexibility to omit student content for users who have both faculty and student roles
Enhancing the nested-tables.xsl • Purpose of nested-tables.xsl • style sheet used to manipulate the icons within the uportal framework. • You can use xsl functions to check the user’s role in the LDAP. • Once the role is identified, you have total control of what function(s) you want the icon(s) to perform. • Role logic is case-sensitive
nested-tables.xsl logic Variable Declaration <xsl:variable name=“variable"> <xsl:if test="/layout/cp:cpInfo/cp:cpProperty[@name='pdsRole'] /child::cp:cpV alue[text()=‘variable' or text()=‘Variable' or text()=‘VARIABLE']"> <xsl:value-of select="'true'"/> </xsl:if> </xsl:variable> Test Block <xsl:choose> <xsl:when test="$variable='true'"> Logic behind icon i.e. URL </xsl:when> <xsl:otherwise></xsl:otherwise> </xsl:choose>
Examples of nested-tables.xsl Variable declaration Existing Access Group/Existing variable <xsl:variable name="isEmployee"> <xsl:if test="/layout/cp:cpInfo/cp:cpProperty[@name='pdsRole'] /child::cp:cpV alue[text()='employee' or text()='Employee' or text()='EMPLOYEE']"> <xsl:value-of select="'true'"/> </xsl:if> </xsl:variable> Existing Access Group/Variable Created <xsl:variable name="isAlumni"> <xsl:if test="/layout/cp:cpInfo/cp:cpProperty[@name='pdsRole'] /child::cp:cpValue[text()='alumni' or text()='Alumni' or text()='ALUMNI']"> <xsl:value-of select="'true'"/> </xsl:if> </xsl:variable>
nested-tables.xsl (cont’d) Variable Declaration (cont’d) No Access Group/Variable Created to Display Banner Self Serve Icon <xsl:variable name="isBrotherLuwis"> <xsl:if test="/layout/cp:cpInfo/cp:cpProperty[@name='pdsRole'] /child::cp:cpV alue[text()='employee' or text()='Employee' or text()='EMPLOYEE' or text()='faculty' or text()='Faculty' or text()='FACULTY' or text()='student' or text()='Student' or text()='STUDENT' or text()='alumni' or text()='Alumni' or text()='ALUMNI']"> <xsl:value-of select="'true'"/> </xsl:if> </xsl:variable>
nested-tables.xsl (cont’d) Test Block <xsl:choose> <xsl:when test="$isEmployee='true'"> <xsl:if test="not(/layout/cp:cpInfo/@email.enabled='false')"> <TD VALIGN="BOTTOM" ALIGN="CENTER"><A HREF="http://luminis.lasalle.edu/c p/ip/login?sys=inotes&url=blitszzy" target="new" onMouseover="img_act('aa'); window.status=''; return true;" onMouseOut="img_inact('aa');"><IMG SRC="{$media Path}/{$skin}/controls/email_dft.gif" ALT="e-mail" NAME="aa" WIDTH="39" HEIGHT=" 26" BORDER="0" HSPACE="6"/></A></TD> </xsl:if> </xsl:when> <xsl:when test="$isStudent='true'"> <xsl:if test="not(/layout/cp:cpInfo/@email.enabled='false')"> <TD VALIGN="BOTTOM" ALIGN="CENTER"><A HREF="http://luminis.lasal le.edu/cp/ip/login?sys=isln&url=blitszzy" target="new" onMouseover="img_act( 'aa'); window.status=''; return true;" onMouseOut="img_inact('aa');"><IMG SRC="{ $mediaPath}/{$skin}/controls/email_dft.gif" ALT="e-mail" NAME="aa" WIDTH="39" HE IGHT="26" BORDER="0" HSPACE="6"/></A></TD> </xsl:if> </xsl:when>
nested-tables.xsl (cont’d) Test Block Banner Self Service Icon – LSU MOD <xsl:choose> <xsl:when test="$isBrotherLuwis='true'"> <TD VALIGN="BOTTOM" ALIGN="CENTER"><A HREF="http://luminis.lasal le.edu/cp/render.UserLayoutRootNode.uP?uP_tparam=utf&utf=/cp/school/sctmain" target="new"><IMG SRC="/cps/images/misc/luwis1_new.gif" width="39" height="26" BORDER="0" HSPACE="6"/></A></TD> </xsl:when> <xsl:otherwise></xsl:otherwise> </xsl:choose>
Employee/Faculty/Alumni role Employee email server
Questions? • Contact Information: • Jeff Leisse • Email: leisse@lasalle.edu • Phone: 215.991.3553 • Visit our mylasalle portal: • http://my.lasalle.edu • User ID = guest • Password = lasalle Thank you!