Chronoforms to CBSubs

14 years 8 months ago #108765 by daemonhunt
Replied by daemonhunt on topic Re:Chronoforms to CBSubs
Okay, for anyone who is wondering how I've been getting on, read on!

I am continuing to use Chronoforms, as it is a very elegant solution in terms of designing the form, but there are some drawbacks when attempting to integrate it with CBSubs. Here is the workflow that I am using until issues are resolved:

1) Customer chooses a plan by clicking a link which points to the Chronoform for the specific plan. (I have two plans - one paid and one free, and each one has a different form to the other);

2) The customer registers all his/her details using a Chronoform (including username/password/email combo), and the CB plugin for Chronoform populates the CB database with whatever else you want;

3) Customer is thanked and told that an email with instructions follows;

2) Customer is sent an email from Chronoforms telling them their registration was successful and to go to the site and login to "confirm their plan and pay if needed";

3) Upon login, CBSubs takes over and asks them to choose their plan (again!). This is the part I don't like, because they have already chosen it in the previous process when they selected the Chronoform for the particular plan.

Note: I have used CBSubs to hide all fields, as they already filled these out using the Chronoform earlier and wouldn't be good to see again!.. So all they see are the Plan names with checkboxes.

Note 2: I have had to hack the language files to get rid of wordslike "Upgrade" on the button and in the heading. Heading now says "Confirm Your Plan" and "Subscribe" on the button. This would confuse the customer as they are subscribing for the first time. Yes I know that technically they are upgrading from "free", but that is just very typical of programmers developing a product for programmers and not really thinking.

4) Customer pays through PayPal for the paid plan, or is confirmed as registered on choosing the free plan... For some unknown reason, the customer then has to log in AGAIN! There is no option to set CBSubs to login automatically after choosing a plan. I wish there was.

NOTE: My workaround is to tell the customer in the Thank You window that another email will be sent to them "confirming" their successful confirmation of plan and to log in one last time. Ridiculous, but less confusing for the customer because they are guided through the process.

5) Customer gets an email from CBSubs saying they are now confirmed and to log in again;

6) Customer is finally registered and confirmed (and paid), and can use the site now.

Things I don't like:

1) Chronoforms cannot interact with CBSubs so cannot actually create a subscription record or refer to a subscription record in any way. Apparently CBSubs has quite a complex process it goes through when it does this etc.

2) CBSubs has a bug where you can't register basic details with it first and then redirect to a Chronoform upon first login... you have to do it the other way around until they fix the "redirect on first login per plan" bug. And even if they did, there is no way to force them to use the Chronoform, as it is only based on first login. This means if they navigate away from the form on first login, you won't capture the extra information you need.

3) If the user logs in after registering using the Chronoform and is presented with choosing the plan again via CBSubs (step 3 above), and DOESN'T choose one but navigates away from that window, CBSubs has a bug where it won't let you activate your account at all! If you try logging in again it tells you your account is blocked, instead of forcing you to choose your plan again :-( This is a worry, and I'm curious about how many subscribers I am going to get doing this and complaining. **Beat? Can you address this ASAP please?

4) If you have read my posts, you'll notice me being told that a CSS expert can style CB forms. When I question this (I AM a CSS expert), I am then told dismissively by a user that I need a programmer. There are no guides, no inspirations and I have seen no well-designed forms for CB so far (still waiting for someone to send me a link to something that looks like mine. Be aware that this is the first page of a multi-page ajaxed and server-side validated form!):



I have to say that Beat has been awesome help (sometimes working as late as 3am his local time to keep up with me) and I thank him for that. I am a very blunt and trying customer at the worst of times.

You should all know that I am continuing on with using CBSubs, even though we all have a way to go together. In essence, it is a brilliant product, and Beat promises me his team will continue to develop and fix things as fast as they can, and that gives me some faith.

I have tried Ambra Subs, Open Source ACL, iJoobi JSubscription, VirtueMart etc, and none have some near to this yet.

As soon as my CB/CBSubs issues are fixed, I will be the first to sing CBSubs' praises. I have several potential websites coming up that will require membership-based subscriptions and two of them will have a potential user base of 25,000+ members, and so I wait and help as much as I can with interest!

DH

Post edited by: daemonhunt, at: 2009/08/21 00:55

Post edited by: daemonhunt, at: 2009/08/21 00:59

Post edited by: daemonhunt, at: 2009/08/21 01:01

Please Log in to join the conversation.

14 years 8 months ago #108770 by blekkie
Replied by blekkie on topic Re:Chronoforms to CBSubs
hello daemonhunt,

"I am then told dismissively by a user"

I afraid i am that user :blush:
Was not ment to be dismissiv but as a fact for the workflow...

i fully agree - with community builder components it is difficult to give it a nice personal and good look. specially if you are not a full PRO... with java and PHP for example.


i have the same problem -- chronoforms working with cbsubs.... money is no issue i want it to work and have engaged a programmer and he wants to give it a try...

i am now a bit puzzled by your comment below?

) Chronoforms cannot interact with CBSubs so cannot actually create a subscription record or refer to a subscription record in any way. Apparently CBSubs has quite a complex process it goes through when it does this etc.

i think it would be possible to fill an extra line
in the sbsubs database with a submit action.
Why is this not possible....??

i have two workflows
bidders(payed) register with standard cb and cbsubs form

sellers (free) register with chronoforms. i need the chronoforms because i want sellers to fill in a form only once.... otherwise they hesitate (not wanted)

i have managed to register the sellers with CB.

i still need to find a way that sellers autmaticly will be unblocked with the registration

i still need to find a way for validation - if users e-mail allready exist. Chronoforms does not do this at the moment...

i still need to find a way to submit the sellers to CBsubs plan.... thougt it would be easy for a programmer but your comment puzzles me now :blink:

after this i will need to find a way to fill a database from another component ( which needs registration first) therefore i need somewhere in the process the id user number
i was hoping to work with a dynamic user id or something like that??

Money is no issue when it can be done.
offcourse the price must be fair..

But my question now is...can it be done ??

warm regards

Please Log in to join the conversation.

14 years 8 months ago #108772 by daemonhunt
Replied by daemonhunt on topic Re:Chronoforms to CBSubs
blekkie wrote:

hello daemonhunt,

"I am then told dismissively by a user"

I afraid i am that user :blush:
Was not ment to be dismissiv but as a fact for the workflow...

i fully agree - with community builder components it is difficult to give it a nice personal and good look. specially if you are not a full PRO... with java and PHP for example.

All good dude. Krileon told me that you need to be a CSS expert, yet I have been lead to believe that one actually needs to be a PHP/Javascript expert from other post - so you're right on the button, no need to blush ;)

i am now a bit puzzled by your comment below?

)Chronoforms cannot interact with CBSubs so cannot actually create a subscription record or refer to a subscription record in any way. Apparently CBSubs has quite a complex process it goes through when it does this etc.

i think it would be possible to fill an extra line
in the sbsubs database with a submit action.
Why is this not possible....??

It is possible to fill in a record, yes, but I have been told that the CBSubs Registration process is more involved than that in terms of the invoicing/payment gateway/tracking side of things, and that there are numerous arcane checks employed in the CBSubs process. Of course, I have to take Beat's and Krileon's word for it, as the component is ioncube encoded and I have no idea what it is actually doing or how to influence it. I'd be keen to see how you go.

i have two workflows
bidders(payed) register with standard cb and cbsubs form

You're lucky. I'd love to look at your form some time.

sellers (free) register with chronoforms. i need the chronoforms because i want sellers to fill in a form only once.... otherwise they hesitate (not wanted)

I understand that.

i have managed to register the sellers with CB.

i still need to find a way that sellers autmaticly will be unblocked with the registration

what do you mean "unblocked"? When the seller logs in, are they not presented with the CBSubs initial "choose plan" screen? Is this because you are allowing free users without subscription?

i still need to find a way for validation - if users e-mail allready exist. Chronoforms does not do this at the moment...

This I can help you with as well as give you some extra bonus code for your Chronoform :)

Here is the code you place into the Validation/Enable Server Side Validation box on the page of the form where user enters his username/email/password combo details. This will validate all your required user fields, as well as a validate email field if you use one:

[code:1]<?php
global $mainframe;
$db =& JFactory::getDBO();

// verify name
$query = "SELECT username FROM jos_users WHERE username = '" . JRequest::getVar('private_username') . "';";
$db->setQuery($query);
$db->query();
if ( $db->getNumRows() )
return 'That username is already in use. Please try another.';


// verify email
$query = "SELECT email FROM jos_users WHERE email = '" . JRequest::getVar('contact_email') . "';";
$db->setQuery($query);
$db->query();
if ( $db->getNumRows() )
return 'Someone has already registered using that email address. Please try another, or log in.';


// verify password
if ( JRequest::getVar('private_password') != JRequest::getVar('validate_password') )
return 'Sorry, your passwords do not match, please try again.';
?>[/code:1]
NOTE: private_username, contact_email and validate_password above should be replaced by your own field ID's, and that you don't need to use all these together like this if you don't want to.

i still need to find a way to submit the sellers to CBsubs plan.... thougt it would be easy for a programmer but your comment puzzles me now :blink:

I am currently submitting user registration data (and custom field data) from Chronoforms to CB (not CBSubs) and have turned off automatically registering a user to a free plan in the CBSubs back end, so when a user logs in the first time, they are forced to subscribe to a plan, and the one that is free is actually a free lifetime plan I made. This is the only workaround I have at the moment. It's not logical and tidy, but it's all I can do right now.

after this i will need to find a way to fill a database from another component ( which needs registration first) therefore i need somewhere in the process the id user number
i was hoping to work with a dynamic user id or something like that??

I'm the same. If I could use a userID somehow, I would, but like I said, I believe that the CBSubs registration process and checking is more exhaustive than just being userID-based, but I can't confirm this without being able to see the CBSubs code. I'm taking Krileon's word for it.

Money is no issue when it can be done.
offcourse the price must be fair..

I said the same thing, and for doing a custom payment gateway for me (another issue I have) I was quoted up to $XXXX New Zealand dollars to have it made within 13 days. You'll have to PM Beat and see if he can help, but be careful, they are very busy guys and it will cost you a premium if you need anything done urgently.

Cheers

DH

[mod note: removed exact quote given by Beat - i don't think it was meant to be public]

Post edited by: nant, at: 2009/08/21 08:23

Please Log in to join the conversation.

14 years 8 months ago #108813 by blekkie
Replied by blekkie on topic Re:Chronoforms to CBSubs
hi

what do you mean "unblocked"? When the seller logs in, are they not presented with the CBSubs initial "choose plan" screen? Is this because you are allowing free users without subscription?


Yes they do ... but i choose not to show them this plan. Because they will need to login - choose the plan and then login again....not user friendly.

After a free user submits his form i will have to go into the back-end and "unblock"+"confirm" this user. it seems that the cb plugin from chronoforms uses the standard joomla registration - user needs to activate acount by activation link. ( this is also confirmed by the guys of chronoengine i believe)

while writing this i have disabled the standard joomla need for activation link. Problem solved ;)

The free user is now automaticly approved and unblocked. The only thing i have to do in the backend is to assign the cb plan. Will be resolved by the programmer i hope

The paid users are handled by cbsubs which works still fine ( i do not work with paid subscriptions from cbsubs)Therefor i guess we will not encounter your problems. We use a market place system wich involves payment per bid)

Thanks for the code.... i will give it a try.

Our programmer will have a look and starts at the end of next week....

will keep you updated...

br
mb

Please Log in to join the conversation.

14 years 8 months ago #108894 by blekkie
Replied by blekkie on topic Re:Chronoforms to CBSubs
Thanks the validation works..

one question remains - if for example a username allready exists - this user gets a warning
but has to fill in the form all over again.

is there a way to keep the submitted input in the form when validation gives an error?

Please Log in to join the conversation.

14 years 8 months ago #109047 by daemonhunt
Replied by daemonhunt on topic Re:Chronoforms to CBSubs
Yes there is a checkbox in Chronoforms that lets you keep posted info from clearing, though it doesn't seem to work with drop-down fields :-(

On your Chronoform General Tab is an option that says: "Republish fields if error occured". Choose "Try to republish".

You can find any of this information on the Chronoforms forum, including help with your validation :-)

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 0.262 seconds