Group Project Collaboration
For projects that will have multiple authors, use a distributed version control system like git (http://git-scm.com). Keep your code on your personal machines or CISE user space and merge changes with your teammates.
Oracle Database Collaboration
In order to work together on a project using the same database, exactly one student must be chosen as the project lead. The project leader will maintain the database/tables under his account and will grant privileges to the other students for access. It is the responsibility of the student to know how to manage user permissions in their databases/tables.
Example Collaboration Scenario
John, Mei, Amar, and Shahla are assigned to the same team and decide to create an e-commerce site using Oracle and PHP.
Shahla, the project leader creates the tables and assign the other teammates permissions to use them. She runs down to E114, hops on a CISE Ubuntu machine and creates her workspace.
$ mkdir -p public_html/ecommerce/docs $ cd public_html/ecommerce
After drafting the project requirements, she saves them to docs/requirements. Then, she creates a git repository and adds her work.
$ git init . && git add . $ git commit -m "Added requirements"
Shahla tells John, Mei, Amar what she's done and the location of her git repository so they can clone it.
Amar has never used git before, but thinks it's pretty straight forward after reading an introductory tutorial he found through Google.
$ git clone /cise/homes/shahla/public_html/ecommerce Initialized empty Git repository in ~/public_html/ecommerce/.git/ $ ls -F ecommerce docs/ htaccess main.php* library/
Amar adds some classes for the data models and adjusts the view a bit then commits his code.
$ git commit -a -m "classes for data models and modified view"
Mei and John are working as a pair. They decide to get the latest changes from everyone and do a lot of testing.
$ git pull /cise/homes/shahla/public_html/ecommerce