Your SlideShare is downloading. ×
Bringing Zest to SharePoint Sites Using Out-of-the-box Technology<br />Joel Ward<br />Edward Wells<br />Bethany Kaplan<br />
Introduction<br />Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology<br />
Who we are<br />Joel Ward<br />SharePoint Developer/Architect<br />Edward Wells<br />SharePoint Advisor/Developer<br />Bet...
Why we are here<br />Worked with SharePoint in various government and commercial environments<br />Share some ways to over...
Session Outline<br />Quick Hits<br />Change the “SharePoint look”  -  Master Page<br />Re-Enable Quick Launch<br />PDF Pag...
Quick Hits<br />Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology<br />
Changing the “SharePoint Look”<br />Many clients/users don’t like the “SharePoint look”,…you know, that typical blue backg...
Changing the “SharePoint Look” – Themes<br />
Changing the “SharePoint Look” – Master Page<br />
Re-enable Quick Launch<br />When you create a standard web part page, the Quick Launch is not present<br />Ways to overcom...
Re-Enable Quick Launch: Without SharePoint Designer<br />Rename .ASPX file to .TXT<br />Open and comment out or remove the...
Re-Enable Quick Launch: Using SharePoint Designer<br />Comment out or remove the following three lines of code:<br /><asp:...
MODIFYING NAVIGATION CONTROL ATTRIBUTES<br />The same techniques can be used to modify the navigation properties as we use...
Modifying Navigation Control Attributes<br />ContentPlaceHolder ID = “PlaceHolderLeftNavBar”<br />AspMenu control ID = “Qu...
PDF Page Anchor Navigation<br />SharePoint sites contain hosted content<br />In an ideal world everything would be a webpa...
PDF Page Anchor Navigation<br />What if you want a link in SharePoint to open a PDF to a specific page within the PDF (a m...
Our Friend, the Content Editor Web Part<br />The Content Editor Web Part is more versatile than you may think<br />Can hol...
Open List Item in New Window<br />
Tiered Scenarios<br />Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology<br />
The Tier System<br />Tier 1<br />No code<br />Web browser configurations<br />Tier 2<br />Content Editor Web Part<br />Bas...
Scenario #1: Page Pizzazz with Functionality<br />Tier 1: Basic Out-of-the-Box Changes<br />Tier 2: Widgets and Gadgets<br...
Page Pizzazz with Functionality<br />Requirement: The site is boring and needs more dynamic content to draw users in<br />...
Tier 1: Basic Out-of-the-Box Changes<br />Jazz up with <br />Announcements: Fonts, Colors, Photos<br />RSS Feeds<br />Pict...
Announcements<br />
RSS Feeds: News, Stocks,….<br />
Pictures<br />
Tier 2: Widgets and Gadgets  <br />Weather<br />Google Gadgets<br />WidgetBox<br />And many more…<br />
Weather<br />
Google Gadgets<br />Joke of the Day<br />Birthday Viewer/Countdown<br />Slideshows<br />
Widgetbox<br />Site Polls<br />Slideshows<br />Movement<br />Mini-Calendar<br />
Tier 2/3: Using jQuery<br />
Tier 3/4:  Widgets and Web Parts that run off local data<br />Widgets that run off local data<br />Data View Web Parts<br ...
Scenario #2: Form and Column Control<br />Tier 1: Description – “Admin Only” <br />Tier 2: Script to Hide Fields<br />Tier...
Tier 1: Form Control through Description – “Admin Only” <br />Very Simple<br />Effective<br />Most popular solution<br />
Tier 2: Script to Hide FieldsWhat you see is what you fill<br /><ul><li>Hides fields, doesn’t block them
Doesn't work if true security is needed
Newform.aspx vs. Editform.aspx</li></ul>CEWP to the rescue!<br />Simple JavaScript<br />Power user can implement<br /><scr...
Tier 3: Column-level security <br />Control access at the column level<br />None/Read/Write access configurable<br />When ...
Scenario #3: Field Options to Ensure Consistent Data Input<br />Tier 1:  The Choice Column<br />Tier 1:  The Lookup List <...
Tier 1: The Choice Column -A Solution for the Everyman<br />Quick<br />Simple<br />Effective<br /><ul><li>Limited Options
No Central Management</li></li></ul><li>Tier 1: The Lookup ListA Solution for the Power User<br />Quick<br />Effective<br ...
Tier 2/3: The Auto-Complete Function – IT Help Needed<br />Benefits<br />Powerful<br />Functionality only limited by imagi...
Tier 2/3: The Auto-complete Function – How It Works<br />
Tier 2: Coming – jQueryfor SP<br />So what used to be Tier 3 is becoming available for Tier 2 Power User audience<br />End...
Tier Next: 2010 previewLookups of the Future!<br />Unique columns<br />Enhanced lookup columns<br />Enforced lookup relati...
Tier Next: SharePoint 2010 Validation<br />Single column input validation<br />Cross column input validation<br /><ul><li>...
Scrubs results at the point of input</li></ul>Ian Morrish: SharePoint 2010 Column Validation<br />
Metrics & Key Performance Indicators<br />Tier 1: Enterprise MOSS KPIs (if you’re so lucky)<br />Tier 1: List Views (for W...
Final Thoughts & Questions<br />Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology<br />
Upcoming SlideShare
Loading in...5
×

Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology

7,068

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,068
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • You can use one of the alternate built-in master pages or create your own Master Page and/or Theme.
  • You can use one of the alternate built-in master pages or create your own Master Page and/or Theme.
  • You can use one of the alternate built-in master pages or create your own Master Page and/or Theme.
  • Remove the following three lines of code:&lt;asp:ContentContentPlaceHolderId=&quot;PlaceHolderPageImage&quot; runat=&quot;server&quot;&gt;&lt;/asp:Content&gt; &lt;asp:ContentContentPlaceHolderId=&quot;PlaceHolderLeftNavBar&quot; runat=&quot;server&quot;&gt;&lt;/asp:Content&gt;&lt;asp:ContentContentPlaceHolderId=&quot;PlaceHolderNavSpacer&quot; runat=&quot;server&quot;&gt;&lt;/asp:Content&gt;References: http://www.beyondweblogs.com/post/Quick-Launch-Navigation-missing-from-SharePoint-Web-part-page.aspxhttp://weblogs.asp.net/sharadkumar/archive/2009/06/19/sharepoint-2007-how-to-enable-left-navigation-quick-launch-for-all-web-part-pages-in-a-farm.aspx
  • Remove the following three lines of code:&lt;asp:ContentContentPlaceHolderId=&quot;PlaceHolderPageImage&quot; runat=&quot;server&quot;&gt;&lt;/asp:Content&gt; &lt;asp:ContentContentPlaceHolderId=&quot;PlaceHolderLeftNavBar&quot; runat=&quot;server&quot;&gt;&lt;/asp:Content&gt;&lt;asp:ContentContentPlaceHolderId=&quot;PlaceHolderNavSpacer&quot; runat=&quot;server&quot;&gt;&lt;/asp:Content&gt;References:http://www.beyondweblogs.com/post/Quick-Launch-Navigation-missing-from-SharePoint-Web-part-page.aspxhttp://weblogs.asp.net/sharadkumar/archive/2009/06/19/sharepoint-2007-how-to-enable-left-navigation-quick-launch-for-all-web-part-pages-in-a-farm.aspx
  • Source material: http://msdn.microsoft.com/en-us/library/ms466994.aspx
  • Source material: http://msdn.microsoft.com/en-us/library/ms466994.aspxhttp://www.heathersolomon.com/blog/archive/2007/05/15/SharePoint-Tip--How-to-Activate-the-Drop-Down-Menu.aspx
  • Reference: http://kb2.adobe.com/cps/317/317300.html
  • Show CEWP in action
  • Copy Code Below and paste into Content Editor Web Part. Add CEWP to bottom of page, doesn’t work if added to the top of the page. It has a few restrictions... it needs to be added to each instance or view of the list or library, it will apply to all of the list or library items, and it doesn&apos;t seem to work for the Links web part in Summary view (view with the links as bullets).&lt;script type=&quot;Text/JavaScript&quot; language=&quot;JavaScript&quot;&gt;try{ //Get all page linksvar links = document.getElementsByTagName(&quot;A&quot;); //Iterate all page links for(vari=0; i&lt;links.length; i++) {var link = links(i); //Coerse to string by concantenating an emptystringvaronValues = link.onclick + link.onfocus + &quot;&quot;; //Change the target of ListItem links //ListItem links contain one of these literals: // Document Library = DispDocItemEx // Links List = OnLink // All Other Lists List = GoToLink (overridden below) if(onValues.indexOf(&quot;DispDocItemEx&quot;) &gt;= 0 || onValues.indexOf(&quot;GoToLink&quot;) &gt;= 0 || onValues.indexOf(&quot;OnLink&quot;) &gt;= 0 ) {link.getAttributeNode(&quot;target&quot;).value = &quot;_blank&quot;; } }}catch(e){alert(e.Message);}//Override SharePoint&apos;s GoToLink function//Create a custom GoToLink functionvar _origGoToLink = GoToLink;GoToLink = function(elm){ if (elm.href == null) return;varch = elm.href.indexOf(&quot;?&quot;) &gt;= 0 ? &quot;&amp;&quot; : &quot;?&quot;;varsrcUrl = GetSource(); if (srcUrl != null &amp;&amp; srcUrl != &quot;&quot;)srcUrl = ch + &quot;Source=&quot; + srcUrl;vartargetUrl = elm.href + srcUrl; //Use window.open rather than window.locationwindow.open(STSPageUrlValidation(targetUrl));}&lt;/script&gt;Reference:http://mindsharpblogs.com/todd/contact.aspx
  • Reference: http://weblogs.wpix.com/news/local/morningnews/blogs/baby0710.jpg
  • Source: http://www.cnn.com/
  • AccuWeather: http://netweather.accuweather.com/adcbin/netweather_v2/signup-page2.asp?partner=netweatherResource: http://www.endusersharepoint.com/2010/03/30/project-for-a-rainy-day-create-a-weather-magnet-for-a-sharepoint-dashboard/
  • Source: http://www.google.com/ig/directory?synd=openBirthday: http://www.google.com/ig/directory?synd=open&amp;cat=all&amp;url=http%3A%2F%2Fwww.labpixies.com%2Fcampaigns%2Fdates%2Fdates.xmlJoke of the Day: http://www.google.com/ig/directory?synd=open&amp;cat=all&amp;url=http%3A%2F%2Fgooglegadgetworld.com%2FJokes%2FPoliticaljokes%2Fbestpoliticaljokes.xmlDaily Tropical Picture: http://www.google.com/ig/directory?synd=open&amp;cat=all&amp;url=http%3A%2F%2Fmidots.com%2Fgadgets%2Fxmldocs%2FmidotsImgViewBeautifulPhotosOfIslands_11.xml
  • Source:WidgetBox: http://www.widgetbox.com/galleryhome/Slideshow: http://www.widgetbox.com/widget/dralzheimerMini-Calendar: http://www.widgetbox.com/widget/calendar-japfPolls: http://www.widgetbox.com/widget/poll-pro?startWithPro=1
  • Source: jCarousel: http://sorgalla.com/projects/jcarousel/examples/static_auto.htmlSource: Rotating Tabs: http://stilbuero.de/jquery/tabs_3/rotate.html
  • Source: http://moblog.bradleyit.com/2009/07/hideremove-workspace-from-sharepoint.htmlAdd this after the .aspx of a form’surl: ?Toolpaneview=2
  • Source: http://store.bamboosolutions.com/sharepoint-column-level-security.aspx
  • Source: http://sharepoint.microsoft.com/blogs/GetThePoint/Lists/Posts/ViewPost.aspx?ID=316
  • Source: http://www.wssdemo.com/Blog/Lists/Posts/Post.aspx?ID=496
  • Transcript of "Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology"

    1. 1. Bringing Zest to SharePoint Sites Using Out-of-the-box Technology<br />Joel Ward<br />Edward Wells<br />Bethany Kaplan<br />
    2. 2. Introduction<br />Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology<br />
    3. 3. Who we are<br />Joel Ward<br />SharePoint Developer/Architect<br />Edward Wells<br />SharePoint Advisor/Developer<br />Bethany Kaplan<br />SharePoint Functional SME<br />
    4. 4. Why we are here<br />Worked with SharePoint in various government and commercial environments<br />Share some ways to overcome your environmental restrictions<br />SharePoint does not always require in depth programming or server access<br />Give some ideas to get the juices flowing<br /> This will not be an exhaustive set of solutions by any means – but instead we hope it will empower you to think out of the box to jazz up and add functionality to your SharePoint sites.<br />
    5. 5. Session Outline<br />Quick Hits<br />Change the “SharePoint look” - Master Page<br />Re-Enable Quick Launch<br />PDF Page Anchor Navigation<br />Content Editor Web Part (CEWP)<br />Open List Item in New Window<br />Tiered Scenarios<br />Page Pizzazz with Functionality<br />Form and Column Control<br />Field Options to Ensure Consistent Data Input<br />Metrics & Key Performance Indicators<br />Final Thoughts & Questions<br />
    6. 6. Quick Hits<br />Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology<br />
    7. 7. Changing the “SharePoint Look”<br />Many clients/users don’t like the “SharePoint look”,…you know, that typical blue background…but how can that be changed?<br />
    8. 8. Changing the “SharePoint Look” – Themes<br />
    9. 9. Changing the “SharePoint Look” – Master Page<br />
    10. 10. Re-enable Quick Launch<br />When you create a standard web part page, the Quick Launch is not present<br />Ways to overcome the missing navigation<br />Head in sand: Ignore it<br />Without SharePoint Designer: Edit by renaming file, edit two lines<br />Using SharePoint Designer: Edit the page to re-enable the Quick Launch<br />More Navigation Goodness: Modify navigation control attributes<br />
    11. 11. Re-Enable Quick Launch: Without SharePoint Designer<br />Rename .ASPX file to .TXT<br />Open and comment out or remove the following three lines of code::<br /><asp:ContentContentPlaceHolderId="PlaceHolderPageImage" runat="server"></asp:Content> <br /><asp:ContentContentPlaceHolderId="PlaceHolderLeftNavBar" runat="server"></asp:Content><br /><asp:ContentContentPlaceHolderId="PlaceHolderNavSpacer" runat="server"></asp:Content><br />Rename .TXT back to .ASPX<br />
    12. 12. Re-Enable Quick Launch: Using SharePoint Designer<br />Comment out or remove the following three lines of code:<br /><asp:ContentContentPlaceHolderId="PlaceHolderPageImage" runat="server"></asp:Content> <br /><asp:ContentContentPlaceHolderId="PlaceHolderLeftNavBar" runat="server"></asp:Content><br /><asp:ContentContentPlaceHolderId="PlaceHolderNavSpacer" runat="server"></asp:Content><br />
    13. 13. MODIFYING NAVIGATION CONTROL ATTRIBUTES<br />The same techniques can be used to modify the navigation properties as we used to re-enable the quick launch<br />Open master page as text file, or preferably open in SharePoint Designer (make a copy first!)<br />Enhance the navigation<br />Make menus dynamic<br />Make titles wrap<br />Add multiple levels to menus<br />Use custom code to add fly-ins and other advanced content<br />http://www.heathersolomon.com/blog/archive/2007/05/15/SharePoint-Tip--How-to-Activate-the-Drop-Down-Menu.aspx<br />
    14. 14. Modifying Navigation Control Attributes<br />ContentPlaceHolder ID = “PlaceHolderLeftNavBar”<br />AspMenu control ID = “QuickLaunchMenu”<br /><asp:AspMenu id="QuickLaunchMenu“<br />DataSourceId="QuickLaunchSiteMap" runat="server“<br />Orientation="Vertical" StaticDisplayLevels="1" ItemWrap="true“<br />MaximumDynamicDisplayLevels="1" StaticSubMenuIndent="0“<br />SkipLinkText="" > <br />http://msdn.microsoft.com/en-us/library/ms466994.aspx<br />http://www.heathersolomon.com/blog/archive/2007/05/15/SharePoint-Tip--How-to-Activate-the-Drop-Down-Menu.aspx<br />
    15. 15. PDF Page Anchor Navigation<br />SharePoint sites contain hosted content<br />In an ideal world everything would be a webpage, right?<br />In the real world browser hosted content often comes in PDF form<br />User guides, policy manuals and books are often PDF form<br />PDFs can consist of dozens or thousands of pages<br />Links are targeted references to specific material. <br />Opening a 500 page document at the beginning of page one does not give me the policy I need in the middle of page 304<br />Enter PDF page anchors!<br />So quick, easy that anyone can make them<br />
    16. 16. PDF Page Anchor Navigation<br />What if you want a link in SharePoint to open a PDF to a specific page within the PDF (a manual for instance)?<br />Solution: Add the following the end of the link’s URL: #page=[page number]<br />Example: www.edrocks.com/documents/mypdf.pdf#page=9<br />What if you want a link in SharePoint to open a PDF to a specific destination, such as a Glossary, without the link being tied to a page number (in case the document and page numbers get updated)?<br />Solution: Set the destination within the PDF file, then create a link that points to this destination by adding the following to the end of the links URL: #[destination name] <br />Example: www.edrocks.com/documents/mypdf.pdf#section<br />
    17. 17. Our Friend, the Content Editor Web Part<br />The Content Editor Web Part is more versatile than you may think<br />Can hold rich text, but can also hold HTML, JavaScript and CSS<br />Can link to a code file in a document library or elsewhere using a Content Link<br />Most HTML and JavaScript is allowed, though the <form> tag is not<br />
    18. 18. Open List Item in New Window<br />
    19. 19. Tiered Scenarios<br />Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology<br />
    20. 20. The Tier System<br />Tier 1<br />No code<br />Web browser configurations<br />Tier 2<br />Content Editor Web Part<br />Basic SharePoint Designer<br />Power Users<br />Tier 3<br />Advanced SharePoint Designer<br />Server side programming<br />Programmer and IT help required<br />Tier 4<br />Enterprise applications<br />Standard and 3rd party Web Parts<br />Cascading Style Sheets<br />JavaScript<br />jQuery<br />CAML<br />Features<br />SQL<br />BI<br />ASP.NET<br />SSRS<br />
    21. 21. Scenario #1: Page Pizzazz with Functionality<br />Tier 1: Basic Out-of-the-Box Changes<br />Tier 2: Widgets and Gadgets<br />Tier 2/3: Using jQuery<br />Tier 3/4: Widgets and Web Parts that run off local data<br />
    22. 22. Page Pizzazz with Functionality<br />Requirement: The site is boring and needs more dynamic content to draw users in<br />Boring!<br />
    23. 23. Tier 1: Basic Out-of-the-Box Changes<br />Jazz up with <br />Announcements: Fonts, Colors, Photos<br />RSS Feeds<br />Pictures<br />
    24. 24. Announcements<br />
    25. 25. RSS Feeds: News, Stocks,….<br />
    26. 26. Pictures<br />
    27. 27. Tier 2: Widgets and Gadgets <br />Weather<br />Google Gadgets<br />WidgetBox<br />And many more…<br />
    28. 28. Weather<br />
    29. 29. Google Gadgets<br />Joke of the Day<br />Birthday Viewer/Countdown<br />Slideshows<br />
    30. 30. Widgetbox<br />Site Polls<br />Slideshows<br />Movement<br />Mini-Calendar<br />
    31. 31. Tier 2/3: Using jQuery<br />
    32. 32. Tier 3/4: Widgets and Web Parts that run off local data<br />Widgets that run off local data<br />Data View Web Parts<br />Content Query Web Parts<br />Custom coded widgets<br />Custom Web Parts<br />Third party Web Parts<br />The possibilities are endless!<br />
    33. 33. Scenario #2: Form and Column Control<br />Tier 1: Description – “Admin Only” <br />Tier 2: Script to Hide Fields<br />Tier 3: Column-level security (Web Part)<br />
    34. 34. Tier 1: Form Control through Description – “Admin Only” <br />Very Simple<br />Effective<br />Most popular solution<br />
    35. 35. Tier 2: Script to Hide FieldsWhat you see is what you fill<br /><ul><li>Hides fields, doesn’t block them
    36. 36. Doesn't work if true security is needed
    37. 37. Newform.aspx vs. Editform.aspx</li></ul>CEWP to the rescue!<br />Simple JavaScript<br />Power user can implement<br /><script type="text/javascript">vartrs = document.getElementsByTagName("TR");for (var r in trs) {var row = (trs[r].innerText || trs[r].textContent)+""; if (row.match(/^Row Title 1/) || row.match(/^Row Title 2/)){ trs[r].style.display = "none"; }}</script> <br />http://moblog.bradleyit.com/2009/07/hideremove-workspace-from-sharepoint.html<br />
    38. 38. Tier 3: Column-level security <br />Control access at the column level<br />None/Read/Write access configurable<br />When the issue is security, not validity or usability<br />Bamboo Solutions: Bamboo Column Level Security<br />
    39. 39. Scenario #3: Field Options to Ensure Consistent Data Input<br />Tier 1: The Choice Column<br />Tier 1: The Lookup List <br />Tier 2/3: The Auto-Complete Function <br />Tier Next: 2010 preview<br />
    40. 40. Tier 1: The Choice Column -A Solution for the Everyman<br />Quick<br />Simple<br />Effective<br /><ul><li>Limited Options
    41. 41. No Central Management</li></li></ul><li>Tier 1: The Lookup ListA Solution for the Power User<br />Quick<br />Effective<br />Expanded Options<br />Centrally Managed<br />Multiple lists and columns can lookup from one list<br />Options list manager can have different permissions than source list owner<br />
    42. 42. Tier 2/3: The Auto-Complete Function – IT Help Needed<br />Benefits<br />Powerful<br />Functionality only limited by imagination<br />Works in Restrictive Environments<br />Visually impressive, WOW factor<br />Challenges<br />Complex, Requires a Programmer<br />Maintenance Issues May Occur<br />Difficult to troubleshoot<br />Difficult to migrate or alter <br />
    43. 43. Tier 2/3: The Auto-complete Function – How It Works<br />
    44. 44. Tier 2: Coming – jQueryfor SP<br />So what used to be Tier 3 is becoming available for Tier 2 Power User audience<br />End User SharePoint (EUSP) is one of the premiere resources<br />http://www.endusersharepoint.com/<br />jQuery Library for SharePoint Web Services on CodePlex<br />http://spservices.codeplex.com/<br />Also see:<br />http://www.jquery.com/<br />
    45. 45. Tier Next: 2010 previewLookups of the Future!<br />Unique columns<br />Enhanced lookup columns<br />Enforced lookup relationships<br />Un-enforced lookup relationships<br />Viewing items in list relationships<br />
    46. 46. Tier Next: SharePoint 2010 Validation<br />Single column input validation<br />Cross column input validation<br /><ul><li>Excellent for usability
    47. 47. Scrubs results at the point of input</li></ul>Ian Morrish: SharePoint 2010 Column Validation<br />
    48. 48. Metrics & Key Performance Indicators<br />Tier 1: Enterprise MOSS KPIs (if you’re so lucky)<br />Tier 1: List Views (for WSS and MOSS Standard)<br />Tier 2: DataViews or JavaScript in SPD<br />Tier 3: SQL Server Reporting Services (SSRS), Performance Point, Custom Web Parts<br />Tier 3/4: Other Enterprise BI solutions<br />
    49. 49. Final Thoughts & Questions<br />Bringing Zest to SharePoint Sites Using Out-of-the-Box Technology<br />
    50. 50. Final Thoughts<br />You have more options than straight out-of-the-box look, feel and functionality, even as a Power User<br />Quick, free and easy alterations can really jazz up your site and are found by quick internet searches<br />There are multiple ways of achieving similar outcomes<br />Know when you need to involve IT<br />
    51. 51. Session Suggestions<br />How to Use jQuery to Enhance the User Experience<br />Just missed it at 9am<br />Marc Anderson<br />No Code Enhancements to the SharePoint Interface<br />10:30am in the Forum<br />Mark Miller (End User SharePoint)<br />Mapping Mashups with SharePoint Designer<br />2:30pm in the Forum<br />Tom Resing<br />
    52. 52. Contact & Questions<br />Joel<br />Blog: joelsef.blogspot.com<br />Twitter: @joelsef<br />Email: joel@wardworks.com<br />Ed<br />Twitter: @edkwells<br />Email: edkwells@gmail.com<br />Bethany<br />Twitter: @bfaith20<br />

    ×