CONFIGURATION TIPS
==================

Q: But I only want content type X or Y (i.e. Event objects) to be configured as RSVP-aware...
  A: To limit which content types the user can easily configure as RSVP-aware, the 
  condition_expr for the "allowRSVPs" and "disableRSVPs" actions, could be changed to something 
  like (replace 'Event' with the name(s) of your preferred content type below)::

    condition_expr="python:not object.restrictedTraverse('@@rsvp-configuration').isRSVPEnabled() and object.portal_type in ('Event',) "


Q: How can I customize the registration form and messages?
  A: You can configure a PloneFormGen form as a custom registration form.  In this case RSVP for
  Salesforce displays the form and checks for whether capacity has been reached, but does not
  actually handle the management of records in Salesforce.com.  To achieve that with a custom
  registration form, use the Salesforce PFG Adapter (Products.salesforcepfgadapter).  In a typical
  use case, you might use two PFG adapters to create a Contact and a CampaignMember object linking
  that contact to a particular campaign.
  
  Note: This requires PloneFormGen >= 1.5b2.

  RSVP for Salesforce will pass the configured Salesforce object (typically a Campaign) to the form
  in the 'signup-object-id' variable of the request, so that it is possible to optionally use the
  same registration form to register people for multiple campaigns.  For instance, you might create
  a 'CampaignID' string field in the PloneFormGen form with the server-side only flag set (so that
  the field doesn't render) and with a default value override like
  python:request.get('signup-object-id', ''), and map this field to the Salesforce CampaignID field
  via the salesforcepfgadapter edit screen.

  If you need to modify the messages regarding waitlist status and successful registration,
  the best approach is to override the rsvp.register viewlet on a theme-specific browser layer.
  The ZMCL to do so might look something like this::

    <browser:viewlet
        name="rsvp.register"
        for="collective.salesforce.rsvp.interfaces.ISalesforceRSVPable"
        manager="plone.app.layout.viewlets.interfaces.IBelowContentBody"
        class="collective.salesforce.rsvp.registration.RegistrationViewlet"
        template="path/to/my_custom_template.pt"
        allowed_interface="collective.salesforce.rsvp.interfaces.IRegistrationViewlet"
        permission="zope2.View"
        layer="myproduct.interfaces.IThemeSpecific"
        />

  where my_custom_template.pt would be a modified copy of browser/templates/registration-viewlet.pt
  from this package.
