Developer Install Activity
Assignment
In the User Install Activity you became familiar with your project from the user perspective. In this activity you will gain experience with your project as a new developer by installing the developer environment, modifying the code and rebuilding the project from source. You are not expected to make any meaningful changes to the product as a part of this activity. However, you should work through any guides/tutorials/examples for new developers. You do not need to become an expert developer. But you should spend enough time doing this so that you are comfortable making changes to the source code, rebuilding the product from source, making changes to the test suite(s) and running the test suite(s).
Track and document what you do using your sub-team’s Slack live-log. Work on the activities will be assessed via the Project Checkpoints as described in the Course Syllabus. When your sub-team believes it has satisfied the Completion Criteria, schedule an appointment with the course faculty for review.
Completion Criteria
The completion criteria that each sub-team must demonstrate for this activity are:
- A link on the team wiki to a Developer Install page.
- A single, nicely formatted Developer Install page built collaboratively by all sub-teams on the project. This page must include the following sections and information:
- Directions: Detailed instructions for a clean developer install of the latest release of the product. You should link to the project’s install documentation or to your earlier user install documentation (as appropriate) rather than repeating it. All clarifications, corrections and deviations from the project’s developer install documents must be included on the wiki. The bottom line here is that a new team starting this project should be able to follow your directions and complete a clean install without issue.
- Resources: An annotated list of resources, with links, that you used in familiarizing yourself with the product from a developer’s perspective. Your annotations should indicate the purpose of each resource and assess its usefulness.
- Changes: Brief descriptions of two changes that you have made to the product as described below.
- Cosmetic Change: Make a snapshot of your clean developer install. Then make a small change to the product that will be visible when it is run. This can be a trivial change (e.g. change a word in the UI). The change must be a change to the source code (i.e. not a change in a configuration or properties file). The change must require a rebuild from source (if necessary for your project). The purpose here is to demonstrate that you can rebuild the product from source integrating any changes you have made. Keep it simple. Do not attempt to fix, improve or extend the product in any way with this change.
- Test Change: Make a small change to the test suite for the product that will be visible when the test suite is run. This too can be a trivial change (e.g. change a test so that it fails). As with the cosmetic change, the purpose is simply to demonstrate that you can change the test suite source and run it integrating any changes you have made. Again, keep it simple.
- Possible Contributions: An annotated list of possible contributions relevant to this activity that your team might consider making to the project. Think about things that would improve the experience for other new users (e.g. corrections, clarifications or additions to install documentation or tutorials, etc.) It is not necessary that the contributions be offered to the community. Please consult with the course faculty before offering contributions to the project. Each sub-team must list at least one possible contribution and the sub-team should be identified for each item.
- Interactions: An annotated list, with links if possible, of any interactions that your team or sub-team had with the community during this activity (e.g. message board posts, mailing list messages, etc.). Please indicate the date of the interaction and the sub-team that had the interaction. Note: Interactions are not required for this activity. However if they occur, please link them here for reference.
- Contributions: An annotated list, with links if possible, of any contributions that your team or sub-team made to the project during this activity (e.g. corrections/clarifications/additions to documentation, etc.). Please indicate the date of the contribution and the sub-team that made the contribution. Note: Contributions are not required for this activity. However if they occur, please link them here for reference.
- Have made a VirtualBox snapshot of a clean developer install.
Each team member must be able to:
- Participate competently in a discussion of the installation process.
- Participate competently in a discussion of the resources used in becoming familiar with the product as a developer.
- Launch the program from the snapshot of your clean developer install and show the target of your cosmetic change before the change is made.
- Make your cosmetic change to the program.
- Rebuild the program from source.
- Launch the program and show the effect of the cosmetic change that was made.
- Run the test suite for the product.
- Make your change to the test suite.
- Run the test suite again and show the effect of your change.
- Any additional project specific criteria specified by the course faculty.
Acknowledgements: This assignment builds from and adapts ideas and content from the following activities created by others:
- http://foss2serve.org/index.php/Test_Installation_Instructions