Setting limits on OCS registration options

I have several Registration Options (workshops and banquet tickets) and need to set a maximum limit of registrations allowed on each one. How can this be done?

Thanks!

Hi @engdoc,

Unfortunately OCS doesn’t currently support registration option (or type) limits; I’d suggest adding a note to the registration option stating that registration is limited, and when the registration fills, you can either set the close date to a past date, or use the “not public” flag to disable further registrations.

Regards,
Alec Smecher
Public Knowledge Project Team

Thanks for your response, Alex. So is my solution to keep downloading the registrant report and checking the numbers, and hope that we do not exceed our limit between downloads? I’m not sure how to manage this process - hopefully you can suggest an easier way.

Thanks

  • j

Hi @engdoc,

The best solution would be to properly add support for registration limits; we’re currently focusing on our next releases of OMP and OJS, unfortunately, so it’s not something we’re likely to get to in the near future. If you’ve got some PHP/MySQL expertise on hand I’d be happy to suggest where to start. Otherwise I’m afraid the best work-around is as you describe.

Regards,
Alec Smecher
Public Knowledge Project Team

Yes, we have PHP/MySQL expertise on hand. Please suggest where to start.
Thanks!

Hi @engdoc,

Here’s where I’d start:

  • Add a registration limit field to the database and edit form for registration options.
  • DB descriptor: dbscripts/xml/ocs_schema.xml; table name: registration_options
  • DAO and data object: classes/registration/RegistrationOptionDAO.inc.php and classes/registration/RegistrationOption.inc.php
  • Edit form: classes/registration/form/RegistrationOptionForm.inc.php and templates/registration/registrationOptionForm.tpl

These should permit you to enter registration limits along with the rest of the registration option details, save a number there, and get it back again when you re-edit the same option.

  • Edit the user self-registration form to present and enforce limits.
  • Template: templates/registration/userRegistrationForm.tpl
  • PHP code: classes/registration/form/UserRegistrationForm.inc.php

This last change will probably also require you to introduce a new function into e.g. classes/registration/RegistrationOptionDAO.inc.php to tally up all the registrations for a given option, so that the limit can be checked.

Regards,
Alec Smecher
Public Knowledge Project Team

Thanks! I’ll pass that on and cross my fingers :slight_smile:

Thank you very much Alec - this worked!!! I’m not sure if the developer did anything in addition to this, but I am very happy.

Hi @engdoc,

Excellent, that sounds like very quick work! Please consider submitting the changes back to us if you think they’d be useful to others.

Regards,
Alec Smecher
Public Knowledge Project Team

We are interested in the solution to the above, is @engdoc willing to contribute?

Regards