server side of the comment service
Перейти к файлу
Toby Lawrence 6d7aec757d Merge branch 'master' into clintonb/replace-tire 2016-08-03 09:54:05 -04:00
.tx Update Transifex project name 2014-02-10 16:21:39 -05:00
api Merge branch 'master' into clintonb/replace-tire 2016-08-01 09:48:28 -04:00
bin Added binstubs 2016-01-06 00:15:41 -05:00
config Merge branch 'master' into clintonb/replace-tire 2016-08-03 09:54:05 -04:00
edx_specs Remove email from User model and API 2014-05-02 11:32:18 -04:00
lib Replaced Tire with elasticsearch-model 2016-05-03 22:22:54 -04:00
locale Add the ability to query multiple group ids 2014-09-18 10:53:07 -04:00
models Merge branch 'master' into clintonb/replace-tire 2016-08-03 09:54:05 -04:00
presenters Merge branch 'master' into perf/unnecessary-merges 2016-08-01 13:19:34 -04:00
scripts Use bulk operation instead. 2015-08-18 16:44:52 -04:00
spec Merge branch 'master' into clintonb/replace-tire 2016-08-01 09:48:28 -04:00
.gitignore Added binstubs 2016-01-06 00:15:41 -05:00
.ruby-gemset Replaced .rvmrc with .ruby-version and .ruby-gemset 2015-12-30 19:05:57 -05:00
.travis.yml Replaced Tire with elasticsearch-model 2016-05-03 22:22:54 -04:00
AUTHORS Add Clinton Blackburn as an author 2015-12-30 18:32:21 -05:00
CHANGELOG.rst Fix Content-Type header 2013-11-06 14:36:29 -05:00
Gemfile Merge branch 'master' into clintonb/replace-tire 2016-08-01 09:48:28 -04:00
Gemfile.lock Merge branch 'master' into clintonb/replace-tire 2016-08-01 09:48:28 -04:00
Guardfile Actually use guard for something useful and restart Unicorn when files change. 2012-09-17 16:38:19 -07:00
LICENSE.txt clarify LICENSE 2013-07-10 02:12:26 -04:00
Procfile fix unicorn defaults; keep using old version of config in Procfile 2014-02-21 14:34:05 -05:00
README.rst Replaced Tire with elasticsearch-model 2016-05-03 22:22:54 -04:00
Rakefile Replaced Tire with elasticsearch-model 2016-05-03 22:22:54 -04:00
app.rb Replaced Tire with elasticsearch-model 2016-05-03 22:22:54 -04:00
config.ru Upgrade Mongoid to 5.x release 2015-12-04 11:35:33 -05:00

README.rst

Part of `edX code`__.

__ http://code.edx.org/

edX Comments Service/Forums   |Travis|_ |Codecov|_
==================================================
.. |Travis| image:: https://travis-ci.org/edx/cs_comments_service.svg?branch=master
.. _Travis: https://travis-ci.org/edx/cs_comments_service

.. |Codecov| image:: http://codecov.io/github/edx/cs_comments_service/coverage.svg?branch=master
.. _Codecov: http://codecov.io/github/edx/cs_comments_service?branch=master

An independent comment system which supports voting and nested comments. It
also supports features including instructor endorsement for education-aimed
discussion platforms.

Getting Started
---------------
If you are running cs_comments_service as part of edx-platform__ development under
devstack, it is strongly recommended to read `those setup documents`__ first.  Note that
devstack will take care of just about all of the installation, configuration, and
service management on your behalf. If running outside of devstack, continue reading below.

__ https://github.com/edx/edx-platform
__ https://github.com/edx/configuration/wiki/edX-Developer-Stack

This service relies on Elasticsearch and MongoDB. By default the service will use the Elasticsearch server available at
`http://localhost:9200` and the MongoDB server available at `localhost:27017`. This is suitable for local development;
however, if you wish to change these values, refer to `config/application.yml` and `config/mongoid.yml` for the
environment variables that can be set to override the defaults.

Install the requisite gems:

.. code-block:: bash

    $ bundle install

Setup the search index. Note that the command below creates an alias with a unique name (e.g. content_20160101), and
assigns it a known alias: content. If you choose not to use the command below, you should still opt to reference your
index by an alias rather than the actual index name. This will enable you to swap out indices (e.g. reindex) without
having to take downtime or modify code with a new index name.

.. code-block:: bash

    $ bin/rake search:initialize

Run ther server:

.. code-block::

    $ ruby app.rb

By default Sinatra runs on port `4567`. If you'd like to use a different port pass the `-p` parameter:

.. code-block::

    $ ruby app.rb -p 5678


Running Tests
-------------
Tests are built using the rspec__ framework, and can be run with the command below:

.. code-block::

    $ bin/rspec

If you'd like to view additional options for the command, append the `--help` option:

.. code-block::

    $ bin/rspec --help

__ http://rspec.info/

Internationalization (i18n) and Localization (l10n)
---------------------------------------------------

To run the comments service in a language other than English, set the
``SERVICE_LANGUAGE`` environment variable to the `language code` for the
desired language.  Its default value is en-US.

Setting the language has no effect on user content stored by the service.
However, there are a few data validation messages that may be seen by end
users via the frontend in edx-platform__.  These will be
translated to ``SERVICE_LANGUAGE`` assuming a suitable translation file is
found in the locale/ directory.

__ https://github.com/edx/edx-platform

edX uses Transifex to host translations. To use the Transifex client, be sure
it is installed (``pip install transifex-client`` will do this for you), and
follow the instructions here__ to set up your ``.transifexrc`` file.

__ http://support.transifex.com/customer/portal/articles/1000855-configuring-the-client

To upload strings to Transifex for translation when you change the set
of translatable strings: ``bin/rake i18n:push``

To fetch the latest translations from Transifex: ``bin/rake i18n:pull``

The repository includes some translations so they will be available
upon deployment. To commit an update to these: ``bin/rake i18n:commit``

License
-------

The code in this repository is licensed under version 3 of the AGPL unless
otherwise noted.

Please see ``LICENSE.txt`` for details.

How to Contribute
-----------------

Contributions are very welcome. The easiest way is to fork this repo, and then
make a pull request from your fork. The first time you make a pull request, you
may be asked to sign a Contributor Agreement.

Reporting Security Issues
-------------------------

Please do not report security issues in public. Please email security@edx.org

Mailing List and IRC Channel
----------------------------

You can discuss this code on the `edx-code Google Group`__ or in the
``edx-code`` IRC channel on Freenode.

__ https://groups.google.com/forum/#!forum/edx-code