Customize Your SharePoint 2010 Poll: Templates and TipsSharePoint 2010 includes a built-in Polls list template that makes it easy to collect quick feedback from a site audience. Out of the box it’s simple — create a Poll, add questions, and users vote. But with customization you can make polls match your branding, collect richer data, enforce business rules, and integrate results into dashboards and workflows. This article walks through practical templates, visual and functional customization techniques, and tips to get reliable, actionable results from SharePoint 2010 polls.
Why customize a SharePoint 2010 poll?
The default Polls list is lightweight and easy to use, but it has limitations:
- Basic question types (single-choice) only.
- Minimal styling and layout options.
- Limited reporting and export capabilities.
- No built-in conditional logic or multi-question flows.
Customizing polls addresses these limits so you can:
- Align the poll’s look-and-feel with your site branding.
- Collect more complex responses (multi-choice, text comments, ratings).
- Control who can vote, how often, and enforce data validation.
- Aggregate and display results in more meaningful ways (charts, dashboards).
- Integrate poll responses with workflows and notifications.
Planning your poll customization
Before making changes, define goals and constraints:
- Purpose: quick sentiment check, event RSVP, employee feedback, decision making?
- Audience size and permission model: anonymous public votes vs. authenticated user responses.
- Data requirements: do you need contact info, department, free-text comments, attachments?
- Reporting needs: export to Excel, show charts on a dashboard, feed to PerformancePoint or SSRS?
- Frequency and lifecycle: one-off campaign, recurring survey, or ongoing feedback mechanism?
- Maintenance and governance: who will manage templates, approve changes, or archive old polls?
Having clear answers reduces rework and helps choose the right customization approach (client-side vs. server-side, list customization vs. InfoPath/Survey/third-party).
Customization approaches
1) Use the built-in Polls list with view and column tweaks
For most small changes, you can keep the native Polls list and:
- Add extra columns (Single line of text, Choice, Lookup, Person) to capture metadata (department, region, priority).
- Create custom views (grouping by department, filtering by active polls).
- Use column formatting (via XSL on Data View Web Part or CSS) to change how results display.
- Adjust list settings for versioning, content approval, or item-level permissions.
Best when you need minimal enhancements without deploying custom code.
2) Survey list or InfoPath for multi-question polls
SharePoint’s Survey list supports multi-question polls and branching (though limited). For richer question types and validation:
- Use the Survey list for structured multi-question flows.
- Use InfoPath 2010 to customize the survey form: add conditional sections, data validation, repeating tables, and formatted layout.
- Publish InfoPath forms to the form library, or customize New/Edit forms for the Polls list to provide a better voting experience.
InfoPath is suitable when you need complex forms without full custom development. Note: InfoPath forms require client support and may complicate mobile access.
3) Client-side enhancements (JavaScript, jQuery, SPServices)
Client-side scripting is lightweight and deployable to pages or Web Part pages:
- Use jQuery and SPServices to read/write list items, present custom voting UIs, or perform live updates without page reloads.
- Create a custom voting Web Part using a Content Editor Web Part (CEWP) or Script Editor with JavaScript that posts votes to the list via the Lists.asmx web service or REST (limited in SP2010).
- Use client-side rendering to show charts (Google Charts, Highcharts) or build interactive widgets that overlay the default poll.
Pros: no server deployment, fast iteration. Cons: exposed code to browser, careful about permissions and security.
4) Server-side solutions (custom Web Parts, Event Receivers, Timer Jobs)
For enterprise-grade capabilities:
- Build a custom Visual Web Part in Visual Studio to host a fully customized poll UI, more question types, and integrated reporting.
- Use Event Receivers to trigger actions when a vote is submitted (e.g., send notifications, update aggregate results).
- Implement Timer Jobs or scheduled processes to compute complex metrics, archive old polls, or aggregate results across site collections.
Server-side code requires farm deployment and full-trust execution — appropriate for intranet environments with governance processes.
5) Third-party/add-on products
If you need advanced survey features quickly, consider third-party survey/poll solutions for SharePoint 2010, many of which provide:
- Drag-and-drop form designers.
- Advanced question types (matrix, rank order, sliders).
- Built-in branching, quotas, and respondent tracking.
- Export and analytics tools.
Evaluate licensing, support, and compatibility before adopting.
Design templates and examples
Below are practical templates and UI patterns you can use as starting points. Each template lists recommended SharePoint components and optional enhancements.
Template A — Quick Vote (Banner poll)
Purpose: One-question, site-wide quick polls (e.g., “Which logo do you prefer?”) Components:
- Use the native Polls list.
- Display on the home page via List View Web Part or Data View Web Part.
- Add a CEWP with JavaScript to prevent multiple votes by hiding the vote form after submission. Enhancements:
- Add a small results chart using Google Charts API.
- Style via CSS to match site header/banner.
Template B — Multi-question Survey
Purpose: Feedback forms, event feedback, or HR surveys. Components:
- Use SharePoint Survey list or InfoPath form library.
- Add required fields, sections, and conditional branching via InfoPath. Enhancements:
- Email confirmation via workflow (SharePoint Designer).
- Aggregate results in Excel Services or SSRS.
Template C — Departmental Poll with Approval
Purpose: Department heads collect input and approve results before publishing. Components:
- Custom Polls list with columns: Department (Choice), Status (Choice), SubmittedBy (Person).
- Enable content approval; use item-level permissions so only department members can vote. Enhancements:
- Event Receiver to set Status to “Pending” for admin approval.
- Workflow to notify approver and publish results.
Template D — Anonymous Public Poll with Anti-Fraud Checks
Purpose: External or intranet anonymous polls where you still want to reduce duplicate votes. Components:
- Use Polls list with anonymous access enabled on the page (careful with security).
- Implement client-side rate-limiting (cookies/localStorage) and server-side IP throttling (custom code). Enhancements:
- CAPTCHA on submission (custom Web Part) and server-side validation to reduce bots.
Template E — Dashboarded Polls for Leadership
Purpose: Collect KPIs and display aggregated results to executives. Components:
- Polls or Survey lists feeding a results list via workflow or Event Receiver.
- Excel Services, SSRS, or PerformancePoint dashboards to visualize trends and comparisons. Enhancements:
- Scheduled aggregation jobs to compute rolling averages, trends, and cross-site metrics.
Styling and branding tips
- Use a master page or alternate CSS file to align poll pages with site branding.
- Customize List View XSLT (XSLT List View Web Part) to control markup output and insert icons or custom classes.
- For small style changes, use a CEWP with CSS scoped to the poll Web Part’s container.
- Keep responsive design in mind: use percentage widths and flexible chart containers so polls display on different screen sizes.
Improving question design and response quality
- Keep questions short and singular (avoid double-barreled questions).
- Prefer closed questions for easy aggregation; use open-text sparingly for qualitative insights.
- Use balanced answer choices and include a neutral option if appropriate.
- Avoid leading language; test questions with a pilot group.
- For internal polls, require user identity (Person column) if you need to prevent duplicates or follow up.
- Communicate purpose, timeframe, and how results will be used — this increases participation and trust.
Preventing duplicate or fraudulent votes
- Use authenticated access where possible; record the Author field to identify voters.
- Enforce item-level permissions or unique-index columns to prevent duplicate submissions per user (e.g., create a composite key: PollID + Voter).
- For anonymous polls:
- Limit via client-side cookies/localStorage (easy to circumvent).
- Implement server-side checks by IP or behavioral signals (requires custom code).
- Add CAPTCHA or rate-limiting on submissions.
Reporting and visualization
- Export list data to Excel for ad-hoc analysis.
- Use Excel Services or PerformancePoint for interactive dashboards inside SharePoint.
- Create SSRS reports (via Report Builder) for scheduled, formatted outputs.
- For lightweight in-page visuals, use JavaScript charting libraries (Highcharts, Google Charts) to fetch list data via web services and render charts.
- Consider storing aggregated results in a separate list updated by Event Receivers or Timer Jobs to speed up dashboard queries.
Workflows, notifications, and integrations
- Use SharePoint Designer workflows to:
- Send confirmation emails when someone votes.
- Notify poll owners when response thresholds are reached.
- Move poll items through approval states.
- Event Receivers provide real-time server-side actions (better for complex logic).
- Integrate with Exchange calendars for poll-related events (e.g., preferred meeting date).
- Push results to BI tools, SQL Server, or external systems via Business Connectivity Services (BCS) or custom connectors.
Accessibility and compliance
- Ensure poll forms and pages follow accessibility best practices: proper labels, keyboard navigation, and ARIA roles when needed.
- Maintain privacy by limiting personally identifiable information collection to what’s necessary.
- If storing sensitive data, ensure lists inherit appropriate permissions and that backups and retention policies comply with organizational rules.
Deployment and maintenance
- Store reusable poll templates as list templates (.stp) so new polls can be created quickly with preconfigured fields and views.
- Package custom solutions (Visual Web Parts, Event Receivers) as WSPs for consistent deployment across farms.
- Document usage and ownership: who can create polls, who approves them, and retention schedules for results.
- Monitor list growth; archive old poll data to maintain performance.
Troubleshooting common issues
- Slow queries: create indexed columns and limit list view item counts; use aggregated results lists for dashboards.
- Permission issues: check broken inheritance and ensure anonymous access isn’t unintentionally enabled on sensitive lists.
- Charting failures: ensure the page can load external JS resources, or host charting libraries locally if external access is blocked.
- InfoPath form errors: verify data connections and published form templates; test on user machines for compatibility.
Example: Quick implementation checklist
- Define poll objective and audience.
- Choose template: Polls list, Survey, InfoPath, or custom Web Part.
- Create list with necessary columns and views.
- Add validation, required fields, and permissions.
- Build UI enhancements (CEWP/JS, custom form, or InfoPath).
- Add workflows or Event Receivers if needed.
- Create reporting Web Parts or dashboards.
- Test with pilot users and fix UX issues.
- Deploy template and document usage.
- Monitor participation and archive old polls.
Final recommendations
- Start simple: use the native Polls list for quick needs, then add enhancements iteratively.
- Use InfoPath or client-side scripting for richer forms without full server deployments.
- Reserve server-side custom code for scenarios that require secure, robust logic or heavy aggregation.
- Focus on question design and clarity — the best technology won’t fix poor questions.
- Reuse templates and automate reporting to save time for recurrent polls.
Customize SharePoint 2010 polls to match the scale and governance of your organization: quick, client-side tweaks for small teams; InfoPath or Survey lists for structured multi-question forms; and server-side or third-party tools for enterprise requirements.
Leave a Reply