Installation and Requirements

Requirements

Compatible with eZ Publish 4.1 and later versions.

Installation

  1. Copy the ezmbpaex folder into the "extension" directory in the root of your eZ Publish installation and unpack the files.
  2. Update the eZ Publish database by running

    $ mysql -u<username> -p<password> <ezdatabase> -P<port> < extension/ezmbpaex/sql/install/mbpaex.sql
    

    in the command line from the root of your eZ Publish installation.

  3. The default settings in extension/ezmbpaex/settings/mbpaex.ini (or an override) must be customized as follows:

    [mbpaexSettings]
     
    # Regular expression used for password validation when
    # none is defined in the contentobject
    PasswordValidationRegexp=
     
    # Default lifetime for password in DAYS
    # 0 means no limit (passwords never expire)
    DefaultPasswordLifeTime=0
     
    # Number of seconds before password expiration to send a
    # mail notification to the user
    # Default 172800 (2 days)
    ExpirationNotification=172800
     
    # Number of seconds that the forgot password generated hash will be valid
    # Default 86400 (1 day)
    ForgotPasswordHashLifeTime=86400
     
    # Login of the eZ user used in the updatechildren cronjob, must have access to
    # read the Users section.
    UpdateChildrenUser=admin
    
  4. Enable the extension in "site.ini.append(.php)" in the /settings/override folder of your eZ Publish installation.
    In "site.ini.append(.php)" you must add "ActiveExtensions[]=ezmbpaex" to the block [ExtensionSettings]. It will then most likely look like this:

    [ExtensionSettings]
     
    ActiveExtensions[]=ezoe
    ActiveExtensions[]=ezodf
    ActiveExtensions[]=ezwebin
    ActiveExtensions[]=ezmbpaex
    
  5. To prevent a user, whose password has expired, from having undesired access to default user module views which are not effected by the password expiration settings, you should only enable users to access the views you need them to. All standard views will then get access denied. These changes should be added to the global override of site.ini: (Note: these adjustments can be done in the site.ini of you eZ Publish installation as well as in the site.ini of ezmbpaex.)

    [SiteAccessSettings]
     
    AnonymousAccessList[]
    AnonymousAccessList[]=user/success
    AnonymousAccessList[]=user/activate
    AnonymousAccessList[]=userpaex/password
    AnonymousAccessList[]=userpaex/forgotpassword
     
    [RoleSettings]
    PolicyOmitList[]
    PolicyOmitList[]=user/login
    PolicyOmitList[]=user/logout
    PolicyOmitList[]=userpaex/password
    PolicyOmitList[]=userpaex/forgotpassword
    
  6. The setup overrides the template used in replacement of node/view/full.tpl to display users and users groups in Administration Interface.
    In the root of your eZ Publish installation at /extension/ezmbpaex/settings/siteaccess, you will find a folder that will be used for the "admin" siteaccess.
    But if your admin siteaccess has a different name than this folder, you should add the content of the override.ini.append.php file to the override.ini of your custom admin siteaccess.
  7. Next you must regenerate the autoloads array to include the new classes present in Password Expiry Extension.
    This can be done with the following command:
    $ php bin/php/ezpgenerateautoloads.php --extension
    
  8. Clear all caches to complete the installation.
Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2013 eZ Systems AS (except where otherwise noted). All rights reserved.