Trac - More Than Project Management
edgewall.org is a place where a community of software developers collaborate on creating exciting open source software based on the Python programming language. It is best known for the popular web-based project management tool Trac.
Trac is an enhanced wiki and issue tracking system for software development projects.
Where to start ?
How about starting with the core component model and work out to pluggable component 'realms' ?
Or maybe wrestle with the wiki parser/formatter to create a powerful, light-weight and Pythonic version of MediaWiki ?
Or go all the way and build a configuration knowledge base with an integrated process manager ? Or even a distributed document management system ?
I just can't decide.
Trac has 'good bones'. BSD licence.
https://github.com/edgewall/trac
.... Trac Installation Guide for 1.3 ... Trac uses the Jinja2 templating system :-) ... Python version >= 2.7 and < 3.0 :-( ...
Jinja2 from Pocoo/Flask
Jinja will be easier to use, but I hope Genshi continues to be developed. It's got really solid XML features that are ( more or less ) unique in the Python world.
Re-purposing Trac
About implementing the RuleForge project in Trac.
Deploying Trac as CGI
http://trac.edgewall.org/wiki/TracCgi
CGI script is the entrypoint that web-server calls when a web-request to an application is made. To generate the trac.cgi script run:
trac-admin /path/to/env deploy /path/to/www/trac
trac.cgi will be in the cgi-bin folder inside the given path. Make sure it is executable by your web server.
This command also copies static resource files to a htdocs directory of a given destination.
http://trac.edgewall.org/wiki/TracCgi#Apacheweb-serverconfiguration
Trac Plugins
http://trac-hacks.org/wiki/1.1
https://trac-hacks.org/wiki/1.2
Wiki
BackLinks | http://trac-hacks.org/wiki/BackLinksMacro |
Slide Show | http://trac-hacks.org/wiki/SlideShowPlugin |
Next-Previous Wiki Page | http://trac-hacks.org/wiki/NeighborPagePlugin |
Include Page | http://trac-hacks.org/wiki/IncludeMacro |
Styled Table | http://trac-hacks.org/wiki/TablePlugin |
Flexible TOC | http://trac-hacks.org/wiki/TocMacro |
Section Edit | http://trac-hacks.org/wiki/SectionEditPlugin |
Show last mod date | http://trac-hacks.org/wiki/LastModifiedMacro |
UML Macro | http://trac-hacks.org/wiki/PlantUmlMacro |
Markdown Macro | http://trac-hacks.org/wiki/MarkdownMacro |
Graph Viz | http://trac-hacks.org/wiki/GraphvizPlugin |
Embed Genshi | http://trac-hacks.org/wiki/GenshiMacro |
Footnote | http://trac-hacks.org/wiki/FootNoteMacro |
Folded Area Macro | http://trac-hacks.org/wiki/FoldMacroProcessorMacro |
Collapsible Area Macro | http://trac-hacks.org/wiki/CollapsiblePlugin |
Blog
http://trac-hacks.org/wiki/SimpleBlogPlugin
http://trac-hacks.org/wiki/FullBlogPlugin
http://trac-hacks.org/wiki/MyPagePlugin - daily user page
Tags
http://trac-hacks.org/wiki/TagsPlugin
Database
http://trac-hacks.org/wiki/SqlQueryMacro -> https://trac-hacks.org/wiki/SqlAlchemyQueryMacro
http://trac-hacks.org/wiki/WikiTableMacro
http://trac-hacks.org/wiki/WikinfoPlugin
http://trac-hacks.org/wiki/CardsPlugin -
A new macro [[Cards(...)]] shows a whiteboard containing index cards organized in stacks. Adding new cards interactively by clicking a button, move cards by drag-and-drop and double-click cards for editing or deleting.
Cards are stored in a new table in the Trac database.
XML/RPC
http://trac-hacks.org/wiki/XmlRpcPlugin
Workflow Admin
http://trac-hacks.org/wiki/TracWorkflowAdminPlugin
http://trac-hacks.org/wiki/QueuesPlugin
Process Management
http://trac-hacks.org/wiki/LogWatcherPlugin
Windows Service
http://trac-hacks.org/wiki/WindowsServiceScript
Paste
http://trac-hacks.org/wiki/TracPastePlugin
Repository
http://trac-hacks.org/wiki/BzrPlugin
Themes
http://trac-hacks.org/wiki/ThemeEnginePlugin
http://trac-hacks.org/wiki/CrystalxTheme
http://trac-hacks.org/wiki/LighterTheme
http://trac-hacks.org/wiki/TracpathTheme
Not much to work with ... is it worth it ?
http://trac-hacks.org/wiki/TracHacksPlugin
http://trac-hacks.org/wiki/MenusPlugin
Bookmarks - http://trac-hacks.org/wiki/BookmarkPlugin
http://trac-hacks.org/wiki/KeywordSuggestPlugin - autocomplete function for the keywords ticket field or any other text-based ticket field
Genshi Templating
Can Genshi do template 'matching' like XPath ? Can Genshi do it efficiently ?
The answer to both these questions is 'Yes'.
Genshi has great XML Include and XML Path support, unlike any other Python templating system I have encountered. If you are looking for a powerful XML templating system for a complex application or web site implemented in Python, this is probably it.
XML Templating Features
Genshi Templating Basics | https://pythonhosted.org/Genshi/templates.html |
Genshi XML Template Language | https://pythonhosted.org/Genshi/xml-templates.html |
Using XPath in Genshi | https://pythonhosted.org/Genshi/xpath.html |
Markup Streams | https://pythonhosted.org/Genshi/streams.html#event-kinds |
http://genshi.edgewall.org/wiki/ApiDocs
https://media.readthedocs.org/pdf/genshi/latest/genshi.pdf
Bitten ?
Bitten is a Python-based framework for collecting various software metrics via continuous integration. It builds on Trac to provide an integrated web-based user interface.