Search

We now have version 1.0

This extension requires Symphony 2.2.1 and is not compatible with any previous releases of the Members extension.

Download

Thank you very much for all your work on this, brendo. Integrating the Members extension is probably the last step I need to accomplish to finish our team intranet. The timing on this couldn't be better! :-)

At the same time, I'm a little apprehensive about doing this because I have a lot of dependencies on Alistair's original Members extension and the Forum extension. And I just got the OpenID Authentication extension working perfectly with Google Apps and Alistair's Members extension. So, I'm wondering what challenges I will face as I update from Symphony 2.1.2 to 2.2.1 and rip out the old Members extension in favour of the beta.

If I can get this working, this will be so awesome!

Exciting, will be trying this out and putting it to good use on a couple projects. (Currently I have 3 projects that I have used older version on, nothing quite final though)

One question that I haven't seen answered yet - I see that there is no more "Member Link" field. Can you just use a normal Select Box Link to a Member and that will give the correct permissions to them according to the settings?

One question that I haven't seen answered yet - I see that there is no more "Member Link" field. Can you just use a normal Select Box Link to a Member and that will give the correct permissions to them according to the settings?

Correct, any field that integrates with the sym_section_associations, which at present is Select Box Link and Reference Link. Just use the Member: Email or Member: Username as the linked field.

So, I'm wondering what challenges I will face as I update from Symphony 2.1.2 to 2.2.1 and rip out the old Members extension in favour of the beta.

Updating 2.1.2 to 2.2.1 will have the same challenges as 2.2, there's no breaking changes in 2.2.1, so generally speaking, if you site works on 2.2, the upgrade to 2.2.1 should be smooth :)

In terms of Members, there's a couple of fundamental differences, the two biggest probably being that the Username/Password is now two fields with the hashing mechanism now sha1 not md5 and is also requires a salted. The other is Email Templates have been completely removed.

Some other changes off the top of my head:

  • The Timezone field now stores the timezone as text, instead of just the hours offset.
  • The Member Link field no longer exists.

Just an additional note to any keen testers comfortable with Git. As we are trying to release this extension sooner rather than later, development is pretty frequent on Members and you can always get the latest code by checking out the integration branch. There's already been another 6 commits since tagging Beta 2 yesterday.

As for everyone else, we will be packaging Beta's/RC as normal at milestones for testing.

Hi,

This extension is super great addition as expected :) I'm actually testing features.

First bug found is related to member's role field

Unknown column 'default_role' in 'field list'

    An error occurred while attempting to execute the following query

        * INSERT INTO `sym_fields_memberrole` (`field_id`, `default_role`) VALUES ('274', '1')

It seems that default_role should be added, or is it pointing to the wrong table ?

+----------+------------------+------+-----+---------+----------------+
| Field    | Type             | Null | Key | Default | Extra          |
+----------+------------------+------+-----+---------+----------------+
| id       | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| field_id | int(11) unsigned | NO   | UNI | NULL    |                |
+----------+------------------+------+-----+---------+----------------+

EDIT: fixed with adding default_role

+--------------+------------------+------+-----+---------+----------------+
| Field        | Type             | Null | Key | Default | Extra          |
+--------------+------------------+------+-----+---------+----------------+
| id           | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| field_id     | int(11) unsigned | NO   | UNI | NULL    |                |
| default_role | varchar(50)      | YES  |     | NULL    |                |
+--------------+------------------+------+-----+---------+----------------+

regards,

Thanks for testing Aliminium!

This is a curious bug, as the sym_fields_memberrole table is definitely created with a default_role.

Was this a fresh install, or were you updating from an older Member's version?

Was this a fresh install, or were you updating from an older Member's version?

I had updated symphony version from 2.2 to 2.2.1 Beta. Then added new Members Beta Extension.

I have also tested log in/out works well. Log-in is case-sensitive, would be nice to provide possibility to choose case's style.

A question about login state : is there another way of testing if logged in or not (a shortcut such as testing $member_id param)?

<xsl:choose>
  <xsl:when test="/data/events/member-login-info/@logged-in = 'yes'">
    ...
  </xsl:when>
  <xsl:otherwise>
    ...
  </xsl:otherwise>
</xsl:choose>

Other thing, for member timeZone, I have no items in the list of available timezones.

Before and after I installed the Email Template Manager extension, I have been getting the following error when I navigate to the Preferences page:

Fatal error: Class 'EmailTemplateManager' not found in /Users/stephen/Sites/domain7/team-members/extensions/members/extension.driver.php on line 496

This happens only when I checkout any commits after this commit to "Support Email Template Manager in the System Preferences".

If I check out the tag 1.0b2, I no longer encounter this error.

I'm getting that same error with 1.0b2. I replaced line 496 with

$driver = Symphony::ExtensionManager()->getInstance('emailtemplatemanager');
$templates = $driver->listAll();

and the error went away. I don't know if this will cause some other problem. I modeled it after the way the same thing is handled for Email Template Filter a few lines above.

@Bauhouse: this is probably because Members requires the EmailTemplateManager class to list the templates in its configuration panel.

However, if this class is not present (because the ETM has not been installed, or the manager has not been included yet), this will fail.

I will send a pull request in 10 minutes.

Pull request sent.

@creativedutchmen - With the change I described above there is no error even when Email Template Manager is not installed. At least not the same error that I was getting before the change. I might get other errors later.

@wisolman: but it will return errors if it IS installed, because the Email Template Manager doesn't use the same methods as ETF does..

I have changed line 495 - 513 with:

            // Email Template Manager
            // @link http://getsymphony.com/download/extensions/view/64322/
            try {
                $handles = Symphony::ExtensionManager()->listInstalledHandles();
                if(in_array('email_templates', $handles)){
                    if(file_exists(EXTENSIONS . '/email_templates/lib/class.emailtemplatemanager.php') && !class_exists("EmailTemplateManager"))
                    include_once(EXTENSIONS . '/email_templates/lib/class.emailtemplatemanager.php');

                if(class_exists("EmailTemplateManager")){

                    $templates = EmailTemplateManager::listAll();

                    $g = array('label' => __('Email Template Manager'));
                    $group_options = array();

                    foreach($templates as $template) {
                        $group_options[] = array('etm-'.$template->getHandle(), ('etm-'.$template->getHandle() == extension_Members::getConfigVar('reset-password-template')), $template->getName());
                    }

                    $g['options'] = $group_options;

                    if(!empty($g['options'])) {
                        $options[] = $g;
                    }
                }
            }
        }
        catch(Exception $ex) {

        }

Which seems to work in both cases (installed / not installed)

Confirmed. When I pull in your changes, the errors are gone whether the Email Template Manager is installed or not. Thanks, @creativedutchmen.

@bauhouse, Nice, good to hear!

edit: by the way, have you pulled the latest changed from the Email Template Manager (development branch)?

I just pulled the development branch now. No problems so far. But I'm not quite that far yet.

I'm still trying to figure out what I'm going to do with our intranet forum if I try to update the Members extension. The Forum extension depends on the memberlink field from the old Members extension, so it looks like I'm going to have to rip the forum out for now.

@creativedutchmen - Nope. No error, ETM installed or not installed. Of course I realize that although bauhouse and I were getting an error on the same line of extension.driver.php, what caused the errors might be different. I got the error when I tried to open System/Preferences to select my Active Members Section after I created it.

I've merged Huib's pull request to the Members repo, you might like to give that a try :)

Creating a registration form, it seems that if the Member section has a "Member: Role" field, upon submit I'm given a 500 server error. Not really sure how to debug further.

It submits fine without the role field, and I'm able to see the success/error message in ?debug.. I had the Member section created prior to adding the role field, would this somehow cause the issue? Anyone else able to replicate this?

Yep, I pushed a fix earlier today

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details