28
1 P*** My Portal P*** My Portal WHAT ?!?!??? WHAT ?!?!???

1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

Embed Size (px)

Citation preview

Page 1: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

11

P*** My PortalP*** My PortalWHAT ?!?!???WHAT ?!?!???

Page 2: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

22

Pimp My PortalPimp My PortalTrickin’ it out and Kickin’ it upTrickin’ it out and Kickin’ it up

Jonathan WheatJonathan Wheat

Page 3: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

33

O.O.T.B.O.O.T.B.

Screams customize me !

• Limited functionality

• 6 channels

• Harvest gold color scheme

• Icons from PrintShop Pro v1.0

Page 4: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

44

C.M.PC.M.PTHE VIEWS REPRESENTED HERIN ARE MY OWN AND DO NOT REFLECT THAT OF MESSIAH THE VIEWS REPRESENTED HERIN ARE MY OWN AND DO NOT REFLECT THAT OF MESSIAH

COLLEGE, PA BUG, SCT, LUMINIS, CAMPUS PIPELINE, JASIG, UPORTAL, MICROSOFT, COLLEGE, PA BUG, SCT, LUMINIS, CAMPUS PIPELINE, JASIG, UPORTAL, MICROSOFT, SUN, ORACLE, NETSCAPE, CYGWIN, VNC, MACROMEDIA OR ANYONE ELSE BUT SUN, ORACLE, NETSCAPE, CYGWIN, VNC, MACROMEDIA OR ANYONE ELSE BUT

MYSELF.MYSELF.

I AM NOT RESPONSIBLE FOR ANYTHING YOU MAY DO TO YOUR PORTAL, WITH YOUR I AM NOT RESPONSIBLE FOR ANYTHING YOU MAY DO TO YOUR PORTAL, WITH YOUR PORTAL OR WITHOUT YOUR PORTAL. THE INFORMATION, HACKS, UNDOCUMENTED PORTAL OR WITHOUT YOUR PORTAL. THE INFORMATION, HACKS, UNDOCUMENTED FEATURES, CODE, MODIFICATIONS, REWRITES, PATCHES, UPDATES, UPGRADES AN FEATURES, CODE, MODIFICATIONS, REWRITES, PATCHES, UPDATES, UPGRADES AN ALL OVER CHANGES PRESENTED HEREIN ARE FOR EDUCATIONAL PURPOSES ONLY ALL OVER CHANGES PRESENTED HEREIN ARE FOR EDUCATIONAL PURPOSES ONLY

AND NO GUARANTEE OR WARRANTY OF USE OR FUNCTIONALITY IS OFFERED, AND NO GUARANTEE OR WARRANTY OF USE OR FUNCTIONALITY IS OFFERED, GRANTED, GIVEN, HANDED OVER, LICENSED OR OTHERWISE TRANSFERRED TO YOU. GRANTED, GIVEN, HANDED OVER, LICENSED OR OTHERWISE TRANSFERRED TO YOU.

DIFFERING SOFTWARE VERSIONS, OPERATING SYSTEMS, DATABASES, NETWORK DIFFERING SOFTWARE VERSIONS, OPERATING SYSTEMS, DATABASES, NETWORK CONFIGURATIONS, PERSONAL KNOWLEDGE, IMPLEMENTATION PATHS, AND LEVEL OF CONFIGURATIONS, PERSONAL KNOWLEDGE, IMPLEMENTATION PATHS, AND LEVEL OF

CREATIVITY MAY IMPACT THE MODS PRESENTED HERE. LET IT BE KNOWN THAT NO CREATIVITY MAY IMPACT THE MODS PRESENTED HERE. LET IT BE KNOWN THAT NO MOD CREATED, DEVELOPED OR UNCOVERED HERE UNDER ANY CIRCUMSTANCE IS MOD CREATED, DEVELOPED OR UNCOVERED HERE UNDER ANY CIRCUMSTANCE IS DEEMED SUPPORTED BY SCT, CAMPUS PIPELINE, JASIG, PA BUG OR PRETTY MUCH DEEMED SUPPORTED BY SCT, CAMPUS PIPELINE, JASIG, PA BUG OR PRETTY MUCH

ANYONE THAT MATTERS.ANYONE THAT MATTERS.

Page 5: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

55

The ToolsThe Tools

Notepad++Notepad++ http://notepad-plus.sourceforge.nethttp://notepad-plus.sourceforge.net

Supported languages : C, C++, Java, C#, Supported languages : C, C++, Java, C#, XML, HTML, PHP, Javascript, RC XML, HTML, PHP, Javascript, RC resource file,resource file,

makefile, ASCII art file (extension .nfo, makefile, ASCII art file (extension .nfo, doxygen, ini file, batch file, ASP, doxygen, ini file, batch file, ASP, VB/VBS source files,VB/VBS source files,

SQL, Objective-C, CSS, Pascal, Perl, SQL, Objective-C, CSS, Pascal, Perl, Python and Lua. Python and Lua. MUST HAVE !!!MUST HAVE !!!

DreamweaverDreamweaverhttp://www.macromedia.comhttp://www.macromedia.com

HTML editor / web application development GUIHTML editor / web application development GUI

RealVNCRealVNChttp://www.realvnc.com/http://www.realvnc.com/

Remote console software. Remote console software. MUST HAVE !!MUST HAVE !!

Page 6: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

66

The EnvironmentThe Environment

INSTALL A TEST SYSTEMINSTALL A TEST SYSTEM

Local : Local : Map a share to $CP_ROOTMap a share to $CP_ROOT

SDK :SDK :/luminis-sdk/luminis-sdk

DEVELOPMENTDEVELOPMENT OS : Windows 2000 servOS : Windows 2000 serv

Luminis vIII.3.0.20 bld 20Luminis vIII.3.0.20 bld 20

Oracle 9.2.0.1 Std - WinOracle 9.2.0.1 Std - Win

PRODUCTIONPRODUCTION OS : Windows 2000 servOS : Windows 2000 serv

Luminis vIII.3.0.20 bld 20Luminis vIII.3.0.20 bld 20

Oracle 9.2.0.6 Ent - HPUXOracle 9.2.0.6 Ent - HPUX

Page 7: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

77

The usual suspectsThe usual suspectsFileNameFileName Blocks.thtmlBlocks.thtml

PathPath $CP_WEBINF/templates/content/blocks.thtml$CP_WEBINF/templates/content/blocks.thtml

FormatFormat CSS / XML / XHTMLCSS / XML / XHTML

ControlControl Tab styles / HTML for Colors and Logos configBlocks of htmlTab styles / HTML for Colors and Logos configBlocks of html

for rendering various channels for rendering various channels 

Page 8: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

88

The usual suspectsThe usual suspectsFileNameFileName nested-tables.xslnested-tables.xsl

PathPath $CP_DOC_ROOT/stylesheets/org/jasig/portal/layout/tab-$CP_DOC_ROOT/stylesheets/org/jasig/portal/layout/tab-

column/nested-tables/nested-tables.xslcolumn/nested-tables/nested-tables.xsl

FormatFormat XML / XSLTXML / XSLT

ControlControl Renders the user layoutSplit into blocks by XSL:template matchRenders the user layoutSplit into blocks by XSL:template match

commandRenders the tool icons, header, javascript popup codecommandRenders the tool icons, header, javascript popup code

NotesNotes regularLayout - builds a tab sectionregularLayout - builds a tab section

header – school logo htmlheader – school logo html

appIcons – email / calendar …appIcons – email / calendar …

navigation – tab renderernavigation – tab renderer

content – channel holderscontent – channel holders

controlRow –controlRow –

contentRow –contentRow –

channel – actual channel rendererchannel – actual channel renderer

footer – footer –

controls – max / min / edit / help / controls – max / min / edit / help / detachdetach channel icons channel icons

detachedChannelControls – detachedChannelControls –

Page 9: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

99

The usual suspectsThe usual suspectsFileNameFileName cp.csscp.css

PathPath $CP_DOC_ROOT/media/org/jasig/portal/layout/tab-column/nested-tables/cp/skin/$CP_DOC_ROOT/media/org/jasig/portal/layout/tab-column/nested-tables/cp/skin/cp.csscp.css

FormatFormat CSSCSS

ControlControl UPortal styles –UPortal-head / text / channel text etc.UPortal styles –UPortal-head / text / channel text etc.

Overall styles that apply to channels and user layoutOverall styles that apply to channels and user layout

NotesNotes Experiment with this style sheet. There are overlaps with this css and the style.css Experiment with this style sheet. There are overlaps with this css and the style.css below.below.

They’re called at different times to render different items. They’re called at different times to render different items.

Can be tricky to apply a new technique / style to the entire portal.Can be tricky to apply a new technique / style to the entire portal.

Page 10: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

1010

The usual suspectsThe usual suspectsFileNameFileName style.cssstyle.css

PathPath $CP_DOC_ROOT/misc/style.css$CP_DOC_ROOT/misc/style.css

FormatFormat CSSCSS

ControlControl Calendar styles, a , text etc.Calendar styles, a , text etc.

Page 11: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

1111

The usual suspectsThe usual suspectsFileNameFileName uPortal.jaruPortal.jar

PathPath $CP_WEBINF/lib/uPortal.jarFormatJAR$CP_WEBINF/lib/uPortal.jarFormatJAR

ControlControl This is the heart of luminis. It controls various aspects of the portal. This is the heart of luminis. It controls various aspects of the portal. Even though it is a jar file, you can still edit itEven though it is a jar file, you can still edit it

NotesNotes The file architecture of the portal is sometimes disconcerting. There are files on the The file architecture of the portal is sometimes disconcerting. There are files on the file system that are also included in this jar file. Editing the file on the file system file system that are also included in this jar file. Editing the file on the file system

doesdoesnot necessarily mean that the change will be reflected in the portal. Sometimes modsnot necessarily mean that the change will be reflected in the portal. Sometimes modsare hit and miss as to where the correct location is to mod.are hit and miss as to where the correct location is to mod.

Page 12: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

1212

Other important itemsOther important items

Icons Icons Description : Application and channel control iconsDescription : Application and channel control iconsLocation : $CP_DOC_ROOT/cps/images/miscLocation : $CP_DOC_ROOT/cps/images/misc

Login.htmlLogin.html Description : the first page you see when you hit the portalDescription : the first page you see when you hit the portalLocation : $CP_DOC_ROOT/site/login.htmlLocation : $CP_DOC_ROOT/site/login.html

Environment VariablesEnvironment Variables$CP_ROOT - C:\Luminis$CP_ROOT - C:\Luminis$CP_DOC_ROOT – C:\Luminis\webapps\luminis$CP_DOC_ROOT – C:\Luminis\webapps\luminis$CP_WEBINF - C:\Luminis\webapps\luminis\WEB-INF$CP_WEBINF - C:\Luminis\webapps\luminis\WEB-INF

Page 13: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

1313

The databaseThe database

UPORTAL / LUMINIS SchemasUPORTAL / LUMINIS Schemas

UPortal SchemaUPortal Schema UP_CHANNEL – main channel definitions (LDAP / Filesystem)UP_CHANNEL – main channel definitions (LDAP / Filesystem) UP_GROUP – channel categories UP_GROUP – channel categories UP_GROUP_MEMBERSHIP – maps channels to categoriesUP_GROUP_MEMBERSHIP – maps channels to categories UP_SEQUENCE – next id containerUP_SEQUENCE – next id container UP_SS_THEME_PARM – controls main stylesheet / skin / themeUP_SS_THEME_PARM – controls main stylesheet / skin / theme

Luminis SchemaLuminis Schema

GT_* - Group Tools TablesGT_* - Group Tools Tables

TA_* - Targeted MessagesTA_* - Targeted Messages

MB_* - Message Board postsMB_* - Message Board posts

Targeted Announcement ArchivesTargeted Announcement Archives

http://www.lumdev.net/index.php?q=node/378http://www.lumdev.net/index.php?q=node/378

Page 14: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

1414

Login page – one clickLogin page – one clickCustomize it ! Customize it !

$CP_DOC_ROOT/site/login.html $CP_DOC_ROOT/site/login.html

One click logins make it easier for demo and guest loginsOne click logins make it easier for demo and guest loginsAND ESPECIALLY on a development systemAND ESPECIALLY on a development system

<A HREF="javascript:LoginDemoUser('demostu', 'portaldemo');" TABINDEX=6>Guest login</A><A HREF="javascript:LoginDemoUser('demostu', 'portaldemo');" TABINDEX=6>Guest login</A>

<script><script> function LoginDemoUser(strName, strPassword) function LoginDemoUser(strName, strPassword) {{ this.document.userid.user.value=strName;this.document.userid.user.value=strName; this.document.cplogin.pass.value=strPassword;this.document.cplogin.pass.value=strPassword; login();login(); }}</script></script>

Page 15: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

1515

Login page – ‘tooltips’Login page – ‘tooltips’

Cool DHTML tooltip scriptCool DHTML tooltip script

http://www.dynamicdrive.comhttp://www.dynamicdrive.com

Drop and go –Drop and go –Add a styleAdd a style #dhtmltooltop #dhtmltooltop

Add a <div>Add a <div>

Add a scriptAdd a script

Create tooltip variablesCreate tooltip variables

Calling Code :Calling Code :

onMouseover="ddrivetip(personalAnnouncements,'#DCDDEF', 200)"; onMouseover="ddrivetip(personalAnnouncements,'#DCDDEF', 200)"; onMouseout="hideddrivetip()" style="cursor:default;"onMouseout="hideddrivetip()" style="cursor:default;"

Page 16: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

1616

Header SectionHeader Section

Colors and Logos configurationColors and Logos configuration

Enables you to modify the colors for the tabs, and channel bars.Enables you to modify the colors for the tabs, and channel bars.

- Primary - Primary

- Secondary color- Secondary color

OR …OR …

Page 17: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

1717

<!-- School Logo Blocks --><!-- School Logo Blocks --><block "school_logo_image"><block "school_logo_image">

<!-- ### BEGIN BUILD SUNGARD --><!-- ### BEGIN BUILD SUNGARD --><style type="text/css" media="all">@import url("/PFM/2005corpglobal.css");</style><style type="text/css" media="all">@import url("/PFM/2005corpglobal.css");</style><style type="text/css" media="all">@import url("/PFM/2005corphomepage2.css");</style><style type="text/css" media="all">@import url("/PFM/2005corphomepage2.css");</style>

<div id="topImageBox"><div id="topImageBox"> <div id="logoImage"></div><div id="logoImage"></div></div></div>

<div id="topLogoBox"><div id="topLogoBox"> <div id="logoTop"></div><div id="logoTop"></div></div></div>

<div id="topColorBlock"><div id="topColorBlock"> <div id="topRight"><div id="topRight">

<!--BEGIN: Search Form --><!--BEGIN: Search Form --><form action="http://sctweb9.sct.com/cgi-bin/MsmFind.exe" method="get" <form action="http://sctweb9.sct.com/cgi-bin/MsmFind.exe" method="get"

id="searchForm">id="searchForm"> <p class="search">&nbsp;SEARCH SUNGARD SCT</p><p class="search">&nbsp;SEARCH SUNGARD SCT</p> <fieldset><input type="hidden" name="remask" value="MssRes.msk" /></fieldset><fieldset><input type="hidden" name="remask" value="MssRes.msk" /></fieldset> <fieldset><input type="text" name="query" id="searchword" /><fieldset><input type="text" name="query" id="searchword" /> <input name="submit" type="image" src="/PFM/search.gif" alt="GO" /><input name="submit" type="image" src="/PFM/search.gif" alt="GO" /> </fieldset></fieldset>

</form></form> <!--END: Search Form --><!--END: Search Form -->

</div></div></div></div><!-- ### END BUILD SUNGARD --><!-- ### END BUILD SUNGARD -->

</block></block>

Blocks.thtml

Page 18: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

1818

IconsIconsCHANGE THEM !!!!!CHANGE THEM !!!!!

These files are located in a couple places (go figure). These files are located in a couple places (go figure).

Login.html :$CP_DOC_ROOT/cps/images/misc directory.Login.html :$CP_DOC_ROOT/cps/images/misc directory.

Main icons :$CP_DOC_ROOT/media/org/Jasig/portal/layout/tab-column/nested-tables/cp/controlsMain icons :$CP_DOC_ROOT/media/org/Jasig/portal/layout/tab-column/nested-tables/cp/controls

email_dft.gif / email_roll.gifemail_dft.gif / email_roll.gif

groups_dft.gif / groups_roll.gifgroups_dft.gif / groups_roll.gif

admin_dft.gif / admin_roll.gifadmin_dft.gif / admin_roll.gif

logout_dft.gif / logout_roll.giflogout_dft.gif / logout_roll.gif

help_dft.gif / help_roll.gifhelp_dft.gif / help_roll.gif

Page 19: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

1919

Add iconsAdd iconsOr add new ones …Or add new ones …

File : nested-tables.xslFile : nested-tables.xsl

<xsl:template name="appIcons"><xsl:template name="appIcons">

......

<TD ALIGN="CENTER"><TD ALIGN="CENTER">

<A <A HREF="javascript:openBrWindow('http://apps.messiah.edu/portal/chan_feedback.asp','feedback','resizable=yes,sHREF="javascript:openBrWindow('http://apps.messiah.edu/portal/chan_feedback.asp','feedback','resizable=yes,scrollbars=yes,toolbar=no,location=no,directories=no,status=yes,menubar=no,width=400,height=200');">crollbars=yes,toolbar=no,location=no,directories=no,status=yes,menubar=no,width=400,height=200');">

<IMG SRC="{$mediaPath}/{$skin}/controls/feedback.gif" ALT="feedback" NAME="fb" WIDTH="39" HEIGHT="26" <IMG SRC="{$mediaPath}/{$skin}/controls/feedback.gif" ALT="feedback" NAME="fb" WIDTH="39" HEIGHT="26" BORDER="0" HSPACE="6"/>BORDER="0" HSPACE="6"/>

<BR/><BR/>

<SPAN CLASS="uportal-label">feedback</SPAN><SPAN CLASS="uportal-label">feedback</SPAN>

</A></A>

</TD></TD>

</xsl:template></xsl:template>

Page 20: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

2020

Conditional iconsConditional iconsFile : nested-tables.xslFile : nested-tables.xsl

<xsl:variable name="roleTest"><xsl:variable name="roleTest"><xsl:for-each select="/layout/cp:cpInfo/cp:cpProperty[@name='pdsRole']/child::*"><xsl:for-each select="/layout/cp:cpInfo/cp:cpProperty[@name='pdsRole']/child::*"><xsl:if test=". = 'Student'"><xsl:if test=". = 'Student'">

<xsl:value-of select="'student'" /><xsl:value-of select="'student'" /></xsl:if></xsl:if>

<xsl:if test=". = 'Admin'"><xsl:if test=". = 'Admin'"><xsl:value-of select="'admin'" /><xsl:value-of select="'admin'" /></xsl:if></xsl:if>

</xsl:for-each></xsl:for-each></xsl:variable></xsl:variable>

<xsl:if test="$roleTest='student'"><xsl:if test="$roleTest='student'"><TR><TR> <TD ALIGN="CENTER"><A HREF=‘http://students.server.edu’ target=‘_blank’>student <TD ALIGN="CENTER"><A HREF=‘http://students.server.edu’ target=‘_blank’>student

stuff</A></TD>stuff</A></TD></TR></TR>

</xsl:if></xsl:if>

<xsl:if test="$roleTest='admin'"><xsl:if test="$roleTest='admin'"><TR><TR> <TD ALIGN="CENTER"><A HREF=‘http://portal.edu:9999’ target=‘_blank’>web admin</A></TD><TD ALIGN="CENTER"><A HREF=‘http://portal.edu:9999’ target=‘_blank’>web admin</A></TD></TR></TR>

</xsl:if></xsl:if>

Page 21: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

2121

Channel renderingChannel rendering<xsl:template match="channel"><xsl:template match="channel">…… <!-- header row --><!-- header row --> <TR><TR> <TD CLASS="bgtabon" colspan="2" valign="top"><TD CLASS="bgtabon" colspan="2" valign="top"> <IMG ALT="" SRC="{$mediaPath}/{$skin}/skin/corner-left.gif" width="5" height="23"/><IMG ALT="" SRC="{$mediaPath}/{$skin}/skin/corner-left.gif" width="5" height="23"/> </TD></TD> <TD class="mc-channel-title"><TD class="mc-channel-title"> <xsl:value-of select="@title"/><xsl:value-of select="@title"/> </TD></TD> <TD class="bgtabon" ALIGN="RIGHT" NOWRAP="NOWRAP" VALIGN="CENTER"><TD class="bgtabon" ALIGN="RIGHT" NOWRAP="NOWRAP" VALIGN="CENTER"> <xsl:choose><xsl:choose> <xsl:when test="$detachedContent='true'"><xsl:when test="$detachedContent='true'"> <xsl:call-template name="detachedChannelControls"/><xsl:call-template name="detachedChannelControls"/> </xsl:when></xsl:when> <xsl:otherwise><xsl:otherwise> <xsl:call-template name="controls"/><xsl:call-template name="controls"/> </xsl:otherwise></xsl:otherwise> </xsl:choose></xsl:choose> </TD></TD> <TD CLASS="bgtabon" colspan="2" valign="top" align="right"><TD CLASS="bgtabon" colspan="2" valign="top" align="right"> <IMG ALT="" SRC="{$mediaPath}/{$skin}/skin/corner-right.gif" width="5" height="23"/><IMG ALT="" SRC="{$mediaPath}/{$skin}/skin/corner-right.gif" width="5" height="23"/> </TD></TD> </TR></TR> <!-- spacer row --><!-- spacer row -->

Page 22: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

2222

channel resultschannel results

Page 23: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

2323

Channel controlsChannel controls

<xsl:template name="controls"><xsl:template name="controls">

<!-- Help button --><!-- Help button -->

<xsl:if test="not(@hasHelp='false')"><xsl:if test="not(@hasHelp='false')">

<a href="{$baseActionURL}?uP_help_target={@ID}" onMouseover="window.status=''; return true;"><a href="{$baseActionURL}?uP_help_target={@ID}" onMouseover="window.status=''; return true;">

<img alt="help" title="help" src="{$mediaPath}/{$skin}/controls/help.gif" width="16" height="16" border="0"/><img alt="help" title="help" src="{$mediaPath}/{$skin}/controls/help.gif" width="16" height="16" border="0"/>

</a></a>

</xsl:if></xsl:if>

Page 24: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

2424

Hidden detach methodHidden detach method

<<xsl:template name="controls">xsl:template name="controls">

……

<!-- Remove Detach button<!-- Remove Detach button

<xsl:if test="not(@detachable='false')"><xsl:if test="not(@detachable='false')">

<a href="#" onClick="openBrWindow('{$baseActionURL}?<a href="#" onClick="openBrWindow('{$baseActionURL}?uP_detach_target={@ID}','detachedChannel','toolbar=yes,location=yes,status=yes,menubar=yes,uP_detach_target={@ID}','detachedChannel','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=640,height=480')">scrollbars=yes,resizable=yes,width=640,height=480')">

<img alt="detach" title="detach" src="{$mediaPath}/{$skin}/controls/detach.gif" width="16" <img alt="detach" title="detach" src="{$mediaPath}/{$skin}/controls/detach.gif" width="16" height="16" border="0"/>height="16" border="0"/>

</a></a>

</xsl:if></xsl:if>

-->-->

Page 25: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

2525

uPortal.jaruPortal.jar

Location : $CP_WEBINF/libLocation : $CP_WEBINF/lib

Extract – Extract –

Jar xvf uPortal.jarJar xvf uPortal.jar

Rebuild –Rebuild –

Jar cvf uPortal.jar.new *Jar cvf uPortal.jar.new *

Page 26: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

2626

Links and welcomeLinks and welcome

‘‘currently logged in’currently logged in’

org/jasig/portal/channels/CLogin/html.xslorg/jasig/portal/channels/CLogin/html.xsl

My Account linksMy Account links

org/jasig/portal/channels/CHeader/html.xslorg/jasig/portal/channels/CHeader/html.xsl

Page 27: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

2727

What’s next ?What’s next ?

Use your imagination ….Use your imagination ….

To turn this –To turn this –

Page 28: 1 P*** My Portal WHAT ?!?!???. 2 Pimp My Portal Trickin it out and Kickin it up Jonathan Wheat

2828

Contact InformationContact Information

Jonathan WheatJonathan WheatMessiah College, ITSMessiah College, ITS

1 College Ave, Box 30551 College Ave, Box 3055

Grantham, PA 17027Grantham, PA 17027

717.766.2511 x3385717.766.2511 x3385

[email protected]@messiah.edu

Jonathan WheatJonathan WheatLDNLDN

Luminis Developers NetworkLuminis Developers Network

http://www.lumdev.nethttp://www.lumdev.net

[email protected]@lumdev.net

Download location : http://www.lumdev.net/pimpmyportal