Open Source Content Management System

net.nemein.registrations

  1. Basics
  2. Configuration of the Component
  3. Configuration of the Events
  4. Implementation Notes
  5. Short setup HowTO

net.nemein.registrations is a component geared to be integrated with nemein.net allowing users to register to events managed by OpenPSA. It allows you to edit and view registrations and registrars online and is geared for OpenPSA interoparability for further processing of the regisrations.

Basics

It cannot manage the events themselves, but only the registrations (represented as MidgardEventMembers) and the registrars (represented as MidgardPersons). The system allows you to freely configure the way, the Registrars and the Registrations look like:

  • Registrars have a schema assiociated with them which is used in conjunction with the datamanager to provide flexible Person editing
  • Registrations have a so-called additional questions schema assiociated with them to allow you to ask the registrar questions specialized to a given event
  • Registrars do have their own account, which is only used to verify him for n.n.r, it is no Midgard Account but a component specific authentication (for security purposes).

Configuration of the Component

A basic configuration file looks like this and is searched in the usual sitegroup-config/net.nemein.registrations tree with the name "config". The configuration parameters are documented in the snippet /net/nemein/registrations/_config/config and can be managed by the administrative interfaces mostly:

1: "schemadb" => "/net/nemein/registrations/_config/schemadb_default",
2: "registrar_schema" => "person",
3: "root_event_guid" => null,
4: "event_type" => null,
5: "admin_user" => null,
6: "admin_password" => null,
7: 
8: "pending_account_grp" => "",
9: "account_grp" => "",
10: 
11: "mail_account_created_subject" => "Your Account password for __REGISTRAR_name__",
12: "mail_account_created_sender" => "webmaster@{$_SERVER['SERVER_NAME']}",
13: "mail_account_created_body" => "/net/nemein/registrations/_config/account_created_mail",
14: "mail_account_created_ccs" => "webmaster@{$_SERVER['SERVER_NAME']}",
15: 
16: "mail_registration_subject" => "Event registration for __REGEVENT_title__",
17: "mail_registration_sender" => "webmaster@{$_SERVER['SERVER_NAME']}",
18: "mail_registration_body" => "/net/nemein/registrations/_config/registration_mail",
19: "mail_registration_ccs" => webmaster@{$_SERVER['SERVER_NAME']},

The null values in the config represent the must-have config parameters, which are to be setup during the component configuration using the main AIS screen of the component:

  • A schema database path, along with a schema to be used for the registrars, see the documentation of the example schema in /net/nemein/registrations/_config/schemadb here for some further notes
  • A type-filter for the events to be displayed (the OpenPSA __CAMPAIGNS event is used as root event here; it will be auto-created if it is missing)
  • Two Midgard Groups used for pending (not yet completed) user accounts and for active user accounts (these accounts do _not _have a Midgard Login!); they wil not get autocreated
  • A username and a password of an admin-level user which is used for all tasks around MidgardPersons requiring admin-level access

While you can configure this stuff using AIS on a topic-local basis, it is suggested creating a sitegroup-configuration with this information, as it will be usually shared with most installations (perhaps with the exception of the type filter)

If the configuration around the e-Mail templates are not clear, please contact me.

Configuration of the Events

For each event active you have some additional configuration possibilities:

  • You can manually open or close the event for registrations. All events are closed by default, so ensure that you activate at least one.
  • You should select the schema used for additional questions for that particular registration event.
  • You may override the E-Mail address to which registration emails get delivered.
  • You should add a short description of the Event, which is displayed in the various user-interfaces on the website.

Implementation Notes

Registration user accounts are independant of Midgard Accounts, they use their own login mechanism (based on cookies and form-based auth). This has been done to keep security tight by preventing the casual registration user access to the administrative interfaces (which he would get implicitly).

The credentials are stored in two parameters attached to the MidgardPerson (net.nemein.registration domain).

The email address of the user is automatically used as a login name, a password is autogenerated and mailed to the user for recurring access. It is not yet possible to edit accounts or to resend a password (this is a 2BD currently).

Short setup HowTO

  1. Create a n.n.r topic
  2. If you have not yet created a sitegroup-configuration do it now and add at least the admin account (admin_user, admin_password) and the two required user group GUIDs (pending_account_group, account_grp). If you plan to create only one registration per site, you can even leave this open and use AIS to set it, it will be stored at the topic then, of course.
  3. If you work with OpenPSA, ensure that the component detected the Events Tree you need correctly (its events should be shown as navigation leaves already); you can do this by checking the guid that has been written to the topic's configuration. You can explicitly set the root event using the sitegroup-config before creating a topic (if you do this afterwards, just delete the parameter net.nemein.registrations/root_event_guid). If you do not use OpenPSA, an appropriate root-event will be created automatically. (Note, that you cannot switch to OpenPSA automatically, once this root event has been created, as the OpenPSA root event will have another Guid.)
  4. You most probably want to create your own schema for Registrars and for the additional questions. Do this now and set the schemadb-config option accordingly (either at the topic or globally in sitegroup-config)
  5. Select the schemas for Registrars at the main config screen
  6. Check the email configuration at the main screen (addresses, subjects, etc.) The templating mechanism is documented in the template configuration snippet; note that the email body templates are located in snippets.
  7. Open an event for registration using the event configuration screen.
  8. Now everything should work, go to the website, select the event and try to create a new account and regsiter for the event.

The web-based configuration screens will always attach their data to the current topic; which will work fine of course, as long as you set everything correctly. The drawback here is, that you have to set systemwide parameters again and again if you have more then one n.n.r topic in place, which is where the sitegroup-config stuff comes in. As usual, the configuration in /sitegroup-config/net.nemein.registrations/config will be merged with the defaults from /net/nemein/registrations/_config/config_default at component invocation startup.

Designed by Nemein, hosted by Anykey