Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

What is the best way to implement RSVP list for SharePoint? How would I limit the number of RSVP for an event? Do I still need to use InfoPath for UI and Logic?

Never implemented RSVP event list before and I would learn how you have it done or setup.

Thanks

share|improve this question

3 Answers 3

up vote 4 down vote accepted

You could still use a list, just use some other additional pieces. You could have a list that contains the event and the limit, a column for number registered, and a column for available spots (which is the limit less the number registered). Then you can simply go in and add a link to register (the registration is contained in another list) when you enter this information, you can have a workflow created that will add to the number registered for the event. You can set some conditional formatting by making the registration link not available when the number of available spots is equal to zero. Since the lists in 2010 are XSLT List Views, you can easily add this conditional formatting to the list view. You can also add a link that filters the registration lists to show only those who are registered by adding in a link to that which would include the filter query string in the url. The workflow could be a simple SharePoint Designer workflow. You could even get fancy and create a mashup, or use the preview pane to show the registered users below the event details by creating a custom display page.

share|improve this answer
    
+1 - I was wracking my brain for a no-code, SPD only solution and I completely forgot about Workflows xD –  James Love Oct 28 '11 at 16:59
    
@Lori: Thanks for the info. Your option sound the less sophisticated solution. so I will try yours first then see how it works out. Thanks Lori – –  Mike conway Oct 28 '11 at 17:38

You could use this golden oldie!

http://spforsquirrels.blogspot.com/2008/03/follow-up-training-classes-scheduling.html

share|improve this answer
    
Good link but I had horrible time with javascript in SP2010. They just dont want to kick in unless you go through a load of troubles. Thanks –  Mike conway Oct 28 '11 at 17:39
1  
JavaScript can be tricky. Ever use jQuery? It makes it much easier to do some difficult things. –  iOnline247 Oct 28 '11 at 21:33
    
jQuery and SharePoint rock! You can load jQuery using the examples here: msdn.microsoft.com/en-us/library/gg701783.aspx –  Alex C Oct 29 '11 at 19:23

Being a complete InfoPath-phobe, I'd opt for using just a standard list, with the columns you need, and the logic for checking the limit of RSVPs implemented inside an Item Event Receiver, which handles ItemUpdating.

You could put the configuration of what RSVP list has what limit into another list (columns for this config list could be, for example, URL to the list being configured, and a number for the maximum RSVPs).

Everyone invited to the list has an entry in the list, they go into the list (a view filtered by the 'to' address, maybe), edit their entry to set their RSVP status. The event receiver will check to see if they've set it to 'accept', then count how many 'accepts' have been made so far, and compare it against the value stored in the other list (the config list). If the number exceeds, they can be redirected to a helpful error page and the 'Update' event cancelled.

This might not be the best way to do it, but it will work in SharePoint Foundation/WSS, can be deployed to the Sandbox, and doesn't rely on any forms development. Just some C# code.

share|improve this answer
    
Thanks for your details run down on the implementation. All that sound good. I thought there could another quick and dirty way to implement this without imfopath or event handler... Thanks anyway... –  Mike conway Oct 28 '11 at 16:34

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.