Page 1 of 1

s2Member v3.0 is here ( features & fixes )

PostPosted: May 18th, 2010, 3:52 am
by Jason Caldwell
[ Download the latest version of s2Member here ]

== Changelog for s2Member v3.0 ==

  • Naming convention change. s2Member's Single-Page Access, is now referred to as "Specific Post/Page Access". The reason for this will become obvious after reading through some of the other changes in this version. Among other things, "Posts" are now supported, instead of just Pages. Custom "Post-Types" are also supported now. Custom Post-Types are coming in WordPress® 3.0+. WordPress® 3.0 is scheduled for official release in May 2010.
  • Specific Post/Page Access. s2Member now supports "Specific Post/Page Packages" too ( optional ). You can choose a "Leading" Post/Page, and also include "Additional" Posts/Pages. Customers will still land on your Leading Post/Page; BUT, they'll ALSO have access to any Additional Posts/Pages you've packaged together into one transaction. See: `s2Member -> PayPal® Buttons -> Specific Post/Page Buttons` for further details.
  • Fixed-Term Buy Now Access. s2Member now supports Buy Now Access with fixed term lengths. In previous versions of s2Member, it was possible to create a Buy Now Button for Lifetime Membership Access, but now you can create Buy Now Buttons for specific time periods. Anything from 1 day, up to 5 years. The Lifetime option is also still available.
  • Improvement. Registration Configuration routines have been re-organized for a higher level of compatibility across a wide array of s2Member configurations. No functionality changes here, just smarter configuration routines in `ws_plugin__s2member_configure_user_registration()`. This will make s2Member even more compatible with other plugins.
  • Tracking Codes. s2Member has improved the way in which Tracking Codes are injected after returning from PayPal®. For full details, see: `s2Member -> API Tracking -> Signup Tracking Codes`. s2Member also supports Tracking Codes for Specific Post/Page Access now. Some additional replacement codes are also available through s2Member's Tracking API.
  • AWeber® integration. s2Member now sends AWeber® some additional details, including: `EMail Address, First Name, Last Name, Full Name, IP Address, and Membership Level`. You can map these fields using a Custom Email Parser for AWeber® - if you wish to. Otherwise, the default "PayPal® Parser" for AWeber® will do fine. Please see: `s2Member -> API List Servers -> AWeber®` for full details.
  • Security fix. Although unlikely, it was possible for a Site Administrator, testing extensively in the Sandbox; to perform a Subscription Modification while logged in as an Administrator; or an (Editor/Author/Contributor). The result was that their account could have been upgraded to an s2Member Role, depending on Button Configuration. This ran the risk of a built-in WP Role being locked out of their account. If this happended to you in a previous version of s2Member, please read [this article](http://codex.wordpress.org/Resetting_Your_Password) for assistance. Additional security routines have been added to prevent s2Member from EVER being able to modify an account belonging to any Administrator/Editor/Author/Contributor, under ANY circumstance.
  • Typo auto-correction. A typo in the default Email Confirmation template for Specific Post/Page Access, which was first introduced in v2.8.7, and later corrected in v2.8.8 ( `%%sp_access_url%%` ). The incorrect value ( `%%access_url%%` ) was lingering if v2.8.7 was installed at some point in the past. s2Member v3.0 auto-corrects this typo ( should be `%%sp_access_url%%` ), just in case it still exists from a prior installation of s2Member v2.8.7.
  • PayPal® Buttons. The Shortcode format for PayPal® Buttons, now supports a new attribute: `image="default"`. This can be changed to a full URL, pointing to a custom image of your own; instead of the default PayPal® image. This works for all types of PayPal® Buttons, including Member Levels 1-4, Cancellations, Modifications; and even Specific Post/Page Access Buttons.
  • Registration Form. s2Member now makes the Registration Form available to any Site Administrator who is logged-in, even when `Allow Free Subscribers` is set to `false`. This makes the Registration Form easier to test during configuration; and it prevents confusion for site owners that are new to the s2Member plugin. This will NOT affect the functionality of s2Member otherwise, and should have NO impact on existing installations of s2Member.
  • Specific Post/Page Access. s2Member now uses Specific Post/Page sessions ( i.e. cookies ). After clicking through to a Specific Post/Page, using a Specific Post/Page Access Link ( `%%sp_access_url%%` ) via email; the Customer is now authenticated for that specific Post/Page, using cookies. This allows the Customer to navigate through other areas of your site, and later return to the Specific Post/Page they paid for, without being forced to re-enter the Specific Post/Page with an encrypted link all over again. This does NOT change Specific Post/Page functionality, it just makes your site more user-friendly to Customers. They won't have to keep going back to their email to find their Access Link all the time. They click an Access Link once, then they're authenticated by cookies until their access expires ( based on your configuration ).
  • References to the WordPress® function `human_time_diff()` have been replaced with an improved function: `ws_plugin__s2member_approx_time_difference()`; supporting human time differences in minutes, hours, days, weeks, months, years.
  • References to s2Member's `append_query` function have been removed in favor of the WordPress® native function `add_query_arg()`. This was a redundant function, because WordPress® already provides this capability in its core.
  • Bug fix. Missing admin APIs in `paypal-notify.inc.php`. This was causing an unknown function error `wp_delete_user()` on some s2Member installations; depending on the configuration. This has been corrected in v3.0.
  • Optimized Post, Page, Tag, Category, and URI Level Access routines. Stress testing s2Member revealed some minor performance issues. Nothing major, but s2Member v3.0 has been further optimized to reduce CPU time.
  • Custom Post-Types are now supported by s2Member Post Level Access Restrictions. Custom Post-Types are coming in WordPress® 3.0+. WordPress® 3.0 is scheduled for official release in May 2010.
  • Notes field. s2Member now has a Notes field available for each account. See: `WordPress® -> Users -> Edit User`. This allows you to keep a list of Notations related to specific accounts.
  • IP Access Restrictions. As with any membership system, it is possible for one Member to signup, and then share their Username or Access Links with someone else. s2Member now provides protection against this. See: `s2Member -> General Options -> IP Access Restrictions` for full details and configuration options.
  • EOT demotions. Whenever s2Member demotes a Member to a Free Subscriber in response to an EOT event, s2Member now leaves a Note on the account, indicating the date/time the demotion occurred.
  • EOT bug fix & improvements. ( 2010 PayPal® accounts ). EOT = End Of Term. s2Member has been updated to support newer PayPal® accounts ( those opened after Oct 15th, 2009 ). Newer PayPal® accounts do NOT send an IPN/`subscr_eot` in all cases. This has been reported to PayPal® by several developers. At any rate, s2Member can deal with this gracefully now, by keeping a record of payments/periods/changes, and monitoring other signals sent by PayPal®. This allows s2Member to take control of the situation, at the appropriate time, using s2Member's built-in Auto-EOT System ( new ).

    The communication from PayPal® -> s2Member is seamless ( once again ); even in PayPal® accounts created after October 15th, 2009. These changes will NOT negatively effect existing installations of s2Member. If anything, it will improve your experience. More importantly, if your PayPal® account was established in 2010, you will definitely want to upgrade to s2Member v3.0+.

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 18th, 2010, 4:48 am
by HTMwebrat
Incredible list! Thank you so much for all the work you put in.

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 18th, 2010, 9:39 pm
by drew91
Hi, I just upgraded to 3.0, and now the plugin won't activate because "it triggered a fatal error." Help!

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 19th, 2010, 1:25 am
by Jason Caldwell
Hi Drew. Very sorry to hear that.
This sounds like a conflict with another plugin. I would disable other plugins until you are able to successfully activate s2Member without this error. To be thorough, please report back what version of WordPress® that you're running? ~Thanks

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 19th, 2010, 10:40 am
by Ivan Fraer
Hi
I just upgraded to S2M 3.0 but had a strange error:

I´m using Theme My Login (http://www.jfarthing.com/) as a side widget. After upgrading S2M this widget disappeared and my members could not login any more.

I had to restore my database and upload the my backup of S2M to the server.

Best regards
Ivan

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 19th, 2010, 2:23 pm
by drbyte
Hey Jason

Thank you for the Updates

One thing that is worrying me. I am not a big fan of wp-cron and for most hosting companies this file is a NO NO. Even in Dedicated servers, this file loads in the servers to a point were most accounts are suspended. Not sure why you went that route!

FYI, just in case some of you guys are having heavy CPU loads. One way to bring the server CPU (resources) down is TEMP change the file name wp-cron to wp-BADcron and wait couple of hours, check your server resources meter, if it's down, then rename the original file back to (wp-cron).

I am not sure why we have this file anyway. Jason, Can we use the hosting account cron process instead WordPress? Would your plugin still function correctly

Thank you

Sam

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 19th, 2010, 4:58 pm
by Jason Caldwell
Ivan Fraer wrote:Hi
I´m using Theme My Login (http://www.jfarthing.com/) as a side widget. After upgrading S2M this widget disappeared and my members could not login any more.

This plugin "Theme My Login" is NOT compatible with s2Member. I'm sure it's a great plugin, but it is in direct conflict with s2Member; because s2Member already provides most of this functionality.

If you need a sidebar login, you'll need to try a widget that is specifically designed for that, and is limited to only the sidebar. You can also create a sidebar login panel by adding a new Text/HTML widget. This takes a bit of coding to setup the form, but it's basic HTML only.

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 19th, 2010, 5:19 pm
by Jason Caldwell
Hi Ivan. Great questions. I understand your concerns.
drbyte wrote:Hey Jason
One thing that is worrying me. I am not a big fan of wp-cron and for most hosting companies this file is a NO NO. Even in Dedicated servers, this file loads in the servers to a point were most accounts are suspended.

This is somewhat of a myth. Hosting companies blame WP_Cron, because it's easy for them to do so. WP_Cron represents "freedom" to a customer, because a hosting company has no way to regulate WP_Cron, other than to disable it. In other words, if you use a Control Panel cron job, most hosting companies are designed to limit the execution time, and more importantly, the overall number of cron jobs you're allowed to have.

The WP_Cron class is only as bad as the plugins that use it. As with any scheduled task, if it is over-used, or it is used to run processor-intensive tasks repeatedly, it will become resource intensive. In the case of s2Member, WP_Cron processes 1 script every 10 minutes; which takes approx 1 second to execute. So the additional load on your server, is less than, or equal to, one extra visitor on your site, every 10 minutes.

drbyte wrote:Hey Jason
Jason, Can we use the hosting account cron process instead WordPress? Would your plugin still function correctly

Not currently, but I will be happy to make this an option in a future release. I realize WP_Cron has a bad name. I just wanted to clear up the reasons why. Until then, as long as you're not using other plugins that "mis-behave" in regards to WP_Cron, you'll be fine.

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 20th, 2010, 4:37 pm
by lovings
Thank you again for creating such an amazing and badly needed plugin, and giving it away to the WP community :). It just keeps getting better!

Just wanted to let you know that while I had problems upgrading from 2.8.5 to 2.9x and had to revert (I wrote about it earlier, a fatal error on re-activation attempt), the last upgrade from 2.8.5 to 3.0 went beautifully - no errors, and everything works as it should.

Not sure why, I didn't change anything nor disable any other plugins... but no matter, I'm thrilled.

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 21st, 2010, 11:29 am
by Ivan Fraer
Jason Caldwell wrote:
Ivan Fraer wrote:Hi
I´m using Theme My Login (http://www.jfarthing.com/) as a side widget. After upgrading S2M this widget disappeared and my members could not login any more.

This plugin "Theme My Login" is NOT compatible with s2Member. I'm sure it's a great plugin, but it is in direct conflict with s2Member; because s2Member already provides most of this functionality.

If you need a sidebar login, you'll need to try a widget that is specifically designed for that, and is limited to only the sidebar. You can also create a sidebar login panel by adding a new Text/HTML widget. This takes a bit of coding to setup the form, but it's basic HTML only.


Thank you for information and you was right (off course ;- )
I installed this login widget and everything works great now.

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 21st, 2010, 11:34 am
by Ivan Fraer
Not Installed, UN-installed, off course :-)
Instead I´m using this; http://wp-superslider.com/

This is really a cooool login/out widget.

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 23rd, 2010, 9:59 pm
by drbyte
"Compatibility. s2Member's Auto-EOT System is no longer absolutely dependent on WP-Cron. A new option has been added that allows you to run s2Member's Auto-EOT System through a server-side Cron Job - if you wish to. This makes s2Member compatible with hosting providers that disable WP-Cron for one reason or another."

YOU ABSOLUTELY ROCK............Thank you Jason

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: June 24th, 2010, 12:33 am
by Jason Caldwell
Thanks Sam! ~ Very welcome.

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 6th, 2011, 7:41 am
by jacqueline
EOT bug fix & improvements. ( 2010 PayPal® accounts ). EOT = End Of Term. s2Member has been updated to support newer PayPal® accounts ( those opened after Oct 15th, 2009 ). Newer PayPal® accounts do NOT send an IPN/`subscr_eot` in all cases. This has been reported to PayPal® by several developers. At any rate, s2Member can deal with this gracefully now, by keeping a record of payments/periods/changes, and monitoring other signals sent by PayPal®. This allows s2Member to take control of the situation, at the appropriate time, using s2Member's built-in Auto-EOT System ( new ).


It says that "s2Member keeps a record of payments/periods/changes, and monitoring other signals sent by Paypal". May I know where is the information kept and is there any way to extract it? I am trying to create a page where members/users can view their membership status. If there is, please could someone tell me how to do it? Thanks a lot!

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 6th, 2011, 4:42 pm
by Cristián Lávaque
Hello Jaqueline.

s2Member saves some times related to the account. You can read about them here:

WP Admin -> s2Member -> API / Scripting -> s2Member PHP/API Constants
WP Admin -> s2Member -> API / Scripting -> s2Member Content Dripping


Then there are the IPN logs which, after enabled, will be stored as a file.
WP Admin -> s2Member -> PayPal Options -> PayPal Account Details -> Enable Logging Routines
/wp-content/plugins/s2member-logs/

And the user can consult his own PayPal account and search for the payments he made to you to see the list, too.

I hope that helps. :)

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 7th, 2011, 8:00 am
by jacqueline
Thanks, that did help... Now, I just need to figure out what information I want to display to my members.

One question on the drip membership though...

For, s2member_paid_registration_time, is the time accumulated? For example, if a member signed up for a 30 day membership and then after the 30 days is up, he stop paying for 3 months. During this 3 months, he will be demoted to free subscriber. Thereafter, this member starts paying again after 3 months. After 3 months where he sign up again, will the value for this constant be 30 days or will it start from 0?

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 7th, 2011, 1:17 pm
by Cristián Lávaque
There's a last payment time var, the first payment time will give you the first one only. These will be improved in the future, as the content dripping does, but for now those are what is available.

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 8th, 2011, 10:39 am
by jacqueline
Thanks Cristian for your reply... I think I may be a little dense... but I was thinking of setting up a kind of e-course membership where people join my membership site to learn from a course on which I will use drip contents. My idea was that when someone joins, they will get to access different contents everyday for a period of up till 6 months, on which they could then learn in their own time. Membership will be billed monthly/half-yearly. But if someone joins for the first month(let's say 1 January), and they pull out in the second month(1 February). They should only get access to contents up till the first month only(31 January). And in the second month, where they did not pay, they should not get access to any paid contents at all. And halfway through the second month(15 February), they decide to join again, their membership will be billed starting from 15 February - 15 March. But once they join, they should be able to access the contents to the first 31 days of their course and continue from there... Meaning on 16 February, they should start from contents that is specifically for Day 32... and continue from there... I am just wondering on how to handle this, with the constants that is available in s2member now... Could you give me an idea on how to do so? Thanks a lot!

Re: s2Member v3.0 is here ( features & fixes )

PostPosted: May 8th, 2011, 7:17 pm
by Cristián Lávaque
I can understand what you want to do, and it makes a lot of sense, but s2Member doesn't do that yet.

You could create a customization that, while the user is at a level, updates daily a day counter for that level in the usermeta table, so you can check that value in your conditionals.