Development Process
Welcome to the FreeBMD Development process page.
This page describes the complete life cycle of how changes and enhancements move from being ideas to implementation.
People requesting changes, and proof-readers who are checking the changes, need only know how to use PTS in the manner described on this page.
To use PTS you do not need to install any software, but you will need to be given an account and a password to use it.
This will be created by Dave (or Graham or Ben) when you join the development team.
Developers who will implement the changes use PTS too, and also need to use CVS and SSH.
These are needed to access the files to be edited, and to return them to be tested prior to deployment on the live system.
The same approach is taken to changes to the code, to web pages or to data (e.g. district map files).
A zipped file containing the correct versions of CVS and SSH to run on Windows for use on the project can be
downloaded here (cvs_ssh.zip), and there is also a page of instructions on how to
install and run them.
Sources of Ideas
- Discussions on FreeBMD-Discuss
- Discussions on FreeBMD-Scratchpad
- Ideas mailed in
Recording the request [Requester]
The first step is to create a record of the fact that a change is to be made.
This can be done before we have agreed exactly what change is needed. Recording
rather that remembering ensures that we don't lose any ideas.
The tool used for recording changes is PTS
- Create a new task
- Assign to user "TODO"
- Set the project according to the project table
- Set the priority according to the priority table
- Without using any double quotes or snippets of broken HTML, enter a one line description of the change, being as descriptive as possible.
- Enter a fuller description of the changes in the box below
- Click on POST to add the task
Allocating requests [Developer]
Developers will select for themselves which tasks they will attempt, having regard
to;
- The priorities allocated to the various tasks
- Their areas of expertise and level of proficiency
In PTS, assign the task to yourself. You should never start work on a task until
you have assigned it to yourself in PTS.
Making Changes [Developer]
- In PTS change the task status to "In Progress"
- Ensure that your local copy of the repository is up to date by typing
cvs update
- Edit the relevant files in your local repository
- Check HTML files in both IE and NS (if possible) before upload
- Check your changes into cvs using
cvs ci
- Update the development server by accessing this URL
http://test.links.org:8080/devt-cgi/update
- Test HTML and CGI changes on the test site at
http://test.links.org:8080/
- To test non-cgi program changes (rootsweb-FreeBMD2/bin), you will either
need to ask Ben, Dave or Graham to run the programs, or you will need to create
your own test environment on the Development machine. (ask for advice)
- Once you are happy with your testing, change the task status in PTS to "Ready for Test" and assign
it to the person who originally requested it.
Testing Changes [Requester]
Once the developer has made the changes and tested them himself, the person requesting the change will
be able to test the change before it goes live.
- You will receive e-mail notification that the task has been assigned back to you
- Unless advised otherwise, you will be able to test your change at
http://test.links.org:8080/
- If you are happy that the change is what you requested, you should set the task status to "Tested OK"
and assign the task back to the developer who sent it to you.
- If you are not happy, you should describe what is wrong in the followup box, set
the status to "In Progress" and assign it back to the developer.
- If you are happy, but you would like a second opinion on the readability of a page, set the
status to "Proof Read Rqd" and assign to a proof reader.
Proof Reading [Proof Reader]
Once the developer and requester have tested a change, they may assign it to a proof reader for a check before it goes live.
- You will receive e-mail notification that the task has been assigned back to you
- Unless advised otherwise, you will be able to test the change at
http://test.links.org:8080/
- If you are happy with the change , you should set the task status to "Tested OK"
and assign the task back to the developer (check the followup history to find the developer).
- If you are not happy, you should describe what is wrong in the followup box, set
the status to "In Progress" and assign it back to the developer.
Requesting Transfer to Production [Developer]
- You will receive an e-mail notification when the task is assigned back to you as "Tested OK"
- Tag each changed module by typing
cvs tag T1234 rootsweb-FreeBMD2/html/development.html
- Replace
T1234 with the TID from PTS preceeded by T
- Replace
rootsweb-FreeBMD2/html/development.html with the name of each changed module.
- Add a followup to the task in PTS, listing which modules have been changed, list any restrictions
about when the module must go live (e.g. "To go live after next DB update) and assign it to Dave Mayall, in status "Ready to Deploy"
Transfer to production [Dave]
This section is included more for completeness than from necessity. Dave knows how to do this!
If necessary, either Graham or Ben can do this bit as well.
- For each change that is due to go live, shift the current live version tag by typing
cvs tag -F -r T1234 BMD_LIVE
- Replace
T1234 with the TID from PTS preceeded by T
- Assign a Rollback tag by typing
cvs tag -F -r BMD_LIVE BMD_LIVE_YYMMDD
- Replace
YYMMDD with the Current date (in YYMMDD format)
- Bring the Production server up to the current "BMD_LIVE" level by typing
cvs update -r BMD_LIVE rootsweb-FreeBMD2
- Close the task in PTS. In the closing comments note the implementation date
Projects
| Number | Name | Description |
| 1128 | FreeBMD | Miscellaneous changes that don't fit elsewhere. |
| 1119 | FreeBMD - Search Enhancements | Changes that provide additional functionality to people
searching FreeBMD. |
| 1129 | FreeBMD - Cosmetic Changes | All Changes that simply involve adding or changing text
graphics etc. |
| 1121 | FreeBMD - Administration | Requests for actions to be carried out that don't
involve changes to programs or web pages. |
| 1122 | FreeBMD - Input Enhancements | Changes to provide additional functionality to
people transcribing and uploading data. |
| 1123 | FreeBMD - Bug Investigations | Use for all cases where an error has been reported and
development effort is required to analyse the causes of the error. |
| 1124 | FreeBMD - Co-ordinator Tools | Changes to provide additional functionality for use
by co-ordinators (data analysis etc.) |
| 1125 | FreeBMD - Ongoing Maintenance | Tasks that require repeated attention. Tasks in this project
will remain open for prolonged periods. |
| 1117 | FreeUKGen | Tasks that affect code shared with FreeREG and FreeCEN (currently only the County
names table is affected |
Priorities
These priorities are for guidance. In practice, requests might be expected to shift up or down one place.
| Priority | Description | Examples |
| 1 | Very Urgent Bug Fix | Widespread disruption to use of FreeBMD, site down, long term failures,
errors in search results |
| 2 | Bug Fix | Bugs that occur occasionaly (occasional server overloads etc.), and bugs that produce
known anomalies in search results. |
| 3 | Critical Change | Change that will provide required functionality to transcribers |
| 4 | Very High Priority Change | Change that will provide significant extra functionality to transcribers |
| 5 | High Priority Change | Change that will result in an improvement for a
significant number of transcribers or for Many users. |
| 6 | Medium Priority Change | Change that will result in an improvement for a small
number of transcribers or a high number of users |
| 7 | Low Priority Change | Change that will result in an improvement for only a
small number of people searching FreeBMD |
| 8 | Optional Change | Purely cosmetic change that is to be undertaken only
if resource permits. |
| 9 | Investigation | No change has been agreed, still under discussion |
FreeBMD Main Page
© 1998-2008 The Trustees of FreeBMD (Ben Laurie, Graham Hart, Camilla von Massenbach and David Mayall), a charity registered in England and Wales, Number 1096940.
We make no warranty whatsoever as to the accuracy and completeness of the FreeBMD data. Use of the FreeBMD website is conditional upon acceptance of the Terms and Conditions