ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

What to Know for a Membership-Based Site

July 01, 2007 12:53pm

Subscribe [9]
  • #1 / Jul 01, 2007 12:53pm

    jschutt

    452 posts

    I am in the early steps of adding a paid membership feature to one of my clients sites.  Can someone who has some experience please give me some direction/pointers/tips on what I will need to do in order to accomplish the following?

    This site will be a media library of event speaker mp3’s and videos.  I am debating as to whether I want it to be a monthly membership or an annual membership (Simple Commerce Module, perhaps?).  I will also need to be able to protect the files from unauthorized downloads.

    Any help or direction would be appreciated!

  • #2 / Jul 01, 2007 2:26pm

    Marcus Neto

    1005 posts

    I want to know about how to lock people out unless they are members too as I am thinking about doing a membership site as well.

    I have however user https://www.payloadz.com/ before as the redirect after a file is purchased. It works pretty good. My only beef is that by the time you pay paypal and the payloadz you have lost 6% or so of your money… that can get quite pricey after a bit. The other option would be to do a custom IPN jobby but that would be time consuming…

    M.

  • #3 / Jul 01, 2007 6:22pm

    allgood2

    427 posts

    You could create a section for members only, but I know on the few client sites that we’ve worked on where membership matters, we just displayed certain content based on whether or not the user was logged in.  For example Global Conditionals allow you to test for membership groups, and logged in status.  So typically if we have content that is only available for download for members, but we still want the description to be visible to others, than we just use an if statement like

    {if member_group == "5" OR member_group == "11" }
    
    <h3>Member Only Download</h3>
    <p><ul><li><a href="http://{domain}/downloads/{file_name}" title="{title}">{title}</a> ({file_name}, {file_type, {file_size})</li></ul></p>
    
    <p>{if:else}</p>
    
    <h3>Member Only Download</h3>
    <p>This file is ONLY available to paid members. Please <a href="/join/">Join</a> for access today, or <a href="/login/">Log-In</a> if you're already a member.</p>
    
    <p>{/if}

    We don’t bother, but I’ve also seen sites that encrypt the url so that, it can’t be passed around from member to non-member. But our clients have been fine with just having the content not visible to non-members; so worrying about links be passed about is a big concern.

  • #4 / Jul 01, 2007 8:39pm

    JT Thompson

    745 posts

    I use the suggestion above on my blog. Anyone who donates gets put in a special member group. That group doesn’t see any advertisements on the site at all.

    So all I did was use that if statement just prior to my ads on each section of the page:

    {if member_group == "5" OR member_group == "11" }

    It works great.

  • #5 / Jul 02, 2007 9:53am

    jschutt

    452 posts

    So if I am understanding correctly, I can use the Simple Commerce Module to accept a payment.  Upon receiving the payment, transfer the user to the “Members” group, and as long as my templates are set up as you mentioned, it should display the content for the new member.

    That seems pretty slick.

    Is there any performance issues with using the Global Variables as opposed to creating a “members only” section?

  • #6 / Jul 02, 2007 10:05am

    jschutt

    452 posts

    A second question -

    How would I set this up if I wanted to purchase the download of an MP3 on a one-time based purchase?

  • #7 / Jul 02, 2007 12:58pm

    allgood2

    427 posts

    For the performance question, I can state that there is no noticeable performance hit on the pages that we use it one. Accurately speaking if the page loaded at .457 seconds it may no load at .468 seconds, but we only track to make sure pages are loading under 1.0 second, preferably under .8 seconds, so the difference between the two would be negligible for us.

    We selected the visible if logged in and paid member option, because it was easier to implement, and it could apply across all content or to specific content areas. For example, for one client we just wanted it to apply to headline news items, and ONLY if the referenced article became unavailable. So the we have the membership check as an embed file, that’s called only if a field in the content is equal to a specific value.  Basically, when the client is posting related news items from anywhere, they write a summary, enter in the proper attributions, and a link to the full article. Additionally, though they state whether the article requires No registration, free or paid registration. Another field marks that the article is currently available on the web, and a third allows the full text of the article to be stored. Full text articles are never displayed for free or non-members.  But if the article becomes “unavailable” on the web, the user is a paid member, and the full text is available. Then the script will display the full text for the individual.

    For purchases, I’d probably set-up something like Expression Engine does, where a list of everything you’ve purchased is available. I’m not certain if Simple Commerce keeps track of this, but I imagine something like Solspace’s Favorites could be adapted for it.  I’m a big fan of continuous availability though; probably because I purchase and download things months before I actually use them, so frequently have to go back to the vendor to download again, or search through my back-up or archives. The vendor approach is easier; and I rate vendor significantly higher for that convenience only. 

    But if you were going for a onetime download only, then you’d probably want a script that encrypts the link, so it’s only usable once or to use a cookie or session variable to store information on what was purchased and make them only available for that session or that day (if cookie). I haven’t done this. I have some random ideas, but someone else may have more practical experience.

  • #8 / Jul 02, 2007 3:12pm

    jschutt

    452 posts

    Wow, now that’s a response!  Thanks so much for all the help.  I will continue to reference this thread as I set up our membership section.

  • #9 / Jan 04, 2008 11:41am

    Nico Smit

    48 posts

    Hey jschutt,

    Did you get any further with your audio-site? I to have a similar project a head: video archive where visitors can buy packages of minutes and with those minutes they are able to view online video clips. I’m currently trying to figure out which system i’ve to use; EE or some webshop out there. I’m curious if you’re already started working something out. Please let me know!

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases