Posted by Senpai on May 7, 2011 at 7:18pm
8 followers
| Project: | Conference Organizing Distribution Support Modules |
| Version: | 7.x-1.x-dev |
| Component: | cod_events |
| Category: | task |
| Priority: | major |
| Assigned: | Unassigned |
| Status: | needs work |
Issue Summary
Upgrade the cod_events Feature to D7.
Comments
#1
#2
#3
Didn't wind up getting started! Unassigning.
#4
This is the first go at it. It's basically a straight port from 6.
#5
Thanks for this patch.
Since we're switching to Drupal Commerce, we should remove all the Ubercart components here, including the old drupal_execute code that was in place before Ubercart product classes had exportables.
One limitation of Ubercart that affects the Drupal 6 version of COD is that the uc_product module must be the owner for product content types, which makes it difficult to separate the functionality for paid and free events sharing a single product/content type between 2 feature modules, such as a cod_events_paid and cod_events_free.
My understanding of Drupal Commerce is that it removes this limitation, and that we can now split out this functionality so that sites that don't need ecommerce functionality don't have to enable DrupalCommerce.
Since the major work involved in adding support for paid events is writing a Commerce-oriented equivalent for UC_Signup , it probably makes sense for us to start with a cod_events_free feature for COD.
Luckily, this is relatively easy to do - thanks for starting that work :).
#6
Related issue: #849066: Better support for free events.
#7
I want to help to migrate COD to D7 so, i already read the state until now and i think to i'm ready to help.
Then instead to just port this from D6 i should create a new feature with the same functionality just removing the ubercart integration right?
oks, I'm going to start on this at the weekend, in the meanwhile i will assign this issue to me
#8
Oks.
I found a few things to i think needs to be discuss:
And it's all, without these two things i can provide now the first version of events free feature.
I attached the patch
#9
I'm taking a look at this module now and here is a starting patch I have come up with. This patch basically:
Next I'm going to see how this would fit in with Registration and then Commerce. My open questions are:
#10
I suggest defaulting to free events and having the ability to use the same content type for paid events. That way, we can simplify configuration of content types by making it easier for paid and free events to share fields.
The most extensive work exploring this has happened at http://drupal.org/project/commerce_registration.
Thanks for taking a stab at this!
#11
Hey Matt, Atlanta DUG is doing some work here too. Let me know specifically if you need any testing done. We haven't started looking at commerce registration workflow yet but a Skype may be in order. There is no code and no recent discussion here: #1232900: Commerce Signup (D7) - Development approach. We are probably going to use D6 COD for this year's camp but KL is looking at this feature and a way to incorporate it into the ADUG site.
#12
@brent - Sure, I will email you my skype. I'm actually doing all of this to decide if I'm going to role cod7 for our camp two months before yours. Will shoot you an email now.
#13
We took a look at the feature and realized it still had the old D6 dependencies and stopped there to see if any progress was made on Commerce Signup first. There does seem to be some movement at http://drupal.org/project/commerce_registration but the architecture may require some tweaking.
#14
Here is an updated patch that includes free event registration support via the registration module. It is actually quite slick and I think the commerce part should come together fairly fast. So this patch will:
I really like the registration module. It lets you define registration types and in our case I assume we would have a "Free Event" and "Paid Event" types. When you create an event node, you then select which kind of registration this is.
I am now going to see the status of commerce_registration. I believe what is going to happen is I'm adding a product reference to my Event content type, and then the rest is magic. If I'm creating a paid event, I would select that as the registration type and select the event product. If I wanted a free, then I select free type and no product. I will test and add an updated patch if it all works.
#15
#16
Ok I think this is my last patch for the day. This is more of a proof of concept patch at this point. This patch will:
I am using the latest dev of registration and commerce_registration and had to apply the following patch:
http://drupal.org/files/1483136.20-commerce_registration-fix_validation....
from issue #1483136: Fatal error: Call to undefined function
This patch provides two workflows:
Free Events
Paid Events
Free registration is a snap, just register and poof its done. Paid registration was just as easy. After add to cart and I filled out my billing information, I then filled out the registration form and completed the payment and was registered. For the node creation, on my personal sites I would likely create a checkbox of some sort to pick if its a paid registration or not and then hide show the registration/product field accordingly with conditional fields. That is just eye candy. Proper descriptions and documentation and its fine as it is.
Again this is more of a proof of concept. In all likely hood, all the of the product types and fields would be in their own feature that depended on cod_events so a user wouldn't need commerce turned on even if they were not using it.
I think the next step is:
#17
+++ b/cod_events/cod_events.infoundefined@@ -1,44 +1,65 @@
+description = Provides base event managment
+core = 6.x
Not sure why my export is still showing 6.x here. obviously that needs to change in the info file.
#18
Hi mrconnerton - Thanks for rolling this patch! I agree with your list of next steps. I started with
;)
This patch is a great start.
Below are some issues I encountered testing the free and paid registration workflows. These likely would be addressed individually in Commerce_registration, Registration, COD_events and Commerce modules. They all come together to provide one workflow and UX so I'm listing them together here so that we can understand them as a whole and break them out into issues in their respective projects.
Free workflow:
The event node shows "This registration is for:" even after I've registered. I would expect it to show a confirmation that I've registered as the most important information, possibly with the ability to add other registrants if necessary as a secondary option.
Paid workflow:
- I am prompted for billing information before entering attendee information. It seems like #1500132: Allow reverse workflow of register to checkout instead of just checkout to register is the issue that's focused on reversing this order.
- After entering billing information, I'm automatically sent to the next step while still inputting my zipcode.
- The next screen has a fieldset inside of a fieldset and asks who registration is for, with choices of "myself" "Other user" and "Other account".

This strikes me as putting too much burden on the user who is checking out to know which users already have accounts and which ones do not, or having to search for account objects to figure that out.
I suggest we borrow from the UC_Signup checkout workflow which first prompts the user who is checking out for a list of email addresses for each event, and then detects who already has an account. This workflow was validated with usability testing as well as orders on sites with up to ~30ish attendees registered in a single order.
- For attendees that didn't already have an account where I entered an email address, I was not prompted to create an account. COD assumes that everyone who is registered will have a user account on the site.
- Clicking the "Add to cart" button didn't give me any visual confirmation that the event product was added to the cart, nor did it redirect me to the cart.
- I was never shown a registration #/confirmation. In D6 COD, UC_Signup adds a signup ID number to the order.
This is a great start and the result of contributions by the ThinkShout folks, jpontani, mrconnerton and others.
Thanks, everyone!
#19
I'll be updating Commerce Registration to accomodate some new things in the near future. Going to change a lot of workflow, so I'm sure there will be plenty of issues that arise in order to accomodate a large variety of use-cases.