I have searched for a “how to build membership site” and could not find a proper one explaining everything in detail, so once I figured it out, I decided to write a quick “how to” article.

Please note that some guys might have better ways of doing this, but this is an easy and simple guideline to work from. This is not all that has been done to my site, but like I said the basics for creating a membership subscription site.

I am fairly new to webdesign and drupal, about 6 months of figuring out stuff by myself. No training, so the masters of Drupal is welcome to give some input on this and improve this method where needed. I just though it would be handy to some of the newbies.

Modules used for the membership:

Ubercart - http://drupal.org/project/ubercart

Ubercart recurring - http://drupal.org/project/uc_recurring

Some Ubercart payment gateways,

Auto assign roles - http://drupal.org/project/autoassignrole

optional – node limit number - http://drupal.org/project/node_limitnumber

Download and install these modules.

Create different roles “memberships” in Administer » User management » Roles

Create term like “Memberships” for Ubercart catalog in Administer » Content management » Taxonomy » Catalog » Add term

Change “Role assignment settings” and “Recurring fee settings” in Administer » Store administration » Configuration » Product settings >> Product features

Create product for a membership type in Administer » Content management » Create content » Product

Once product is created, Edit that product. Choose features tab on the top of the page

Add new feature – role assignment and make appropriate settings there

Add new feature – recurring fee and make appropriate settings there

Go through all Ubercart’s settings and make appropriate changes where needed.

My website has 3 different memberships (roles):

Free membership which is automatically assigned on register via auto assign roles module in Administer » User management » Auto assign roles (done with Auto assign roles - http://drupal.org/project/autoassignrole )

Mem1 – paid membership

Mem2 – paid membership

I made a block on the top left sidebar, asking the “free” and “mem1” members to upgrade account to a higher level. The block has a link to the Ubercart Catalog index page. In that block settings, make visible to “free” and “mem1” members only.

Anonymous users can not see that block. This is because of ubercart’s cart that gives problems with anonymous user checkout. So force them to register first and then buy the desired membership.

When they are ready to upgrade, the upgrade block is right there, easy to access and to remind them every day that more benefits is available. The block link will take them to the catalog page where they can choose between the 2 membership types. You can write the complete sales pitch for each membership in the product description.

Once they checkout and make the payment via a payment gateway, ubercart will grant them the role if payment has been done successfully. If you setup the role expiration correctly in role assignment settings, the access to that membership will be taken away “1 month” after last payment. If you setup the recurring setting correct, the user will be notified “5” days before membership expires, asking to renew membership, and same process follows. If you setup the settings correct in role assignment settings, the user will be able to buy 3, 4, 5 months and pay in advance.

Moving to the permissions part.

Our membership permissions:

Free Membership – read all content and post 5 classifieds (create limit done with node limit number module - http://drupal.org/project/node_limitnumber )

Mem1 – read all content, post unlimited classifieds

Mem2 – read all content, post unlimited classifieds, post unlimited advertisement pages

Classifieds and advertising pages can be made from “add content types” or extra modules can be used for them.

Then go through permissions page and set appropriate access, read, create and edit permissions to the different membership types “roles”

You can also start playing with extra modules and features line getting personal info from a user on registration by adding fields in Administer » User management » Profiles

Views, CCK and addon CCK modules is in my opinion the coolest and most useful modules when you eventually understand how they work and how to get the custom features you desire.
Views - http://drupal.org/project/views
CCK - http://drupal.org/project/cck

These methods will be used on my site at www.businessbrowser.co.za

Comments

Cameron Little’s picture

This is awesome, thanks! I'm trying this set up right now. I'll try to post any improvements I can find.

dawnieando’s picture

This tutorial is exactly what I was looking for.

Thanks

What do you think is the best theme for a social networking site?

s.grossman’s picture

you are amazing! thank you for your intellectual philanthropy- I am glad there are people in the drupal community that are continuously supporting eachother!

jmrfch’s picture

But I have a problem. I haven't Role assignment settings in the product features. I'm using Auto Assign Role 6.x-1.2.
Congratulations for your post.

jmrfch’s picture

gotosachin18@gmail.com’s picture

hiiii.....can u help me how to make a paid subscription with ideal payment? i stuck on this problum....plz help me. thanx in advance

Dseavers’s picture

I want to make a membership site, but I know not everybody is going join on the same day or even same month. How do I make it so that the monthly info or product is timed so that each individual member gets their info or product on a monthly basis according to the time they signed up.
Ex:
John Member, started his membership on 2/17/any year, his next product/info ( B ) will be available 3/17/any year
but......
Sally Member, started her membership on 2/27/any year, her next product/info (B ) will be available 3/27/any year
and then
Suzy Q member doesn't start her membership until 3/14/any year and her next product/info (B) should be availabe on 4/14/any year

I see this could be done for 2 or 3 members manualy, but what if you have 100-500 members.
Is there any a way to automate this task

webdevana’s picture

Can the above information be applied to Drupal 7 or just Drupal 6?

valderama’s picture

I am also wondering if something similar can be done with Commerce (the D7 version of Ubercart)..

Thx,
Walter

--

keine zeit für spielkonsolen mein leben ist jump n run!

valderama.net

pinkonomy’s picture

Hi,
I am also interested in such a thing for Drupal 7 with Commerce module.Could you update this guide for Drupal 7?
Thanks a lot!!

kapil.ropalekar’s picture

Follow these usefull links to create a Membership site for Role based and User based purchase of Premium content. Using Drupal Commerce, Rules and ACL.

http://commerceguys.com/blog/selling-node-access-drupal-commerce

http://commerceguys.com/blog/selling-content-drupal-commerce-using-conte...

Hope this solves your needs.

kapil.ropalekar

tonu110’s picture

Hello,
I have some premium content(some images) on my site and I want to add paid subscription(like $5/month) for them, but there should be a condition that every registered user can see 5 images for free in a month, and only then they require to subscribe. So how can I implement this using drupal 6.
Please help.
Regards

gigab’s picture

Thanks ;)

Rick Nashleanas’s picture

Just another option. We've been working hard on a membership family of modules: https://www.drupal.org/project/membership_entity

Kebz’s picture

Is there a step-by-step video or a tutorial??

I am trying to integrate PayPal with Drupal to create a membership/registration site.

I've had to do it manually ... but I prefer that users purchase first before accessing the site.

Any help would be greatly appreciated.

Thanks in advance! =)

~Kebz

Jaypan’s picture

http://torontowebsitedeveloper.com/drupal-video-tutorials/drupal-6-uberc...

Note - the title and URL say Drupal 6, but the video is for Drupal 7. It's slightly outdated, as Ubercart has had updates since this tutorial was created, but it's the same for the most part.

Kebz’s picture

I'll go view right now.

~Kebz

Kebz’s picture

I have just about every module and it is driving me bonkers trying to create the form that the potential subscriber would utilize and incorporate with PayPal. I'm also using CiviCRM

Does anyone have any simple solution without Ubercart?

~Kebz

paean99’s picture

Here are two video tutorial using Commerce from Drupalcon Austin 2014 Commerce by Example.
They are very instructive and seem relevant to this post.

Kebz’s picture

Is it best practice to download the commerce version?

~Kebz

paean99’s picture

I don't think there is a best practice in using Drupal Commerce or Ubercart.
They have different ways of doing things. It will really depend on the project and the developer.

Sorry for the late answer.

pbulebar’s picture

Here is a collection of useful materials for building a Membership website in Drupal: Resource Guide: Drupal for Membership Websites.

paean99’s picture

Excellent resource!
Thanks.

Kebz’s picture

Hi @pbulebar

Thank you for the Resource Guide link

I've been reviewing since you posted.

I've gone through various modules to create a membership, but there's no specific documentation on HOW to incorporate everything together. They're kinda like bits and pieces ... and some obsolete, un-maintained, etc

I'm looking for samples and instructions on how to implement when an anonymous user purchases a paid plan and then once purchased, it creates their specific role account AFTER they have made their purchase.

Any thoughts?... and without Ubercart

~Kebz

pinkonomy’s picture

Hi @Kebz,
do you know these modules?
https://www.drupal.org/project/membership_entity
https://www.drupal.org/project/membership_entity_commerce

You can use them to create a paid memberhship site.
Cheers

Kebz’s picture

Hi @pinkonomy ... love the name =)

Anyhoo... yes, I do... and I have both of them installed. As a matter of fact, I was just about to post an error it threw at me... lol.

My biggest challenge is incorporating with Registration. I want guests to purchase before creating an account. I haven't seen documentation on how to do it neatly. I need to get my site up and running today.

~Kebz

litnrod’s picture

@Kebz

I realize it's been a year, but, have you found documentation on how to setup purchase before registration?

~rodney