We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Forums

Best Practice: Add-on or Channels

How Do I?

szgalbraith's avatar
szgalbraith
3 posts
9 years ago
szgalbraith's avatar szgalbraith

Hey everyone,

I currently use EE to manage a non-profit organization that holds annual seminars for students. Part of this is an online registration system.

In essence, students are nominated by their schools (therefore, need information on schools and their contact person), email sent to student saying they’re nominated and to complete registration (multi-part, contact information, medical history/dietary needs) and then an electronic package is prepared for their review and signature.

Right now, I put together an add-on that does all of the above fairly well, but I am wondering if this is something that could also be done natively with EE through Channels (relationships between schools and students).

However, the kicker is we need to be able to export certain types of information at any moment.

Or, I guess another alternative would be is a hybrid model of using both channels and a custom add-on module.

I am being fairly vague so if anyone needed more info I could provide more.

Thanks!

       
Rob Allen's avatar
Rob Allen
2,950 posts
9 years ago
Rob Allen's avatar Rob Allen

It really depends on the workflow, and how you add and updated information.

If you can provide more info on the workflow and data you need to store that would help!

       
szgalbraith's avatar
szgalbraith
3 posts
9 years ago
szgalbraith's avatar szgalbraith

In essence, there are a few steps forms wise:

  1. School nominates student (front-end website)
  • School information and contact
  • Student name and email
  • Once submitted, email goes to student to complete registration
  1. Student completes registration (front-end website)
  • Contact information and emergency contact
  • Medical history / dietary needs
  • Registration forms generated for their signatures
  • Ability to upload signed forms and/or email to us
  1. Back-end details
  • ability to mark student registrations complete with confirmation email being sent to student
  • automated method to create and randomize the students into groups
  • export data sheets (such as group lists, master list of all schools, etc.)

There is really a mixture of adding and updating information.

       
Rob Allen's avatar
Rob Allen
2,950 posts
9 years ago
Rob Allen's avatar Rob Allen

Seems doable, here’s how I might approach it:

  1. School nominates student (front-end website)

- collect information using Channel Form

  • on save creates an entry with the nomination info, and redirects to a confirm page where the user can review before sending (and optionally let them edit the saved entry

On the save page:

  • add an email form prepopulated with key info, with the recipient as the students email address, you could keep these values as hidden fields, or add the recipient email as a parameter

  • you’d need to add in a URL for the student to click to add their info, again via another Channel Form

  • if the nominee is happy with the info then all they need to do is submit the form

  1. Student completes registration (front-end website)
  • the student form use the same channel entry to edit but only display the fields you need, that keeps all the data (from nominee and student) in one channel entry

  • you could include some filed upload fields if required

  • on submit save the entry and you should have complete info ready

  1. Back-end details

Ability to mark student registrations complete with confirmation email being sent to student

  • I’d probably use a status or category so the site administrator can mark as complete etc

Automated method to create and randomize the students into groups

  • that might require something custom, I don’t know of a way to easily automatically do that. You could in theory set up some categories and use a random function to assign to a category when the student saves their form, you’d have to know the possible category ID numbers though, and random will never give you an even spread across groups so woth remembering that

Export data sheets (such as group lists, master list of all schools, etc.)

  • you could do this with a front end template (restricted access) to generate data and use a bit of PHP to force saving as whatever file format. Alternatively there are a few export addons around, or write a custom module
       

Reply

Sign In To Reply

ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.