Google Code Usage
Adil Saeed Musthafa
Mission of Googles Project Hosting service
Support the open source community by providing a scalable, reliable, and fast collaborative development environment for open source software, docs, and standards that promotes best practices in open source software engineering
From Google Code Project Hosting help page
Features
Storage space for code up to 2 GB SVN Server setup instantaneously Bug Tracking Project Activity Tracking Code Browsing Code Review Email Notifications
Features
Wiki Support File Upload (Any binary file) Customize all the features to suit your needs (Flexibility)
Creating a Project
Pre-requisite: All Google code project members are required to have Gmail account URL: [Link] hosting/ Click Create new project
Creating a Project
Enter the details as shown here.
Please note that subversion and mercurial are the two version control systems supported by Google Code. Subversion usage is explained later in the document.
Create Project
Adding Members to Project
All members should be having a Gmail account. For adding project members click on People inside the Project Home TAB. Click on Add the member in either of Project owners/committers/contributers The permissions for a member can be edited.
It is recommended not to edit these settings. As mentioned in the page itself, identify the members as contributors, committers and owners, and use the default settings for each level.
Permission Types
Role Owner Committer Permissions All permission All permissions except deleting issues, deleting commits and editing duties. Permissions available only for editing Wiki and adding Issue. No permissions for committing code.
Contributer
Screenshots Members list
Screenshots Permissions for a particular member
Tracking
All Issues can be tracked. The issues can involve
Bugs Project Activities Risks etc..
Creating a new Issue
Click on the Issues TAB. Click on new issue to create the issue. Under Template, you can see this drop down option
The last entry Action Item is not available by default. The method to customize issue-tracking is touched upon later in this presentation Based on the template you select, the remaining parameter values may change
Creating a new Issue
Enter the appropriate Summary & Description Status is divided into 2 categories: open and close. Under normal circumstances, the transition of status would be
New->Accepted->Started->Fixed->Verified
Creating a new Issue
Select the owner for the issue. The owner is normally the person who is supposed to fix the issue. Chose a label.
A value will be displayed, based on the template selected. The label value can be changed (if required). More details on label later in the document
Creating a new issue
Select the appropriate priority. Submit Issue Once the issue is submitted, it can be viewed in the issues page (Sample shown below)
Issue Attributes (present in Google by default)
Issue Attribute Status Type Priority Milestone Component Description Open New/Accepted/Started Close Fixed/Done etc. Defect/Enhancement/Task/Review/Other /ActionItem Critical/High/Medium You can add different milestones like Release 1.0, code-freeze etc.. UI/Logic/Persistence/Script/Docs
Customize the issue tracking feature
You can fully customize the issue tracking feature Issue Tracking customization is available in the Administer page under Issue Tracking The various issue Attributes and their pre-defined values can be added / removed This is done by adding values under Pre-defined Issue Labels in the format <attribute>-<pre-defined value> Grid Preferences can be set, i.e., which all columns to be displayed when the issues are listed in summary form.
Customize Issue Tracking screenshots
Custom Issue Template (Action Item)
Click new to create your own template
Examples of Issue Tracking Customization
Add ActionItem as one of the pre-defined value of the Attribute: Type.
Action-Items are general TODO items which may or may not be related to bugs. So when you assign the task of preparing Requirement spec, you may not want to add the issue as TypeDefect but rather as Type-ActionItem
Add different Milestones under the Issue Attribute: Milestone. The milestones can be Release1.0, CodeFreeze etc.. To implement these 2, add the following under Predefined Issue Labels in the Administer page
Type-ActionItem Milestone-Release2.0 Milestone-<AnyOtherMilestones> etc..
Version Control Support (SVN)
Google Code supports SVN and Mercurial for revision control. SVN URL: [Link] k/ <projectname> Use GUI Based SVN client to check out code. Example: Tortoise Use your Google Code password (not Gmail password) to check out / commit code
Google Code Password
Browse your code
View your code changes (Revision by Revision)
Code Review
Browse the code through Google Code Double click on any line you want to comment A text box pops up for entering your comments When you are done, publish the comments Support to make code review as an Issue and track the review process
Code Review - Screenshots
Documentation using the Wiki
User Manuals Documentation of Planning / Requirement / Design / Testing / Quality Control
Milestones Requirement Spec Design Documents Test Cases Coding Standards Documentation of any tools which the developers may use
General Documentation which helps the developers Any other documentation Maintainable through SVN
[Link]
Email Notifications of Activities
You can set Google Code to send emails, whenever
There is a new issue There is change in the status of an existing issue Some one commits changes in the code
The best approach to use the email notification feature would be:
Create a GoogleGroups for the project, add all the project members + <YourProjectName>@[Link] to the GoogleGroups. Enter the google groups mail id in the Administer page (Under the Activity Notifications in the Source and Issue Tracking pages)
Email Notifications of Activities
Binary Files Upload (Total Upload size: 2 GB)