summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReed Garmsen <rgarmsen2295@gmail.com>2015-06-19 08:06:25 -0700
committerReed Garmsen <rgarmsen2295@gmail.com>2015-06-19 08:06:25 -0700
commitc1740ffa2fcfcf663d8e847cfe03187fb600b6c1 (patch)
tree1077544c0d976e274bdb5852fdf0ed548d6bd493
parent4f321383b33ab805f22e7172a54925b1cd353fcb (diff)
parent8dab13c7ded5ca04e06b68146dbd8c34fb997763 (diff)
downloadchat-c1740ffa2fcfcf663d8e847cfe03187fb600b6c1.tar.gz
chat-c1740ffa2fcfcf663d8e847cfe03187fb600b6c1.tar.bz2
chat-c1740ffa2fcfcf663d8e847cfe03187fb600b6c1.zip
Merge pull request #14 from mattermost/master
to me
-rw-r--r--README.md129
-rwxr-xr-xdocker/Dockerrun.aws.json13
-rw-r--r--scripts/README_DEV.md42
-rw-r--r--utils/config.go4
-rw-r--r--web/react/components/create_post.jsx4
-rw-r--r--web/react/utils/utils.jsx5
6 files changed, 146 insertions, 51 deletions
diff --git a/README.md b/README.md
index c3e844f61..53259ea10 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,15 @@
-**Mattermost Preview<br>**
-**Team Communication Service<br>**
+**Mattermost Preview**
+**Team Communication Service**
**Version 0.40**
-What matters most to your team?
-===============================
-Words have power.<br>
-Mattermost serves teams who use words to shape the future.<br>
-The words you choose are up to you.
+About Mattermost
+================
+
+Mattermost is a team communication service. It brings team messaging and file sharing into one place, accessible across PCs and phones, with archiving and search.
+
+We built Mattermost to help teams focus on what matters most to them. It works for us, we hope it works for you too.
-*- SpinPunch*
Installing the Mattermost Preview
=================================
@@ -18,49 +18,90 @@ You're installing "Mattermost Preview", a pre-released 0.40 version intended for
That said, any issues at all, please let us know on the Mattermost forum at: http://bit.ly/1MY1kul
-Developer Machine Setup (Mac)
+Local Machine Setup (Docker)
-----------------------------
-DOCKER SETUP
+### Mac OSX ###
-1. Follow the instructions at http://docs.docker.com/installation/mac/
-<br>a) Use the Boot2Docker command-line utility
-<br>b) If you do command-line setup use: `boot2docker init eval “$(boot2docker shellinit)”`
+1. Follow the instructions at http://docs.docker.com/installation/mac/
+ 1. Use the Boot2Docker command-line utility
+ 2. If you do command-line setup use: `boot2docker init eval “$(boot2docker shellinit)”`
2. Get your Docker IP address with `boot2docker ip`
-3. Add a line to your /etc/hosts that goes `<Docker IP> dockerhost`
-4. Run `boot2docker shellinit` and copy the export statements to your ~/.bash_profile
-
-Any issues? Please let us know on our forums at: http://bit.ly/1MY1kul
-
-GO SETUP
-
-1. Download Go from http://golang.org/dl/
-
-NODE.JS SETUP
-
-1. Install homebrew from http://brew.sh
-2. `brew install node`
-
-COMPASS SETUP
-
-1. Make sure you have the latest version of Ruby
-2. `gem install compass`
-
-MATTERMOST SETUP
-
-1. Make a project directory for Mattermost, which we'll call **$PROJECT** for the rest of these instructions
-2. Make a `go` directory in your $PROJECT directory
-3. Open or create your ~/.bash_profile and add the following lines: <br> `export GOPATH=$PROJECT/go`<br> `export PATH=$PATH:$GOPATH/bin` <br>then refresh your bash profile with `source ~/.bash_profile`
-4. Then use `cd $GOPATH` and `mkdir -p src/github.com/mattermost` then cd into this directory and run `git clone github.com/mattermost/platform.git`
-5. If you do not have Mercurial, download it with: `brew install mercurial`
-6. Then do `cd platform` and `make test`. Provided the test runs fine, you now have a complete build environment.
-7. Use `make run` to run your code
-
-Any issues? Please let us know on our forums at: http://bit.ly/1MY1kul
+3. Add a line to your /etc/hosts that goes `<Docker IP> dockerhost`
+4. Run `boot2docker shellinit` and copy the export statements to your ~/.bash\_profile
+5. Run `docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:helium`
+6. When docker is done fetching the image, open http://dockerhost:8065/ in your browser
+
+### Ubuntu ###
+1. Follow the instructions at https://docs.docker.com/installation/ubuntulinux/ or use the summery below.
+`sudo apt-get update`
+`sudo apt-get install wget`
+`wget -qO- https://get.docker.com/ | sh`
+`sudo usermod -aG docker <username>`
+`sudo service docker start`
+`newgrp docker`
+2. Run `docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:helium
+3. When docker is done fetching the image, open http://localhost:8065/ in your browser
+
+### Arch ###
+1. Install docker using the following commands
+`pacman -S docker`
+`systemctl enable docker.service`
+`systemctl start docker.service`
+`gpasswd -a <username> docker`
+`newgrp docker`
+2. docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:helium
+3. When docker is done fetching the image, open http://localhost:8065/ in your browser
+
+### Notes ###
+If your ISP blocks port 25 then you may install locally but email will not be sent.
+
+If you want to work with the latest bits in the repo you can run the cmd
+`docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:latest`
+
+You can update to the latest bits by running
+`docker pull mattermost/platform:latest`
+
+If you wish to remove mattermost-dev use the following commands
+1. `docker stop mattermost-dev`
+2. `docker rm -v mattermost-dev`
+
+
+AWS Elastic Beanstalk Setup (Docker)
+------------------------------------
+
+1. From the AWS console select Elastic Beanstalk
+2. Select "Create New Application" from the top right.
+3. Name the application and press next
+4. Select "Create a web server" environment.
+5. If asked, select create and AIM role and instance profile and press next.
+6. For predefined configuration select docker. Environment type may be left at default.
+7. For application source, select upload your own and upload Dockerrun.aws.json from docker/Dockerrun.aws.json. Everything else may be left at default.
+8. Select an environment name, this is how you will refer to your environment. Make sure the URL is available then press next.
+9. The options on the additional resources page may be left at default unless you wish to change them. Press Next.
+10. On the configuration details place. Select an instance type of t2.small or larger.
+11. You can set the configuration details as you please but they may be left at their defaults. When you are done press next.
+12. Environment tags my be left blank. Press next.
+13. You will be asked to review your information. Press Launch.
+14. Up near the top of the dashboard you will see a domain of the form \*.elasticbeanstalk.com copy this as you will need it later.
+15. From the AWS console select route 53
+16. From the sidebar select Hosted Zones
+17. Select the domain you want to use or create a new one.
+18. Modify an existing CNAME record set or create a new one with the name * and the value of the domain you copied in step 13.
+19. Save the record set
+20. Return the Elastic Beanstalk from the AWS console.
+21. Select the environment you created.
+22. Select configuration from the sidebar.
+23. Click the gear beside software configuration.
+24. Add an environment property with the name “MATTERMOST\_DOMAIN” and a value of the domain you mapped in route 53. For example if your domain is \*.example.com you would enter example.com not www.example.com.
+25. Select apply.
+26. Return to the dashboard on the sidebar and wait for beanstalk update the environment.
+27. Try it out by entering the domain you mapped into your browser.
License
-------
-This software uses the Apache 2.0 open source license. For more details see: http://bit.ly/1Lc25Sv<br>
+This software uses the Apache 2.0 open source license. For more details see: http://bit.ly/1Lc25Sv
+
**XXXXXX TODO: Test install procedures**
diff --git a/docker/Dockerrun.aws.json b/docker/Dockerrun.aws.json
new file mode 100755
index 000000000..52bbb2ae5
--- /dev/null
+++ b/docker/Dockerrun.aws.json
@@ -0,0 +1,13 @@
+{
+ "AWSEBDockerrunVersion": "1",
+ "Image": {
+ "Name": "mattermost/platform",
+ "Update": "true"
+ },
+ "Ports": [
+ {
+ "ContainerPort": "80"
+ }
+ ],
+ "Logging": "/var/log/"
+}
diff --git a/scripts/README_DEV.md b/scripts/README_DEV.md
new file mode 100644
index 000000000..6a2dfc54d
--- /dev/null
+++ b/scripts/README_DEV.md
@@ -0,0 +1,42 @@
+Developer Machine Setup (Mac)
+-----------------------------
+
+DOCKER SETUP
+
+1. Follow the instructions at http://docs.docker.com/installation/mac/
+ 1. Use the Boot2Docker command-line utility
+ 2. If you do command-line setup use: `boot2docker init eval “$(boot2docker shellinit)”`
+2. Get your Docker IP address with `boot2docker ip`
+3. Add a line to your /etc/hosts that goes `<Docker IP> dockerhost`
+4. Run `boot2docker shellinit` and copy the export statements to your ~/.bash_profile
+
+Any issues? Please let us know on our forums at: http://bit.ly/1MY1kul
+
+GO SETUP
+
+1. Download Go from http://golang.org/dl/
+
+NODE.JS SETUP
+
+1. Install homebrew from http://brew.sh
+2. `brew install node`
+
+COMPASS SETUP
+
+1. Make sure you have the latest version of Ruby
+2. `gem install compass`
+
+MATTERMOST SETUP
+
+1. Make a project directory for Mattermost, which we'll call **$PROJECT** for the rest of these instructions
+2. Make a `go` directory in your $PROJECT directory
+3. Open or create your ~/.bash_profile and add the following lines:
+ `export GOPATH=$PROJECT/go`
+ `export PATH=$PATH:$GOPATH/bin`
+ then refresh your bash profile with `source ~/.bash_profile`
+4. Then use `cd $GOPATH` and `mkdir -p src/github.com/mattermost` then cd into this directory and run `git clone github.com/mattermost/platform.git`
+5. If you do not have Mercurial, download it with: `brew install mercurial`
+6. Then do `cd platform` and `make test`. Provided the test runs fine, you now have a complete build environment.
+7. Use `make run` to run your code
+
+Any issues? Please let us know on our forums at: http://bit.ly/1MY1kul \ No newline at end of file
diff --git a/utils/config.go b/utils/config.go
index 23bd3e85a..6a7e4589c 100644
--- a/utils/config.go
+++ b/utils/config.go
@@ -221,6 +221,10 @@ func LoadConfig(fileName string) {
// Grabs the domain from enviroment variable if not in configuration
if config.ServiceSettings.Domain == "" {
config.ServiceSettings.Domain = os.Getenv("MATTERMOST_DOMAIN")
+ // If the enviroment variable is not set, use a default
+ if config.ServiceSettings.Domain == "" {
+ config.ServiceSettings.Domain = "localhost"
+ }
}
// Check for a valid email for feedback, if not then do feedback@domain
diff --git a/web/react/components/create_post.jsx b/web/react/components/create_post.jsx
index 191be9bf8..a534e495d 100644
--- a/web/react/components/create_post.jsx
+++ b/web/react/components/create_post.jsx
@@ -31,9 +31,7 @@ module.exports = React.createClass({
post.message = this.state.messageText;
- var repRegex = new RegExp("<br>", "g");
- if (post.message.replace(repRegex, " ").trim().length === 0
- && this.state.previews.length === 0) {
+ if (post.message.trim().length === 0 && this.state.previews.length === 0) {
return;
}
diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx
index e57088614..fb4f3a34e 100644
--- a/web/react/utils/utils.jsx
+++ b/web/react/utils/utils.jsx
@@ -366,9 +366,6 @@ module.exports.textToJsx = function(text, options) {
if (options && options['singleline']) {
var repRegex = new RegExp("\n", "g");
text = text.replace(repRegex, " ");
- } else {
- var repRegex = new RegExp("\n", "g");
- text = text.replace(repRegex, "<br>");
}
var searchTerm = ""
@@ -392,7 +389,7 @@ module.exports.textToJsx = function(text, options) {
implicitKeywords[keywordArray[i]] = true;
}
- var lines = text.split("<br>");
+ var lines = text.split("\n");
var urlMatcher = new LinkifyIt();
for (var i = 0; i < lines.length; i++) {
var line = lines[i];