On 2/25/13, Andrej Golcov <[email protected]> wrote:
> As previously discussed on the mailing list, a new generic interface
> IResourceChangeListener should be introduced.
Good !
> The commit introduces the interface and provides the first usage of
> the interface for Component resource.
> I would kindly ask community to review the change and provide feedback.
>
I will provide further feedback once I have a few minutes to take a
look and see the details . The broad scope of this work should cover
replacement for the following existing I*Listener interfaces :
{{{
#!sh
$ grep -r class trac | grep -v ".js" | grep Interface | grep Listener | more
trac/attachment.py:class IAttachmentChangeListener(Interface):
trac/ticket/api.py:class ITicketChangeListener(Interface):
trac/ticket/api.py:class IMilestoneChangeListener(Interface):
trac/versioncontrol/api.py:class IRepositoryChangeListener(Interface):
trac/wiki/api.py:class IWikiChangeListener(Interface):
}}}
So a superset of these will be needed . Notice that there are a few
exotic callbacks (e.g. attachment_reparented) and resource-specific
prefixes should be discarded .
Besides it would be the foundation to replace these ones as well .
{{{
#!sh
$ grep -r class trac | grep -v ".js" | grep Manipulator | more
trac/attachment.py:class IAttachmentManipulator(Interface):
trac/ticket/api.py:class ITicketManipulator(Interface):
trac/wiki/api.py:class IWikiPageManipulator(Interface):
}}}
Finally , it'd be nice to keep changes to be backwards compatible with
existing interfaces . I can suggest a few patches to work towards that
goal ... later .
> For the next step, I plan to add usage of IResourceChangeListener by
> other resources such as ticket, milestone, version and other
> AbstractEnum based resources.
>
Look forward to see this work .
;)
--
Regards,
Olemis.