Skip to content

Commit

Permalink
Updated contribution guide
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremeamia committed May 16, 2013
1 parent 6ae3ea8 commit 3dd6d0f
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 27 deletions.
59 changes: 37 additions & 22 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,22 @@
We work hard to provide a high-quality and useful SDK, and we greatly value feedback and contributions from our
community. Whether it's a new feature, correction, or additional documentation, we welcome your pull requests. With
version 2 of the SDK, we've tried to make our development even more open than before. Please submit any
[issues](https://github.com/aws/aws-sdk-php/issues) or [pull requests](https://github.com/aws/aws-sdk-php/pulls) through
GitHub.
[issues][] or [pull requests][pull-requests] through GitHub.

## What you should keep in mind

1. The SDK is released under the [Apache license](http://aws.amazon.com/apache2.0/). Any code you submit will be
released under that license. For substantial contributions, we may ask you to sign a [Contributor License Agreement
(CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement).
2. We follow the [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md),
[PSR-1](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md), and
[PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) recommendations
from the [PHP Framework Interop Group](http://php-fig.org). Please submit code that follows these standards. The
[PHP CS Fixer](http://cs.sensiolabs.org/) tool can be helpful for formatting your code.
1. The SDK is released under the [Apache license][license]. Any code you submit will be released under that license. For
substantial contributions, we may ask you to sign a [Contributor License Agreement (CLA)][cla].
2. We follow the [PSR-0][], [PSR-1][], and [PSR-2][] recommendations from the [PHP Framework Interop Group][php-fig].
Please submit code that follows these standards. The [PHP CS Fixer][cs-fixer] tool can be helpful for formatting your
code.
3. We maintain a high percentage of code coverage in our unit tests. If you make changes to the code, please add,
update, and/or remove unit (and integration) tests as appropriate.
4. We may choose not to accept pull requests that change service descriptions (e.g., files like
`src/Aws/OpsWorks/Resources/opsworks-2013-02-18.php`). We generate these files based on our internal knowledge of
the AWS services. If there is something incorrect with or missing from a service description, it may be more
appropriate to [submit an issue](https://github.com/aws/aws-sdk-php/issues>). We *will*, however, consider pull
requests affecting service descriptions, if the changes are related to **Iterator** or **Waiter** configurations.
appropriate to [submit an issue][issues]. We *will*, however, consider pull requests affecting service descriptions,
if the changes are related to **Iterator** or **Waiter** configurations (e.g. [PR #84][pr-84]).
5. If your code does not conform to the PSR standards or does not include adequate tests, we may ask you to update your
pull requests before we accept them. We also reserve the right to deny any pull requests that do not align with our
standards or goals.
Expand All @@ -35,17 +31,36 @@ We are open to anything that improves the SDK and doesn't unnecessarily cause ba
unsure if your idea is something we would be open to, please ask us (open a ticket, send us an email, post on the
forums, etc.) Specifically, here are a few things that we would appreciate help on:

1. Waiters – Waiter configurations are located in the service descriptions. You can also create concrete waiters within
the `Aws\*\Waiter` namespace of a service if the logic of the waiter absolutely cannot be defined using waiter
1. **Waiters** – Waiter configurations are located in the service descriptions. You can also create concrete waiters
within the `Aws\*\Waiter` namespace of a service if the logic of the waiter absolutely cannot be defined using waiter
configuration. There are many waiters that we currently provide, but many that we do not. Please let us know if you
have any questions about creating waiter configurations.
2. Docs – We are working on a user guide and will be publishing it soon. We would appreciate contributions. The docs
are written as a [Sphinx](http://sphinx-doc.org/) website using reStructuredText (very similar to Markdown). The user
guide is located in the `docs` directory of this repository.
3. Tests – We maintain high code coverage, but if there are any tests you feel are missing, please add them.
4. Convenience features – Are there any features you feel would add value to the SDK (e.g., batching for SES, SNS
2. **Docs** – Our [User Guide][user-guide] is an ongoing project, and we would greatly appreciate contributions. The
docs are written as a [Sphinx][] website using [reStructuredText][] (very similar to Markdown). The User Guide is
located in the `docs` directory of this repository. Please see the [User Guide README][docs-readme] for more
information about how to build the User Guide.
3. **Tests** – We maintain high code coverage, but if there are any tests you feel are missing, please add them.
4. **Convenience features** – Are there any features you feel would add value to the SDK (e.g., batching for SES, SNS
message verification, S3 stream wrapper, etc.)? Contributions in this area would be greatly appreciated.
5. Third-party modules – We have modules published for [Silex](https://github.com/aws/aws-sdk-php-silex) and [Laravel
4](https://github.com/aws/aws-sdk-php-laravel). Please let us know if you are interested in creating integrations
with other frameworks. We would be be happy to help.
5. **Third-party modules** – We have modules published for [Silex](mod-silex), [Laravel 4](mod-laravel), and [Zend
Framework 2][mod-zf2]. Please let us know if you are interested in creating integrations with other frameworks. We
would be be happy to help.
6. If you have some other ideas, please let us know!

[issues]: https://github.com/aws/aws-sdk-php/issues
[pull-requests]: https://github.com/aws/aws-sdk-php/pulls
[license]: http://aws.amazon.com/apache2.0/
[cla]: http://en.wikipedia.org/wiki/Contributor_License_Agreement
[psr-0]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md
[psr-1]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md
[psr-2]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
[php-fig]: http://php-fig.org
[cs-fixer]: http://cs.sensiolabs.org/
[user-guide]: http://docs.aws.amazon.com/aws-sdk-php-2/guide/latest/index.html
[sphinx]: http://sphinx-doc.org/
[restructuredtext]: http://sphinx-doc.org/rest.html
[docs-readme]: https://github.com/aws/aws-sdk-php/blob/master/docs/README.md
[mod-silex]: https://github.com/aws/aws-sdk-php-silex
[mod-laravel]: https://github.com/aws/aws-sdk-php-laravel
[mod-zf2]: https://github.com/aws/aws-sdk-php-zf2
[pr-84]: https://github.com/aws/aws-sdk-php/pull/84
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ SDK through Composer][docs-installation] or by downloading a single [zip][instal
1. **Install the SDK** – Using [Composer][] is the recommended way to install the AWS SDK for PHP. The SDK is available
via [Packagist][] under the [`aws/aws-sdk-php`][install-packagist] package. Please see the
[Installation][docs-installation] section of the user guide for more detailed information about installing the SDK
through Composer and other means.
through Composer and other means (e.g., [Phar][install-phar], [Zip][install-zip], [PEAR][install-pear]).
1. **Using the SDK** – The best way to become familiar with how to use the SDK is to read the [User Guide][docs-guide].
The [Quick Start Guide][docs-quickstart] will help you become familiar with the basic concepts, and there are also
specific guides for each of the [supported services][docs-services].

## Quick Examples
## Quick Example

### Upload a File to Amazon S3

Expand All @@ -65,7 +65,7 @@ use Aws\S3\Exception\S3Exception;
// Instantiate an S3 client
$s3 = Aws::factory('/path/to/config.php')->get('s3');

// Upload a publicly accessible file. File size, file type, and MD5 hash are automatically calculated by the SDK
// Upload a publicly accessible file. The file size, file type, and MD5 hash are automatically calculated by the SDK
try {
$s3->putObject(array(
'Bucket' => 'my-bucket',
Expand All @@ -74,7 +74,7 @@ try {
'ACL' => CannedAcl::PUBLIC_READ
));
} catch (S3Exception $e) {
echo "The file was not uploaded.\n";
echo "There was an error uploading the file.\n";
}
```

Expand All @@ -86,7 +86,6 @@ try {
* [Send a message to your Amazon SQS queue][example-sqs-sendmessage]



[sdk-website]: http://aws.amazon.com/sdkforphp
[sdk-forum]: https://forums.aws.amazon.com/forum.jspa?forumID=80
[sdk-issues]: https://github.com/aws/aws-sdk-php/issues
Expand Down

0 comments on commit 3dd6d0f

Please sign in to comment.