SPC2011: Best Practices for Creating Publishing Page Layouts

Notes from the SharePoint Conference 2011
Session: Best Practices for Creating Publishing Page Layouts

• Use DIV tags for positioning
• Only give users control to alter content when they need it
• Use case: Brembo (http://www.brembo.com )
• Example: jquery against dataform web part

○ Site has an area that flips through multiple images
○ Images are kept in an image library
○ Add library fields like “order” to configure image order and time from library

• Modal Dialog framework (ie lightbox)

○ Part of the client object model
○ Example: when you click on a news preview, it opens the news article in a lightbox
○ Consider using a modal dialog over a page reload – appears faster to users

• EditModePanel & delegate control

○ EditModePanel – content area that is only viewable/editable when edit page. Used to add page metadata (ie “Summary” or “Keywords”) –> increases search optimization
○ Delegate control – Region in an aspx page that allows content to be replaced with custom content without having to redeploy the page layout. Retrieve data in the editmodepanel fields and put it in the metatag in the head -> search engine optimization

○ Content Query web part (CWQP)

§ Customize to look up page field value and filter content based on value
§ Field needs to be a managed metadata property

• Dataform – Rolls up information from multiple data sources – beyond the site collection boundaries
• Content Query web part

○ Use when possible because of it’s flexibility to customize
○ Consider having it pull configurations from an splist so easy for a site owner to change the configuration parameters if needed

• CQWP caches while dataform does not
• Create as few page layouts as possible and make them as multi-purpose as possible
• Content Types

○ Reusable collection of metadata for a category of items in a splist
○ Create Content Types mainly via Sharepoint Designer (SPD) and Visual Studios (VS)
○ SPD – Pro: easy, Con: less flexible, page becomes customized
○ Visual Studio – Pro: flexible, Con: developer tool
○ Consider designing in SPD but implementing in VS

• Visual Studio plugins

http://cksdev.codeplex.com
○ Caml .net intellisense – http://bit.ly/hV4xe5

Multiple Web Part Connections in SharePoint 2010

Unlike SharePoint 2007, SharePoint 2010 allows you to do more than one web part connection to a list view web part out of the box! That also means you can use more than one filter web part on a list view web part!

Here is a screen shot that exemplifies using multiple web part connections:

projectWPconn

In this screenshot, a user can filter by the project AND by the project phase to find related tasks. Sure you can filter the “Related Project” and “Project Phase” fields on the Tasks list view web part separately by clicking on each of the field titles and filtering them but using web part connections makes it easier for the user to switch between projects and project phases. Also, if the user is new to SharePoint, it’s not immediately obvious that you can filter by clicking on the field title, whereas clicking on a project to filter all tasks related to the project is more intuitive.

You can even add to this example by using filter web parts – ie. You can use a current user filter web part to show only the tasks assigned to you.

Being able to have multiple web part connections to a list view web part opens the door to all sorts of possibilities for slicing and dicing data within a list!

Visio Services – Using Visio & Web Part Connections to Highlight

In SharePoint 2010, you can use web part connections between a Sharepoint list and a Visio Web Access web part to highlight steps in a process diagram that are associated with a list item:

When you select a different list item, different steps in the process diagram are highlighted:

Here are the steps to build this example:

  1. Open Visio 2010, create a Visio diagram, and save it as a “Web Drawing” file type
  2. Upload the Visio file to a SharePoint document library
  3. In your Sharepoint site, create a web part page and add the Visio Web Access web part to the page. Edit this web part and set the web drawing URL to the Visio file URL
  4. Create a custom list and add a column called “Highlighted Steps.” Choose “Single line of text” as the column type
  5. Create a list item in the custom list. In the “Highlighted Steps” column, add the Shape name(s) that you want to highlight when you select this list item. If it’s multiple shape names, separated them with commas with no space in between. Ex) “Process1,Proccess1”. You can find the shape name by clicking on the shape information pane and then clicking the shape. The shape name shows up in the upper left side of the box. In the example shown in the picture, the shape name is  Process.3.
  6. On the page, add the list view web part for the custom list you created above.
  7. In the edit mode for the page, click the edit dropdown > Connections > Get Shapes to Highlight From > (custom list name)
  8. In the web part connection settings, set the Provider field name to the “Highlighted Steps” column and the Consumer field name to “Shape Names”. Click Finish

Now when you select one of the list items, it will highlight all the shapes associated with the list item.

Reference:

http://blogs.msdn.com/b/visio/archive/2010/02/05/no-code-mashups-with-visio-services-and-web-part-connections.aspx

Visio Services – Using Visio to Connect Processes

Unlike SharePoint 2007, SharePoint 2010 has a Visio web access web part that allows you to show Visio diagrams on your site. One way to leverage this new capability is to show a master detail view of a diagram/process. When you click on a shape in the “master” view, the “details” view will show the information associated with that shape. For example, when you click on the shape for “Phase 1” in the “master” view, the “details” view will show the sub-process related to Phase 1. This is especially helpful when you want both a high level and detail level view of a process.

Fig. 1: Clicking on the Initiation process shows the sub-process for the Initiation process

Fig. 2: Clicking on the Testing process shows the sub-process for the Testing process

These are the steps to build this example:

  1. Open Visio 2010
  2. Click New > Basic Flowchart > Create
  3. Click Save As > Change the file type to “Web Drawing” and save
  4. Create both your main process diagram and sub-process diagrams. Save the main process and sub-processes as two different Visio files.
  5. On the sub-process diagrams: change the page names for each sub-process
  6. On the main diagram: Select the whole process and right-click on the process > Data > Define Shape Data. Click New. Set the label to “subprocess” and type to string. Right click on the first shape > Data > Data Shape. Set the “subprocess” variable to the page name of the sub-process that is associated with the first shape. Repeat this step for all shapes in the main diagram
  7. Open your sharepoint site that you want to display these Visio diagrams
  8. Upload both Visio files to a document library
  9. On a page, add two Visio web access web parts – one is for the main process and one is for the sub-process
  10. Edit the main process Visio web part and set the web drawing URL to the main process Visio file url
  11. In the “Expose the following shape data” field, type the name of the label we created previously, which is “subprocess”
  12. Save the changes made to the main Visio web part
  13. Edit the sub-process Visio web part and set the web drawing URL to the sub-process Visio file url
  14. Save the changes made to the sub-process Visio web part
  15. On the sub-process Visio web part, click edit > Connections > Get Web Drawing URL and Page Name From > (the main process Visio web part) – Provider Field Name: subprocess, Consumer Field Name: Page Name. Click Finish
  16. Exit edit mode of the page (or Publish if the publishing feature is activated)

Steps to Drive User Adoption

I just finished watching a Metavis webinar by Dave Coleman and Mark Miller. Here are some of the steps they’ve outlined to help drive user adoption that I thought were interesting:

  1. Show solutions, not functionality
  2. Solve a simple, real world problem
  3. Evangelize small wins
  4. Weekly office hours for company users
  5. Add little items of interest to your site: weather magnet, quote of the day, stock quote (via CEWP)
  6. Include site manager contact info on every page
  7. Find a champion and feed her
  8. Create a weekly newsletter – short & sweet, tips & tricks – links to source
  9. Build a “This is how we did it” category – instructions of how to do things in sharepoint
  10. Have the CEO answer a question a week on the front page of the site
  11. Pictures, graphs, videos, images

Another interesting observation to increase user adoption is to integrate SharePoint into the tools that people use everyday. Examples could be showcasing the integration between Outlook and SharePoint or RSS.

Also, Microsoft has a white paper! – SharePoint 2010 Adoption Best Practices

SP Saturday: Best Practices of Implementing SharePoint Training

I recently watched a webcast by Scott Lavoie that summarizes some of the best practices he’s learned from his experiences as a SharePoint trainer and I wanted to share what I thought were his key take-away messages for me.

I really appreciated this webcast because last year I had created and led a one time 3 hour instructor led training for my company. Coming from more of a developer background, I struggled with what the best approach was for planning and implementing this training. This webcast reinforced some of the practices that I had done and gave me ideas of what new practices I could use for future trainings.

Training Strategy Document:

  • Before starting the training planning, create this document that summarizes what resources are needed to make the training a success and then give this document to management
  • Why? This document is used to cover you to ensure that management knows why a training may not have gone as well as it could have

Pilot Training:

  • Select a cross selection of users with varying technical background to do a pilot run of your training/exercises and elicit feedback afterwards to improve the training
  • Make it clear that it is a pilot and not the actual training
  • Why? Because you as the trainer as so familiar with the material, pilots show you where the gaps are for understanding the training concepts

Training Structure:

  • Provide a table of contents that students can refer to later on to easily find information about a training topic
  • Inform students what they will be learning in the training along with why they should learn it
  • Include a reference section at the end to define SharePoint lingo (ie. Breadcrumb)
  • Have evaluations at the end of the training to get feedback

Other Tips:

  • Use actual company data/policies in the training
  • Determine learning objective for that specific user group and drive the curriculum from those objectives
  • Engage a mentor with the planning process

You can click here for a copy of his slides.

More information about SharePoint Saturdays, where this webcast was originally presented.