Wednesday, April 18, 2018

Trac


Trac is a lightweight, open source issue tracking and project management tool that builds on Subversion byadding flexible web-based issue tracking, wiki, and reporting functionalities.
Install trac on Ubuntu:
http://trac.edgewall.org/wiki/0.11/TracOnUbuntu
Install Software Packages
sudo apt-get install apache2 libapache2-mod-python libapache2-svn python-setuptools subversion python-subversion
You may need install python Easy Install first.(http://peak.telecommunity.com/DevCenter/EasyInstall)
python ez_setup.py
sudo easy_install Trac
Setting Up a Trac Project
sudo mkdir -p /var/data/trac
trac-admin /var/data/trac/myproject initenv
sudo chown -R www-data:www-data /var/data/trac
By default, Trac will use an embedded SQLite database, which is sufficient for small projects.
Running Trac on the Standalone Server
tracd --port 8000 /var/data/trac/myproject
Then Your projects will be available on separate URLs: http://localhost:8000/myproject.
or:
python tracd -p 8000 \
--auth project1,/data/svn/svn-digest -auth-file,"Subversion repository" \
--auth project2,/data/svn/svn-digest -auth-file,"Subversion repository" \
/data/trac/project1 /data/trac/project2
Integrate Trac with Apache Server
You can set up authentication to use the same Apache basic or digest authentication that you use for your Subversion installation: simply use the same authentication type (AuthType), realm name (AuthName), and authentication file (AuthUserFile or AuthDigestFile).
LoadModule python_module modules/mod_python.so
<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/data/trac
PythonOption TracUriRoot /trac
PythonOption PYTHON_EGG_CACHE /tmp
</Location>
# use the following for one authorization for all projects
<LocationMatch "/trac/[^/]+/login">
AuthType Basic
AuthName "Myproject Repository"
AuthUserFile /etc/apache2/myproject.passwd
Require valid-user
</LocationMatch>
Restart Apache: sudo apache2 -k restart
Access your project: https://servername/trac/myproject
Administrating the Trac Site
trac-admin /var/data/trac/myproject permission add yuanyun TRAC_ADMIN
Trac Plugins
http://trac.edgewall.org/wiki/TracPlugins
Plugins are packaged as Python eggs. To use egg based plugins in Trac, you need to have setuptools installed.
easy_install http://trac-hacks.org/svn/usermanagerplugin/0.11
If Trac reports permission errors after installing a zipped egg and you would rather not bother providing a egg cache directory writable by the web server, you can get around it by simply unzipping the egg. Just pass --always-unzip to easy_install:
easy_install --always-unzip TracSpamFilter-0.2.1dev_r5943-py2.4.egg
You should end up with a directory having the same name as the zipped egg (complete with .egg extension) and containing its uncompressed contents.
Enabling the plugin
We can use trac web admin or edit trac project configuration file - trac.ini.
[components]
tracspamfilter.* = enabled
Tailoring the Trac Web Site: Using the Wiki Function
Headings
Headings and subheadings can be written using "=" and "==,"
Lists
You can use "*" for unordered lists, as shown here:
* Cats
* Burmese
* Siamese
Preformatted text can be displayed using {{{...}}}:
Trac tickets:
Trac issue tickets can be referenced using either the "ticket" link type (ticket:123) or the # shorthand form (#123).
Source code files:
Trac provides many ways to set up links to your source code. At the simplest level, files in the source code repository can be referred to using the "source:"
Using the Trac Ticket Management System
Creating a New Ticket
Customizing Trac Ticket Fields
Trac lets you customize the ticket screen in via its Admin pages.
Browsing the Source Code Repository
Using RSS and ICalendar

Useful plugins:
http://trac-hacks.org/wiki/UserManagerPlugin
http://trac-hacks.org/wiki/StractisticsPlugin
http://trac-hacks.org/svn/masterticketsplugin/0.11/
http://trac-hacks.org/wiki/TagsPlugin
http://stackoverflow.com/questions/194361/what-are-some-recommended-plugins-for-trac
http://trac-hacks.org/wiki/TicketImportPlugin


Labels

Review (561) System Design (304) System Design - Review (196) Java (179) Coding (75) Interview-System Design (65) Interview (60) Book Notes (59) Coding - Review (59) to-do (45) Knowledge (39) Linux (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (29) Product Architecture (28) Big Data (27) Soft Skills (27) Concurrency (26) MultiThread (26) Miscs (25) Cracking Code Interview (24) Distributed (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) OOD Design (20) System Design - Practice (19) Security (17) How to Ace Interview (16) Algorithm (15) Brain Teaser (14) Redis (14) Google (13) Linux - Shell (13) Spark (13) Spring (13) Code Quality (12) How to (12) Interview-Database (12) Interview-Operating System (12) Tools (12) Architecture Principles (11) Company - LinkedIn (11) Testing (11) Resource (10) Search (10) Solr (10) Amazon (9) Cache (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Company - Uber (8) Interview - MultiThread (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Scalability (8) Cassandra (7) Company - Facebook (7) Design (7) Git (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Machine Learning (7) NoSQL (7) Trouble Shooting (7) C++ (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) API Design (4) Be Architect (4) Big Fata (4) C (4) Company Product Architecture (4) Data structures (4) Design Principles (4) Facebook (4) GeeksforGeeks (4) Generics (4) Google Interview (4) Hardware (4) JDK8 (4) Optimization (4) Product + Framework (4) Python (4) Shopping System (4) Source Code (4) Web Service (4) node.js (4) Back-of-Envelope (3) Company - Pinterest (3) Company - Twiiter (3) Company - Twitter (3) Consistent Hash (3) Elasticsearch (3) GOF (3) Game Design (3) GeoHash (3) Growth (3) Guava (3) Interview-Big Data (3) Interview-Linux (3) Interview-Network (3) Java EE Patterns (3) Javarevisited (3) Map Reduce (3) Math - Probabilities (3) Performance (3) Puzzles (3) RateLimiter (3) Resource-System Desgin (3) Scala (3) UML (3) ZooKeeper (3) geeksquiz (3) AI (2) Advanced data structures (2) AngularJS (2) Behavior Question (2) Bugs (2) Coding Interview (2) Company - Netflix (2) Crawler (2) Cross Data Center (2) Data Structure Design (2) Database-Shard (2) Debugging (2) Docker (2) Garbage Collection (2) Go (2) Hadoop (2) Html (2) Interview - Soft Skills (2) Interview-Miscs (2) Interview-Web (2) JDK (2) Logging (2) POI (2) Papers (2) Programming (2) Project Practice (2) Random (2) Software Desgin (2) System Design - Feed (2) Thread Synchronization (2) Video (2) reddit (2) Ads (1) Algorithm - Review (1) Android (1) Approximate Algorithms (1) Base X (1) Bash (1) Books (1) C# (1) CSS (1) Chrome (1) Client-Side (1) Cloud (1) CodingHorror (1) Company - Yelp (1) Counter (1) DSL (1) Dead Lock (1) Difficult Puzzles (1) Distributed ALgorithm (1) Eclipse (1) Facebook Interview (1) Function Design (1) Functional (1) GoLang (1) How to Solve Problems (1) ID Generation (1) IO (1) Important (1) Internals (1) Interview - Dropbox (1) Interview - Project Experience (1) Interview Stories (1) Interview Tips (1) Interview-Brain Teaser (1) Interview-How (1) Interview-Mics (1) Interview-Process (1) Java Review (1) Jeff Dean (1) Joda (1) LeetCode - Review (1) Library (1) LinkedIn (1) LintCode (1) Mac (1) Micro-Services (1) Mini System (1) MySQL (1) Nigix (1) NonBlock (1) Process (1) Productivity (1) Program Output (1) Programcreek (1) Quora (1) RPC (1) Raft (1) Reactive (1) Reading (1) Reading Code (1) Refactoring (1) Resource-Java (1) Resource-System Design (1) Resume (1) SQL (1) Sampling (1) Shuffle (1) Slide Window (1) Spotify (1) Stability (1) Storm (1) Summary (1) System Design - TODO (1) Tic Tac Toe (1) Time Management (1) Web Tools (1) algolist (1) corejavainterviewquestions (1) martin fowler (1) mitbbs (1)

Popular Posts