= Trac Development = These pages provide information about the development of Trac and extensions for Trac (such as WikiMacros and other kinds of plugins). Most of the information was written for 0.9, but we try to maintain it up-to-date with the latest version of Trac (currently 0.11). We also do our best to signal what has been deprecated/removed between releases, see our [TracDev/ReleaseNotes Release Notes] and summary of [TracDev/ApiChanges API changes]. Start by doing a [TracDev/DevelopmentEnvironmentSetup Development Environment Setup] and become familiar with [TracInstall installing Trac] and creating new ["TracEnvironment"]s. Then, you should read a bit, in order to get familiar with Trac's [TracDev/ComponentArchitecture ComponentArchitecture], [TracDev/PluginDevelopment PluginDevelopment] and [TracDev/DatabaseApi DatabaseApi]. See also TracTroubleshooting, which contains useful debugging tips that are also quite useful during development. Note that we're picky about our [TracDev/CodingStyle CodingStyle] and you'd better follow them when [TracDev/SubmittingPatches SubmittingPatches]. In order to be accepted, they should pass the unit-tests and the [TracDev/FunctionalTests FunctionalTests]. Ideally, you should also contribute new tests. Incidentally, discussions about Trac Development happen on the [http://groups.google.com/group/trac-dev/topics Trac-Dev] mailing list. `Trac-Dev` can also be used as an InterWiki prefix in order to refer to specific mails sent to that MailingList, e.g. Trac-Dev:1, or googlegroups:trac-dev:1b9c4e3eaeda3a0d (in the latter example, the "id" being the one of the ''Individual Message''). See TracDev/Branches and TracDev/Proposals to get an idea of what the development activity is (or was). == TracDev/ Index == === Release Notes and API changes === [[TitleIndex(TracDev/ReleaseNotes/)]] [[TitleIndex(TracDev/ApiChanges)]] === Development Guides === ==== Overviews ==== - TracDev/ComponentArchitecture - TracDev/PluginDevelopment - TracDev/DataModels - TracDev/DatabaseSchema ==== Getting Started ==== - TracDev/DevelopmentEnvironmentSetup - TracDev/DevelopmentWithEclipseAndPyDev ==== Testing ==== - TracDev/UnitTests - TracDev/FunctionalTests ==== Misc. Thematic Guides ==== - TracDev/DatabaseApi - TracDev/DatabaseUpgrades - TracDev/VersionControlApi - TracDev/HttpMethods - TracDev/JavaScript - TracDev/UnicodeGuidelines - TracDev/PortingFromClearSilverToGenshi ==== Contributing ==== - TracDev/CodingStyle - TracDev/SubmittingPatches - TracDev/ReleaseChecklist - TracDev/ToDo === Development Branches === [[TitleIndex(TracDev/Branches)]] === Development Proposals === [[TitleIndex(TracDev/Proposals)]] === Trac Development Translation === Chinese Trac Development Doc. :: ZhTracDev [[TitleIndex(ZhTracDev/)]]