How to quickly add tickets in Trac? [closed] - plugins

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
It's very painful to add multiple tickets to Trac or to have it as your own todo list. That causes people to use their own task management tools so tasks are then spread all around.
Is there any plugin or macro that would quicken the process of adding a ticket?

The following allows you to type a quick note. The note becomes a Trac ticket, assigned to yourself. I use this for very quick bugs and/or features I don't want to forget. Or, if I make up a feature I open then close a ticket for it, so I get full credit :)
- j
#!/usr/bin/env python
'''
trac-bug: add bug/feature to current Trac project, from the command line.
Specify Trac project directory in TRAC_ENV environment variable.
'''
import os, sys
TRAC_ENV = os.environ.get('TRAC_ENV') or os.path.expanduser('~/trac/projectenv')
if not os.path.isdir(TRAC_ENV):
print >>sys.stderr, "Set TRAC_ENV to the Trac project directory."
sys.exit(2)
from trac.env import open_environment
from trac.ticket import Ticket
t = Ticket(open_environment(TRAC_ENV))
desc = ' '.join(sys.argv[1:])
info = dict(
status='open',
owner=os.environ['USER'], reporter=os.environ['USER'],
description = desc, summary=desc
)
t.populate(info)
num = t.insert()
if not num:
print >>sys.stderr, "Ticket not created"
print >>sys.stder, vals
sys.exit(1)
print "Ticket #%d: %s" % (num,desc)
sys.exit(0) # all is well
Usage is brief:
$ trac-bug out of beer
Ticket #9: out of beer

If you're using Eclipse: Mylyn is perfect.
Otherwise you could always get the XML RPC plugin. http://trac-hacks.org/wiki/XmlRpcPlugin and roll your own little tool.
For quickly creating similar tickets, you could use the Clone plugin: http://trac-hacks.org/wiki/CloneTicketPlugin
Edit And I second Espen's idea with the SVN checkin hook, it works great for us, as well.

You could try using EmailtoTrack, so you can create tickets just by sending emails.
(Another neat track tip, if not directly related to your question, is to use a commit hook with your version control system so you can close tickets by doing commits. I've only tried this one for SVN, but it shouldn't be hard to port.)

There is also a command-line trac ticket creator on track-hacks, you have to run it on the same machine as the trac repo resides. I find the command line addition to be much faster than the web-based one.
http://trac-hacks.org/wiki/TicketToTracScript

Meanwhile one programmed TicketImportPlugin which creates or updates multiple tickets in one user interaction from Excel table.

If Mylyn is working for you, consider checking out http://tasktop.com too. Tasktop extends Mylyn with powerful productivity features such as automatic time tracking, web browsing support, email and calendar integration, and more.

Related

How to create exportable links to code lines using eclipse

I want to ask my co-workers Alice and Bob specific questions about particular lines in code, e.g. com.example.HelloWorld.java:l.435. It would be nice if I could take some links out of eclipse, mail them in text form to another developer (also using eclipse) and go over to the co-worker and talk about those lines (without manually going to com.example.HelloWorld.java:l.435), but have some clickable link instead.
I know the bookmarks feature of eclipse, but I don't see a how to insert bookmarks.
Edit: I think I'm going to create a plug-in to make bookmarks create a fake exception stacktrace, which can be inserted into stack trace console. Has the benefit that the receiver can use it without installing something. [added code-review tag]
There is no way built-in to do that kind of thing, but it's an interesting idea for a plugin. Have you tried searching in the Eclipse Marketplace (available from the Help menu) to see if there's anything close?
An alternative that might meet your productivity need (thought not your specific feature request), is real-time shared editing via the DocShare feature of ECF. If your entire team were to set this up, you could use it to do a shared editing session with teammates.

Perl documentation (POD) browsers? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm looking for is a good on-screen POD reading experience.
For years, I've used perldoc or man running in an xterm to read Perl documentation on screen, and a small custom program built around Pod::LaTeX to print it. The printed version is good: the script does a nice job. However, on-screen reading is painful:
You can search, but good luck finding e.g., the as section in DBIx::Class::ResultSet. Less doesn't know anything about the structure of the document, and searches for common English words are pointless.
I fear every time the document tells me see section so-and-so. Great. Now I have to find that. And then getting back to where I was won't be trivial (though that may be my less ignorance showing)
See document so-and-so is worse. !perldoc foo works, but switching between the two documents is then hard. You can mostly get around this by suspending less and running perldoc from the shell, but that's more keystrokes and I'm lazy.
Formatting leaves a lot to be desired.
I want to be able to click a table of contents, and go to that section. I want to be able to click that "see other" and go there. And so on. So far, I know of two possibilities:
search.cpan.org, example DBIx::Class::ResultSet. Requires an Internet connection, but that's not normally a problem.
Podbrowser. Just started trying this, looks pretty nice.
I'm running Debian GNU/Linux, both Lenny and Squeeze. But please suggest programs for all platforms to make this as useful as possible.
You can try Pod::Browser which is built-in http server that you can connect to with your browser, or something like Tk::Pod which is gui pod browser.
Have you seen CPAN::Mini::Webserver or Pod::POM::Web or Apache::Perldoc? These set up a local way for you to see nice, HTML versions of your docs.
I would recomment converting all your POD to HTML using pod2html
This makes it browsable, linked and nice looking, and you can customize look&feel via css.
Just to add two more POD servers that seemed to have been missed thus far!
Pod::Server
Pod::Webserver
Have a look also at Gtk2::Ex::PodViewer that is an excellent GUI viewer based on GTK. If you are using also Windows you can find a prebuilt wrapper in Camelbox (http://code.google.com/p/camelbox/).

How do you keep track of your programming TODOs? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm one of those people who can't get anything done without a to-do list. If it isn't on the list it doesn't exist.
Notepad Method:
When I'm programming I've been keeping notepad open with a list of to-do's for my current project. I'll constantly re-arrange these based off priority and I cross them off and move them to the completed section when I'm finished with that particular task.
Code Comments:
Some programmers pepper their projects source code with:
// TODO: Fix this completely atrocious code before anyone sees it
Plus, I know that there are some tools that show you a list of all TODOs in your code as well.
Website Task Tracker:
Remember The Milk
Backpack
Manymoon
Voo2do
Gmail Tasks
TeuxDeux
TodoDodo
Ta-da lists
... and many more
What have you found to be the best method of keeping track of your to-do lists for multiple projects?
Like others, I pepper them about my code, but I use the warning directive to generate a compiler warning too:
#warning TODO: Implement foobar
This way I can still search for "TODO" but they also shout at me whenever I build.
Pen and paper.
Combined with the genious PocketMod, it's totally perfect.
Striking TODOs is soooo satisfying!
I can't speak for other IDE's, but Eclipse will search your project's source files for TODO comments (as well as FIXME and XXX by default) and create tasks for you in the tasks view.
This leads to intriguing situations where you check the tasks view, double-click on a TODO task, and read the comment:
// TODO: Add this functionality.
Eclipse will also add TODO comments when generating certain code blocks, like method implementations, catch blocks for exceptions, etc.
TODO (and other) comments are great with Visual Studio and ReSharper installed:
(source: jetbrains.com)
Although I didn't try it I really like the idea of tests as todos. What else should get you going if not a failed test?
NextAction, from TimeSnapper
Personal Abstract Todos
I use Tomboy Notes or paper to make a quick list of abstract high level tasks. Often when I'm on the phone with my manager, I just need to get things written down.
Source Code Specfic Todos
I use the inline TODO: / #todo comment marker in my code and then use the Netbeans plugins that give me a running list of todos throughout the project. Since Netbeans can aggregate todo markers from multiple projects, it does not make a difference how many different projects I'm running.
Multiperson Tasks / Todos
Once I have to keep track of todos for more than myself, I move to project management software like OpenProj, MS Project, etc. Also, if the todos involve bugs or feature requests, I use our bugtracker. Other todos, can be manged by a helpdesk system as well.
I use ToDoList from AbstractSpoon. It lets you divide your ToDo list into projects and can even be used by a number of users for larger projects using a shared network drive.
For every task in a project i create a new entry in the issue tracker (Bugzilla for me).
A big advantage is that you can track back every changes made by the issue ID.
You can report customers or project members the status of your task.
You can create a new bug type like "task", "todo" or "feature-request".
It's a central solution. No local stuff...
I our development team there is a rule which says: "Do never change any code without a corresponding entry in the issue tracker. Never!"
I use Pen and Paper to jot down notes. I also use TODO/FIXME tags in code that gets highlighted yellow in Vim and tracked by the TODO extension in Komodo.
One of the most useful additions for me has been using Samurize to embed a plain text file onto my desktop (http://lifehacker.com/software/plain-text/geek-to-live--incorporate-text-files-onto-your-desktop-213280.php). I have 3 virtual desktops and it lives on my email desktop which is where I wind up first thing every morning. It contains a text file with the items that I need to do and it rarely runs more than a week ahead.
Wednesday 2/11/2009
- Item 1
- Item 2
Thursday 2/12/2009
- Item 3
I use Executor that has a keyword "todo" that automatically opens gvim with this file when I want to edit/add/remove items. This makes it about 3 keystrokes to get it open and ready to modify. It helps me remember the Monday morning production moves before I get buried in email and meetings. As soon as I edit, it's reflected on the desktop.
Obviously for longer and more detailed things, I rely on Roundup, Outlook reminders, etc. but this has been a handy way to jot things down so they won't get lost in the shuffle.
I use inline TODO: comments as Visual Studio will track these for me, of course I still have to look at the task list to see them. I cannot count the number of times I have found a TODO: comments whilst reviewing some code I thought was complete.
I would make a clear difference between FIXME and TODO. FIXME is a critical and must be fixed before commit/release. TODO can live a bit longer but should be cleaned away eventually.
A simple plain text file (TODO) in the top level of the project's cvs/svn area works for me for simple projects.
Like others have mentioned, I use the standard FIXME/TODO/XXX in my code comments, and then can find the list of tasks within my IDE using their various tools. I also use hudson's task scanner plugin to keep track of everything, since I'm a sucker for graphs.
I created a build task that picks out //TODO: lines from my code files and generates a report I include in team city. It gives you a quick way of see any outstandings on a project without having to check it out.
you can also use the CodeTagsPlugin with Trac
When programming Java in Eclipse, I find it really useful to, as you say "pepper my source code with // TODO: comments - mainly because Eclipse looks up each one in the project and compiles a task list for me =) In Visual Studio, there is a Task List panel, which I use sometimes, but I don't find it as streamlined as just having the comments in Eclipse.
I use eclipse as IDE, which collects all TODO's to a list and shows it in an outline. Very easy and usable.
I use emacs org-mode to keep track of not only code TODOs, but my whole life. It works as an extremely powerful outliner with some spreadsheet and calendar features as well. I use mercurial for lightweight version handling and simple replication between different machings.
It works surprisingly well.
Having done an extensive search for a suitable "to do list" application I settled on mylyn - the one that comes supplied with Eclipse.
It is easy to create and manage tasks. Tasks can be imported and linked to Bugzilla or a number of other different task repositories. It also has a "task context" which enables files that are relevant to a task to be highlighted and those that are irrelevant to be hidden (which is far more useful than I anticipated it would be).
Eclipse tracks your TODO and list them in a proper windows automatically. I find it powerful enough if you don't need advanced features.
I'm quite fond of tracks. It has the flavour of GTD without getting too regimented about it.
I can quickly whack stuff in there as I think of it, and then not have to worry about forgetting after that.
Wow, I just had this question yesterday. After some searching, I settled on the ReminderFox Firefox extension. It's completely integrated into the browser and has pop ups to remind you every time you open your browser when a task is due.
I like Mylyn a lot: integrated into Eclipse, works with many trackers as well as without (local tasks) and realizes new concepts like the focused UI.
There is also Task Scanner Plugin for Hudson (in case it fits in your environment). With that you can track number of TODOs/FIXMEs on your continuous integration build reports.
alt text http://www.86th.org/hudson.jpg
We use the "Open Tasks Trend" feature in Hudson, this works for a slew of languages. For our C# project we have 3 levels of tasks and this is accomplished by different TODO: style comments.
High Priority
Matches on FIXME:, HARDCODED: or HACK:
Medium Priority
Matches on TODO:
Low Priority
Matches on MEH: or CODEREVIEW:
Hudson will then take this list and trend graph it as shown in the picture, as well as have a sortable, filterable list of the tasks and it will display the messages on the web page with links that will take you right to the line in the source code on Hudson.
Plus we can easily setup points of interest for code reviews with CODEREVIEW: and have a nice concise list to print out.
I use Sandglaz and place my todos in 3 columns now, next and later (a little like their blog, but only one row)...and its easy and fast to use. I'm a freelancer so I work on several projects at a time so it works for me
I use pending tests only to remind myself to write tests. I use Rspec, so it has that build it.
For C++ projects (native/ATL):
#ifndef _TODO_H_
#define _TODO_H_
#pragma once
// from atldef.h:
#ifndef _ATL_STRINGIZE
#define __ATL_STRINGIZE(_Value) #_Value
#define _ATL_STRINGIZE(_Value) __ATL_STRINGIZE(_Value)
#endif
// put x in quotes, no need to use #pragma!
#define __TODO(x) __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : TODO: "x))
#define __WTF(x) __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : WTF?! "x))
// prefer to use ISO-formatted date
#define __BUGFIX(date, x) __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : BUGFIX: "#date" "x))
#define __CHANGE(date, x) __pragma(message(__FILE__"("_ATL_STRINGIZE(__LINE__)") : CHANGE: "#date" "x))
#endif _TODO_H_
Looking for something like that for C#.
doxygen can track such issues
One of our source code modules is absolutely littered with inline #pragma todo lines. The build output is polluted so we never can really tell when there are any new compiler warnings. Some of the todos have been there for years and the original developer has long since left the company.
When I have many many todos I discovered that it is useless to track them. You end up with hundreds of todos that can't be done.
Only write what you are asked (boss ) and do what bring the biggest benefits everyday.
I however have a next list. I wrote what I'm currently doing at the top and things I need to fix to complete it. My next list can be done in hours or days usually.

Any Notepad++ plugins to automatically save document versions [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Does anyone know of any notepad++ plugin that saves a version of whatever I'm working on periodically? Ideally, it would save many versions with the automatic version number and the date in the title, and perhaps store them in a zipped archive to save space.
Does something like this exist already, or shold I attempt to write such a plugin myself?
Thanks,
Cameron
P.S. It should be freeware or (preferably) open-source.
Settings > Preferences > Backup tab > Click Verbose Backup
This will time stamp a copy of your file every time you save.
Update:
AutoSave allows to automatically save the currently open files based on a timer schedule (default is 1 min) and/or upon the application losing focus. The plugin offers a couple of options to save the current (or all the files), selecting only the named ones, accessible through a menu.
[Via Lifehacker]
Update2:
BEWARE: If the Custom Backup Directory you set to is deleted/moved, then the backups won't happen! No error is thrown notifying you of the dead link!
You might be better off looking into something closer to "real" version control - Mercurial, perhaps. It doesn't require a server, and it's really easy to set up.
To automate it, you could turn on autosave in Notepad++, and set up a windows scheduled task to do an hg commit every few minutes.
It seems that you are a Windows user, so you have an option of using shadow copies, but copies are probably not generated often enough.
IntelliJ Idea and some other Java IDEs have local history feature.
I personally use TortoiseSVN and svn server on Dreamhost. This had additional benefit of having my files stored off-site in case of disaster.

What's the best way of diffing Crystal Reports? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
If you have two versions of the same report (.rpt) and you want to establish what the exact differences are, what is the best way to go about this? I've seen some commercial tools to do this, but I'm not too interested in forking out cash for something that should be relatively straight forward. Can I hook into the Crystal API and simply list all of the properties of every field or something? Please someone tell me that there's an Open Source project somewhere that does this... #:-)
#Kogus, wouldn't diffing the outputs as text hide any formatting differences?
#ladoucep, I don't seem to be able to export the report without data.
Can I hook into the Crystal API and
simply list all of the properties of
every field or something? Please
someone tell me that there's an Open
Source project somewhere that does
this... #:-)
There is in fact, such an API. I wrote a VB6 application to do just what you asked and more. I think I even migrated it to VB.Net. As it was for my own use, I didn't spend much time making it 'polished'. I've been intending to release it, but I haven't had the time...
Another approach that I've used in the past is to create an Access application to help manage large, report-development projects. One of it's many features includes the ability to extract the tables that are used by the report, and the SQL statements used by its Commands and SQL Expressions. It's intent is to give one a global perspective of which reports use which tables. I probably still have it somewhere...
** edit 1 **
BusinessObjects Enterprise XI (R?) has a feature named 'Meta Manager'. It will periodically examine the contents of the Repository and save the results to a database. It uses the Report-Application Service (RAS) to generate the meta data. It's an additional, 5-figure license, of course.
** edit 2 **
Consider using PowerShell to do the work: PsCrystal.
One helpful technique is to output both versions of the report to plain text, then diff those outputs.
You could write something using the crystal report component to describe every property of the report, like you described. Then you could output that to text, and diff those. I'm not aware of any open source tool that does it for you, but it would not be terribly hard to write it.
#question in the post:
Diffing the outputs would only show formatting changes if the relative positions had changed. For example, if i had this:
before:
First name, last name, addresss
after:
Last Name, First Name, Address
Then that would show up as a difference.
But if I had just bumped the address column over a few pixels, or changed it from plain text to bold, then you are right, that would not show up.
One technique I have used to great effect in the past is to print out reports from both versions based on the same data. I then take the first page from each version, lay one on top of the other (it is important not to mix them up) and hold them up to a window. It is generally quite easy to see any differences, and these differences can be manually annotated with a suitable writing instrument such as a pencil. Repeat for each page in the report.
Admittedly, for large reports this can be quite time consuming and error prone, but these limitataions can be overcome with patience and care.