On 2011-07-28 at 12:47:15, Peter Suter wrote: > On 28.07.2011 15:38, Chris Nelson wrote: >> Can I say "Implements foo" if "foo" isn't in the system? > Yes. > >> Are there non-core EPs? Can someone point me to an example? > One example is http://trac-hacks.org/wiki/TagsPlugin which defines > ITagProvider. Quite a few plugins optionally implement this interface, > for example http://trac-hacks.org/wiki/DownloadsPlugin or > http://trac-hacks.org/wiki/ScreenshotsPlugin.
That's very helpful. Thanks. I think I understand that when a plugin says "Implements(foo)" that the core builds up a list of plugins that implement "foo" but how does code that needs foo iterate over or find the implementations in the system? >... >> When I go looking for other interfaces, > http://trac.edgewall.org/wiki/TracDev/PluginDevelopment/Extens > ionPoints gets to a "this page doesn't exist" > > Did you see > http://trac.edgewall.org/wiki/TracDev/PluginDevelopment#ExtensionPoints > one level further up? ... Not until you pointed it out. Thanks. BTW, it says, "You can view a list of provided extension points on the page About Trac/Plugins of your Trac installation." but when I click "About Trac" in my ribbon then add "Plugins" to the URL, nothing happens and there seems to be no Plugins title anywhere on that page. So, I need to do something like class ITaskScheduler(Interface): Somewhere then any TaskScheduler implements the functions in that interface. How about naming? I presume all the trac.* namespace belongs to the Trac project (core, wiki, etc.). Is there a guide for creating new namespace? Can I start a tracpm (Trac project management) top level and build in it? (Is the "trac" prefix there redundant? What other top-level namespaces exist? -- You received this message because you are subscribed to the Google Groups "Trac Development" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/trac-dev?hl=en.
