Best Practice: Do not add too many occurrences to a single Volunteer Opportunity
If you have a long-running volunteer opportunity, that will have a LOT of occurrences over the course of multiple years, it's best to NOT create too many occurrences for a single volunteer opportunity.
What's 'too many occurrences"
We recommend that the maximum number of volunteers for a single volunteer opportunity never exceed 10,000.
So you can calculate what constitutes 'too many occurrences' like this:
Maximum Number of Volunteers X Number of Occurrences < 10,000
If you get over 10,000 connections (or anything approaching that), you'll eventually run into a Salesforce limit error, and be unable to edit the connections, report attendance, etc. See this technical note on why this occurs.
Create a new Volunteer Opportunity each year for long-running opportunities
If you have a long-running volunteer opportunity with a lot of occurrences which will then result in a lot of connections, you'll eventually hit the Salesforce limit and run into this error. Any volunteer opportunity that starts to approach about 10,000 connections is soon going to hit the Salesforce limit.
SO, instead of continuing to add occurrences to a long-running volunteer opportunity - we recommend that you create a NEW opportunity record, with the same name each year (or more frequently if necessary) - to avoid having more than 10,000 connections for any single volunteer opportunity.
Example: Let's say you've got an opportunity called "New Volunteer Orientation" - and you've been adding occurrences to it for several years now -- you're eventually going to hit the limit.
So -- instead of adding additional occurrences, create a NEW volunteer opportunity called "New Volunteer Orientation" or, better yet "New Volunteer Orientation 2015" (so you can search and find the current version of the opportunity easily) and make this year's occurrences associated with it (rather than the old opportunity). That way you'll not run into the limit. Your old version of the opportunity will cease to show up on the website after its last scheduled occurrence has passed.