[[PageOutline(2-5,Contents,pullout)]] = trac.ini Editor Panel == Description This plugin allows the Trac admininstrator to edit the `trac.ini` file using Trac's admin interface. Its goal is to provide the user with a complete and user-friendly interface. Key features: * Edit and/or view one section at a time or all sections together. * Each option comes with a ''lot of information'', such as description, option type, stored value, default value. * ''Unobtrusive !JavaScript'' support, so that the editor works without !JavaScript, but the user experience is better with !JavaScript enabled in the browser. * ''Adding new sections and options'' (section entries) * Support for a ''security manager''. This manager controls which options can be modified by the user and can also reject certain values for certain options. This plugin comes with an (optional) basic security manager, see below. * Support for marking options as "password", eg for `[notification]:smtp_password`, for enhanced security. Some options are already marked as "password" by default. The ini editor provides support for a pluggable security manager. A security manager has the following functions: * decide for each option whether the user can modify it, or whether it's read-only or ever hidden from the user. * check each value that is to be saved and reject it if necessary. This plugin comes with two predefined security managers: * An "empty" security manager that doesn't impose any restrictions at all, ie it works as if no security manager was specified. * A basic security manager that lets you define restrictions via `trac.ini`, see configuration below. [[Image(screenshot-inieditor1.png, border=3)]] [[Image(screenshot-inieditor2.png, border=3)]] === Difference to IniAdminPlugin === #IniAdminPlugin There is a similar plugin, the IniAdminPlugin. There are some features that this plugin provides and that don't exist in the !IniAdminPlugin: * Creating new sections and (more important) new options. This allows you to even edit the sections `[ticket-custom]` or `[ticket-workflow]` which can't be done with !IniAdminPlugin. * Allows you to edit all sections at once. * Only needs one entry in the admin menu. !TracIniEditor creates one entry per section, ie the more plugins you've installed the more entries you'll get. * Information about an option: the option type (list, extension list, bool), the currently stored value, the default value. * Let's you easily revert an option to its default value using a checkbox. * !IniAdminOnly allows you to hide certain options. This plugin allows you to mark options as "read-only" thereby allowing the user to see its value but don't allowing him/her to change it. One last difference is the way each plugin displays the options of a section: while !IniAdminPlugin uses a groupbox per option, this plugin uses as list/table to display them. You can compare these two options here from screenshots: [attachment:compare-tracsection-iniadminplugin.png IniAdminPlugin] vs. [attachment:compare-tracsection-traciniadminpanel.png TracIniAdminPanel] == Bugs/Feature Requests Existing bugs and feature requests for !TracIniAdminPanelPlugin are [report:9?COMPONENT=TracIniAdminPanelPlugin here]. If you have any issues, create a [/newticket?component=TracIniAdminPanelPlugin new ticket]. [[TicketQuery(component=TracIniAdminPanelPlugin&group=type,format=progress)]] == Source / Download See the [wiki:TracPlugins#Requirements Trac plugin requirements] for instructions on installing `setuptools`. `Setuptools` includes the `easy_install` application which you can use to install the TracIniAdminPanelPlugin: {{{#!sh easy_install TracIniAdminPanelPlugin }}} You can also obtain the code from the Trac Subversion repository: {{{#!sh svn co http://trac-hacks.org/svn/traciniadminpanelplugin }}} or download [export:traciniadminpanelplugin zipped source]. You can [source:traciniadminpanelplugin browse the source] in Trac. == Installation This plugin requires Trac 1.0. An older branch is available for Trac 0.12.x also. This plugin has no dependencies. See TracPlugins for instructions on building and installing plugins. A link for [/svn/traciniadminpanelplugin/trunk/#egg=TracIniAdminPanelPlugin-dev setuptools to find the SVN download]. A link for [/svn/traciniadminpanelplugin/0.12/#egg=TracIniAdminPanelPlugin-dev setuptools of 0.12 instances to find the SVN download]. == Configuration Configuration is done via `trac.ini` in the section `[ini-editor]`. The following example lists the most important ones: {{{#!ini [ini-editor] ; Defines the security manager to use. Each security manager is a ; component on its own and must be enabled using the plugin admin ; panel or trac.ini. security-manager = IniEditorBasicSecurityManager ; Comma-separated list of options that are to be considered "password fields". ; All of Trac's password options are already predefined by default and don't ; need to be listed here. ;password-options = section|option }}} If you want to use the `IniEditorBasicSecurityManager`, you need to configure it via `trac.ini` too. The permissions are configured in the section `[ini-editor-restrictions]`. The following "options kinds" are available here, where "access level" is one of `modifiable`, `readonly`, or `hidden`: * `default-access`: Defines the access level for options that don't get a specific access level assigned to * `section|option`: Defines the access level for a specific option in a specific section (e.g. `trac|mainnav`). * `section|*`: Defines the default access level for all options in the specified section (e.g. `trac|*`). This can be overwritten with the previous "option kind". There is an example configuration provided by this plugin which resembles a white-list of "secure" options. You can find it [source:traciniadminpanelplugin/0.12/safe-restrictions.ini here]. == Translation 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/resource/iniadminpanel/ Transifex]: Top translations: Trac_Plugin-L10N ยป [http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/iniadminpanel/ iniadminpanel][[BR]] [[Image(http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/iniadminpanel/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/iniadminpanel/)]] 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)]] == Known Issues If you get a message like {{{KeyError: 'inieditorpanel\\locale'}}}, the likely cause is that Babel was not installed before Trac, so there's no multi-lingual support. Either reinstall the installation (Babel first) or try the version of this plug-in tagged as '0.12' which is a beta release but doesn't require a locale. == Recent Changes [[ChangeLog(traciniadminpanelplugin, 3)]] == Author/Contributors '''Author:''' [wiki:manski Sebastian Krysmanski] [[BR]] '''Maintainer:''' [[Maintainer]] [[BR]] '''Contributors:'''