How to Create and Manage a project
August 27, 2009
Nexentastor.org provides everything required to create and host your project and code to extend the NexentaStor storage Appliance. Below are guidelines to create, setup and manage your own project.
Creating a project
- Register on www.nexentastor.org
- Click on Create Project on the homepage
Enter the details for your project
Name : A short Descriptive name for the project "Folder Extensions"
- Subproject : Leave Blank, unless your project is a branch/child of an existing project
- Description : Enter a few lines on what your project is all about
- Identifier : This is the name used internally to setup the repository, files, etc. This name will appear in the URL of your project, and cannot be changed once setup. Ex: folder-extensions
- Homepage : Offsite URL, if any. (Company URL, personal blog of author, etc)
Trackers/Modules : Select the functionality you want for your project. No hard in leaving all selected.. you can choose to use some features at a later time.
Click on save.. your project will now be created.
Once the project is created, you will be granted Manager status in the project.
Goto the projects page, and click on your project. Since you are a manager, you will see 'Settings' in the left menu. Click on it to see various settings.
Select Repository, and enter the following automatically generated directory to point to your mercurial repository.
/home/hg/repos/project-identifier Ex : /home/hg/repos/folder-extensions
Other tabs in settings are:
- Information : This allows you to edit the description of the project
- Modules : enable/disable modules for your project.
- Members : Add additional members to your project. A Manager or a Developer is granted write access to the repository. A Reporter can edit wiki pages, documents, etc, but does not have write access to the repository.
- Versions : Add the versions you want to release for your project here. These will appear in the Bug Tracking and other modules.
- Wiki : Every project has it's own wiki, and uses the easy-to-use Markdown syntax. Enter the start page here.
- Forums : By default, no forum is created for your project. Go here to create a new forum. A "Forums" link will then appear on the left menu
All code you upload on this site must be open sourced under the CDDL license. More information on this license here.
NexentaStor.org uses the Mercurial versioning system, which is an advanced, and very easy to use way to manage your code. Here is a quick start guide.
When you create a project, any code you upload will appear publicly on the mercurial server at http://hg.nexentastor.org. Example : http://hg.nexentastor.org/nexenta-gate for the NexentaStor kernel source code.
To create a local copy of any project hosted on nexentastor.org, the command is:
hg clone https://hg.nexentastor.org/*project-identifier* Ex: hg clone https://hg.nexentastor.org/folder-extensions
Note the https.The above only provides read access.. one cannot push in their changes here.
For a registered user to push in changes into a project's code repository:
- He should be a Manager or a Developer in the project.
Once this is setup, a user can Clone, pull and push sources from ssh url as below.
hg clone/push/pull https://hg.nexentastor.org/*project*
hg push https://hg.nexentastor.org/nexenta-gate
will push out the code to the nexenta-gate project. You will be asked for your username and password.. use the same details as your nexentastor.org account.
For your Name and Email to be added correctly to the changeset, setup your ~/.hgrc file as follows:
[ui] username = Firstname Lastname <firstname.lastname@example.org>
Modules in a project
Various modules are provided for a project:
Issues : This is a per project bug/feature tracker. If you've configured email notifications, you will receive a mail from the site whenever a bug is added or updated. you can also reply via email, and the issue is automatically updated.
News : A news item can be a new version release, documentation added, or any other event you deem newsworthy. When you create a news item, the homepage will show the headline.
Documents : Any user/technical guide to using your project can be written here. These are only editable by members of the project.
Wiki : These are bits and pieces of documentation and writeups for your project, and can be edited by anyone. The managers can lock certain pages from editing if required. A page history is maintained.
Files : For your codedrops, images, and other project file hosting needs, use the files section. You can make releases of your project here, and link them from the main project description.
Repository : This is a view of the repository in it's current state, and recent changes and diffs can be viewed.
If you have any additional questions on setting up or managing a project, ask in the Help forum.