Home » Volunteers for Salesforce » Volunteers for Salesforce FAQ

Volunteers for Salesforce FAQ

Do I have to use Volunteer Job Shifts?

No, Volunteers for Salesforce works with or without shifts.  It’s all up to you when you create your job.

How do I track Jobs that are not tied to a specific event or campaign?

Volunteers for Salesforce requires that all jobs are created as a child of a Volunteer Campaign.  This allows the application to provide nice rollup summary information about volunteers and their hours.  For jobs that aren’t about a specific event, just create a placeholder Volunteer Campaign that you can use to hold all of your non-event jobs.  For example, you might create a Volunteer Campaign called Office Volunteer Jobs and use it to hold all of the ongoing office jobs volunteers help with.

Why are all the Volunteer Wizard Fields (text boxes, check boxes, etc.) not appearing?

When installing Volunteers for Salesforce, make sure to choose the security setting to make it available for all users as well as make sure you perform the final step after the installation to deploy it.  Please review the Installation & Configuration Guide.  If you did all that and are still having problems, check the security settings for the Profile you are using, to make sure that the application and its pages and objects are enabled for your user profile.

What about Rollup Summary Fields?

Volunteers for Salesforce adds the following number of rollup summary fields: Campaign – 5, Contact – 3, Volunteer Jobs – 5.  Defaultly, Salesforce limits you to 10 rollup summary fields per object.  You can ask Salesforce support to increase your limit per object, by entering a Support Case to Salesforce Support.  If you have 6 or more rollup summary fields on the Campaign object, Volunteers for Salesforce will fail to install.You must have Salesforce increase your rollup summary field limit before installing.

How is it different from the Salesforce Labs Volunteer Management app?

In 2006 Salesforce.com Labs released an app called Volunteer Management. The app is a much more basic approach to volunteer management than Volunteers for Salesforce. It is not being supported or improved by the developers. We are confident Volunteers for Salesforce performs all the functions offered by the Volunteer Management app plus adds many additional useful capabilities like website signup, reports and rollups.

Why are all my new Leads being sent email?

In versions 1.11 and earlier, Volunteers for Salesforce accidentally had the default value for the Volunteer Status field on Leads set to “New Sign Up”.  This would incorrectly cause all new leads to appear as if they were new volunteers.  Please do the following to set the default value to null:

    1. Go to Setup, App Setup, Customize, Leads, Fields.
    2. Scroll down to the Lead Custom Fields section.
    3. Find the custom Lead field Volunteer Status, and click on its name
    4. Find the Picklist Values section, and click on the Edit link for the New Sign Up value.
    5. Uncheck the default checkbox and click Save.

This default value has been correctly set to null in later versions, but if you had previously installed an earlier version, you must still make this manual change.

Why don’t my Volunteer Sign Up and Job Listing web pages work?

Getting Salesforce Sites setup correctly, and adjusting all permissions correctly, can be tricky!  Please carefully review all of the documentation in our Installation & Configuration Guide to get these pages working on your website.  Here is a list of common problems we have found people running into.

1. Did you install the package with security set for all users?

During the install process, one of the installation screens allows you to specify whether the package is available to all users, just system administrators, or specific users you will set.  We recommend going with all users to make it easier to get the system running correctly.

2. Did you Enable your Site?

Go to Setup, App Setup, Develop Sites, and make sure you have clicked on the Activate link for your site.

3. Did you fill in the Default Web Address field?

This is an optional field you can fill in when editing the Site.  If you leave it blank, the url to the signup page will look like

http://mycompany.force.com/GW_Volunteers__VolunteersSignup.

If you had specified a label for the Default Web Address field on the Site, then include this label in the URL. So it might look like:

http://mycompany.force.com/yoursitelabel/GW_Volunteers__VolunteersSignup.

3b. Did you make sure to allow your site to be displayed in an IFrame?

On the Site’s detail page, make sure you set the Clickjack Protection Level field to Allow framing by an page (no protection).

4.  Did you correctly set appropriate permissions for the site’s Profile?

When a person views your pages from a  website, they are implicitly using the Site’s Guest User Profile for figuring out permissions.  Unfortunately, this profile does not show up in the normal Setup Administration page for profiles.  You must go to the Site’s detail page (Setup, App Setup, Develop, Sites), and click on its Public Access Settings button.  This will take you to the profile page for the site, where you can modify all the permissions as needed.  The Installation & Configuration Guide calls out the specific permissions you need to set.  But depending on how your Salesforce database’s permissions were previously set up, you may need to set additional permissions.  For example, if you don’t see specific Contact fields showing up on the signup form, you might need to go to that field’s detail page under setup, click on the “Set Field-Level Security” button, and enable the field for all profiles.  Note that the site profile won’t show up here!  After enabling it for all profiles, then go back to the site’s profile page, scroll down to the Field Level Security section, and click on the Contact view link, and make sure the fields you want to use are checked as visible and not read-only.

5.  Did you test direct page access vs. Sites access?

If you are still having problems, you should compare what happens when you view the page through Salesforce vs. when you view the page through Sites.  To view the page directly through Salesforce, take the first part of the URL from any Salesforce page, while you are logged in, and then append the path to the page.  So if your Salesforce database is on the na3 server, try this URL:  https://na3.salesforce.com/apex/GW_Volunteers__VolunteersSignup

Now try viewing the same page through the Site’s URL, which will look something like:http://mycompany.force.com/yoursitelabel/GW_Volunteers__VolunteersSignup

If the fields all appear fine directly through the Salesforce URL, but do not work through the Sites URL, then it has to be a permissions issue with the site’s Guest User Profile.

6.  Did you make sure that appropriate object’s Sharing Settings are not marked Private?

If your Sharing Settings are marked Private, a person can only see objects they created.  For the website user, this would be nothing!  The three Volunteer objects (Jobs, Shifts, Hours) default access is “controlled by parent”, which ultimately is the Volunteer Campaign.  Thus you need to make sure that Campaign’s Sharing Settings are set to Public Read/Write, as well as making Accounts Public Read Only and Contacts Public Read/Write.

7.  Are all of the Volunteer objects marked Deployed?

If you are upgrading Volunteers from a very old installation, and you forgot to Deploy the package after it was installed, several of the Volunteer Objects may still be marked as “In Development” rather than “Deployed”.  Salesforce has subsequently removed the Deploy step (and its button) from package installation, but upgrading an old package doesn’t force all its objects to be marked “Deployed”.

    1. Go to Setup > App Setup > Create > Objects
    2. Click on the label for Volunteer Jobs
    3. Make sure its Deployment Status field says Deployed.
    4. If not, Edit the object and change it to Deployed.
    5. Do these same steps on all Volunteer objects: Volunteer Hours, Volunteer Job, Volunteer Recurrence Schedule, Volunteer Shift, and Job Recurrence Schedule.

Why are my Sites Pages or Personal Sites Pages getting an “Authorization Required” Error?

If there is any Salesforce error that occurs when the page loads, Salesforce tries to display its standard error page with the error information.  But because the Sites pages are running without a logged in user, Salesforce won’t display the standard error page, and reports “Authorization Required” instead.  If you run into this, test out your Sites pages while you are logged into your Salesforce instance, so that you will see the underlying error.

Can I add new fields to the Volunteer Signup Form?

We have provided versions of our Sites pages that use Salesforce Field Sets, to allow you to customize which Contact fields appear on the forms.  Please review our Installation & Configuration Guide for full details on how to modify these pages.

Can I make fields I have added to the signup form through Field Sets required?

Salesforce only allows you to mark custom fields as required in Field Sets.  Standard fields, such as Primary Address, can’t be marked as required, nor can the custom fields from our package.

How come Job Shifts don’t appear as ‘Full’ on my web site?

All of the web pages that allow job shift sign up will display a Sign Up link as long as the Shift’s Volunteers Still Needed field is greater than zero.  The only volunteers that are counted against this field are those with an Hours Status of “Completed” or “Confirmed”.  By default, the web pages create new Volunteer Hours records with a Status of “Web Sign Up”.  Thus these sign ups will not change the number still needed and the job will continue to allow sign ups from the web page.

To cause the web page to display a shift as full, one must either change the Status on enough Volunteer Hours records from “Web Sign Up” to “Confirmed”, or one can reduce the Desired # of Volunteers field on the Shift.

If you want the web sign ups to automatically become Confirmed, so the shift will fill up with the first sign ups, you can create a workflow rule to update the Hours Status.  Please refer to the Installation & Configuration Guide for details on creating this workflow rule.

How should I manage Recurring Jobs and Shifts?

New in version 3.0, we now support Job Recurrence Schedules and Volunteer Recurrence Schedules.  These allow you to set up Job Shifts that repeat into the future at a schedule you specify, as well as specifying a schedule for a volunteer of a specific Shift they will repeatedly take.  Please see both the User’s Guide and the Installation & Configuration Guide for full details on this great new feature.

We still support using the Volunteers Wizard to also help support setting up the same Jobs and Shifts from one event to another.  This can be useful if you have an annual event with similar or the same jobs.  Please refer to the User’s Guide for more details on using the Volunteers Wizard.

Why is the App failing to Install?

Some people have reported getting an error message when installing Volunteers for Salesforce.  The following is an example of what is contained in the error message:

Problem:
1. Apex Classes(01pU0000000Ihw4) vol_ctrl_volunteersbulkenterhours.CodeCoverageTests()
System.AssertException: Assertion Failed
(GW_Volunteers)
External entry point

Our test code does the following:

    • creates an account
    • creates a contact
    • creates a campaign
    • adds the contact to the campaign
    • a bunch of testing on the specific volunteer objects (jobs, shifts, hours)

If you don’t have create and edit permissions on all of these objects, that would prevent it from installing. we recommend having someone who is a System Administrator (if you are not), try installing the package.

Also, if you have any required fields or validation rules on any of these objects, they would prevent the app from creating these objects for our tests to run successfully.

If Saleforce gives you the option to install the package and ignore errors, we suggest you check ignore errors.

Why does a new Contact get created when people sign up who are already in our database?

The most likely cause of duplicate contacts being created from the Volunteer Signup form when a contact exists with the same first, last and email address is your Sharing Settings. If sharing is set to a restrictive setting then even though a contact exists, the app is not allowed to see the existing contact so a new one is created. To resolve this issue follow these steps:

    1. Go to Setup -> Administration Setup -> Security Controls -> Sharing Settings
    2. Look at the Organization-Wide Defaults section and Make sure that:
    • Account is marked as Public Read/Write
    • Contact is marked as Controlled by Parent or Public Read/Write
    • Campaign is marked Public Read/Write or Public Full Access.

The changes above have implications for your organization.  It means that accounts and contacts can be seen by other Salesforce users.  For nonprofits, we typically always want it this way.  But for some organizations that might be more concerned about keeping donor information private to just the development team, they may have been relying on contacts and accounts being private.  So proceed with caution and make sure making these public read/write won’t interfere with your org’s intentions.  There are other ways to hide donor information, while still allowing accounts and contacts to be public.  Ie., you can hide individual fields by profile, rather than relying on contacts being private.

Why can’t some of my users create Volunteer objects?

If Volunteers was installed without specifying “Enable access for all users.“, then only the profile that installed Volunteers will have full access.  If you have not yet added any real data yet to Volunteers, the simplest solution is to uninstall the package, and then re-install it again, this time making sure to specify  “Enable access for all users.” during the installation steps.  If you have  Volunteers data that you need to preserve, however, then you must manually enable various permission settings for each custom Profile that your user accounts make use of.  Here are the high level steps.
Note that there are two different user interfaces Salesforce provides for managing user Profiles.  Under Setup, App Setup, Customize, User Interface, in the Setup section of the page, there is a checkbox titled “Enable Enhanced Profile User Interface”. This controls whether you get the new Profile user interface, or the old Profile user interface.  Below are directions for both.

Enhanced Profile User Interface

  • Go to Setup, Administration Setup, Manage Users, Profiles
  • Note that you can only edit all the required settings on custom Profiles, rather than the standard Salesforce profiles.  Thus we encourage you to always have your users assigned to custom profiles that you’ve cloned from the appropriate standard profile.
  • For each custom Profile that your organization uses, do the following steps.
  • Click on the Profile name to bring up its overview page.
  • In the Apps section, click on Assigned Apps, and make sure  Volunteers is checked as Visible.  Save any changes and go back to the Profile Overview page.
  • In the Apps section, click on Object Settings. For each object that the package uses, click on the object name.
    • From the object’s page, click on Edit.
    • Make sure appropriate Record Types are assigned, and Page Layouts are assigned.
    • Make sure appropriate Object Permissions are enabled.  Typically this would include Read, Create, Edit, and Delete.
    • Make sure appropriate Field Permissions are enabled (both Read and Edit).
    • Save any changes and go back to the Object Settings page, and repeat for all objects the pacakage uses.
    • For Volunteers, this would include the following objects: Volunteer Jobs, Volunteer Shifts, Volunteer Hours, Job Recurrence Schedules, Volunteer Recurrence Schedules, Contacts, Leads, and Campaigns.
    • For  Volunteers, this would include the following Tabs: Volunteers Help, Volunteers Wizard, Volunteer Jobs, Find Volunteers, and Shift Calendar.
  • Back on the Profile Overview page, in the Apps section, click on Apex Class Access.
  • Click on Edit, and make sure that all classes from the package are enabled.
    • For  Volunteers, these classes all start with the prefix GW_ Volunteers.
  • Click on Save and go back to the Profile Overview page.
  • In the Apps section, click on Visualforce Page Access
  • Click on Edit, and make sure that all Visualforce pages from the package are enabled.
    • For  Volunteers, these pages all start with the prefix GW_ Volunteers.
  • Click on Save and go back to the Profile Overview page.
  • You are done!

Standard Profile User Interface

  • Go to Setup, Administration Setup, Manage Users, Profiles
  • Note that you can only edit all the required settings on custom Profiles, rather than the standard Salesforce profiles.  Thus we encourage you to always have your users assigned to custom profiles that you’ve cloned from the appropriate standard profile.
  • For each custom Profile that your organization uses, do the following steps.
  • Click on the Profile name to bring up its overview page.  Do NOT click Edit at this time.
  • In the Page Layouts section, under Standard Object Layouts, click on the View Assignment link for each object that the package has provided a custom record type for; it will say “Varies by Record Type”.
    • For  Volunteers, this would be Campaign.
  • In the Page Layout Assignment page, make sure that for the package record types, the package’s page layout is specified.  Edit assignments as needed, and then go back to the Profile’s page.
  • In the Custom Object Layouts section, click on the View Assignment Link for each object that have “Varies by Record Type”, and assign layouts as appropriate.
    • For  Volunteers, there are no custom objects that have multiple record types, so there is nothing to do for this step.
  • Back on the Profile’s page, under the Field-Level Security section, click on the View link for each Standard and Custom object that the package adds fields to, to make sure they are marked Visible and not Read-Only.
    • For  Volunteers, this would include looking at fields for Contact, Lead, and Campaign.
    • For  Volunteers, this would also include looking at fields for Volunteer Jobs, Volunteer Shifts, Volunteer Hours, Volunteer Recurrence Schedules, and Job Recurrence Schedules.
  • Back on the Profile’s page, under the Record Type Settings section, click on the Edit link for any Standard objects and Custom objects that have multiple record types that the package uses.  Move any package Record Types from the Available list to the Selected list, and click Save.
    • For  Volunteers, this would be Campaigns.
  • Back on the Profile’s page, under the Enabled Apex Class Access section, Click on Edit, and make sure that all classes from the package are enabled.
    • For  Volunteers, these classes all start with the prefix GW_ Volunteers.
  • Back on the Profile’s page, under the Enabled Apex Visualforce Page Access section, Click on Edit, and make sure that all pages from the package are enabled.
    • For  Volunteers, these classes all start with the prefix GW_ Volunteers.
  • Back on the Profile’s page, click on the Edit button at the top of the page.
  • In the Custom App Settings section, make sure the package’s application is marked Visible.
  • In the Tab Settings section, make sure the package’s tabs are marked Default On.
  • In the Standard Object Permissions section, make sure any standard objects used by the package have Read, Create, Edit, and Delete checked.
    • For  Volunteers, this would include Accounts, Contacts, Campaigns, and Documents.
  • In the Custom Object Permissions section, make sure any custom objects from the package have Read, Create, Edit, and Delete checked.
    • For  Volunteers, this would include Volunteer Jobs, Volunteer Shifts, Volunteer Hours, Volunteer Recurrence Schedules, and Job Recurrence Schedules.
  • Click Save, and repeat for other Profiles your organization uses, and then you are done!

Why doesn’t Shift Information appear in my Email Template?

In version 3.0, there is a new workflow rule and email template that is associated with Volunteer Hours and allows one to include Job and Shift information in the email template.  Please see the Installation & Configuration Guide for details.

Time Zones Explained

There are multiple variables at play when it comes to the Time Zone that your Job Shifts are associated with, and how they are displayed to you in Salesforce, and to users on your public website.  Here are the facts:
  • When you save a Shift’s Start Date & Time in Salesforce, Salesforce assumes the Time Zone specified in your Salesforce user account, and saves the Date & Time internally in GMT (Greenwich Mean Time).
  • If a different Salesforce user looks at the Shift’s Start Date & Time in Salesforce, Salesforce will display it in the Time Zone specified in their user account.  So if you have user’s in different Time Zones, they will see different times.
  • When any of the Volunteers’ Sites pages (Job Calendar, Job Listing) display a Shift’s Start Date & Time on a public website, the GMT time is converted to the appropriate Time Zone based on this precedence order:
    1. The Job’s Volunteer Website Time Zone, if set.
    2. The Campaign’s Volunteer Website Time Zone, if set.
    3. The Site Guest User Profile’s Time Zone, if set.
    4. GMT
  • When any Salesforce Emails are sent, the Shift’s Start Date & Time is formatted to the Default Time Zone specified in the organization’s profile (Setup, Administer, Company Profile, Company Information).

In version 3.0, the date time formatting is done on the server, rather than with javascript in the client’s browser. This requires that the new System Note field on Volunteer Shifts is marked visible for the Volunteers Sites Guest User profile. You will get version 2.0 date time formatting (displaying the end user’s time zone) if the field is not marked visible.

Still need help?

Do you have a question not addressed here?  You can search the Volunteers for Salesforce group on the Salesforce Foundation’s Power of Us Hub for postings related to Volunteers, or post your question there.