2/03/2013

Add a Content Editor Web Part (CEWP) to a Survey

 

Had an interesting question… how do I add a Content Editor Web Part to a SharePoint survey. Turns out this is pretty easy, with one trick, one bug and one caveat.

  • SharePoint 2007 will need a web part trick.
  • SharePoint 2013 has a "bug" that requires you to edit the page in SharePoint Designer. The steps below include 2013 just in case they fix the bug! Be forewarned, adding a CEWP in Designer 2013 is not trivial as they left out the Design View. You have to hand edit your HTML for the web part!
  • The caveat has to do with how multipage surveys are displayed. There are only two web pages, no matter how many Page Separator columns you added; one web page for page 1 (Newform.aspx) and one web page for all other "pages" (Editform.aspx). What this means is that you cannot add a different page level (or web part) customization on "page 3" than on "page 4".
  • Trivia: Both SharePoint 2010 and 2013 surveys still use the old 2007 user interface! No ribbon!

When you respond to a multipage survey the following happens:

  1. NewForm.aspx is displayed. (this is the first "page" of your survey) When you click Next SharePoint creates a new list item in the Survey list and then loads EditPage.aspx for the rest of the questions. The URL for the first page looks like this:
      http://sharepoint/sites/Training/Lists/Survey/NewForm.aspx?IsDlg=1
        (2007 and 2013 do not add the "?IsDlg=1".)
  2. EditForm.aspx is displayed for "page 2" starting with the next question in the survey. In my example the question is named "Comments":
      http://sharepoint/sites/Training/Lists/Survey/EditForm.aspx?ID=7&FirstField=Comments&IsDlg=1
        (2007 and 2013 do not add the "?IsDlg=1".  ID is the item ID of this survey response.)
  3. EditForm.aspx is displayed for "page 3" starting with the next question in the survey. In my example the question is named "How many days?":
      http://sharepoint/sites/Training/Lists/Survey/EditForm.aspx
      ?ID=7&FirstField=How%5Fx0020%5Fmany%5Fx0020%5Fdays%5Fx003f%5F&IsDlg=1

Note that after page one the same web page (and web part) is used to display all remaining questions. They only difference is the FirstField parameter in the URL. So… an edit made to NewForm.aspx is displayed on the first page of the survey while an edit made to EditForm.aspx is displayed on all survey pages after page 1.

 

Here's the steps for SharePoint 2007, 2010 (or Office 365 2010) and 2013:

  1. Create the survey as usual
  2. Go to the survey and click "Respond to this Survey". (you will be on NewForm.aspx) If it is a multi page survey and you want to edit everything after page 1 then click Next. (You will be on EditForm.aspx)
  3. For SP 2010, right-click in a blank area in the dialog box and click Properties. Copy the URL (make sure you get it all as only two lines are displayed) Paste the URL into the browser's address bar. If you are working with 2010 then remove the "?IsDlg=1" from the URL. Press Enter to display the form.
  4. For 2007 add "&ToolPaneView=2" to the end of the URL Press Enter to display the form.
  5. For SP 2010 and 2013 click Site Actions (The "gear" for 2013) and Edit Page. (2007 is already in edit mode due to the ToolPaneView=2.)
  6. Click Add A Web Part and add your Content Editor Web Part. This is where SP 2013 fails. The panel to add a web part is displayed behind the web page. You can see it but not click it. Go to SharePoint Designer, open the site, open the survey list and edit NewForm.aspx or EditForm.aspx and add the web part there.
  7. Click the dropdown menu on the web part and click Edit Web Part. For SP 2007 click the Rich Text button. For SP 2010 click in the web part and start typing. For SP 2010 the text editor ribbon will not be displayed. You may want to create the text in another CEWP and copy and paste it into this CEWP.
  8. Click the OK in the web part's Properties panel to save your changes.
  9. Test your survey.

Tip: When you create your survey checkmark "Allow multiple responses". If you forgot to do this then go to the Survey and click Settings, Survey Settings, Title Description and Navigation.

image

 

For more survey customization options see Chapter 12 of my book SharePoint Customization for the Site Owner. 
What's in this chapter?
  • A list of survey tips, including how to create custom views
  • A better Yes/No field for surveys and lists
  • Adding a Welcome or Instructions message to the Overview page
  • Adding a Welcome, Instructions or Thank You message to the survey
  • Adding Color, Fonts and HTML to Surveys

.

3 comments:

Paul Jones said...

I wondered why this was proving difficult to modify, so simple, it just looks like it was left out!

Great tip, to be able to add comments into the top of the survey makes it that much more professional.

Jerry said...

Dear Mike, your blog is so great. Here is a question hope you can help. I am using SharePoint 2007. I have created some pages (rich text with picture and list), and I am wondering how to allow people to add comments to web pages (showed at bottom of the page), just like we can add comments to blog page? Thanks in advance.

Mike Smith said...

Jerry,

The only thing that comes to mind it adding an Announcements list to the site and adding the web part to the bottom of the page. Customize the view to show items in order by date, descending.

To add a little more control to the process:
Add a Content Editor Web part to the bottom of the page that contains a button or hyperlink to the New form of the list and add a web part that only displays the newest items just below this. This way the user is not really aware of which list is being used. They click the button, fill in the fields and then when they click Save they are redirected back to your page.

<a href="http://www.yourserver.com/sites/yoursite/Lists/Tasks/Announcements.aspx?RootFolder=%2FLists%2FAnnouncements&Source=path back to your home page">Add a comment</a>

I have an article based on SP 2007, but it still applies to the newer versions:
http://techtrainingnotes.blogspot.com/2009/06/sharepoint-redirecting-to-page-after.html


Mike

Note to spammers!

Spammers, don't waste your time... all posts are moderated. If your comment includes unrelated links, is advertising, or just pure spam, it will never be seen.