Merge branch 'master' of github.com:sharelatex/sharelatex

This commit is contained in:
James Allen 2014-02-14 17:35:41 +00:00
commit 3dfdfab8f1
2 changed files with 63 additions and 34 deletions

View file

@ -1,8 +1,40 @@
Contributing to ShareLaTeX
==========================
Thank you for reading this! If you've found a bug, or have a new feature in mind,
then here are some notes on how to best report issues or implement changes.
Thank you for reading this! If you'd like to report a bug or join in the development
of ShareLaTeX, then here are some notes on how to do that.
Reporting bugs and opening issues
---------------------------------
If you'd like a report a bug or open an issue then please:
1. **Find the correct repository.** ShareLaTeX is split across multiple different repositories, each containing a different service (you can find a list [here](https://github.com/sharelatex/sharelatex/blob/master/README.md#other-repositories)). If you know the bug only applies to one service, then please open an issue in that repository. For general bugs and issues that span more than one service, please open an issue in the [sharelatex/sharelatex](https://github.com/sharelatex/sharelatex) repository.
2. **Check if there is an existing issue.** If there is then please add
any more information that you have, or give it a "+1" in the comments.
When submitting an issue please describe the issue as clearly as possible, including how to
reproduce the bug, which situations it appears in, what you expected to happen, and what actually happens.
If you can include a screenshot for front end issues that is very helpful.
Pull Requests
-------------
We love pull requests, so be bold with them! Don't be afraid of going ahead
and changing something, or adding a new feature. We're very happy to work with you
to get your changes merged into ShareLaTeX.
If you've got an idea for a change then please discuss it in the open first,
either by opening an issue, or by joining us in our
[development chat room](http://www.hipchat.com/g1nJMcj7b).
Developer Chat Room
-------------------
If you want to ask any questions in real-time, or get a feel for what's going on
then please drop into our [development chat room](http://www.hipchat.com/g1nJMcj7b).
If no one is online then you can still leave a message that will hopefully get a reply
when we return.
Security
--------
@ -13,24 +45,3 @@ security@sharelatex.com where we will attempt to address them quickly. If you're
unsure whether something is a security issue or not, then please be cautious and
contact us at security@sharelatex.com first.
Reporting bugs
--------------
If you've found a bug then please:
1. Check if there is an existing issue for it. If there is then please add
any more information that you have, or give it a "+1".
2. If there is there is no issue, then please open one.
3. Please describe the issue as clearly as possible, including how to
reproduce the bug, which situations it appears in, what you expected to
happen, and what actually happens.
4. Please include a screenshot for front end issues if you can.
Pull Requests
-------------
We love pull requests, so be bold with them! Don't be afraid of going ahead
and changing something, or adding a new feature. If you're setting of to make
a big change then opening an issue (or commenting on an existing one) is the
best way to discuss your ideas first.

View file

@ -1,12 +1,14 @@
ShareLaTeX
==========
ShareLaTeX is a web based collaborative LaTeX editor. There are two versions of it,
the online version that anyone can sign up to at www.sharelatex.com, and this open source
version which allows anyone to run a local installation of ShareLaTeX.
ShareLaTeX is a web-based collaborative LaTeX editor. We run a hosted service at
https://www.sharelatex.com and this repository contains the open source code that
powers it and allows you to run a local installation.
This repository pulls together all of the different services in ShareLaTeX's service
orientied architecture (SOA).
ShareLaTeX uses a service orientied architecture (SOA) where we have lots of small
APIs that talk to each other over HTTP and Redis pub-sub channels. This repository
pulls together all of the different services and allows you to set up and run
them quickly.
Installation
------------
@ -16,7 +18,7 @@ First, check out a local copy of this repository:
$ git clone git@github.com:sharelatex/sharelatex.git
$ cd sharelatex
Next install all the Node modules and ShareLaTeX services:
Next install all the node modules and ShareLaTeX services:
$ npm install
$ grunt install
@ -33,29 +35,45 @@ Dependencies
You need:
* Node.js 0.10 or greater
* Grunt command line tools (Run `npm install -g grunt-cli` to install them)
* The grunt command line tools (Run `npm install -g grunt-cli` to install them)
* A local instance of Redis and Mongodb running on their standard ports.
Config
------
ShareLaTeX should mostly run out of the box, although it uses Amazon S3 for storing binary
files like images. You will need to configure ShareLaTeX to use your own S3 access key
which can be done by editing the file at `config/settings.development.coffee`
Other repositories
------------------
ShareLaTeX consists of many separate services, each with their own Node.js process
and source code repository. These are all downloaded when you run `npm install` and
they are run when you run `grunt run`.
and source code repository. These are all downloaded and set upwhen you run
`grunt install`
The different services are:
### web-sharelatex
### [web](http://github.com/sharelatex/web-sharelatex)
The front facing web server that serves all the HTML pages, CSS and javascript
to the client. Also contains a lot of logic around creating and editing
projects, and account management.
### document-updater-sharelatex
### [document-updater](http://github.com/sharelatex/document-updater-sharelatex)
Process updates that come in from the editor when users modify documents. Ensures that
the updates are applied in the right order, and that only one operation is modifying
the document at a time. Also caches the documents in redis for very fast but persistent
modifications.
### [CLSI](http://github.com/sharelatex/clsi-sharelatex)
The Common LaTeX Service Interface (CLSI) which provides an API for compiling LaTeX
documents.
Contributing
------------
Please see the [CONTRIBUTING](https://github.com/sharelatex/sharelatex/blob/master/CONTRIBUTING.md) file for information on contributing to the development of ShareLaTeX.