SlideShare a Scribd company logo
A Tour of Roundup Paul F. Dubois AX-Division Contributing Editor, IEEE Computing in Science and Engineering
This talk is in increasing order of geekiness. What is Roundup, and why is it useful? A demo Some technical / managerial details and suggestions Special guest appearance: real geeks from NIF “Wait for it” – Radar O’Reilly If your question is more geeky than my current level, wait and see.
Roundup is a versatile issue tracker. “ Issues” may represent: Bug reports, Wishes and features, FAQs,  Reports,  Handy files / examples, Notices to users or project members.
Issues have many parts. An issue Is classified by a  priority ,  Annotated by a  status  and  keywords ,  Can be  assigned  to someone,  Can have attached  files ,  Has an  email mini-list  of “nosy” people. Has a time-stamped  audit trail .
Users submit issues and follow ups by web or email. Users can send mail about issues to a support address, or reply to mail received from the tracker. Users can log on to the website to see / search / modify issues.
Users manage their own details. Using the tracker, a user can change their password, email, phone number, name, etc.  Registration can have email confirmation. Anonymous bug reports can be allowed, or not.  Not .
Choose your attitude toward the unwashed public. Allow anonymous users, or not, or with restrictions. Give different users different abilities. Show users with different privileges different views of the data. Even public sites like Python’s tracker have found that anonymous bug reports are a bad idea.
Nosy lists are Roundup’s big advantage. New comments about an issue generate mail to the issue’s “nosy list”. These custom mini-lists balance the amount of email each person gets. Artificial ‘mail list’ users can be added.
The nosy lists are user managed. Starts with the issue’s author and anyone he adds. Those who comment on the issue are added.  Anyone who gets “nosy” can add themselves. Anyone disinterested can remove themselves.
You can email new issues to a “triage team”. This ensures that every new issue is seen by someone. The small reactor for this is in the customization manual, but just ask me and I’ll mail you mine.
Roundup is easy to install and use. Download / install Python  Download Roundup and install runtime. No compiling required, it is in pure Python. Any platform
A tracker is created in two steps. Creation: roundup-admin init This populates the tracker with database and html templates. Edit the configuration file to state your url and email, choose some options. Initialize: roundup-admin initiali s e. Note the  s , it is Australian Edit and install server-ctl script. Set up desired email gateway. Execute server-ctl start Set up “keep-alive” cron job: server-ctl condstart
You have choices*. A tracker has: A database* (change what kind of db) A database schema* (add more fields) A set of html templates* (look and feel) Detectors* (audit/react) Extensions* (new, I don’t know them) All defaults are reasonable, but within very wide limits you can change almost everything.
One server can manage many trackers. An organization can run one server that serves several different trackers. This makes the most sense if the different projects can agree on most customizations so that a base customization is then branched to the separate projects.
You can add Python scripts that screen and react to changes. “Detectors” come in two flavors: Auditor: called when something is about to change, and gives you a chance to veto or modify it. Reactor: called after something has changed, gives you a chance to do something in response. The “nosy reactor” handles the nosy email, for example.
Here are some of our customizations. Project name in corner of each page. Restricting assignment of issues to developers not users. Adding due dates for issues. Added priorities for FAQ, Notices. Special treatment of status reports. Customized (remembered) searches. Link to “news” synchronized with source control. Link to project documentation.
We use our tracker for more than bugs and wishes. FAQ An issue when it is closed can often become an FAQ. We just give the issues priority and status of “faq”.  Status reports Status reports have a keyword “Status Report” and their nosy lists don’t email. Each contributes their report to the current “issue” Instant archive of progress reports.
Non-bug issues include features and wishes. Features Explanations of “how it is”, arguments about how it should be. Wishes User / developer requests for enhancement
We have additional scripts that run periodically to enhance Roundup. Email users a list of open issues assigned to them. Email users a list of unassigned bugs. Transfer comments made in source code submissions to the Roundup issues they pertain to, and close those issues if desired.
 
A link to “project news” on the first page shows you our main-line news directory in the project source. HTML link from main page to a “news” subdirectory. The news subdirectory is updated periodically with the source control system’s “sync” to copy the “main/news” directory from source control. This news directory has documentation of the latest changes submitted by the author along with their source changes.
Demo This is the demo that comes with Roundup. After installing Roundup, run it to be sure your installation works.
The email sent can be replied to, and has a link to the issue.  From: &quot;Michael R. Zika Kull Tracker&quot; < [email_address] > To:  [email_address] ,  [email_address] ,  [email_address] Subject: [issue925] Can we stop the code based on some conditional? Date: 26 Jul 2006 20:53:00 +0000 Michael R. Zika < [email_address] > added the comment: <snip> contents omitted _________________________________________ Kull Issue Tracker < [email_address] > < https://bugzi.llnl.gov/kull/issue925 > Support address Link to issue
There are 3 ways to deploy the server. Stand-alone server on a blocked port, with proxy-pass from (possibly secure) web server.  (See next slide) Stand-alone server on a public port.  As a CGI in the web server.
I like putting Roundup “behind” the web server. User logs into  https://myplace.llnl.gov/mytracker Web server is configured with “proxy pass” to redirect this traffic to http://myplace.llnl.gov:8070/mytracker Roundup server runs on blocked port 8070. Root must configure the web server by adding two lines; everything else can be done as a “normal” user.
An artificial user that owns roundup is a good idea. User “roundup” runs the server.  Maintainers login as themselves, then sudo su roundup to “become” this user. This is thus a shared account without a shared password. User “roundup” runs the cron jobs for server-keep-alive, mail gateway, etc.
There are two ¹  ways to configure the email access. Get ‘mysupport@llnl.gov’ POP account. Run roundup-mailgw every few minutes using a cron job to fetch mail from mail.llnl.gov. Use a mail alias on server’s machine that pipes mail into roundup-mailgw.  For classified servers, use this one. User “mail” and user “roundup” must be in a group. ¹ I lied, there is a third way I can’t explain.
Manage customizations with your source-control system. Main line: Roundup as shipped Branch to: Ours Modify Ours as desired and install tracker. When a new version of Roundup arrives, install it as changes to main line, then integrate main to “Ours”.  Use merge tools to resolve conflicts
The effort is proportional to the amount of customization. No backup needed except as normally done on the machine. Moving to a new machine is a small effort. The database can export / import csv files. Users do not seem to need much if any training.
Customizing is probably a 200-level job. HTML -> TAL -> METAL languages just for the html area. Understanding of database basics. Python for the detectors.
We love Roundup. Just the right amount of communication. For many developers, Roundup is their todo list. We think the email interface / nosy lists are the key. The first page displays the bug list without further action. History is captured, everything is searchable.

More Related Content

PDF
Email deposit
PDF
Assignment 2 - Power drill Grapevine "It's like Yik Yak, but for opinions ab...
PPS
Espacios
PPT
香港六合彩
PPT
六合彩-香港六合彩
PPS
Aprender Ensenando Feria 2008
PPT
International Options for US Affiliates
PPT
Endometrosis
Email deposit
Assignment 2 - Power drill Grapevine "It's like Yik Yak, but for opinions ab...
Espacios
香港六合彩
六合彩-香港六合彩
Aprender Ensenando Feria 2008
International Options for US Affiliates
Endometrosis

Similar to 香港六合彩 (20)

PDF
Open-Source Project Tools for Corporate Projects?
PPTX
Pentesting for startups
PDF
BUILDING MODERN PYTHON WEB FRAMEWORKS USING FLASK WITH NEIL GREY
PPTX
Opensource Development
PDF
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
PDF
Ruby On Rails Basics
PDF
Digital Fabrication Studio v.0.2: Information
PDF
Website Monitoring with Distributed Messages/Tasks Processing (AMQP & RabbitM...
PDF
Web Development with Python and Django
PPS
Open Source Library System Software: Libraries Are Doing it For Themselves
PDF
Django at Scale
ODP
Resources For Floss Projects
PPSX
Content management platforms
PPSX
Usefulplatforms
PPTX
Day 2-presentation
PDF
Equipment of Contribution
PPTX
Django - Python MVC Framework
PDF
Georgia Tech Hack Day
PDF
Using Wordpress To Create Your Website
Open-Source Project Tools for Corporate Projects?
Pentesting for startups
BUILDING MODERN PYTHON WEB FRAMEWORKS USING FLASK WITH NEIL GREY
Opensource Development
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
Ruby On Rails Basics
Digital Fabrication Studio v.0.2: Information
Website Monitoring with Distributed Messages/Tasks Processing (AMQP & RabbitM...
Web Development with Python and Django
Open Source Library System Software: Libraries Are Doing it For Themselves
Django at Scale
Resources For Floss Projects
Content management platforms
Usefulplatforms
Day 2-presentation
Equipment of Contribution
Django - Python MVC Framework
Georgia Tech Hack Day
Using Wordpress To Create Your Website
Ad

香港六合彩

  • 1. A Tour of Roundup Paul F. Dubois AX-Division Contributing Editor, IEEE Computing in Science and Engineering
  • 2. This talk is in increasing order of geekiness. What is Roundup, and why is it useful? A demo Some technical / managerial details and suggestions Special guest appearance: real geeks from NIF “Wait for it” – Radar O’Reilly If your question is more geeky than my current level, wait and see.
  • 3. Roundup is a versatile issue tracker. “ Issues” may represent: Bug reports, Wishes and features, FAQs, Reports, Handy files / examples, Notices to users or project members.
  • 4. Issues have many parts. An issue Is classified by a priority , Annotated by a status and keywords , Can be assigned to someone, Can have attached files , Has an email mini-list of “nosy” people. Has a time-stamped audit trail .
  • 5. Users submit issues and follow ups by web or email. Users can send mail about issues to a support address, or reply to mail received from the tracker. Users can log on to the website to see / search / modify issues.
  • 6. Users manage their own details. Using the tracker, a user can change their password, email, phone number, name, etc. Registration can have email confirmation. Anonymous bug reports can be allowed, or not. Not .
  • 7. Choose your attitude toward the unwashed public. Allow anonymous users, or not, or with restrictions. Give different users different abilities. Show users with different privileges different views of the data. Even public sites like Python’s tracker have found that anonymous bug reports are a bad idea.
  • 8. Nosy lists are Roundup’s big advantage. New comments about an issue generate mail to the issue’s “nosy list”. These custom mini-lists balance the amount of email each person gets. Artificial ‘mail list’ users can be added.
  • 9. The nosy lists are user managed. Starts with the issue’s author and anyone he adds. Those who comment on the issue are added. Anyone who gets “nosy” can add themselves. Anyone disinterested can remove themselves.
  • 10. You can email new issues to a “triage team”. This ensures that every new issue is seen by someone. The small reactor for this is in the customization manual, but just ask me and I’ll mail you mine.
  • 11. Roundup is easy to install and use. Download / install Python Download Roundup and install runtime. No compiling required, it is in pure Python. Any platform
  • 12. A tracker is created in two steps. Creation: roundup-admin init This populates the tracker with database and html templates. Edit the configuration file to state your url and email, choose some options. Initialize: roundup-admin initiali s e. Note the s , it is Australian Edit and install server-ctl script. Set up desired email gateway. Execute server-ctl start Set up “keep-alive” cron job: server-ctl condstart
  • 13. You have choices*. A tracker has: A database* (change what kind of db) A database schema* (add more fields) A set of html templates* (look and feel) Detectors* (audit/react) Extensions* (new, I don’t know them) All defaults are reasonable, but within very wide limits you can change almost everything.
  • 14. One server can manage many trackers. An organization can run one server that serves several different trackers. This makes the most sense if the different projects can agree on most customizations so that a base customization is then branched to the separate projects.
  • 15. You can add Python scripts that screen and react to changes. “Detectors” come in two flavors: Auditor: called when something is about to change, and gives you a chance to veto or modify it. Reactor: called after something has changed, gives you a chance to do something in response. The “nosy reactor” handles the nosy email, for example.
  • 16. Here are some of our customizations. Project name in corner of each page. Restricting assignment of issues to developers not users. Adding due dates for issues. Added priorities for FAQ, Notices. Special treatment of status reports. Customized (remembered) searches. Link to “news” synchronized with source control. Link to project documentation.
  • 17. We use our tracker for more than bugs and wishes. FAQ An issue when it is closed can often become an FAQ. We just give the issues priority and status of “faq”. Status reports Status reports have a keyword “Status Report” and their nosy lists don’t email. Each contributes their report to the current “issue” Instant archive of progress reports.
  • 18. Non-bug issues include features and wishes. Features Explanations of “how it is”, arguments about how it should be. Wishes User / developer requests for enhancement
  • 19. We have additional scripts that run periodically to enhance Roundup. Email users a list of open issues assigned to them. Email users a list of unassigned bugs. Transfer comments made in source code submissions to the Roundup issues they pertain to, and close those issues if desired.
  • 20.  
  • 21. A link to “project news” on the first page shows you our main-line news directory in the project source. HTML link from main page to a “news” subdirectory. The news subdirectory is updated periodically with the source control system’s “sync” to copy the “main/news” directory from source control. This news directory has documentation of the latest changes submitted by the author along with their source changes.
  • 22. Demo This is the demo that comes with Roundup. After installing Roundup, run it to be sure your installation works.
  • 23. The email sent can be replied to, and has a link to the issue. From: &quot;Michael R. Zika Kull Tracker&quot; < [email_address] > To: [email_address] , [email_address] , [email_address] Subject: [issue925] Can we stop the code based on some conditional? Date: 26 Jul 2006 20:53:00 +0000 Michael R. Zika < [email_address] > added the comment: <snip> contents omitted _________________________________________ Kull Issue Tracker < [email_address] > < https://bugzi.llnl.gov/kull/issue925 > Support address Link to issue
  • 24. There are 3 ways to deploy the server. Stand-alone server on a blocked port, with proxy-pass from (possibly secure) web server. (See next slide) Stand-alone server on a public port. As a CGI in the web server.
  • 25. I like putting Roundup “behind” the web server. User logs into https://myplace.llnl.gov/mytracker Web server is configured with “proxy pass” to redirect this traffic to http://myplace.llnl.gov:8070/mytracker Roundup server runs on blocked port 8070. Root must configure the web server by adding two lines; everything else can be done as a “normal” user.
  • 26. An artificial user that owns roundup is a good idea. User “roundup” runs the server. Maintainers login as themselves, then sudo su roundup to “become” this user. This is thus a shared account without a shared password. User “roundup” runs the cron jobs for server-keep-alive, mail gateway, etc.
  • 27. There are two ¹ ways to configure the email access. Get ‘mysupport@llnl.gov’ POP account. Run roundup-mailgw every few minutes using a cron job to fetch mail from mail.llnl.gov. Use a mail alias on server’s machine that pipes mail into roundup-mailgw. For classified servers, use this one. User “mail” and user “roundup” must be in a group. ¹ I lied, there is a third way I can’t explain.
  • 28. Manage customizations with your source-control system. Main line: Roundup as shipped Branch to: Ours Modify Ours as desired and install tracker. When a new version of Roundup arrives, install it as changes to main line, then integrate main to “Ours”. Use merge tools to resolve conflicts
  • 29. The effort is proportional to the amount of customization. No backup needed except as normally done on the machine. Moving to a new machine is a small effort. The database can export / import csv files. Users do not seem to need much if any training.
  • 30. Customizing is probably a 200-level job. HTML -> TAL -> METAL languages just for the html area. Understanding of database basics. Python for the detectors.
  • 31. We love Roundup. Just the right amount of communication. For many developers, Roundup is their todo list. We think the email interface / nosy lists are the key. The first page displays the bug list without further action. History is captured, everything is searchable.