PHPackages                             ajshort/silverstripe-memberprofiles - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. ajshort/silverstripe-memberprofiles

Abandoned → [silverstripe-australia/memberprofiles](/?search=silverstripe-australia%2Fmemberprofiles)Silverstripe-module[Authentication &amp; Authorization](/categories/authentication)

ajshort/silverstripe-memberprofiles
===================================

Member registration and profile management

1.2.1(9y ago)11.5k11BSD-3-ClausePHP

Since Dec 14Pushed 9y ago2 watchersCompare

[ Source](https://github.com/ajshort/silverstripe-memberprofiles)[ Packagist](https://packagist.org/packages/ajshort/silverstripe-memberprofiles)[ RSS](/packages/ajshort-silverstripe-memberprofiles/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (9)Used By (1)

SilverStripe Member Profile Pages Module
========================================

[](#silverstripe-member-profile-pages-module)

Maintainer Contacts
-------------------

[](#maintainer-contacts)

- Marcus Nyeholt ()

Requirements
------------

[](#requirements)

- SilverStripe 3.1 &amp; 3.2 - [master branch](https://github.com/ajshort/silverstripe-memberprofiles)
- SilverStripe 3.0 - [1.0 branch](https://github.com/ajshort/silverstripe-memberprofiles/tree/1.0)
- SilverStripe 2.4 - [0.5 branch](https://github.com/ajshort/silverstripe-memberprofiles/tree/0.5)

Installation Instructions
-------------------------

[](#installation-instructions)

1. Place this directory in the root of your SilverStripe installation.
2. Visit yoursite.com/dev/build to rebuild the database.

Usage Overview
--------------

[](#usage-overview)

A new page type is added in the CMS called a "Member Profile Page". This allows you to create a page that allows users to register and/or manage their profile. Registration can be enabled or disabled in the "Behaviour" tab.

### Content

[](#content)

The "Profile", "Registration" and "After Registration" allow you to set an individual title and content to display for each of these contexts.

### Profile Fields

[](#profile-fields)

In the "Main" tab you are presented with a table to manage the fields that a user is presented with on the profile page. These are automatically kept in sync with the Member object.

You can control if the field is shown on registration, or to already registered users. You can also give it a custom title, and for some fields a default value that is pre-populated on registration. You can also specify if the field is required, or should be unique across all messages. A custom error message can also be set to display if there are any validation errors.

### Groups

[](#groups)

You can choose a set of groups that are attached to the profile page. When a user registers they will be added to these groups, and an existing Member must belong to these groups in order to edit their profile on this profile page.

In addition to the fixed group membership, users are also able to select optional groups to belong to (if desired). The list of groups they can select from is chosen in the bottom group list. To actually let users select, the "Groups" field must be made editable in the list of fields above.

### Validation

[](#validation)

The "Validation" tab makes it possible to enable email validation, which means that a user must click on a link emailed to them before they can log in.

If a user loses their confirmation email, or you wish to manually confirm an account you can do so via the "Security" CMS section - just click on a member and there will be a dropdown down the bottom allowing you to perform these actions.

### Template Usage

[](#template-usage)

You can link to the profile page with the optional ?BackURL= parameter which will set a URL that the user will be redirected to after they complete registration. This requires the "RegistrationRedirect" property to be set on the After Registration tab.

If you like, you can manually set a redirection target by setting Session::set('MemberProfile.REDIRECT') to a URL value.

Examples
--------

[](#examples)

### Custom Fields

[](#custom-fields)

This example shows how to add a custom phone number field to the `Member` object which is available on the member profile page. You do this by using an extension to add the database field, and then hooking into `Member::updateMemberFormFields` to add the form field. The module then picks this form field up and makes it available in the CMS.

```
class MemberExtension extends DataExtension {

  private static $db = array(
    'PhoneNumber' => 'Text'
  );

  public function updateMemberFormFields(FieldList $fields) {
    $fields->push(new TextField('PhoneNumber', 'Phone number'));
  }

}
```

Known Issues
------------

[](#known-issues)

[Issue Tracker](http://github.com/ajshort/silverstripe-memberprofiles/issues)

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 66.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~195 days

Recently: every ~135 days

Total

6

Last Release

3642d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9fd5c1e0c77bbe7997506234b8890f968f53b2bbf770ab2850851c96bb427263?d=identicon)[ajshort](/maintainers/ajshort)

---

Top Contributors

[![ajshort](https://avatars.githubusercontent.com/u/31570?v=4)](https://github.com/ajshort "ajshort (111 commits)")[![nyeholt](https://avatars.githubusercontent.com/u/161730?v=4)](https://github.com/nyeholt "nyeholt (42 commits)")[![benedikt-s](https://avatars.githubusercontent.com/u/641045?v=4)](https://github.com/benedikt-s "benedikt-s (3 commits)")[![3Dgoo](https://avatars.githubusercontent.com/u/2616373?v=4)](https://github.com/3Dgoo "3Dgoo (3 commits)")[![Zauberfisch](https://avatars.githubusercontent.com/u/186158?v=4)](https://github.com/Zauberfisch "Zauberfisch (2 commits)")[![ivoba](https://avatars.githubusercontent.com/u/471254?v=4)](https://github.com/ivoba "ivoba (2 commits)")[![Neumes](https://avatars.githubusercontent.com/u/8358226?v=4)](https://github.com/Neumes "Neumes (2 commits)")[![heffaklump90](https://avatars.githubusercontent.com/u/292179?v=4)](https://github.com/heffaklump90 "heffaklump90 (1 commits)")[![sheadawson](https://avatars.githubusercontent.com/u/1166136?v=4)](https://github.com/sheadawson "sheadawson (1 commits)")[![drdrak3](https://avatars.githubusercontent.com/u/4945757?v=4)](https://github.com/drdrak3 "drdrak3 (1 commits)")

---

Tags

silverstripeprofileregistrationmember

### Embed Badge

![Health badge](/badges/ajshort-silverstripe-memberprofiles/health.svg)

```
[![Health](https://phpackages.com/badges/ajshort-silverstripe-memberprofiles/health.svg)](https://phpackages.com/packages/ajshort-silverstripe-memberprofiles)
```

###  Alternatives

[symbiote/silverstripe-memberprofiles

Member registration and profile management

10152.3k3](/packages/symbiote-silverstripe-memberprofiles)[in2code/femanager

Modern TYPO3 Frontend User Registration.

49745.4k6](/packages/in2code-femanager)[silverstripe/contentreview

Flags pages for periodical author review (incl. reporting)

22264.3k4](/packages/silverstripe-contentreview)[froog/silvergraph

Generates data model visualisations from SilverSripe DataObjects, displaying database fields, relations and ancestry

425.7k](/packages/froog-silvergraph)[nucleos/profile-bundle

Registration and profile management for symfony

12218.5k1](/packages/nucleos-profile-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
