香港六合彩

Post on 15-May-2015

1,149 views 0 download

Tags:

description

彩话一出口立马觉得不对,又一次面红耳赤不说话了. 我乐了,说:玉儿,来,让我亲一下. 香港六合彩冷冷地说不行.于是我又蔫了. 3.不管怎么说,我的病院生活变得快乐起来,洞人们没事儿就来我这里打牌,甚至芯儿带着我班一帮娘子军们也隔三岔五地来找乐子,说是想参观一下我两腿间受的伤! 最重要的是赵玉每天下午下课后都会过来,并且每天晚上都不愿意离开,洞人们劝香港六合彩说怎么可能每天晚上都不睡觉呢?新婚燕尔也不能如此通宵达旦无日无夜地玩儿呀!?不过赵玉持意要留下来,

transcript

This work was performed under the auspices of the U.S. Department of Energy by the University of CaliforniaLawrence Livermore National Laboratory under Contract No. W-7405-Eng-48.

Lawrence Livermore National Laboratory, P.O. Box 808, Livermore, CA 94551-0808

Identifying Marker. 1

A Tour of Roundup

Paul F. Dubois

AX-Division

Contributing Editor, IEEE Computing in Science and Engineering

Identifying Marker. 2

Unclassified

Unclassified

This talk is in increasing order of geekiness.

1.What is Roundup, and why is it useful?

2.A demo

3.Some technical / managerial details and suggestions

4.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.

Identifying Marker. 3

Unclassified

Unclassified

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.

Identifying Marker. 4

Unclassified

Unclassified

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.

Identifying Marker. 5

Unclassified

Unclassified

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.

Identifying Marker. 6

Unclassified

Unclassified

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.

Identifying Marker. 7

Unclassified

Unclassified

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.

Identifying Marker. 8

Unclassified

Unclassified

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.

Identifying Marker. 9

Unclassified

Unclassified

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.

Identifying Marker. 10

Unclassified

Unclassified

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.

Identifying Marker. 11

Unclassified

Unclassified

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

Identifying Marker. 12

Unclassified

Unclassified

A tracker is created in two steps.

1. 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.

2. Initialize: roundup-admin initialise.• 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

Identifying Marker. 13

Unclassified

Unclassified

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.

Identifying Marker. 14

Unclassified

Unclassified

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.

Identifying Marker. 15

Unclassified

Unclassified

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.

Identifying Marker. 16

Unclassified

Unclassified

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.

Identifying Marker. 17

Unclassified

Unclassified

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.

Identifying Marker. 18

Unclassified

Unclassified

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

Identifying Marker. 19

Unclassified

Unclassified

We have additional scripts that run periodically to enhance Roundup.

1. Email users a list of open issues assigned to them.

2. Email users a list of unassigned bugs.

3. Transfer comments made in source code submissions to the Roundup issues they pertain to, and close those issues if desired.

Identifying Marker. 20

Unclassified

Unclassified

Identifying Marker. 21

Unclassified

Unclassified

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.

Identifying Marker. 22

Unclassified

Unclassified

Demo

• This is the demo that comes with Roundup. After installing Roundup, run it to be sure your installation works.

Identifying Marker. 23

Unclassified

Unclassified

The email sent can be replied to, and has a link to the issue.

From: "Michael R. Zika Kull Tracker" <kullsupport@llnl.gov>To: brantley1@llnl.gov, dubois1@llnl.gov, tbyang@llnl.govSubject: [issue925] Can we stop the code based on some conditional?Date: 26 Jul 2006 20:53:00 +0000

Michael R. Zika <zika@llnl.gov> added the comment:

<snip> contents omitted

_________________________________________Kull Issue Tracker <kullsupport@llnl.gov><https://bugzi.llnl.gov/kull/issue925>

Support address

Link to issue

Identifying Marker. 24

Unclassified

Unclassified

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.

Identifying Marker. 25

Unclassified

Unclassified

I like putting Roundup “behind” the web server.

1) User logs into https://myplace.llnl.gov/mytracker

2) Web server is configured with “proxy pass” to redirect this traffic tohttp://myplace.llnl.gov:8070/mytracker

3) 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.

Identifying Marker. 26

Unclassified

Unclassified

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.

Identifying Marker. 27

Unclassified

Unclassified

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.

Identifying Marker. 28

Unclassified

Unclassified

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

Identifying Marker. 29

Unclassified

Unclassified

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.

Identifying Marker. 30

Unclassified

Unclassified

Customizing is probably a 200-level job.

• HTML -> TAL -> METAL languages just for the html area.

• Understanding of database basics.

• Python for the detectors.

Identifying Marker. 31

Unclassified

Unclassified

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.