wiki:Notes/PythonTrac

Trac - More Than Project Management

Edgewall site

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.

http://trac.edgewall.org/

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

See SharedHosting#Hostmonster

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

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.

Also See

Search wiki for 'trac'

http://www.wikimatrix.org/compare/MoinMoin+TracWiki

PythonMoin

PythonMarkup#MediawikiMarkup

Last modified 5 days ago Last modified on 04/24/2017 12:14:58 PM