Edgewall Software

Changes between Version 22 and Version 23 of TracDev/ApiChanges/0.12


Ignore:
Timestamp:
Feb 5, 2010, 3:05:31 PM (14 years ago)
Author:
Remy Blank
Comment:

Added a section about removal of Authorizer and co.

Legend:

Unmodified
Added
Removed
Modified
  • TracDev/ApiChanges/0.12

    v22 v23  
    1919It's perfectly fine to go on using Trac without it, but then of course the interface will remain in English.
    2020
    21 == Modifications made to the 0.11 API ==
     21== Modifications made to the 0.12 API ==
    2222=== Modified Interfaces ===
    2323==== `IWikiMacroProvider` ^[source:trunk/trac/wiki/api.py@8372:85#L72 (0.12)] [source:branches/0.11-stable/trac/wiki/api.py@8372:90#L77 (0.11)]^ ==== #IWikiMacroProvider
     
    4141
    4242
    43 === Other Changes to the 0.11 API ===
     43=== Other Changes to the 0.12 API ===
    4444
    4545==== `prevnext_nav` support for i18n ^[source:trunk/trac/web/chrome.py@8597:158-164#L158 (0.12)] [source:branches/0.11-stable/trac/web/chrome.py@8550:139-144#L139 (0.11)]^ ==== #prevnext_nav
     
    122122See #8020 and #8675 for details.
    123123
     124==== Authz permission checking ==== #Authz
     125
     126Permission checking using an [http://svnbook.red-bean.com/en/1.5/svn.serverconfig.pathbasedauthz.html authz]-type file has been moved from an `Authorizer` instance used by `SubversionRepository` to a fine-grained permission policy `AuthzSourcePolicy` defined in [source:trunk/trac/versioncontrol/svn_authz.py@9125#L112 svn_authz.py]. This allows using authz files not only for Subversion repositories, but also for other repository types.
     127
     128Consequently, the `Authorizer`, `PermissionDenied` and `RealSubversionAuthorizer` classes as well as the `SubversionAuthorizer` function have been removed.
     129
     130See #7116 for details.
     131
    124132==== `Repository` constructor ^[source:trunk/trac/versioncontrol/api.py@9125:677,683-686#L674 (0.12)] [source:branches/0.11-stable/trac/versioncontrol/api.py@8353:191#L188 (0.11)]^ ==== #Repository
    125133
    126 The `authz` argument has been removed from the `Repository` constructor, and authorization processing has been moved to fine-grained permissions, in the optional `AuthzSourcePolicy` component defined in [source:trunk/trac/versioncontrol/svn_authz.py@9125#L112 svn_authz.py].
     134Due to the [#Authz authz] changes above, the `authz` argument has been removed from the `Repository` constructor.
    127135
    128136Conversely, a new argument `params` has been added to the `Repository` constructor. `params` is a dictionary containing various parameters for the repository, and is stored as a `.params` attribute in `Repository`. The value for the key `"name"` is the repository name (available as `.reponame`) as displayed in the source browser. The value for the key `"id"` (available as `.id`) is the surrogate key identifying the repository in the database.
     
    132140See #7116 for details on the `authz` argument, and #8731 for the `params` argument.
    133141
    134 ==== `Node` constructor ^[source:trunk/trac/versioncontrol/api.py@9125:905#L887 (0.12)] [source:branches/0.11-stable/trac/versioncontrol/api.py@8353:368#L354 (0.11)]^ ==== #Node
     142==== `Node` constructor  ^[source:trunk/trac/versioncontrol/api.py@9125:905#L887 (0.12)] [source:branches/0.11-stable/trac/versioncontrol/api.py@8353:368#L354 (0.11)]^ ==== #Node
    135143
    136144The `Repository` instance to which a node belongs is now passed as an additional `repos` argument to the `Node` constructor, and stored in the `.repos` attribute. This argument must be forwarded by `Node` subclasses (typically in plugins implementing version control backends).