Skip to content

Commit 4b6e5c7

Browse files
committed
Merge pull request #30 from Brightcookie/development
Release 0.9.0 final
2 parents b483685 + 207273d commit 4b6e5c7

37 files changed

+1180
-322
lines changed

CONTRIBUTING.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# How to Contribute
2+
3+
lxHive is developed by its community consisting of lxHive users, enthusiasts,
4+
Brightcookie employees, customers, partners, and others. We strongly encourage you to
5+
contribute to lxHive's open source efforts by implementing new features,
6+
enhancing existing features, and fixing bugs. We also welcome your participation
7+
in writing documentation and guides.
8+
9+
To maintain code quality, all code changes are reviewed by a core set of lxHive project
10+
maintainers, namely @sraka1 and @RoboSparrow.
11+
12+
As you have ideas for features you want to implement, follow the contribution
13+
steps outlined in the sections, below. For more details on specific steps, and
14+
to get a deeper understanding of lxHive in general, make sure to check out our Wiki.
15+
Lastly, visit the links listed in the *Additional Resources* section, below.
16+
17+
## Getting Started
18+
19+
* Sign up for a [GitHub account](https://github.com/signup/free) (if you don't have one already) to be able to participate.
20+
* [Create a new issue](https://github.com/Brightcookie/lxHive/issues/new) for your issue. If a ticket
21+
already exists for the issue, participate via the existing ticket.
22+
* Describe the issue clearly. If it is a bug, include steps to reproduce it.
23+
* Select an appropriate category for the issue.
24+
* Select the earliest version (or commit) of the product affected by the issue.
25+
* Fork the lxHive repository.
26+
27+
## Making Changes
28+
29+
* Ensure you have a working lxHive development environment. A quick startup guide on setting up an instance
30+
is part of the README file included in this repository.
31+
* Create a branch from an existing branch (typically the *development* branch) from
32+
which you want to base your changes.
33+
Use the following nomenclature when naming your branch:
34+
* If you are working on a bugfix, prefix the branch name with bugfix-*
35+
* If you are working on a new feature/improvement, prefix the branch name with feature-*
36+
* If you are working solely on increasing ADL test compliance, prefix the branch name with compliance-*
37+
* You will also notice some branches named release-x.y.z (where x.y.z is a valid semantic versioning version), which will be opened by the core maintainers in preparation for a new release (ironing out bugs out of new features before the release is made available).
38+
* Commit logical units of work.
39+
* Follow the [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md),
40+
[PSR-1](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md),
41+
[PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) and
42+
[Symfony](http://symfony.com/doc/current/contributing/code/standards.html) code standards.
43+
* Include a reference to the issue (e.g. #13) in your commit messages.
44+
For example:
45+
46+
Improve code readability - #13
47+
48+
* *Test* your changes thoroughly! Consider the wide variety of operating
49+
systems, databases, application servers, and other related technologies. Make sure your changes in one environment don't break something in
50+
another environment. See the [xAPITests](https://github.com/sraka1/xAPITests) and [xAPI_LRS_Test](https://github.com/adlnet/xAPI_LRS_Test)
51+
repositories for details on executing automated tests against your test instance.
52+
53+
## Submitting Changes
54+
55+
* Push changes in your branch to your fork.
56+
* [Create a pull request](https://github.com/Brightcookie/lxHive/compare) and mention the issue it fixes [as described here](https://github.com/blog/1506-closing-issues-via-pull-requests).
57+
* You're done! Well, not quite ... be sure to respond to comments and questions
58+
to your pull request until it is closed.
59+
60+
## Additional Resources
61+
62+
* [lxHive Website](http://www.lxhive.com/)
63+
* [General GitHub documentation](http://help.github.com/)
64+
* [GitHub pull request
65+
documentation](http://help.github.com/send-pull-requests/)

README.md

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11

22
# ![lxHive](./public/assets/images/lxHive.logo.png)
33

4+
[![Circle CI](https://circleci.com/gh/Brightcookie/lxHive/tree/development.svg?style=svg)](https://circleci.com/gh/Brightcookie/lxHive/tree/development)
45
[![SensioLabsInsight](https://insight.sensiolabs.com/projects/9e0e6f28-b099-4c84-ad85-ccf4de70d6a6/mini.png)](https://insight.sensiolabs.com/projects/9e0e6f28-b099-4c84-ad85-ccf4de70d6a6)
56

67
## <a name="introduction" />Introduction
78

8-
**lxHive** is a fast and lightweight open source xAPI conformant Learning Record Store (LRS).
9-
**lxHive** logs and returns activity statements as defined in the [Experience API specification](https://github.com/adlnet/xAPI-Spec) (formerly TinCan API) currently at xAPI Version 1.0.3.
9+
**lxHive** is a fast and lightweight open source xAPI conformant Learning Record Store (LRS).
10+
**lxHive** logs and returns activity statements as defined in the [Experience API specification](https://github.com/adlnet/xAPI-Spec) (formerly TinCan API) currently at xAPI Version 1.0.3.
1011

1112
The Experience API (also referred to as 'xAPI') is a learning software specification that allows online learning content and systems to interact allowing recording and tracking of all types of learning experiences. It is designed to replace the legacy SCORM Standard and is steered by the US Dept. of Defense [ADL](http://www.adlnet.gov/) (Advanced Distributed Learning). It allows for the efficient aggregation and analysis of learning data as well as allowing learning designers a flexible and intelligent way to design better learning experiences. The Experience API is able to accept learning experiences from any device and/or medium (mobile, tablet, desktop), both in an offline as well as online mode.
1213

@@ -27,19 +28,21 @@ The application uses [MongoDB](https://www.mongodb.org/) and [PHP](http://php.ne
2728

2829
### Requirements
2930

30-
* PHP >= 5.4,
31+
* PHP >= 5.4, ith [mongo extension](http://php.net/manual/en/mongo.installation.php)
3132
* (optional) PHPUnit to run tests.
3233
* .htaccess enabled (or similar HTTP rewrite function)
3334
* [Composer](https://getcomposer.org/) installed
3435
* [Mongo DB](https://www.mongodb.org/) installed (supports Mongo 3.x)
3536
* [OpenSSL](https://www.openssl.org/)
3637

37-
#### Notes:
38+
#### Notes:
3839

3940
* Make sure you have set the `date.timezone` setting in your php.ini
4041

4142
### Setup
4243

44+
#### Application install and set-up
45+
4346
1. Install dependencies via `composer install`.
4447
2. Point your server's `DocumentRoot` directive to the `public` folder
4548
3. Set up your database & client account:
@@ -59,13 +62,36 @@ $ ./X user:create
5962

6063
```
6164

62-
#### Notes:
65+
#### Set-up file Storage and extended config
66+
67+
1. Optionally: Further customise your configuration in `src/xAPI/Config/Config.yml`
68+
69+
* TODO: explain options
70+
71+
2. Set up you local file system:
72+
73+
* Create your storage directory as defined in `Config.yml > filesystem.local`.
74+
* Create the required `files` and `log` sub directories.
75+
* Assign the appropiate `r\w` permissions for your system.
76+
77+
Default file storage structure:
78+
79+
```
80+
[lxHivE]
81+
|_ [storage]
82+
| |_ [files]
83+
| |_ [logs]
84+
|
85+
...
86+
```
87+
88+
#### Notes:
6389

6490
* As an administrator you should first create a new user and authentication token for yourself and assign the *super* role to it.
6591

6692
## Documentation
6793

68-
See the Wiki and the `docs` directory for more detailed documentation.
94+
See the Wiki and the `docs` directory for more detailed documentation.
6995

7096
## Contributors
7197

circle.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
machine:
2+
php:
3+
version: 5.5.11
4+
dependencies:
5+
pre:
6+
- yes '' | pecl -q install -f mongo
7+
post:
8+
- npm install -g newman
9+
- git clone [email protected]:sraka1/xAPITests.git
10+
test:
11+
pre:
12+
- yes '' | ./X setup:db
13+
- ./X setup:oauth
14+
- ./X user:create [email protected] --password=test --permissions=super
15+
- ./X auth:basic:create --name=test --description=test --expiration=1914156000 [email protected] --scopes=super --key=test --secret=test
16+
- php -S localhost:8080 -t ./public/:
17+
background: true
18+
override:
19+
- newman -c ./xAPITests/tests/1.0.3/xAPI.json -e ./xAPITests/environments/local.json -x

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
"symfony/console": "*",
2525
"slim/views": "~0.1",
2626
"twig/twig": "~1.18",
27-
"symfony/yaml": "~2.6"
27+
"symfony/yaml": "~2.6",
28+
"birke/rememberme": "~1.0"
2829
},
2930
"require-dev": {
3031
"phpunit/phpunit": "4.3.*"

0 commit comments

Comments
 (0)