MemberManager
Overview
MemberManager is a flexible site membership module for PostNuke. It allows administrators to specify levels of membership which site visitors may purchase and maintain. Through the PostNuke permissions system and/or the StaticContent page delivery module, you may specify modules or pages to which only members of various different levels may have access.
Current MemberManager version: 3.2.1.4
Documentation updated: 05/15/2007
Glossary
Category
Extended User Data
Level
Member
Newsletter Interface
Payment Processor
Search Page
Transaction
Configuration Options
Categories
Extended User Data
Field Permissions
Search Pages
Newsletter
Notifications
Payment Processor
How do I...
...add a new member manually?
...override a member's level?
...make some members not appear in search results or the directory?
...enter information about a membership payment I received by check or some other payment process?
...set up a new permissions group for my new membership level?
...set up a membership level for people who only want to get my newsletter?
...sign up for membership as a visitor?
Glossary
Administrator
An administrator is a user who has access to the administrative screens of the MemberManager module. Although both administrators and members are able to 'log in' to the website, an administrator does not have the same data associated with his account as a member. He may not purchase membership levels, and does not appear in the directory.
Category
A category is an arbitrary classification of members. It is distinct from a member's level, which is the classification that he acquires by completing transactions on your website. Categories can be used for any kind of secondary classification; in addition, they can be used to make a group of users 'searchable' or 'non-searchable'.
Categories may optionally be editable by members, or editing them may be restricted to administrators.
Extended User Data
By default, MemberManager tracks a pre-set group of fields for each member. These "core fields" include first name, last name, email address, and other important contact information. They are the basic fields that almost all membership environments require.
You can add additional fields to your membership database, however. These fields are called "Extended User Data". For instance, you might want to identify a facility number with every member, or have the member the products he offers. These fields are called "Extended User Data". To find out how you can add Extended User Data fields, see the section of this documentation entitled "Configuration Options".
Level
A level is the basic unit of purchase in MemberManager. It represents a level of privilege or association that your members buy. A level may confer corresponding real-world privilege, or may only grant access to certain restricted parts of your website - it's up to you how you use the tool.
A level is distinct from a category. Members buy levels; they are either assigned or choose a category, independently of their purchased level.
Member
A member is a visitor to your site that has registered for an account. A member must have a unique username and a password, as well as a unique email address. You may specify other fields which may be available or required; see the section of this documentation entitled "Configuration Options" for more information.
Members self-register for accounts, or you may manually create accounts. You do not need to create any accounts using PostNuke's User module; this is done for you. Members may return to your site at any time to alter their membership details or purchase/renew their membership levels.
After registration, members have the option to purchase membership levels, as specified by an administrator. A member may have an account but not yet have purchased a level.
Newsletter Interface
MemberManager can coordinate your membership list with a bulk email service. Although theoretically the newsletter interface is modular, as of this writing only synchronization with the Bronto bulk email service is supported. (You can also use the Export feature to generate a list of emails to synchronize with services that allow you to import data from a CSV file, like Constant Contact.)
To find out how you can set up synchronization with your bulk email account, see the section of this documentation entitled "Configuration Options".
Payment Processor
Payment processing in MemberManager happens using a third-party payment processor. Like the Newsletter Interface, payment processing is in theory modular. However, currently only PayPal is supported. More payment processors could be added as they are needed.
To find out how you can set up your payment processor, see the section of this documentation entitled "Configuration Options".
Search Page
A search page is a dynamically generated web page that lets you specify fields for which visitors to your site may search the member directory. For instance, one search page might be set up to let visitors select from a list of states and type in a name for which to search.
To find out how you can set up search pages, see the section of this documentation entitled "Configuration Options".
Transaction
A transaction is a single purchase made by a member. Transactions are either generated by the payment processor or entered manually by an administrator. (This lets you sell membership online and also accept payments by mail.)
To find out more about managing transactions, see the section of this document entitled "How do I enter information about a membership payment I received by check or some other payment process?"
Configuration Options
To modify general configuration options for MemberManager, click "Modify Configuration".
General Configuration
DEFAULT USERNAME / DEFAULT PASSWORD: Members that don't have a unique login (for instance, because they don't have an email address) will use this user name and the associated password to log in. You can use this to grant access to restricted content to users that don't have email addresses. Note that members may not 'sign up' for this account - there is only one, and you may give it out as you see fit.
NO-LEVEL LOGIN URL: By default, members that haven't yet purchased a membership level will go to the level purchase screen when they log in. If you want to override this behavior, enter a URL here.
DEFAULT LOGIN URL: By default, members that log in using the default username / password will be taken back to your homepage (index.php). If you want to override this behavior, enter a URL here for them to be taken to.
ADMINISTRATOR LOGIN URL: By default, administrators that log in using the MemberManager login screen (www.domain.com/index.php?module=MemberManager&func=login) will be taken to the main MemberManager administrative interface. If you want to override this behavior, enter a URL here to which administrators should be redirected on login.
DEFAULT PERMISSIONS GROUP: The Default Login Username will be a part of this permissions group. The permissions group must have already been created in the PostNuke Groups module, and its access privileges are modified in the PostNuke permission module
ITEMS PER PAGE IN ADMIN. INTERFACE: The main members list will be broken into pages with this many items on it. You may also opt to see the full list of members using the "All" link at the bottom of the member list.
DISPLAY DIRECTORY BY: You may select either Last name / First name or Company Name as the default field by which the public member directory is ordered.
HIDE 'EXPIRED' MEMBERS IN SEARCH RESULTS: You may select to not display members whose membership has expired in search results and the member directory.
LEVELS ACTIVE: You may choose to not allow members to buy levels. Select this if you are using MemberManager strictly for internal bookkeeping and don't want to sell membership levels online.
Categories
As described above in the Glossary, a category is a secondary method of classification for members. You can manage your categories in Modify Configuration -> Categories.
The most important thing about categories is the Searchable field. When you create or edit a category, you will have the option to make it 'searchable'. Only members in a 'searchable' category will appear in the directory or in search results. You can use this feature to make groups of non-searchable users regardless of their purchased membership level.
To create a category, click "Add Category" and fill in the fields. (Note: Not all display interfaces will make use of the category's "Description" field.) Use the Edit or Delete links to edit or delete an existing category.
Note that if you choose to delete a category, you will have an option to move the members in the category into a new category. If you un-check the box that says "Move members to a new category?", the members in that category will be deleted. This is not the default behavior.
Extended User Data
Most membership sites need more information about their users than just contact information. Extended User Data allows you to specify any number of extra fields you'd like, and gives you several options on what users can put into those fields. You can edit Extended User Data in Modify Configuration -> Extended User Data.
When you first look at the Extended User Data screen, there won't be any custom fields yet. To create one, find the Add Field button and look to the left. You will see a text-entry area and a drop-down menu. Enter the name of the new field in the text area and select one of the types from the drop-down menu. If you select "Single Selection" or "Multiple Selection" for the type, another box labeled "Values" will appear.
CHECKBOX: The field will be an on/off checkbox.
INTEGER VALUE: The user will be required to enter a valid integer value for this field, such as "42". "42.0" will not be allowed.
DECIMAL VALUE: The user will be required to enter a valid decimal value for this field. Both "42" and "42.0" will be allowed, but no other non-digit characters may be entered.
TEXT: The user will see a short text field. He may enter any data he wishes.
SINGLE SELECTION: The user will see a series of radio buttons; he may select one. The values he sees are the values you enter in the Values field, one on each line.
MULTIPLE SELECTION: The user will see a series of checkboxes; he may select any number. The values he sees are the values you enter in the Values field, one on each line.
Once you have set up your field, click "Add Field". Now you will see the field in the list of Extended User Data.
If you choose to add more than one field, you will also see a up/down arrows by each field. You can use these arrows to change the ordering of the extra fields. (Unless you make changes to the display templates for MemberManager, they will always appear after the core user data on any screen.)
To edit any custom fields, simply change the values in the list and click the "Update Field" button. To delete a custom field, click the "Delete" link next to the field. (This will delete all the values that your members have entered into this field; use Delete with caution!)
You can control which fields users may see and edit in "Field Permissions". Read on.
Field Permissions
You can use Modify Configuration -> Field Permissions to control the fields to which users have access.
For every core field and every field in Extended User Data, there are four options: Hidden, Visible, Editable and Required.
HIDDEN: Only administrators may see and edit this field.
VISIBLE: Members may see the value of this field, but they may not edit it. You might use this to make Category a classification which users can see but which only administrators may assign.
EDITABLE: Members may edit the value of this field.
REQUIRED: Members may edit the value of this field, and they must provide some value. Email and Password are always required. Multiple Selection fields may not be required.
Once you have selected the desired radio button for each field, click "Update" to save your settings.
Search Pages
Different sites' directory searching needs can vary widely. In Modify Configuration -> Search Pages, you can create links to search pages which allow any combination of fields to selectable or searchable.
What is the difference between 'selectable' and 'searchable'? In this context, a 'selectable' field presents all possible values in a drop-down menu, while a 'searchable' field allows the user to enter the text he wants to find.
What is the difference between 'AND' and 'OR' search pages? An 'AND' search page returns results which match all of the input criteria. An 'OR' page returns results which match any of the input criteria.
How do I put it all together?
1) Select AND or OR searching.
2) For each field you'd like to be selectable, click the radio button in the right column.
3) For each field you'd like to be searchable, click the radio button in the center column.
4) Click "Generate Search Page" at the bottom.
The link to your new search page will appear in a grey box at the top of the screen. Copy this link and paste it into a link field.
All the information required to present the search page is encapsulated in the URL; you may have as many search pages as you like, as long as you store the URL that this tool generates someplace.
Newsletter
MemberManager uses a modular newsletter interface system, but currently only Bronto is supported. You can edit your newsletter synchronization settings in Modify Configuration -> Newsletter.
NEWSLETTER MODULE: Select either "None" or a newsletter provider to use. After you select a newsletter provider and click the "Update" button at the bottom of the screen, more fields will appear. The exact fields you will need to fill in vary by provider, but almost all will require a user name and password. For more information on what values to put into the fields, contact your bulk email provider or bbirney@bbirney.com.
PROCESS RECORDS IN CHUNKS OF: When performing a full synchronization of all your records, the processing time may be so long that it causes your connection to the web server to time out. To address this problem, you can specify a 'chunk size' of records that will be processed at once, and then the connection will be refreshed. 100 is a good number if you're dealing with Bronto. Results for other providers may vary.
FIELD TRANSLATION: Different newsletter providers may provide different accommodations for custom fields. In this table, specify the names or IDs of fields on at the newsletter provider to which the local fields should be translated. To use Bronto as an example: Let us say you have a 'companyname' field in your Custom Fields data. You probably want this Bronto field to receive the contents of the "Company Name" MemberManager field. You would enter 'companyname' in the text box to the left of "Company Name".
Each individual value of a Multiple-Selection field is synchronized to a separate field at the bulk email provider. If you have the option to specify a 'type' of the field, it should probably be an on/off field; the sychronization tools will transmit either "1" or "0" for the value.
Notifications
MemberManager can send out automated email notifications to members who are approaching their renewal date or who have entered their grace period. (As of version 3.0.12, the actual contents of these emails are not administrator-editable. They can be altered by overriding module templates at the theme level. Contact your web developer.)
You can turn notifications on or off. If you choose to have notifications on, you will need to also add an entry to your web server's cron table to periodically check for members that need to be emailed. Your cron job should 'touch' http://www.example.com/index.php?module=MemberManager&func=send_notifications. For instance:
curl -g -d module=MemberManager -d func=send_notifications http://www.example.com/
It would be a good idea for this job to execute sometime when not a lot of people are visiting the site... for instance, at midnight.
If you're not comfortable creating a cron job, talk to you web developer. It's not difficult at all if you have the technical skills to understand a cron table. This kind of task rarely takes more than 5 or 10 minutes.
Payment Processor
Like the Newsletter synchronization tool, the payment processor is modular. Currently, however, only PayPal is supported as a provider. You can edit details of your payment provider in Modify Configuration -> Payment Processor.
PAYMENT PROCESSOR MODULE: Here you can select either "None" or a payment processor. Different payment processors have different required fields; however, in almost all cases there will be some kind of merchant ID. Once you select a payment processor and click "Update" at the bottom of the screen, you will see more fields that are specific to the payment processor. In the case of PayPal, these fields are "Merchant ID", "Locale" ('US' for US users), "Currency" ('USD' for US users) and Notify URL (which you can leave at the default setting).
TESTING MODE: If you turn on testing mode, all transactions will charge $0.01 instead of their normal price. Use this for, well, testing.
ALLOW DOWNGRADES: Some sites may not wish to allow users to 'downgrade' their membership level. If this is the case, you can turn off downgrading here.
How do I...
...add a membership level?
- Log in, go to the main MemberManager screen.
- Click the "Levels" link under the MemberManager title.
- Click "Add Level".
- Fill in the fields as follows.
- Level Name: Enter a name for the membership level.
- Level Description: Enter a description for the level. You may include graphical and styled elements in this field.
- Permission Group: Select a permission group for members of the level. If you haven't yet created a permissions group for this membership level, select the default group, then follow the instructions in "How do I set up a new permissions group for my new membership level?" Then edit the level you create in this tutorial and change its permissions group to the new permissions group. WARNING! On many PostNuke systems, the alphabetically first group is Admins. If you don't select some other group, new members will be added to the Admins group. This is almost certainly NOT what you want!
- Default Category: Any level may be assigned a default category. If a level has a default category, members who purchase/sign up for that level will be assigned to the default category unless they choose a category. For a suggestion on how to use this feature, see the section of this documentation entitled "How do I set up a membership level for people who only want to get my newsletter?"
- Cost: Enter the amount that members will be charged per billing cycle.
- Billing cycle: Select one of Annual, Monthly or Permanent.
- Allow Upgrade To: Check this box if members should be allowed to upgrade from any other membership level to this level.
- Allow Upgrade From: Check this box if members of this level should be allowed to upgrade to any other membership level.
- Newsletter ID: If you use newsletter synchronization, enter the name of the list to which members of this level should be synchronized. If you don't use newsletter synchronization, you can leave this blank.
- Login URL: By default, members will be taken to their profile screen when they log in. If you want to override this behavior, enter a URL in this box. Relative URLs are fine.
- Grace Period: A member will not be marked expired until this many days after his last purchased level expires. He will continue to be listed in the directory, even if MemberManager is configured to not show expired members in the directory.
- Expiration Date: The level may not be purchased after this date. If you don't want a level to expire, either leave it blank or enter all zeros.
- Click "Add Level" to finish.
...add a new member manually?
Normally members will self-register. However, you may also add a member directly through the administrative interface.
- Log in, go to the main MemberManager screen.
- Click "Add member"
- Fill in the data fields.
- If you want to override the member's purchased level, use the Level Override drop-down. This is different than entering a transaction for the user, and is intended only for temporary fixes. See the tutorial entitled "How do I override a member's level?"
- You may choose to have the member use the default user name. In this case, he will not have a unique login, and will only have access to the content specified for the default group. Use this option for members that don't have email addresses but still want to log in to your website.
- For members that will have their own login, provide a user name and password. On most PostNuke installations, this username is limited to 16 characters.
- Click "Add Member".
...override a member's level?
In the normal course of operation you should not need to override members' levels; they purchase and maintain the membership on their own. However, you may sometimes run into a clerical or promotional situation that requires you to temporarily override a member's purchased level. It is almost always better to manage a user's level using transaction than to override it directly. If you need to, here's how.
- Log in, go to the main MemberManager screen.
- Find the user whose level you wish to override. Click the "Edit" link for that user.
- Find the Level Override drop-down menu, and select the new leverl.
- Click "Update Member" at the bottom.
This will effectively make the member a user of the new level - including his newsletter subscription and permissions. Removing the override will put him back in whatever group/newsletter he should be in based on his transactions. For this reason, level overrides should only be used as a temporary measure.
...make some members not appear in search results of the directory?
A user's category controls whether he is 'searchable' - that is, if he appears in public lists of members. If you haven't yet created a category that isn't searchable, do so now.
- Log in, go to the main MemberManager screen.
- Go to Modify Configuration -> Categories
- Click Add Category
- Give the category a name and (optional) description, and un-check the "Searchable" box.
Now go back to the list of members, and find the member who should not appear in search results.
- Click the "Edit" link for that member.
- Change his category to the non-searchable category you created.
- Click "Update Member".
...enter information about a membership payment I received by check or some other payment process?
The best way to manage the level of members that don't pay via the website is to use custom transactions. A transaction is simply a record of a purchase - usually they're generated by your payment processor, but you can also add them yourself to record receipt of a payment.
To add a custom transaction:
- Log in, go to the main MemberManager screen.
- In the member list, find the member for whom you want to add a transaction.
- Click the "Transactions" link for that member.
- The screen that follows lists all the current transactions for the member. If you created the member yourself, there won't be any yet.
- Click the "Add Transaction" link.
- Fill in the fields as follows:
- DATE: The date for which the transaction should be recorded. The transaction will be valid for one billing cycle after this date. If the level he's 'buying' is an annual level, the transaction will cause him to be current in his membership for one year after the date of the transaction. For example, if I add a transaction on 01/01/2007 for an annual level, the member will be current until 01/01/2008, at which point he will enter his grace period.
- LEVEL: Select the level that this transaction purchased.
- QUANTITY: The number of billing cycles purchased. This must be at least 1, or the transaction will have no effect on the member's current level.
- GROSS PAYMENT: The amount that was paid.
- MEMO: This optional field can be used to make notes about the transaction.
- Click "Add Custom Transaction".
You may also find that you need to edit an existing transaction. This is OK, but there is one major issue you should be aware of: The "Lapsed" field.
What is the "Lapsed" field?
The "Lapsed" field is set when the system detects that a transaction has expired - that is, that the period of time for which it purchased a level has expired, and no subsequent transactions have renewed the membership. Lapsed transactions are not considered by the system when evaluating what a member's current level should be. Thus, if you ONLY change the date of a lapsed transaction but don't un-lapse it, it will not have any effect. Furthermore, if you un-lapse a transaction but don't change the date, it will go back to being lapsed, because the system thinks, correctly, that it has expired and is no longer relevant.
THE GOOD NEWS is that in most cases, you shouldn't need to edit either the date or lapsed flag of a transaction. If you receive a new payment for an expired account, just add a new transaction to reflect that payment, leaving the old one alone. This gives you a nice record of a user's activity and ensures that you don't have to try to get the date and lapsed flag right when editing a transaction.
However, if you find yourself in a situation in which you need to edit a transaction (for instance, because of a data entry error), be aware that the lapsed flag and date are both interdependent, and both must be changed at once to have the desired effect.
So, without further ado, to edit a transaction (custom or otherwise):
- Log in, go to the main MemberManager screen.
- Follow the instructions above to navigate to the list of the user's transactions.
- Click "Edit" by the transaction you wish to edit.
- The fields on this screen are very similar to the fields you see when adding a custom transaction. Many fields are locked to preserve the integrity of the data and cannot be edited. However, do note the Lapsed flag near the bottom of the screen. Again, this must be unchecked in conjunction with alterations to the date in order for the transaction to become relevant to the member's current status.
...set up a new permissions group for my new membership level?
When you set up a new level, you may want a new permissions group to go along with it. A permissions group describes a group of related pages or tasks to which a single group of users have access.
Ready? Good. Go to the Groups admin area. Add a new group. (For example, "Members".) Go to the Permissions module. Add in permissions (below the administrative users, ideally) that look like this:

As you can see, the permission group needs Add on MemberManager::Transaction and MemberManager::Datum, and Edit on MemberManager::Member.
...set up a membership level for people who only want to get my newsletter?
- Create a non-searchable category for Newsletter-Only members. (Instructions)
- Create a level called Newsletter-Only, and assign its default category as the Newsletter-Only category. (Instructions)
- Make the 'category' field either Hidden or Visible (but not Editable) in Modify Configuration -> Field Permissions. (Instructions)
Now users who sign up for the Newsletter-Only level will be assigned to the Newsletter-Only group by default (since they can't select a category themeslves). The result: They sign up for the newsletter, but are automatically given a category that prevents them from being displayed in search results.
...sign up for membership as a visitor?
So, after all that, how do you start earning money with your site's membership tools? This is what visitors do:
- Visit the signup page. (http://www.example.com/index.php?module=MemberManager&func=new).
- Enter core information and Extended User Data fields.
- Click "Sign Up!"
- If there are errors in his data, he'll be prompted to fix them.
- Once his information is error-free, he'll be taken to a screen where he can select and purchase a membership level. He'll also be emailed a welcome email with his username, password and instructions on how to return to the site.


