[[PageOutline(2-5,Contents,pullout)]] {{{#!NewsFlash '''!ToDo''' * continue code review, increasing unit test coverage and bug squashing. * include code from other plugins and eventually obsolete these: * FineGrainedPageAuthzEditorPlugin * HtGroupEditorPlugin * UserManagerPlugin * UserPicturesPlugin * UserStatsMacro }}} = Manage Trac user accounts == Description This plugin offers features for managing user accounts on Trac. Key features: * enable authentication through a number of built-in [wiki:AccountManagerPlugin/AuthStores authentication resources] and some more by [wiki:AccountManagerPlugin/AuthStores#Othersources third party extensions] * allow users to [wiki:AccountManagerPlugin/RegistrationInspector register] new accounts * login via an HTML [wiki:AccountManagerPlugin#LoginModule form] instead of using HTTP authentication * allow existing users to change their passwords, even delete their accounts * send a new password to users who have forgotten their password * administration of user accounts * login failure tracking and rule based account locking (temporary or permanent lock) * per-account details admin page * password hash refresh and store migration on user login * [#Abouti18nl10nsupport i18n support] (requires Trac 0.12 or later) * account meta-data listing from Trac database table `session_attribute`, with cleanup option * [wiki:CookBook/AccountManagerPluginConfiguration#SingleSignOn Single-Sign-On] functionality for applications with multiple Trac environments per domain/host * other [wiki:AccountManagerPlugin/WikiMacros account-/user-related wiki macros] == Bugs/Feature Requests Existing bugs and feature requests for AccountManagerPlugin are [report:9?COMPONENT=AccountManagerPlugin here]. If you have any issues, create a [/newticket?component=AccountManagerPlugin new ticket]. Read the recommendations on [wiki:AccountManagerPlugin/TicketBurndown where to start]. Please respect our [wiki:License/MandatorySignOff rules for contributions], which are in effect for this plugin. [[TicketQuery(component=AccountManagerPlugin&group=type,format=progress)]] == Downloads and Source || **Old Version** ||\ || `Trac<1.0` ||\ || `pip install svn+https://trac-hacks.org/svn/accountmanagerplugin/tags/acct_mgr-0.4.4` ||\ || download from [export:accountmanagerplugin/tags/acct_mgr-0.4.4 trac-hacks] or from [pypi:TracAccountManager/0.4.4 pypi] ||\ || [/svn/accountmanagerplugin/tags/acct_mgr-0.4.4 subversion] || || **Stable Version** ||\ || `Trac>=1.0` ||\ || `pip install svn+https://trac-hacks.org/svn/accountmanagerplugin/tags/acct_mgr-0.5.0` ||\ || download from [export:accountmanagerplugin/tags/acct_mgr-0.5.0 trac-hacks] or from [pypi:TracAccountManager pypi] ||\ || [/svn/accountmanagerplugin/tags/acct_mgr-0.5.0 subversion] || [source:/accountmanagerplugin Browse the source] with Trac to see more, ie there is the [source:/accountmanagerplugin/tags /tags] branch containing the latest stable version as well as previous plugin revisions by version tag. For Subversion checkout use {{{svn co }}} with appropriate URL, see links above. == Installation General instructions on installing Trac plugins can be found on the [TracPlugins#InstallingaTracplugin TracPlugins] page. '''Hint''': Whether you are using `tracd` standalone server or a web-server, you must restart it to detect and load the plugin. '''Upgrades from previous versions''': Please see the [source:accountmanagerplugin/trunk/README.update README.update] file included in the source. To use the features of the !AccountManager some or all of its components need to be enabled. The available components are mentioned here, but are described in greater details on separate pages linked below. ||'''Component'''||'''Description/Purpose'''||'''Recommendation'''|| ||[wiki:AccountManagerPlugin/Modules#AccountManager AccountManager] ||This holds the core code of this plugin. ||This component ''must'' be enabled to use any of the other components. See [wiki:AccountManagerPlugin/Modules#AccountManager details]. || ||[wiki:AccountManagerPlugin/Modules#AccountManagerAdminPanel AccountManagerAdminPanel]^1^ ||This component adds new pages to the web admin section.||The admin part for managing related parts of Trac's configuration in `trac.ini` should be an important part of what you're expecting. See [wiki:AccountManagerPlugin/Modules#AccountManagerAdminPanel details]. || ||[wiki:AccountManagerPlugin/Modules#AccountModule AccountModule] ||Allows users to manage their account via tab "Account" in users "Preferences". They can change their password, or even delete their account, if permission granted by appropriate configuration.||The user accessible part, might be required or even forbidden depending on your use case. See [wiki:AccountManagerPlugin/Modules#AccountModule details]. || ||[wiki:AccountManagerPlugin/Modules#LoginModule LoginModule] ||Allows users to login via a HTML form instead of using HTTP authentication. ||Replace Trac's own login module for an alternative to Simple HTTP Authentication, but only one can be enabled at a time. See [wiki:AccountManagerPlugin/Modules#LoginModule details]. || ||[wiki:AccountManagerPlugin/Modules#AccountGuard AccountGuard] ||This component adds login failure tracking and administrative account locking. ||Use it as part of your security policy to protect against brute-force attacks on user passwords. See [wiki:AccountManagerPlugin/Modules#AccountGuard details]. || ||[wiki:AccountManagerPlugin/RegistrationInspector#RegistrationModule RegistrationModule] ||This adds a "Register" link on metanav, next to the Login link, where users can register a new account. The procedure of registration is configurable. ||See [wiki:AccountManagerPlugin/RegistrationInspector#RegistrationModule details]. ||[wiki:AccountManagerPlugin/RegistrationInspector#EmailVerificationModule EmailVerificationModule] ||A new email address will trigger an email with a verification code to enter, to approve it is really users own email address, and user account privileges cut down until successful verification. ||Implement a verification process for added or changed email addresses, if required. See [wiki:AccountManagerPlugin/RegistrationInspector#EmailVerificationModule details]. || ^1^ Name in acct_mgr-0.3 was `AccountManagerAdminPage`. If you are upgrading to acct_mgr-0.4 from an earlier version, and this feature was enabled using `acct_mgr.admin.AccountManagerAdminPages`, this feature will now be disabled until it is enabled using `acct_mgr.admin.AccountManagerAdminPanel`. The easiest way to learn about available components and enable them is via Trac's plugin admin page. Users logged in with the `TRAC_ADMIN` permission will be able to manage the enabled components: [[Image(components-admin_acct_mgr-0.4.png, border=2)]] Components can also be enabled or disabled in the [trac:TracIni trac.ini] file under the `[components]` section. == Configuration The [wiki:CookBook/AccountManagerPluginConfiguration configuration cookbook] is the recommended place to look for examples of basic configurations and more. To use the !AccountManager plugin, while logged in as a user with `TRAC_ADMIN` rights, use the "Admin" link on the menubar. You might want to change some permission assignments. For instance, if you remove `TICKET_MODIFY` and `WIKI_MODIFY` permission from the "anonymous" group and add it to the "authenticated" group instead, then only authenticated, logged-in (registered) users can perform ticket modifications and wiki editing. `TRAC_ADMIN` is not strictly required for access to account administration pages provided by !AccountManager. The `ACCTMGR_*` permissions are sufficient, and should even be preferred where appropriate, ie to limit delegation of administrative tasks to just account administration by granting `ACCTMGR_USER_ADMIN`. == About i18n/l10n support Starting with acct_mgr-0.3 this plugin has been prepared for localization, and English message texts are the (POSIX) default. If English is not your preferred language, you can: 1. Check if it's already available from the [TracPluginTranslation Trac plugin l10n project] at [http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/acct_mgr Transifex] or 1. Do it yourself, see the [trac:wiki:CookBook/PluginL10N#Dotranslatorswork l10n cookbook page for Trac plugins] for more details. Contributing your translation is highly appreciated. You could send it to the plugin's maintainer or contribute to [TracPluginTranslation Trac plugin l10n project] via [http://www.transifex.net/projects/p/Trac_Plugin-L10N/ Transifex]: Top translations: Trac_Plugin-L10N ยป [http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/acct_mgr/ acct_mgr][[BR]] [[Image(transifex_acct_mgr-messages_v0.3.png, title=Status for acct_mgr-0.3, alt=translation coverage - stable release)]] [[Image(http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/acct_mgr/chart/image_png, title=Go to Trac_Plugin-L10N project page on Transifex.net, link=http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/acct_mgr/)]] '''Left''': Status for acct_mgr-0.3.[[BR]]'''Right''': Near-sync to `trunk`. Kindly provided by [[Image(https://ds0k0en9abmn1.cloudfront.net/static/charts/images/tx-logo-micro.png, link=http://www.transifex.net/, title=the open translation platform, valign=bottom)]] Preparing the plugin from source requires '''no additional steps''' for compiling message catalog files. To include `# fuzzy` translations only, you'll want to do a manual message catalog compilation with the extra `-f` argument before packaging: {{{#!sh cd accountmanagerplugin/ python ./setup.py compile_catalog -f python ./setup.py bdist_egg }}} On-screen messages about missing `locale` directory are often a side-effect of failure to compile any message catalog for inclusion into Python egg, hence the whole path is missing. Due to a known Trac issue, Babel has to be installed prior to Trac to get it all working as expected. See the [t:wiki:CookBook/PluginL10N#Compileanduseit l10n cookbook page for Trac plugins] for more details. == Recent Changes [[ChangeLog(/accountmanagerplugin,3)]] == Author/Contributors '''Author:''' [wiki:mgood] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:''' [wiki:coderanger], [wiki:crocea], [wiki:janakj], [wiki:jun66j5], [wiki:manski], [wiki:mrelbe], [wiki:otaku42], [wiki:pacopablo], [wiki:riggs], [wiki:rjollos], [wiki:s0undt3ch], [wiki:lgaifax] [[BR]]