Download presentation
Presentation is loading. Please wait.
Published byPrudence Hicks Modified over 9 years ago
1
Project Management Facilities for GUS
2
Useful Facilities for GUS CVS CVS Bug/Feature Tracking Bug/Feature Tracking Mailing Lists Mailing Lists Documentation Documentation Release Management Release Management
3
Less Useful Facilities Forum Forum Task management Task management Customer Support Customer Support Patches Patches
4
CVS Organize top level by releasable “Packages” Organize top level by releasable “Packages” Organize Packages into “Components” Organize Packages into “Components” Components have standard stuff: Components have standard stuff: –bin, lib, doc, config, install*, readme.txt, changes.txt, todo.txt?
5
CVS Packages - proposal GUS GUS –Model –ObjRelP –ObjRelJ –Common –DBAdmin –WebFramework Annotator Annotator Dots Dots –Build Allgenes, PlasmoDB, … Allgenes, PlasmoDB, … GeneDB GeneDB DistribJob DistribJob
6
CVS Practices Checkin frequently with accurate comments Checkin frequently with accurate comments Use tagging and branching for branches Use tagging and branching for branches Obviates need for author info in source file? Obviates need for author info in source file? Use CVS browser to see branches Use CVS browser to see branches Checkout into directory with branch designation Checkout into directory with branch designation
7
CVS Limitations for GUS Doesn’t handle Doesn’t handle –Schema changes –Schema documentation changes –What else? These need to be coordinated by CBIL These need to be coordinated by CBIL
8
CVS on SourceForge Provides: Provides: –Ready-to-use CVS server –primitive CVS browser on web Use daily tarball for backup Use daily tarball for backup Consider using “syncmail” to send mail on commit Consider using “syncmail” to send mail on commit
9
Concerns with SourceForge CVS Cannot access CVS server directly Cannot access CVS server directly –To rename files or directories must: Remove files and add, losing history Remove files and add, losing history Do this recursively (manually) to rename a directory Do this recursively (manually) to rename a directory OR… go through a request to SourceForge support! OR… go through a request to SourceForge support! –This impacts our ability to refactor… –…risking that our code will become badly structured Alternative: CVS server at CBIL Alternative: CVS server at CBIL –Ability to fully administer it –Use cvs.gusdev.org –Use gCVS freeware CVS browser
10
Bug/Feature Tracking Ideal structure: Ideal structure: –For each Package: Bugs Bugs –Component –Version Features Features –Component Each package has its own admin Each package has its own admin –Assigns bugs –Manually collapses redundant bugs with commenting
11
SourceForge Tracker Limitations Rigid bug/feature tracking system Rigid bug/feature tracking system –Must display irrelevant built-in trackers –Can never delete any tracker –Can never delete/rename any categories/groups –Cannot use text search against categories/groups
12
Bug Tracking on SourceForge Place component in category field, eg: Place component in category field, eg: – ObjRelJ – WebFramework… Place package-version in group field: Place package-version in group field: – GUS-3.0.1 – GUS-3.0.2 – Annotator-1.1.2 We can constrain on package, component, version We can constrain on package, component, version All packages must share one manager All packages must share one manager Manager does bug assignments Manager does bug assignments Alternative: Alternative: –Each package gets dedicated bug tracker
13
FeatureTracking on SourceForge Place component in category field, eg: Place component in category field, eg: – ObjRelJ – WebFramework… Place package in group field: Place package in group field: – GUS – Annotator We can constrain on package, component We can constrain on package, component All packages must share one manager All packages must share one manager Manager does feature assignments Manager does feature assignments Alternative: Alternative: –Each package gets dedicated bug tracker
14
Mailing Lists One for GusOnSourceForge One for GusOnSourceForge One per Package (GUS, Annotator…) One per Package (GUS, Annotator…) Start out private (only developers) Start out private (only developers)
15
Release Management A Release is: A Release is: –A tagged “package” in CVS –Tagged with version: 3.1.1 (major.minor.bugfix) –Should be tagged only after testing
16
Reasons for Releasing “ Release early, release often; the mantra of Open Source software developers everywhere.” – from SourceForge “ Release early, release often; the mantra of Open Source software developers everywhere.” – from SourceForge Brings new features to users Brings new features to users Brings the system to a workable milestone Brings the system to a workable milestone Enforces feature prioritization Enforces feature prioritization Forces early testing Forces early testing Allows proper bug tracking by version # Allows proper bug tracking by version # Encourages automated testing Encourages automated testing
17
Making a Release Available Two mechanisms: Two mechanisms: –CVS checkout –tag Ok for developers Ok for developers Requires compilation Requires compilation –Upload Tarfile to SourceForge’s Release site Includes.jar file and other compilations Includes.jar file and other compilations Nec. when we offer GUS as a turnkey system Nec. when we offer GUS as a turnkey system Helps clarify what releases exist Helps clarify what releases exist How do we access their FTP site through our firewall? How do we access their FTP site through our firewall?
18
What a SourceForge Release Includes The package The package Release notes Release notes Changed file Changed file –Concatenation of component’s change file http://sourceforge.net/project/showfiles.p hp?group_id=1111 http://sourceforge.net/project/showfiles.p hp?group_id=1111
19
SourceForge Concerns Response time Response time Perishable trackers Perishable trackers Unable to fully administer CVS Unable to fully administer CVS Tracker limitations Tracker limitations
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.