What is involved in upgrading this module to work with a 6.x site? Thanks, -Bill Franklin (bill@v2egroup.com)
| Comment | File | Size | Author |
|---|---|---|---|
| #38 | signup_pay-5.dev-6.dev_.patch | 79.42 KB | maddentim |
| #38 | signup_pay-6.x-1.x-dev.tar_.gz | 18.33 KB | maddentim |
| #35 | signup_pay.module.20100623.diff | 1.16 KB | maddentim |
| #34 | signup_pay.paypal.inc_.patch | 1.15 KB | maddentim |
| #31 | signup_pay-286038-fax8_1.tar_.gz | 19.29 KB | fax8 |
Comments
Comment #1
kbahey commentedThis is a frequently asked question.
Also, remember that the module does not have a stable version for Drupal 5.x yet. This will happen when enough people test the existing code for features and bugs and declare it as stable-worthy. After that, a D6 version can proceed, via one of the avenues outlined in the link above.
Comment #2
v2egroup commentedSo, whats involved in upgrading it myself or having you upgrade it? I'm perfectly familiar with coding in PHP, but to "scratch my own itch," it would be helpful to have some hint of how big a job that is, or if you want to upgrade it/what you want in return. Feel free to email me directly, since I don't really have any other reason to check the drupal issues queue. Bill Franklin bill@v2egroup.com
Comment #3
kbahey commentedHere is all the info you need for the conversion http://drupal.org/node/114774
Comment #4
v2egroup commentedI had already found the coder module and started on my own. Converting signup, signup_paypal and simple_paypal. Done with simple_paypal. Should finish other two sometime today and then start testing. Any further advice? Thanks, -Bill
Comment #5
kbahey commentedBefore you start on other modules, check that you are not duplicating effort.
For example, simple_paypal is here http://drupal.org/node/280101
Comment #6
v2egroup commentedGot it. That one still had errors from coder. Passed those on.
Comment #7
kbahey commentedDo not rely solely on coder. Use it only as a starting point. There are many other things you have to do manually, like hook_menu() and all the theme stuff.
Comment #8
v2egroup commentedQuestions: What is the mechanism "connecting" signup and signup_pay? IE, what is supposed to cause signup_pay_do_payment to be called?
The relevant modules are: event, signup, signup_pay, simple_paypal.
I've got functioning ports of the modules merged from other sources (lots of testing and debugging there) and everything works fine when signup_pay is deactivated. Data in the tables for all the modules looks ok. All the right notices get sent.
When I activate singup_pay and try to signup for a test event, I get "You have registered but not yet paid for this event." I'm just not getting redirected from the signup form post to paypal and back.
Any hints would be greatly appreciated. Thanks.
Comment #9
v2egroup commentednode->signup_pay_enabled is not set when entering signup_pay_form_alter even though it gets set correctly first in signup_pay_nodeapi. The value is not in the form parameters (I've printed them out), so there's no value to check when you get there. Basically, even though nodeapi sets signup_pay_enabled, it is not getting on the form to then be available when $node = $form['#parameters'][1];
Comment #10
kbahey commentedIs this $node stuff related to upgrading to D6, or a separate issue? Please do not mix issues by going off topic. Open a new issue if need be.
Comment #11
v2egroup commentedThis looks like a separate issue.
Comment #12
gregglesMarked #280346: D6 update? as a duplicate. Also, signup is now in RC status of being ported to 6.x so this should be easier.
Comment #13
greenbeans commentedI could really use this right about now, too. I'd be very glad to contribute to the effort, but the module is too unfamiliar for me to tackle the whole thing myself. Anyone interested in teaming up?
Comment #14
mdowsett commentedI'd love to help as I really need this as well. All I can do is help with testing tho (and maybe minor coding)
Comment #15
Patrick Nelson commentedJust flagging this to subscribe as also need this quite quickly
Comment #16
capellic@v2egroup - Any luck getting this to work? There doesn't seem to be another option out there for Drupal 6.
Comment #17
gregglesWell, it's brand new and may not be perfect, but for those willing to use Ubercart there is now http://drupal.org/project/uc_signup
Comment #18
turadg commented+1 subscribe
Comment #19
capellicI tried to contact v2egroup to see if he made any progress he could share, but I haven't heard back. I have started to convert the module, but it's slow going because I've never done this before. I will post my results here.
Comment #20
capellicI rolled up my sleeves and ported signup_pay to Drupal 6! It by no means is rigorously tested, but I thought I would post it in case someone really needs it. I was on a b-line to get it to work with signup_status and simple_paypal. The code is still full of Deadwood comments and areas where I still have questions. Here are the enhancements:
My decisions have been biased towards the anonymous user
Added email address to the User column for Anonymous users.
Added text at the top of the Signup pay list page /admin/content/signup_pay to indicate that the Name column was the name on the PayPal account.
Updated the node title in the Event column to link to the signups/admin page for the node.
I wanted an admin to have the option of getting an email notification every time somebody paid. I added a field to the signup_pay configuration screen, "Notification Email Address". The default is the variable.site_mail field.
Problem with IPN hitting the IPN URL more than once and logging multiple payments. Apparently something is being returned to PayPal to make it think that there was a 500 Error. You can see this if you test the IPN handshake from PayPal's sandbox. While best to figure out why this is happening, it was also important to be sure that multiple payments were not logged for the same transaction. To solve this:
1. Add a field to the database "transaction_id"
2. Write the transaction id to signup_pay
3. Add check for transaction ID and then don't write the transaction if it exists.
I am using the signup_status module in conjunction with signup_pay. Signup Pay has functionality to update the status of the signup once PayPal's IPN gives us the go ahead. But, the 6.x version of signup_status doesn't have have the API function that signup_pay 5.x was relying on. For the meantime, signup_pay is running the query directly against the signup_log table. I have logged an issue with Signup Status to ask for an API: http://drupal.org/node/508294
Comment #21
capellicBrilliant, so I uploaded the WRONG zip file in #20 and I can't delete it. The correct one is below.
Comment #22
remotenemesis commentedcapellic, thanks for your work on this.
I think I have everything setup correctly, however, none of the changes I make in the "Signup Payment" sub-form of my content appear to be saved anytime I make changes. When I sign up for an event, I am not presented with an option to pay and I am told that I have registered but not paid for this event.
Any ideas what I should check?
Thanks again!
Comment #23
espirates commentedSame here, the form on the node is not saving anything, inparticular Enable signup payment options for this node? is not sticking.
Comment #24
hugafish commentedsubscribing
Comment #25
grguth commentedsubscribing - may be able to help after the 1st of 2010
Comment #26
Testeree commentedsubscribing
Comment #27
eeyorrI'm also curious about this.
Comment #28
summit commentedSubscribing, greetings, Martijn
Comment #29
awasson commentedsubscribing
Comment #30
fax8 commentedHi guys, I'm working on porting signup_pay to 6.x.
I started from capellic code at #21 then adding, fixing and improving the module in general.
Attached you find iteration 1 of my development for this module.
It's currently work but it still needs love. There are certainly bugs, UI and UX is definitely improvable and the code still has to be carefully security audited.
So, you are invited to:
I'm going holidays in 2 days so I won't work on this for a couple of weeks but then I will start again working.
Hope to see your feedback here when I'll be back.
Keep rocking,
Fabio Varesano
Comment #31
fax8 commentedSomehow the files above don't work.. reattaching them below.
Comment #32
maddentim commentedThanks to everyone who has contributed here. This is needed by a non-profit I am doing some work for. I have incorporated it into my test site and most everything is working fine. I have not gotten the IPNs to work right yet, so I have not gotten the loop closed to get the payment associated with the user. I have an idea about what maybe the issue. I will continue to test and I will report back any issues I encounter and bring patches when I can.
Comment #33
maddentim commentedMy idea about the cause of problem with IPN processing was a dead end. Looking at the watchdog table I am seeing the IPN being successfully received, but then the signup_pay is failing the IPN saying the receiver_email doesn't match. Looking at the IPN record in the watchdog table, the receiver_email is in fact correct. When is fails it logs it to the watchdog and it looks like a space is being added to the end of the receiver email. Looking closely at the IPN record both in the paypal sandbox and the watchdog table, the space is not in either. I have not been able to figure out where it is coming from so far. I tried wrapping the receiver_email with a trim(), but did the same thing. Any thoughts?
Edit: Now that I look again, I noticed that the receiver_email has %40 in it instead of @. This seems to be coming from simple_paypal.module where it writes the IPN values with urlencode($value). I tried to using urldecode in signup_pay.paypal.inc, but I have been getting 500 errors at paypal. I'll look at it tomorrow. I'll attach a patch file with what I tried.
Comment #34
maddentim commentedComment #35
maddentim commentedOk, that was dumb. I fixed the issue and the IPNs are being processed now. It was entirely user error. The patch I posted before is unnecessary.
Now that I had it working I noticed that the 'you've paid' message has a typo (says "payed"). I fixed it and also reworded a bit while i was thinking about it. I have attached a patch for the change.
So what is the deal with this module? Is there still a maintainer? It would be good to get this 6.x branch in CVS.
Comment #36
kbahey commentedThe patch fails to apply:
Comment #37
kbahey commentedAlso, is this against the Drupal 6 version attached above, or against Drupal 5 -dev release?
Comment #38
maddentim commentedHi kbahey,
Pleased to see you are involved. Looking at your d.o user, very involved :)
My patch was again the tar.gz from #31.
I am still learning, but I think this is a good patch from the current 5-dev release to this new 6-dev branch. I'll attach a full tar of my directory too.
Comment #39
kbahey commentedWell, no wonder. I am the original author of that module.
If we have 2 more people test your version and find it working (or submit changes that make it so), then I will commit a -dev branch for 6.x.
It does not have to be perfect, just working well and free of show stopper bugs. Minor bugs can be fixed later.
Comment #40
maddentim commentedhey, I had no intention to slight your contribution to Drupal. I only asked to see if the maintainer was still involved / interested as this module has never had non-development release and no commits for over 2 years. I think it is an important addon to the core signup module.
At this point, I think the lack of a 6.x-dev release is a barrier to people trying the code. I am sure you have many things cooking and may not have a personal need for this to release. If it is a question of priorities, I am willing to join you as a co-maintainer and set up the dev in CVS.
Right now, you have two people having it working. What I posted is, aside from a text string change, is exactly the same as what fax9 put out in #31.
Thanks
Comment #41
kbahey commentedI did not mean my comment to a rebuke, though it sounded like one. I was just stating the history of the module.
Would it help if I take the latest D6 tar ball above and create a -dev release? Is it in usable shape, even with a few bugs? If so, this will help solve what you are referring to.
Comment #42
maddentim commentedthat would be perfect. The basic functionality seems to work and a dev release is appropriate. I don't I haven't seen any bugs, but I imagine they exist. I certainly have a short list of enhancements that may be valuable. Mostly related to ui / user experience.
Comment #43
fax8 commentedHi there! I'm back from holidays and ready to work again on this module! Happy to see someone continued my work done in #31!
Khalid, please create a 6.x dev branch and -dev release of this module: looks like both me and maddentim have projects involved with this module and we'll both work on it.
Once we'll have a 6.x-dev version we'll be able to work on a per issue/task workflow rather than working only on this bug report.
Comment #44
kbahey commentedA 6.x dev release will appear here in a few hours http://drupal.org/node/838460
Thanks to everyone who contributed to this effort.
Comment #45
maddentim commentedAwesome, thanks kbahey and fax8
Comment #46
fax8 commented@maddentim would you please open a new issue to discuss your ideas for ui improvements you were talking about in #42? I'd like to hear your ideas. Thanks!
Comment #47
tajabosc commentedThanks for the great work.
I have two questions:
1)I tried the module with a paypal sandobox account, after i simulated the payment i'm returned to the "thanks page", but i don't receive notification nor the database is updated with the payment data. Is this correct?
2)I see there are other payment options than paypal (cash, cheque, bank transfer). Do i have to extend the module if i want to handle these payment options?
Thanks
Comment #48
maddentim commented@fax8 - I have been working on this module for a client fairly hard in the last week. Unfortunately, their needs are a more robust than the current signup_pay structure provides. Mainly, they need to be able to offer options for signup. They are a non-profit that runs events for physically disabled individuals. Some of the events require them to collect payment, if for example they need to pay for lodging or meals. Also fundraising events needed to present options. So I have had to fork the module significantly enable the ability to present signup payment options. Sticking with the current roles based approach was very tempting, but we already were using drupal roles for specific purposes on the site. If we used roles for options, then we faced a proliferation of new roles as we staged events with new options.
So, I have had to alter the module significantly from the original scheme. I am certain willing and interested to share it back to the community, but it is so altered that it may not be a direction that kbahey wants to take it. I am operating at the edges of my abilities so I am not even sure that I have implemented this in an efficient or proper way. But they have a big event in August and I need to get this thing up this week...
That said, some of my enhancements should fit right back in (Like a thank you page with a link to the signed up node) and I will open issues with patches when then are ready.
@tajabosc As the module is currently structured, it does not log the payment attempt before the user is sent to paypal. The signup module logs the signup itself in the table signup_log but no log of a payment attempt is made. Signup_pay does log the receipt of payments in the signup_pay table. you need to set up the IPN address at paypal to get that going. Then, when the payment is made, your site will receive an IPN from paypal and record it to the signup_pay table. It does not appear that the other payment options have been created yet.
As this issue has been fixed, please create new tickets going forward.