FreeBMDFreeBMD 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

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

  1. Create a new task
  2. Assign to user "TODO"
  3. Set the project according to the project table
  4. Set the priority according to the priority table
  5. Without using any double quotes or snippets of broken HTML, enter a one line description of the change, being as descriptive as possible.
  6. Enter a fuller description of the changes in the box below
  7. Click on POST to add the task

Allocating requests [Developer]

Developers will select for themselves which tasks they will attempt, having regard to; 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]

  1. In PTS change the task status to "In Progress"
  2. Ensure that your local copy of the repository is up to date by typing cvs update
  3. Edit the relevant files in your local repository
  4. Check HTML files in both IE and NS (if possible) before upload
  5. Check your changes into cvs using cvs ci
  6. Update the development server by accessing this URL http://test.links.org:8080/devt-cgi/update
  7. Test HTML and CGI changes on the test site at http://test.links.org:8080/
  8. To test non-cgi program changes (UKGEN-FreeBMD/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)
  9. 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.
  1. You will receive e-mail notification that the task has been assigned back to you
  2. Unless advised otherwise, you will be able to test your change at http://test.links.org:8080/
  3. 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.
  4. 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.
  5. 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.
  1. You will receive e-mail notification that the task has been assigned back to you
  2. Unless advised otherwise, you will be able to test the change at http://test.links.org:8080/
  3. 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).
  4. 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]

  1. You will receive an e-mail notification when the task is assigned back to you as "Tested OK"
  2. Tag each changed module by typing cvs tag T1234 UKGEN-FreeBMD/html/development.html
  3. 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.
  1. For each change that is due to go live, shift the current live version tag by typing cvs tag -F -r T1234 BMD_LIVE
  2. Assign a Rollback tag by typing cvs tag -F -r BMD_LIVE BMD_LIVE_YYMMDD
  3. Bring the Production server up to the current "BMD_LIVE" level by typing cvs update -r BMD_LIVE UKGEN-FreeBMD
  4. Close the task in PTS. In the closing comments note the implementation date

Projects

NumberNameDescription
1128FreeBMDMiscellaneous changes that don't fit elsewhere.
1119FreeBMD - Search EnhancementsChanges that provide additional functionality to people searching FreeBMD.
1129FreeBMD - Cosmetic ChangesAll Changes that simply involve adding or changing text graphics etc.
1121FreeBMD - AdministrationRequests for actions to be carried out that don't involve changes to programs or web pages.
1122FreeBMD - Input EnhancementsChanges to provide additional functionality to people transcribing and uploading data.
1123FreeBMD - Bug InvestigationsUse for all cases where an error has been reported and development effort is required to analyse the causes of the error.
1124FreeBMD - Co-ordinator ToolsChanges to provide additional functionality for use by co-ordinators (data analysis etc.)
1125FreeBMD - Ongoing MaintenanceTasks that require repeated attention. Tasks in this project will remain open for prolonged periods.
1117FreeUKGenTasks 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.
PriorityDescriptionExamples
1Very Urgent Bug FixWidespread disruption to use of FreeBMD, site down, long term failures, errors in search results
2Bug FixBugs that occur occasionaly (occasional server overloads etc.), and bugs that produce known anomalies in search results.
3Critical ChangeChange that will provide required functionality to transcribers
4Very High Priority ChangeChange that will provide significant extra functionality to transcribers
5High Priority ChangeChange that will result in an improvement for a significant number of transcribers or for Many users.
6Medium Priority ChangeChange that will result in an improvement for a small number of transcribers or a high number of users
7Low Priority ChangeChange that will result in an improvement for only a small number of people searching FreeBMD
8Optional ChangePurely cosmetic change that is to be undertaken only if resource permits.
9InvestigationNo change has been agreed, still under discussion

FreeBMD Main Page


Search engine, layout and database Copyright © 1998-2025 Free UK Genealogy CIO, a charity registered in England and Wales, Number 1167484.
We make no warranty whatsoever as to the accuracy or completeness of the FreeBMD data.
Use of the FreeBMD website is conditional upon acceptance of the Terms and Conditions


Explore FreeBMD