Edgewall Software

Changes between Version 3 and Version 4 of TracPluggableModules

Nov 19, 2004, 1:17:57 AM (18 years ago)

Everything a plug-in??


  • TracPluggableModules

    v3 v4  
    114114Comments, alternative approaches, constructive criticism, etc. Bring it on!
     118== Identity Crisis? ==
     120Eclipse is a fantastic tool and an excellent example of a very impressive plug-in architecture...  but, Eclipse is a "Rich Client Platform" - a universal tool.  It wants to be everything to everyone.  I think a better model for Trac to follow would be jEdit which has a wealth of plug-ins, but jEdit remains a text editor, not a plug-in manager with a text editing plug-in.  (I believe my example is correct, I've never looked under the hood of jEdit).
     122Trac, as defined in the logo at the top of this page, is an SCM Issue Tracker/Project Manager.  It makes good design sense to have a modular architecture (as it is now) and a plug-in interface for non-core extensions, but to make everything a plug-in??  What would Trac become?  It would be an empty shell that loads Python modules - but we already have Python to load Python modules.
     124I would say that the features available in Trac 0.8 are pretty close to what I would consider core functionality - but that is because I want the total package, one-stop shopping: SCM Issue Tracker/Project Management.  I can spare the 50 or 100k of disk space per module, even if I don't use them.
     126If a user doesn't want to use the TracRoadmap or the TracBrowser, etc - then why not have some boolean settings in TracIni to disable their appearance?  Its a poor-man's way to eliminate "bloat", but it would keep the current "core" intact.
     128I'm all for a plug-in interface for TracReleaselist and whatever anyone else can dream up (Anthill or CruiseControl plug-in, anyone?)  Personally, I do not think that refactoring the core into individual plug-ins provides any real benefit.  Developing a good plug-in extension interface for the existing core, however, would be very worthwhile.  And to develop a good interface is going to be tricky enough.