I finally used BFAV2 to help incorporate the last batch of updates, and it works pretty well. (I used v2.01.) It was reasonably easy to get my UpdateIncorporationTool working with the new BFAV2 client.
The appearance of all messages on a subject (even those with an "Re:" prefix) is very cool! Also the ability to see fixes going years back is nice. :)
Here's my longish random list of improvements I'd eventually like to see with BFAV2 (I could help with some of these if necessary)...
- Add "Approved but not yet Update" preference, or similar mechanism. I had to do this myself for BFAV2 to be useful to me at all, although most people might not need it. Here's the code I used (of course it should be done as a preference or menu item rather than hard-coded)...
statusFilterBlock "return only the groups marked as approved" ^ [ :group | group isMarkedAsApproved and: [group hasNoStatus not and: [group isMarkedAsClosed not and: [group isMarkedAsUpdate not]]]]
- Have some way to optionally download/cache posts locally... Hmm, wait a minute, it looks like this is working now that I disconnect from the network. But I didn't think it was working, because when I click on a fix, it takes a long time (about 5 seconds) to load the contents of the message, so I assumed it was downloading from the net each time. Using MessageTally, it turns out that this is just slowness due to several calls to #fileExists, which is known to be slow (on some platforms at least). This could probably be improved, see my messagetally attached at the end of this email.
- Include the author name in the first post in a group, something like: [FIX] DicAddAll-OK -- ok@cs.otago.ac.nz (17 December 2003)
- (nice to have) Include (*) or some indication in the archivepost subject that an attachment exists for this post. Probably would require a change in the bfav server?
- Improve UI wording where possible to make things easier for first-time users... for example, instead of "open comments note pad" (why would I need a "note pad"?) change it to something like "review this bug fix" or "comment on this bug fix".
- Change "reviewed", "tested", etc. checkbox labels in CommentsNotePad to "reviewed [er]", "tested [et]", etc. This ties things together better. Alternatively, we could just get rid of the obscure abbreviated tags ([et] [er] [su]) altogether and instead generate fully spelled out tags ([externally tested] [externally reviewed] [sunit]) or maybe ([ext tested] [ext reviewed] [sunit]). Since the tags mostly just go through BFAV and not squeak-dev anymore, there's not as much need to abbreviate them.
- Add more specific balloon help for CommentsNotePad. Help text for the summary contents pane could say "Enter brief summary contents (like 'Needs tests'). This will appear in the subject line for the comment post." And the detailed contents pane help could add something like: "... This will appear in the text for the comment post."
Hope this helps,
- Doug
----------------------------------------- MessageTally (via debug... menu) for clicking on a BFAV2 post:
- 332 tallies, 5971 msec.
**Tree** 99.7% {5953ms} PasteUpMorph>>doOneCycle 99.7% {5953ms} WorldState>>doOneCycleFor: 79.2% {4729ms} WorldState>>doOneCycleNowFor: |77.7% {4639ms} HandMorph>>processEvents | 77.7% {4639ms} HandMorph>>handleEvent: | 77.7% {4639ms} HandMorph>>sendMouseEvent: | 77.7% {4639ms} HandMorph>>sendEvent:focus:clear: | 77.7% {4639ms} HandMorph>>sendFocusEvent:to:clear: | 77.7% {4639ms} PluggableListMorph(Morph)>>handleFocusEvent: | 77.7% {4639ms} PluggableListMorph(Morph)>>handleEvent: | 77.7% {4639ms} MouseButtonEvent>>sentTo: | 77.7% {4639ms} PluggableListMorph(Morph)>>handleMouseUp: | 77.7% {4639ms} PluggableListMorph>>mouseUp: | 77.7% {4639ms} PluggableListMorph>>changeModelSelection: | 77.7% {4639ms} PatchArchiveClient>>listingIndex: | 77.4% {4622ms} PatchArchiveClient(Object)>>contentsChanged | 77.4% {4622ms} PatchArchiveClient(Object)>>changed: [77.4% {4622ms} PluggableTextMorph>>update: [ 77.4% {4622ms} PluggableTextMorph>>getText [ 77.4% {4622ms} PatchArchiveClient>>contents [ 77.4% {4622ms} PatchArchiveClient>>fullDescriptionForSelectedPost [ 27.1% {1618ms} ArchivePost>>body [ |26.5% {1582ms} ArchivePost>>asMailMessage [ | 26.5% {1582ms} PatchArchive>>mailMessageForId: [ | 26.5% {1582ms} ArchiveRepository>>mailMessageForId: [ | 13.3% {794ms} ArchiveRepository>>downloadZipContainingEmailWithId: [ | |13.3% {794ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ | | 13.0% {776ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ | | 12.7% {758ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ | | 12.7% {758ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ | | 10.8% {645ms} primitives [ | 13.3% {794ms} MailUtil class>>mailMessageFromFile: [ | 13.3% {794ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ | 13.0% {776ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ | 12.7% {758ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ | 12.7% {758ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ | 9.6% {573ms} primitives [ 25.3% {1511ms} ArchivePost>>asMailMessage [ |25.3% {1511ms} PatchArchive>>mailMessageForId: [ | 25.3% {1511ms} ArchiveRepository>>mailMessageForId: [ | 12.7% {758ms} ArchiveRepository>>downloadZipContainingEmailWithId: [ | |12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ | | 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ | | 11.4% {681ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ | | 11.4% {681ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ | | 9.3% {555ms} primitives [ | 12.7% {758ms} MailUtil class>>mailMessageFromFile: [ | 12.3% {734ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ | 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ | 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ | 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ | 10.2% {609ms} primitives [ 25.0% {1493ms} ArchivePost>>titleFromMailMessage [ 25.0% {1493ms} ArchivePost>>asMailMessage [ 25.0% {1493ms} PatchArchive>>mailMessageForId: [ 25.0% {1493ms} ArchiveRepository>>mailMessageForId: [ 12.7% {758ms} MailUtil class>>mailMessageFromFile: [ |12.3% {734ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ | 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ | 11.7% {699ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ | 11.7% {699ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ | 8.7% {519ms} primitives [ 12.3% {734ms} ArchiveRepository>>downloadZipContainingEmailWithId: [ 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ 11.7% {699ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ 11.4% {681ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ 11.4% {681ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ 9.9% {591ms} primitives 20.5% {1224ms} WorldState>>interCyclePause: 20.5% {1224ms} Delay>>wait **Leaves** 59.3% {3541ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: 20.5% {1224ms} Delay>>wait 5.4% {322ms} Symbol>>= 2.7% {161ms} Array(Object)>>species
**Memory** old +1,126,288 bytes young +254,716 bytes used +1,381,004 bytes free -1,381,004 bytes
**GCs** full 0 totalling 0ms (0.0% uptime) incr 38 totalling 86ms (1.0% uptime), avg 2.0ms tenures 24 (avg 1 GCs/tenure) root table 0 overflows
Doug Way dway@mailcan.com wrote:
MessageTally, it turns out that this is just slowness due to several calls to #fileExists, which is known to be slow (on some platforms at least). This could probably be improved, see my messagetally attached at the end of this email.
Yup, this checking for a file by enumerating a large directory is crazy. I proposed a fix some time ago - I imagine it is in the BFAV list somewhere.
tim -- Tim Rowledge, tim@sumeru.stanford.edu, http://sumeru.stanford.edu/tim Strange OpCodes: PIC: Permute Instruction Codes
On 31 déc. 03, at 06:13, Tim Rowledge wrote:
Doug Way dway@mailcan.com wrote:
MessageTally, it turns out that this is just slowness due to several calls to #fileExists, which is known to be slow (on some platforms at least). This could probably be improved, see my messagetally attached at the end of this email.
Yup, this checking for a file by enumerating a large directory is crazy. I proposed a fix some time ago - I imagine it is in the BFAV list somewhere.
Oops. Could you help us finding it that we harvest it...
tim
Tim Rowledge, tim@sumeru.stanford.edu, http://sumeru.stanford.edu/tim Strange OpCodes: PIC: Permute Instruction Codes
On 31 déc. 03, at 05:27, Doug Way wrote:
I finally used BFAV2 to help incorporate the last batch of updates, and it works pretty well. (I used v2.01.) It was reasonably easy to get my UpdateIncorporationTool working with the new BFAV2 client.
The appearance of all messages on a subject (even those with an "Re:" prefix) is very cool! Also the ability to see fixes going years back is nice. :)
Here's my longish random list of improvements I'd eventually like to see with BFAV2 (I could help with some of these if necessary)...
- Add "Approved but not yet Update" preference, or similar mechanism.
I had to do this myself for BFAV2 to be useful to me at all, although most people might not need it. Here's the code I used (of course it should be done as a preference or menu item rather than hard-coded)...
Yes this is important for me too because it helps me tracking the status of approved items.
statusFilterBlock "return only the groups marked as approved" ^ [ :group | group isMarkedAsApproved and: [group hasNoStatus not and: [group isMarkedAsClosed not and: [group isMarkedAsUpdate not]]]]
- Have some way to optionally download/cache posts locally... Hmm,
wait a minute, it looks like this is working now that I disconnect from the network. But I didn't think it was working, because when I click on a fix, it takes a long time (about 5 seconds) to load the contents of the message, so I assumed it was downloading from the net each time. Using MessageTally, it turns out that this is just slowness due to several calls to #fileExists, which is known to be slow (on some platforms at least). This could probably be improved, see my messagetally attached at the end of this email.
- Include the author name in the first post in a group, something
like: [FIX] DicAddAll-OK -- ok@cs.otago.ac.nz (17 December 2003)
- (nice to have) Include (*) or some indication in the archivepost
subject that an attachment exists for this post. Probably would require a change in the bfav server?
YES!!! Because I usually click on all of them to see which one has an attachment.
- Improve UI wording where possible to make things easier for
first-time users... for example, instead of "open comments note pad" (why would I need a "note pad"?) change it to something like "review this bug fix" or "comment on this bug fix".
- Change "reviewed", "tested", etc. checkbox labels in CommentsNotePad
to "reviewed [er]", "tested [et]", etc. This ties things together better. Alternatively, we could just get rid of the obscure abbreviated tags ([et] [er] [su]) altogether and instead generate fully spelled out tags ([externally tested] [externally reviewed] [sunit]) or maybe ([ext tested] [ext reviewed] [sunit]). Since the tags mostly just go through BFAV and not squeak-dev anymore, there's not as much need to abbreviate them.
- Add more specific balloon help for CommentsNotePad. Help text for
the summary contents pane could say "Enter brief summary contents (like 'Needs tests'). This will appear in the subject line for the comment post." And the detailed contents pane help could add something like: "... This will appear in the text for the comment post."
Hope this helps,
- Doug
MessageTally (via debug... menu) for clicking on a BFAV2 post:
- 332 tallies, 5971 msec.
**Tree** 99.7% {5953ms} PasteUpMorph>>doOneCycle 99.7% {5953ms} WorldState>>doOneCycleFor: 79.2% {4729ms} WorldState>>doOneCycleNowFor: |77.7% {4639ms} HandMorph>>processEvents | 77.7% {4639ms} HandMorph>>handleEvent: | 77.7% {4639ms} HandMorph>>sendMouseEvent: | 77.7% {4639ms} HandMorph>>sendEvent:focus:clear: | 77.7% {4639ms} HandMorph>>sendFocusEvent:to:clear: | 77.7% {4639ms} PluggableListMorph(Morph)>>handleFocusEvent: | 77.7% {4639ms} PluggableListMorph(Morph)>>handleEvent: | 77.7% {4639ms} MouseButtonEvent>>sentTo: | 77.7% {4639ms} PluggableListMorph(Morph)>>handleMouseUp: | 77.7% {4639ms} PluggableListMorph>>mouseUp: | 77.7% {4639ms} PluggableListMorph>>changeModelSelection: | 77.7% {4639ms} PatchArchiveClient>>listingIndex: | 77.4% {4622ms} PatchArchiveClient(Object)>>contentsChanged | 77.4% {4622ms} PatchArchiveClient(Object)>>changed: [77.4% {4622ms} PluggableTextMorph>>update: [ 77.4% {4622ms} PluggableTextMorph>>getText [ 77.4% {4622ms} PatchArchiveClient>>contents [ 77.4% {4622ms} PatchArchiveClient>>fullDescriptionForSelectedPost [ 27.1% {1618ms} ArchivePost>>body [ |26.5% {1582ms} ArchivePost>>asMailMessage [ | 26.5% {1582ms} PatchArchive>>mailMessageForId: [ | 26.5% {1582ms} ArchiveRepository>>mailMessageForId: [ | 13.3% {794ms} ArchiveRepository>>downloadZipContainingEmailWithId: [ | |13.3% {794ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ | | 13.0% {776ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ | | 12.7% {758ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ | | 12.7% {758ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ | | 10.8% {645ms} primitives [ | 13.3% {794ms} MailUtil class>>mailMessageFromFile: [ | 13.3% {794ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ | 13.0% {776ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ | 12.7% {758ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ | 12.7% {758ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ | 9.6% {573ms} primitives [ 25.3% {1511ms} ArchivePost>>asMailMessage [ |25.3% {1511ms} PatchArchive>>mailMessageForId: [ | 25.3% {1511ms} ArchiveRepository>>mailMessageForId: [ | 12.7% {758ms} ArchiveRepository>>downloadZipContainingEmailWithId: [ | |12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ | | 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ | | 11.4% {681ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ | | 11.4% {681ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ | | 9.3% {555ms} primitives [ | 12.7% {758ms} MailUtil class>>mailMessageFromFile: [ | 12.3% {734ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ | 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ | 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ | 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ | 10.2% {609ms} primitives [ 25.0% {1493ms} ArchivePost>>titleFromMailMessage [ 25.0% {1493ms} ArchivePost>>asMailMessage [ 25.0% {1493ms} PatchArchive>>mailMessageForId: [ 25.0% {1493ms} ArchiveRepository>>mailMessageForId: [ 12.7% {758ms} MailUtil class>>mailMessageFromFile: [ |12.3% {734ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ | 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ | 11.7% {699ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ | 11.7% {699ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ | 8.7% {519ms} primitives [ 12.3% {734ms} ArchiveRepository>>downloadZipContainingEmailWithId: [ 12.0% {717ms} MacHFSPlusFileDirectory(FileDirectory)>>fileExists: [ 11.7% {699ms} MacHFSPlusFileDirectory(FileDirectory)>>fileNames [ 11.4% {681ms} MacHFSPlusFileDirectory(FileDirectory)>>entries [ 11.4% {681ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: [ 9.9% {591ms} primitives 20.5% {1224ms} WorldState>>interCyclePause: 20.5% {1224ms} Delay>>wait **Leaves** 59.3% {3541ms} MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor: 20.5% {1224ms} Delay>>wait 5.4% {322ms} Symbol>>= 2.7% {161ms} Array(Object)>>species
**Memory** old +1,126,288 bytes young +254,716 bytes used +1,381,004 bytes free -1,381,004 bytes
**GCs** full 0 totalling 0ms (0.0% uptime) incr 38 totalling 86ms (1.0% uptime), avg 2.0ms tenures 24 (avg 1 GCs/tenure) root table 0 overflows
Daug Way wrote:
Here's my longish random list of improvements I'd eventually like to see with BFAV2 (I could help with some of these if necessary)...
snip
Include the author name in the first post in a group, something like: [FIX] DicAddAll-OK -- ok@cs.otago.ac.nz (17 December 2003)
(nice to have) Include (*) or some indication in the archivepost
subject that an attachment exists for this post. Probably would require a change in the bfav server?
- Improve UI wording where possible to make things easier for
first-time users... for example, instead of "open comments note pad" (why would I need a "note pad"?) change it to something like "review this bug fix" or "comment on this bug fix".
- Change "reviewed", "tested", etc. checkbox labels in CommentsNotePad
to "reviewed [er]", "tested [et]", etc. This ties things together better. Alternatively, we could just get rid of the obscure abbreviated tags ([et] [er] [su]) altogether and instead generate fully spelled out tags ([externally tested] [externally reviewed] [sunit]) or maybe ([ext tested] [ext reviewed] [sunit]). Since the tags mostly just go through BFAV and not squeak-dev anymore, there's not as much need to abbreviate them.
- Add more specific balloon help for CommentsNotePad. Help text for
the summary contents pane could say "Enter brief summary contents (like 'Needs tests'). This will appear in the subject line for the comment post." And the detailed contents pane help could add something like: "... This will appear in the text for the comment post."
I agree with Doug on these changes, they improved the understanding of BFAV for a beginner.
Ray
squeak-dev@lists.squeakfoundation.org