The goal of this document is to explain a lab responsible (Professor, Senior Scientist, or appointed data officer) how to organize the lab's source codes so that no code gets lost.
# Introduction
It is important to keep your lab's data organized -- you may want to store here:
- classes transcripts and exercises
- project proposals
- scientific papers
- semester and master projects
- theses of your PhD students
- code used in the papers, theses and projects
- books source files
# Data organization, a suggestion
You will store both data and keep track of the people who use the data. Within c4science, we suggest the following structure
{F211491}
## What are the icons?
Icons are used to to organize your projects. Depending on the icon type they will be shown in different ways. You can choose the Icon at project creation
{F211500}
...or set it up later (go to your project, Manage, Edit Details).
Create a project for a lab, to host the lab's repositories and other activities
====================================================
- from the [[ https://c4science.ch/project/ | project application ]], click on {F17849}.
- you want to create a project that is visible to all users and editable by project members. If you forget to add yourself to the project, Phabricator will remind you.
{F17864}
- You will want to add individual subproject (for example, one per PhD thesis in your lab). Your "root project" will inherit all members from its subprojects. Thus we suggest you
- associate a group to the project, by creating a subproject of type group. From your "root project" page, click on "Subprojects"
{F17870}
- then, create subproject. Trust us, this works despite the warning saying it's only partially implemented
{F17876}
- accept the "conversion"
- set the permissions as indicated in the image, and, most important, set the icon to "group".
{F17882}
- now create another subproject, to which we will attach a repo
{F17888}
- you can now [[https://c4science.ch/w/c4science/repo/ | create a repo ]]. Below is an example of the permissions you may want to set
{F17894}
- instead of creating the repository immediately, we want to configure some options first
{F17900}
- in particular, we want to edit the basic information. You may want a short name for the repo (for example, with no spaces) and indicate that is belongs to your newly created subproject.
{F17906}
In order to have the repo appearing in the corresponding project, you have to add a link to it. From your project page, click on "Manage" > "Edit Menu" > "Configure Menu" > "Link" . Paste the Repo's link to the URI field and change the icon to "Diffusion".