What you need to create a membership website
Back to the tutorials list
PLEASE NOTE: This material is largely out of date. We plan to replace it. Later versions of the software mentioned are available and my have slightly different features.
Introduction
This is not a tutorial in the usual
sense; rather it is a list of useful resources for to setting up a
password-protected membership based, database driven website using the asp.net
controls of Expression Web and Visual Web Developer Express. To be an actual tutorial, this presentation would
need to be as long as the first referenced book below.
A. Recommended Reference Books -- These are books that I have
found most useful, and why:
1. "Sam's Teach Yourself ASP.NET 2.0 in 24 hours" by Scott Mitchell.
He has books on later versions of ASP.NET, which we have not read. The
later versions may contain this material also, but certainly the version 2.0 walks you
completely through the process of setting up a membership enabled
database-driven website. This book (or one of the later versions if they
also walk you through the process) is your step-by-step tutorial for
setting up your membership-based website! I can't recommend it highly
enough! If you don't buy any other book on this list, buy this one and read it.
Don't be put off by the fact that it isnt a book on Expression Web -- the fact
is that the asp.net controls in Expression web that you will be using for your
database work are well demonstrated in use by the sample website Scott shows you
how to build. It also introduces you to SQL database which you will need, since
the default database used by the membership controls is SQL Express.
This book includes way more details than can be presented here -- such things as
setting up roles using the Website Administration Tool and how to assign users
to Roles so that only approved users can access certain folders.
2. "Murach's ASP.NET 3.5 web programming with VB2008". This is
another indispensable book. It goes over all the asp.net controls in detail,
with actual code examples and explains how to use the controls.
3. "Using Microsoft Expression Web" , special edition by Jim
Cheshire. This is a good book on Expression Web and using it to build a website.
It walks you through all the basics, the design interface and gives good
explanations. It is *not* (as it states on the cover) "the only Expression Web
book you need". At least it is not if you consider, for example, sending
form-submitted information to a database as part of what you expect to do with
Expression. Jim left all the business about how to actually do anything with the
user-submitted data (e.g. send an email or write to a database) to his second
book.
4. "The Microsoft Expression Web Developer's Guide to ASP.NET 3.5"
by Jim Cheshire. This book gets into actually using the controls to interact
with a database, and provides a lot of good explanation for how things work. It
gets into some areas like compilation and using different Providers that don't
get discussed in other Expression Web books. I would buy it, and read it for
those reasons. But for the down-and-dirty working with the controls and
databases, refs. (1) and (2) are the ones.
Note: Jim Cheshire has a book on Expression Web 4, the final version of
Expression Web (which is currently offered FREE by Microsoft. We have not read
this book, but it is likely very useful.
5. "Foundations of Microsoft Expression Web, The Basics and Beyond"
by Cheryl Wise. The reason for buying and reading this book is that Cheryl
provides the approach to "doing things right" from the get-go. Especially if you
are a beginning web designer, you should read through her book to get off on the
right track, especially with regards to using Cascading Style Sheets and good
practice design for accessibility.
B. Software and Technology
1. Choose ASP.NET 3.5 or later as your technology and a host that supports it and SQL2000, 2005, or 2008. There are other more "open" approaches such as using PHP and Linux servers. My recommendation is to use asp.net for the simple reason that so much of the heavy lifting code is already done for you via the controls. Everything you need to manage users (password reminders, recovering passwords, logon feature etc) is already done for you. The host needs to support SQL databases since you will eventually have to move your SQL Express database to SQL2000, SQL2005, or SQL2008 or later.
2. Download Visual Web Developer Express and SQL Express (both are free)
as your primary development tools.
Yes, you probably came here because you use Expression Web, but the fact is that
Expression Web by itself is *not* a good tool for interacting with a database.
VWD is the tool you want to start with (all this is explained in ref (1) above).
Every page on your site should be first created using VWD, not Expression. VWD
will automatically create the code-behind pages that contain any VB code you
will eventually need for your database interactions, or for the application of
any business logic for your website. VWD is an excellent "sister" program to
Expression, and once you have created your website and your pages with VWD, you
can open the site and work on its design with Expression. But when you need any
VB code (you will), go back to VWD.
The reason to use SQLExpress is that the asp.net membership controls use it by
default. Perhaps the best deal on the internet is the VWD / SQL Express tool
combination that Microsoft makes available for FREE ! You can actually do this
job entirely with those two free tools -- VWD has most (not all) of the design
features that Expression Web has, so if you are on a tight budget, you don't
really *have* to buy Expression web at all!
Get Visual Web Developer 2010 Express
(Later versions available)
3. If you are going to accept payments for membership,
I recommend using the
Paypal Control by Spicelogic
which will do the heavy lifting
regarding payments, and the Spicelogic help team is very responsive. You can add
it to the Toolbox of VWD, and use it just like any of the other asp.net controls
and, as with all controls, the coding is all done for you. No worries about the
back and forth between your site and PayPal. You will probably need to do a
little VB code-behind to, for example, put the user who has just paid into a
"Paid" Role. Then, if you have set up your site -- following ref (1) -- such
that only people in the Role of "Paid" can access the password-protected portion
of the site, you are all set.
4. Port your SQL Express database to your host's SQL database
When you upload your site to your host, you need to transfer your SQL Express
database to the host, since most of them will not support SQL Epxress.
Detailed instructions on porting your SQL Express database to a webhost are
given in one of the members-only tutorials on this website.
The great thing is you never have to actually pay for SQLServer yourself !
C. Pick a web host.
We use
Interserver
. They are a good company with reasonable priced hosting plans and excellent support.
That's the basics. Remember, your basic guide to creating your site is the first
reference above (the Sam's book by Scott Mitchell). Use that as your roadmap.
There are many things not covered in this brief discussion that are covered in
Scott's book (for example the use of the Website Administration Tool for setting
up Roles etc) When you get stuck on anything related to web design, get help at
the
Expression Web Forum
, and when you need help with your database, business logic, or anything related
to code behind and the asp.net controls, get help at the
ASP.NET Forum
. And of course there are the other tutorials on this site, and many others.