PriMoThemes — now s2Member® (official notice)

This is now a very OLD forum system. It's in READ-ONLY mode.
All community interaction now occurs at WP Sharks™. See: new forums @ WP Sharks™

dripping content problem

s2Member Plugin. A Membership plugin for WordPress®.

dripping content problem

Postby tribsel » August 23rd, 2010, 4:36 am

Hi,

I (already) know that there are some dripping content features, but there are several problems with it.
My problem is this:

Imagine you would like to run a 4 week long program, with gradual context delivery - for example 1 new part delivered every other day. No problem.

Now, imagine you want to run several such programs at once. Your members can start either one, two or all of them (I don't care, but this SHOULD depend on membership level)

BUT

I need to be able to deliver each part in specified intervals. Dripping content based on member's registration date does not help! I dont care when they registered. I need to set time intervals based on when they STARTED specific program (and it can be included free in their membership, so its not possible to connect this to date when they paid for specific program).

Is this possible to achieve with s2 member?

thanks! :)
Tribsel
User avatar
tribsel
Registered User
Registered User
 
Posts: 11
Joined: May 18, 2010

Re: dripping content problem

Postby Jason Caldwell » August 27th, 2010, 1:56 pm

Hi Tribsel. Thanks for the great suggestions.
I need to be able to deliver each part in specified intervals. Dripping content based on member's registration date does not help! I dont care when they registered. I need to set time intervals based on when they STARTED specific program (and it can be included free in their membership, so its not possible to connect this to date when they paid for specific program).

Is this possible to achieve with s2 member?

Unfortunately, no. s2Member's "Content Dripping" is lacking this advanced functionality in the latest release ( v3.2.2 ). I realize there is much room for improvement in this area. I'm adding this to our @TODO list for you.

Until then, the closest I can get you is the "s2member_last_payment_time".
Code: Select all
$timestamp = get_user_option("s2member_last_payment_time");

This will ONLY be available for paying Members, and ONLY if you've used a "Subscription" Button. It won't work for Buy Now transactions. s2Member stores the "last_payment_time" on Subscriptions, including the first initial payment. So this value will always indicate a "timestamp" of the last payment. Not ideal, but that's the best I can do at the moment.

If you would, please detail for me what the "ideal" Content Dripping solution would be for you. That will help us greatly whenever we improve upon this in a future release. Would there be a separate workstation for this, or should we just integrate additional tracking variables for easy access?
~ Jason Caldwell / Lead Developer
& Zeitgeist Movie Advocate: http://www.zeitgeistmovie.com/

Is the s2Member plugin working for you? Please rate s2Member at WordPress.org.
You'll need a WordPress.org account ( comes in handy ). Then rate s2Member here Image
.
User avatar
Jason Caldwell
Lead Developer
Lead Developer
 
Posts: 4045
Joined: May 3, 2010
Location: Georgia / USA

Re: dripping content problem

Postby Jason Caldwell » August 27th, 2010, 2:01 pm

Here is one other solution.

s2Member supports "Custom" variables in your Button Code.
Code: Select all
[s2Member-PayPal-Button ... custom="www.example.com|TIMESTAMP" /]

Code: Select all
[s2Member-PayPal-Button ... custom="www.example.com|<?php echo time(); ?>" /]

This would give you the original date of the transaction if you needed it.
If a Member signs up with a Button Code that contains the TIMESTAMP above,
here is how you would access that information in WordPress®.
Code: Select all
$custom get_user_option("s2member_custom");
list(
$domain$timestamp) = preg_split("/\|/"$custom);
echo 
$timestamp
~ Jason Caldwell / Lead Developer
& Zeitgeist Movie Advocate: http://www.zeitgeistmovie.com/

Is the s2Member plugin working for you? Please rate s2Member at WordPress.org.
You'll need a WordPress.org account ( comes in handy ). Then rate s2Member here Image
.
User avatar
Jason Caldwell
Lead Developer
Lead Developer
 
Posts: 4045
Joined: May 3, 2010
Location: Georgia / USA

Re: dripping content problem

Postby beppodb » August 29th, 2010, 9:33 pm

The most recent solution seems like what I want. I hope this is built in to future versions of the plugin:

Essentially, I want to know when the user registered at their current level.

So initially, they register at level 0 unpaid, and the field stores that timestamp. Then, at some point, they upgrade to level 1, and the field stores the new timestamp. I can use that timestamp to enforce content restrictions.
beppodb
Guest User
Guest User
 

Re: dripping content problem

Postby beppodb » August 29th, 2010, 9:43 pm

Oh, I'd also like a way to edit this easily after-the-fact. So, if a user registers in November, but I want to edit it so it appears they registered in October, I'd like control over that.
beppodb
Guest User
Guest User
 

Re: dripping content problem

Postby Jason Caldwell » August 30th, 2010, 1:21 pm

beppodb wrote:Oh, I'd also like a way to edit this easily after-the-fact. So, if a user registers in November, but I want to edit it so it appears they registered in October, I'd like control over that.

Gotchya. Using the TIMESTAMP solution that I mentioned, you can edit this inside WordPress®.

From your Dashboard, go to Users -> and just click Edit next to a specific User.
You can change the TIMESTAMP in the User Editing panel, under the "Custom" field.
( you'll want to have s2Member v3.2.3+ installed for this )
~ Jason Caldwell / Lead Developer
& Zeitgeist Movie Advocate: http://www.zeitgeistmovie.com/

Is the s2Member plugin working for you? Please rate s2Member at WordPress.org.
You'll need a WordPress.org account ( comes in handy ). Then rate s2Member here Image
.
User avatar
Jason Caldwell
Lead Developer
Lead Developer
 
Posts: 4045
Joined: May 3, 2010
Location: Georgia / USA

Re: dripping content problem

Postby tribsel » September 21st, 2010, 12:40 pm

Hi Jason,

thanks for adding this to @todo, any idea when could this ready? ;)
timestamp with buy button is probably a solution for one course with several lessons, thanks for that.
Is there a way how to buy a "course" for 0 (free) and use it just to get a timestamp? In other words, is there a way how to get START button, not buy button ;)
User avatar
tribsel
Registered User
Registered User
 
Posts: 11
Joined: May 18, 2010

Re: dripping content problem

Postby tech-mentor » October 27th, 2010, 12:11 pm

I want to provide a "Remaining Days" before renewing for my paying customers who use a yearly subscription with PayPal. I am using the "s2member_last_payment_time" field to calculate how much time they have left before PayPal will renew their membership automatically.

My question is: Will PayPal notify the s2Member plugin on my website when the recurring payment is applied and is the "s2member_last_payment_time" field will be properly updated in my database for that user with the new payment date?

Thanks for your help!
User avatar
tech-mentor
Registered User
Registered User
 
Posts: 10
Joined: September 28, 2010

Re: dripping content problem

Postby KirkWard » October 27th, 2010, 12:47 pm

In reading the response you provide in the post above (viewtopic.php?f=4&t=602#p2620), my question is, what does this do for tracking content released at the lower levels? Is it possible to pull that information from somewhere and insert it into a modification button?

Thanks
User avatar
KirkWard
Experienced User
Experienced User
 
Posts: 61
Joined: October 22, 2010

Re: dripping content problem

Postby Jason Caldwell » October 27th, 2010, 10:47 pm

Thanks for the great questions.
tribsel wrote:Hi Jason,

thanks for adding this to @todo, any idea when could this ready? ;)
timestamp with buy button is probably a solution for one course with several lessons, thanks for that.
Is there a way how to buy a "course" for 0 (free) and use it just to get a timestamp? In other words, is there a way how to get START button, not buy button ;)

Yes, you can enable Open Registration with s2Member, and get a direct link to your Free Registration Form. Check your Dashboard under: s2Member -> General Options -> Open Registration. Or, on a Multisite installation, this will be under: s2Member -> Multisite (Config) -> Registration Configuration.

There is no way to pipe delimit "custom" variables for a Free Registration, because there is no PayPal Button required for this, just a direct link to the registration form is all you need. That being said, every Member, regardless of Level, will ALWAYS have a registration time associated with their account. So you could use this s2Member API Constant to accomplish what you need universally:

S2MEMBER_CURRENT_USER_REGISTRATION_TIME
Code: Select all
<?php echo S2MEMBER_CURRENT_USER_REGISTRATION_TIME; ?>
This may output something like: 1270537981
( this is a Unix timestamp, which is based on seconds )

---- s2member Shortcode Equivalent ----
[s2Get constant="S2MEMBER_CURRENT_USER_REGISTRATION_TIME" /]
Further details are provided in your Dashboard under: s2Member -> API Scripting -> API Constants.
~ Jason Caldwell / Lead Developer
& Zeitgeist Movie Advocate: http://www.zeitgeistmovie.com/

Is the s2Member plugin working for you? Please rate s2Member at WordPress.org.
You'll need a WordPress.org account ( comes in handy ). Then rate s2Member here Image
.
User avatar
Jason Caldwell
Lead Developer
Lead Developer
 
Posts: 4045
Joined: May 3, 2010
Location: Georgia / USA

Re: dripping content problem

Postby Jason Caldwell » October 27th, 2010, 11:03 pm

Thanks for the great question.
tech-mentor wrote:I want to provide a "Remaining Days" before renewing for my paying customers who use a yearly subscription with PayPal. I am using the "s2member_last_payment_time" field to calculate how much time they have left before PayPal will renew their membership automatically.

My question is: Will PayPal notify the s2Member plugin on my website when the recurring payment is applied and is the "s2member_last_payment_time" field will be properly updated in my database for that user with the new payment date?

Thanks for your help!
Yes, absolutely.
Code: Select all
<?php echo get_user_option("s2member_last_payment_time"); ?>
will always return the "last" payment time ( a Unix timestamp ), as recorded by s2Member via IPN messages received throughout the lifetime of the Subscription.
~ Jason Caldwell / Lead Developer
& Zeitgeist Movie Advocate: http://www.zeitgeistmovie.com/

Is the s2Member plugin working for you? Please rate s2Member at WordPress.org.
You'll need a WordPress.org account ( comes in handy ). Then rate s2Member here Image
.
User avatar
Jason Caldwell
Lead Developer
Lead Developer
 
Posts: 4045
Joined: May 3, 2010
Location: Georgia / USA

Re: dripping content problem

Postby Jason Caldwell » October 27th, 2010, 11:55 pm

KirkWard wrote:In reading the response you provide in the post above (viewtopic.php?f=4&t=602#p2620), my question is, what does this do for tracking content released at the lower levels? Is it possible to pull that information from somewhere and insert it into a modification button?

Thanks

See: viewtopic.php?f=4&t=1110#p4351
~ Jason Caldwell / Lead Developer
& Zeitgeist Movie Advocate: http://www.zeitgeistmovie.com/

Is the s2Member plugin working for you? Please rate s2Member at WordPress.org.
You'll need a WordPress.org account ( comes in handy ). Then rate s2Member here Image
.
User avatar
Jason Caldwell
Lead Developer
Lead Developer
 
Posts: 4045
Joined: May 3, 2010
Location: Georgia / USA

Re: dripping content problem

Postby tribsel » November 16th, 2010, 6:40 pm

Hi Jason,

thanks for your reply.... there is a slight problem that Id like to allow my paying members to get a custom capability for free (after they click on a link or button) and I need to know when this happened, so I could drip content to them based on this time.

So my question is: is there an easy way how to assign custom capability to already registered user after he clicks on some kind of link without buying anything and to store timestamp of this action?
thanks!
User avatar
tribsel
Registered User
Registered User
 
Posts: 11
Joined: May 18, 2010

Re: dripping content problem

Postby Cristián Lávaque » December 29th, 2010, 2:15 pm

Jason Caldwell wrote:Here is one other solution.

s2Member supports "Custom" variables in your Button Code.
Code: Select all
[s2Member-PayPal-Button ... custom="www.example.com|TIMESTAMP" /]

Code: Select all
[s2Member-PayPal-Button ... custom="www.example.com|<?php echo time(); ?>" /]

This would give you the original date of the transaction if you needed it.
If a Member signs up with a Button Code that contains the TIMESTAMP above,
here is how you would access that information in WordPress®.
Code: Select all
$custom = get_user_option("s2member_custom");
list(
$domain, $timestamp) = preg_split("/\|/", $custom);
echo $timestamp; 


So if the user has several ccaps, I could create an array where the key is the ccap and the value is the time? Is the output of get_user_option("s2member_custom") an array or a string? For a single ccap or all of them?

Also, this seems fine to know the time of the ccap, but am not sure how I'd use it to check if he can access it, like in current_user_can("access_s2member_ccap_videos"). I feel I'll have to create custom capabilities in pairs, where one is the ccap and the other is the ccpatime, like: videos,videos20101210. Then I'd use the former to check the access with current_user_can() and the latter to know the time using get_user_option(). Or am I complicating it?

I would think that in order to have the dripping feature be versatile, then a time should be stored by s2Member with any factor that would determine content access. That way, every level or custom capability, for example, would each have its time saved to consult easily when to drip content.
Cristián Lávaque http://s2member.net
Is s2Member working for you? Please rate it Image at WordPress.org. Thanks! :)
User avatar
Cristián Lávaque
Developer
Developer
 
Posts: 6836
Joined: December 22, 2010

Re: dripping content problem

Postby nhsatomom » February 7th, 2011, 9:53 am

Jason Caldwell wrote:Using the TIMESTAMP solution that I mentioned, you can edit this inside WordPress®.

From your Dashboard, go to Users -> and just click Edit next to a specific User.
You can change the TIMESTAMP in the User Editing panel, under the "Custom" field.
( you'll want to have s2Member v3.2.3+ installed for this )


I'm running the current version of s2Member but can't figure out how to adjust someone's timestamp using the above instructions. It sounds like I can put something in the Custom Value field -- but what do I put in there?

I'd like to be able to adjust the starting date for a member.

Thank you!
User avatar
nhsatomom
Registered User
Registered User
 
Posts: 25
Joined: February 1, 2011


Return to s2Member Plugin

Who is online

Users browsing this forum: Exabot [Bot], Google [Bot] and 2 guests

cron