Skip to content

Commit

Permalink
Update Contributing Notes (hyperledger-archives#1155)
Browse files Browse the repository at this point in the history
* fix broken links and separate out validation guides
  • Loading branch information
nklincoln authored Jun 2, 2017
1 parent 4eb3fd3 commit f5676a7
Show file tree
Hide file tree
Showing 10 changed files with 353 additions and 67 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@ To enable us to quickly review and accept your pull requests, always create one

## The Release

The master branches are currently being used as a base to cut new releases. The release process itself follows a process to ensure that the release is of suitable quallity. For more information, please see the [release process](./contrib-notes/weekly-qa-validation.md)
The master branches are currently being used as a base to cut new releases. The release process itself follows a process to ensure that the release is of suitable quallity. For more information, please see the [release process](./contrib-notes/release-process/weekly-qa-validation.md)
2 changes: 1 addition & 1 deletion contrib-notes/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Please note that this is the **Getting Started** for developing Hyperledger Comp

## Setup Scripts

The requirements for developing Hyperledger Composer are the same as developing an application using Hyperledger Composer. Follow these [instructions](https://hyperledger.github.io/composer/installing/prerequisites.html)
The requirements for developing Hyperledger Composer are the same as developing an application using Hyperledger Composer. Follow these [instructions](./prerequisites.md)

If you wish to install manually or review the individual tool's own documentation the details are below.

Expand Down
80 changes: 80 additions & 0 deletions contrib-notes/prerequisites-ubuntu.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Installing Development Pre-requisites

The essential tools you will need are *npm*, *docker*, *docker-compose* and a code editor for example *Atom* or *VSCode*. Samples are held in GitHub so *git* will be needed as well.

The recommended *minimum* versions are:
*Docker*: v1.12.3
*Docker-compose*: v1.10.0
*npm*: v4.6.0
*node.js*: v6.9.5


## Installation for Ubuntu

### 1. Installing Runtime Components
Supported versions of Ubuntu are: Trusty, Utopic, Xenial and Yakkety. There is an automated installation script that will install *node* *docker* *docker-compose*. For Trusty and Utopic, additional kernel packages that allow the use of the AUFS storage driver required by Docker, will also be installed.

If some of the tools are already installed or to do the installation step-by-step follow the [manual instructions](./manual_prerequisites.md).


```bash
$ curl -O https://raw.githubusercontent.com/hyperledger/composer-sample-applications/master/packages/getting-started/scripts/prereqs-ubuntu.sh
$ chmod u+x prereqs-ubuntu.sh
```

Next run the script - as this uses sudo you will be prompted for your password.

```bash
$ ./prereqs-ubuntu.sh
```

**Important:** You will need to logout and login again before continuing.

The script will print out the versions installed, if you wish to check here are the version commands.

```bash
$ node --version
v6.9.5
$ docker --version
Docker version 1.12.3
$ docker-compose --version
docker-compose version 1.10.0
```

### 2. Installing Git
This is probably already installed on most Linux machines. Pay particular attention to [setting up the SSL keys](https://help.github.com/enterprise/2.7/user/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#platform-linux) that are required.

[Official Git Download](https://git-scm.com/downloads)


## Optional Installs

### 1. Installing an editor

{{site.data.conrefs.composer_full}} allows you to edit its project files with any editor. We recommend using either Atom or Visual Studio Code, as not only do both have excellent support for Javascript development, a `.cto` file syntax highlighting plugin exists for these editors.

**Atom**

[Atom](https://atom.io/) is a very popular editor and several contributors use it.

[Official Atom installation guide](http://flight-manual.atom.io/getting-started/sections/installing-atom/)

Suggested Plugins:

* [Composer Atom Syntax Highlighter](https://github.com/hyperledger/composer-atom-plugin) A plugin for model file highlighting.

* [File Icons](https://atom.io/packages/file-icons) is a useful UI enhancement to show different icons for different files.

**Visual Studio Code**

[Visual Studio Code](https://code.visualstudio.com/) is a lightweight and powerful editor.

Extensions may be installed into VS Code by searching the Extensions repository for the desired extension package and selecting the install option once identified. Suggested extentions include:

* Composer VS Code Plugin. Provides syntax highlighting for CTO files within VS Code

* ESLint. Integrates ESLint into VS Code.

* TSLint. Integrates the tslint linter for the TypeScript language into VS Code.

* EditorConfig for VS Code. Enables the definition and maintainance of consistent coding styles between different editors and IDEs.
69 changes: 69 additions & 0 deletions contrib-notes/prerequisites.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Installing Development Pre-requisites

The essential tools you will need are *npm*, *docker*, *docker-compose* and a code editor, for example *Atom* or *VSCode*. Samples are held in GitHub so *git* will be needed as well.

Automatic installations scripts are available for [Ubuntu](./prerequisites-ubuntu.md)

The recommended *minimum* versions are:
*Docker*: v1.12.3
*Docker-compose*: v1.10.0
*npm*: v4.6.0
*node.js*: v6.9.5

## Manual Installation

### 1. Installing NVM
We highly recommend installing NVM to easily install and manage versions of [node.js](https://nodejs.org/en/) and [npm](https://www.npmjs.com/). The main runtime uses node.js and npm is used for package management and dependency installation. The runtime requires a version higher than v4.6.0.

[Official nvm GitHub repository](https://github.com/creationix/nvm)

### 2. Kernel Packages
If running on Ubuntu Trusty or Utopic, it is necessary to obtain additional Kernel packages to enable use of the [AUFS storage driver](https://docs.docker.com/engine/userguide/storagedriver/aufs-driver/#renaming-directories-with-the-aufs-storage-driver) for Docker.

### 3. Installing Docker Engine
The Docker Engine is essential for running system tests and running the HyperLedger Fabric.

[Official Docker Engine Installation Guide](https://docs.docker.com/engine/installation/)

### 4. Installing Docker Compose
[Docker Compose](https://docs.docker.com/compose/overview/) is used for easily configuring and starting HyperLedger Fabric.

[Official Docker Compose Installation guide](https://docs.docker.com/compose/install/)

### 5. Installing Git
This is probably already installed on most Linux machines. Pay particular attention to [setting up the SSL keys](https://help.github.com/enterprise/2.7/user/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#platform-linux) that are required.

[Official Git Download](https://git-scm.com/downloads)

## Optional Installs

### 1. Installing an editor

{{site.data.conrefs.composer_full}} allows you to edit its project files with any editor. We recommend using either Atom or Visual Studio Code, as not only do both have excellent support for Javascript development, a `.cto` file syntax highlighting plugin exists for these editors.

**Atom**

[Atom](https://atom.io/) is a very popular editor and several contributors use it.

[Official Atom installation guide](http://flight-manual.atom.io/getting-started/sections/installing-atom/)

Suggested Plugins:

* [Composer Atom Syntax Highlighter](https://github.com/hyperledger/composer-atom-plugin) A plugin for model file highlighting.

* [File Icons](https://atom.io/packages/file-icons) is a useful UI enhancement to show different icons for different files.


**Visual Studio Code**

[Visual Studio Code](https://code.visualstudio.com/) is a lightweight and powerful editor.

Extensions may be installed into VS Code by searching the Extensions repository for the desired extension package and selecting the install option once identified. Suggested extentions include:

* Composer VS Code Plugin. Provides syntax highlighting for CTO files within VS Code

* ESLint. Integrates ESLint into VS Code.

* TSLint. Integrates the tslint linter for the TypeScript language into VS Code.

* EditorConfig for VS Code. Enables the definition and maintainance of consistent coding styles between different editors and IDEs.
Binary file added contrib-notes/release-process/ReleaseBanner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions contrib-notes/release-process/guide-validation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Guide Validation

We provide script assistance and tutorials for users to follow. It is essential that these tuorials may be followed by a user such that their intial experience with Hyperledger Composer is positive one.

## Pre-Reqs and And Documented Turtorials

Follow the 'Getting Started' process:
- [Hosted Playground](https://hyperledger.github.io/composer/getting-started/getting-started-with-playground.html)
- [Local Playground](https://hyperledger.github.io/composer/getting-started/using-playground-locally.html)
- [Dev Tools](https://hyperledger.github.io/composer/getting-started/development-tools.html)

Follow the provided tutorials:
- [Playground](https://hyperledger.github.io/composer/tutorials/playground-guide.html)
- [Developer](https://hyperledger.github.io/composer/tutorials/developer-guide.html)

Follow the extended tutorials:
- [Subscribe to events](https://hyperledger.github.io/composer/applications/subscribing-to-events.html)
- [Deploy REST Server](https://hyperledger.github.io/composer/integrating/deploying-the-rest-server.html)
- [Call out to REST](https://hyperledger.github.io/composer/integrating/call-out.html)

### Documentation
When following the above processes in the documentation, were there any issues or did you get confused in the process? For instance:
- Is the overall initial presentation of the website sound?
- Did you encounter any broken links?
- Are the JSDocs being produced and linked correctly
Loading

0 comments on commit f5676a7

Please sign in to comment.