Этот коммит содержится в:
=Corey Hulen
2015-08-24 10:00:12 -07:00
родитель 677b7393b5 3e73ff25d3
Коммит 8519eb3f49
11 изменённых файлов: 67 добавлений и 18 удалений

Просмотреть файл

@@ -60,7 +60,7 @@ Local Machine Setup (Docker)
3. When docker is done fetching the image, open http://localhost:8065/ in your browser. 3. When docker is done fetching the image, open http://localhost:8065/ in your browser.
### Arch ### ### Arch ###
1. Install docker using the following commands: 1. Install Docker using the following commands:
``` bash ``` bash
pacman -S docker pacman -S docker
@@ -70,13 +70,13 @@ Local Machine Setup (Docker)
newgrp docker newgrp docker
``` ```
2. Start docker container: 2. Start Docker container:
``` bash ``` bash
docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform
``` ```
3. When docker is done fetching the image, open http://localhost:8065/ in your browser. 3. When Docker is done fetching the image, open http://localhost:8065/ in your browser.
### Additional Notes ### ### Additional Notes ###
- If you want to work with the latest master from the repository (i.e. not a stable release) you can run the cmd: - If you want to work with the latest master from the repository (i.e. not a stable release) you can run the cmd:
@@ -85,7 +85,7 @@ Local Machine Setup (Docker)
docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:dev docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform:dev
``` ```
- Instructions on how to update your docker image are found below. - Instructions on how to update your Docker image are found below.
- If you wish to remove mattermost-dev use: - If you wish to remove mattermost-dev use:
@@ -103,7 +103,7 @@ Local Machine Setup (Docker)
AWS Elastic Beanstalk Setup (Docker) AWS Elastic Beanstalk Setup (Docker)
------------------------------------ ------------------------------------
1. Create a new elastic beanstalk docker application using the [Dockerrun.aws.zip](docker/0.6/Dockerrun.aws//Dockerrun.aws.zip) file provided. 1. Create a new Elastic Beanstalk Docker application using the [Dockerrun.aws.zip](docker/0.6/Dockerrun.aws//Dockerrun.aws.zip) file provided.
1. From the AWS console select Elastic Beanstalk. 1. From the AWS console select Elastic Beanstalk.
2. Select "Create New Application" from the top right. 2. Select "Create New Application" from the top right.
3. Name the application and press next. 3. Name the application and press next.
@@ -125,7 +125,7 @@ AWS Elastic Beanstalk Setup (Docker)
Configuration Settings Configuration Settings
---------------------- ----------------------
There are a few configuration settings you might want to adjust when setting up your instance of Mattermost. You can edit them in [config/config.json](config/config.json) or [docker/0.6/config_docker.json](docker/0.6/config_docker.json) if you're running a docker instance. There are a few configuration settings you might want to adjust when setting up your instance of Mattermost. You can edit them in [config/config.json](config/config.json) or [docker/0.6/config_docker.json](docker/0.6/config_docker.json) if you're running a Docker instance.
* *EmailSettings*:*ByPassEmail* - If this is set to true, then users on the system will not need to verify their email addresses when signing up. In addition, no emails will ever be sent. * *EmailSettings*:*ByPassEmail* - If this is set to true, then users on the system will not need to verify their email addresses when signing up. In addition, no emails will ever be sent.
* *ServiceSettings*:*UseLocalStorage* - If this is set to true, then your Mattermost server will store uploaded files in the storage directory specified by *StorageDirectory*. *StorageDirectory* must be set if *UseLocalStorage* is set to true. * *ServiceSettings*:*UseLocalStorage* - If this is set to true, then your Mattermost server will store uploaded files in the storage directory specified by *StorageDirectory*. *StorageDirectory* must be set if *UseLocalStorage* is set to true.
@@ -171,34 +171,34 @@ Email Setup (Optional)
3. The service should restart automatically. Verify the Mattermost service is running with `ps -A` 3. The service should restart automatically. Verify the Mattermost service is running with `ps -A`
4. Current logged in users will not be affected, but upon logging out or session expiration users will be required to verify their email address. 4. Current logged in users will not be affected, but upon logging out or session expiration users will be required to verify their email address.
Upgrading Mattermost Upgrading Mattermost Preview
--------------------- ----------------------------
### Docker ### ### Docker ###
To upgrade your docker image to the latest release (NOTE: this will destroy all data in the docker container): To upgrade your Docker image to a preview of the latest stable release (NOTE: this will erase all data in the Docker container, including the database):
1. Stop your docker container by running: 1. Stop your Docker container by running:
``` bash ``` bash
docker stop mattermost-dev docker stop mattermost-dev
``` ```
2. Delete your docker container by running: 2. Delete your Docker container by running:
``` bash ``` bash
docker rm mattermost-dev docker rm mattermost-dev
``` ```
3. Update your docker image by running: 3. Update your Docker image by running:
``` bash ``` bash
docker pull mattermost/platform docker pull mattermost/platform
``` ```
4. Start your docker container by running: 4. Start your Docker container by running:
``` bash ``` bash
docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform docker run --name mattermost-dev -d --publish 8065:80 mattermost/platform
``` ```
To upgrade to the latest master from the repository replace `mattermost/platform` with `mattermost/platform:dev` in the above instructions. To upgrade to the latest development build on master from the repository replace `mattermost/platform` with `mattermost/platform:dev` in the instructions 3) and 4) above.
Contributing Contributing
------------ ------------

23
requirements.md Обычный файл
Просмотреть файл

@@ -0,0 +1,23 @@
# Requirements
## Web Client
Supported Operating Systems and Browsers:
- PC: Windows 7, Windows 8 (Chrome 43+, Firefox 38+, Internet Explorer 10+)
- Mac: OS 10 (Safari 7, Chrome 43+)
- Linux: Arch 4.0.0 (Chrome 43+)
- iPhone 4s and higher (Safari on iOS 8.3+, Chrome 43+)
- Android 5 and higher (Chrome 43+)
## Server
While the pre-released version of Mattermost is not currently supported in production, the intention from the product team is to support:
- Ubuntu
- Debian
- CentOS
- RedHat Enterprise Linux
- Oracle Linux
The Mattermost roadmap does not currently include production support for Fedora, FreeBSD or Arch Linux.

Просмотреть файл

@@ -47,6 +47,13 @@ module.exports = React.createClass({
results: null results: null
}); });
AppDispatcher.handleServerAction({
type: ActionTypes.RECIEVED_SEARCH_TERM,
term: null,
do_search: false,
is_mention_search: false
});
AppDispatcher.handleServerAction({ AppDispatcher.handleServerAction({
type: ActionTypes.RECIEVED_POST_SELECTED, type: ActionTypes.RECIEVED_POST_SELECTED,
results: null results: null

Просмотреть файл

@@ -23,6 +23,13 @@ var RhsHeaderSearch = React.createClass({
results: null results: null
}); });
AppDispatcher.handleServerAction({
type: ActionTypes.RECIEVED_SEARCH_TERM,
term: null,
do_search: false,
is_mention_search: false
});
AppDispatcher.handleServerAction({ AppDispatcher.handleServerAction({
type: ActionTypes.RECIEVED_POST_SELECTED, type: ActionTypes.RECIEVED_POST_SELECTED,
results: null results: null

Просмотреть файл

@@ -48,6 +48,7 @@ module.exports = React.createClass({
} }
confirmButton = <a className={confirmButtonClass} onClick={this.props.submit}>Save</a>; confirmButton = <a className={confirmButtonClass} onClick={this.props.submit}>Save</a>;
} }
var helpText = 'Upload a profile picture in either JPG or PNG format, at least ' + config.ProfileWidth + 'px in width and ' + config.ProfileHeight + 'px height.'
var self = this; var self = this;
return ( return (
@@ -58,6 +59,9 @@ module.exports = React.createClass({
<li className='setting-list-item'> <li className='setting-list-item'>
{img} {img}
</li> </li>
<li className='setting-list-item'>
{helpText}
</li>
<li className='setting-list-item'> <li className='setting-list-item'>
{serverError} {serverError}
{clientError} {clientError}

Просмотреть файл

@@ -133,10 +133,10 @@ module.exports = React.createClass({
<div> <div>
<div className='modal-header'> <div className='modal-header'>
<button type='button' className='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>&times;</span></button> <button type='button' className='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>&times;</span></button>
<h4 className='modal-title' ref='title'><i className='modal-back'></i>Feature Settings</h4> <h4 className='modal-title' ref='title'><i className='modal-back'></i>Advanced Features</h4>
</div> </div>
<div ref='wrapper' className='user-settings'> <div ref='wrapper' className='user-settings'>
<h3 className='tab-header'>Feature Settings</h3> <h3 className='tab-header'>Advanced Features</h3>
<div className='divider-dark first'/> <div className='divider-dark first'/>
{valetSection} {valetSection}
<div className='divider-dark'/> <div className='divider-dark'/>

Просмотреть файл

@@ -27,8 +27,8 @@ module.exports = React.createClass({
}, },
render: function() { render: function() {
var tabs = []; var tabs = [];
tabs.push({name: 'feature', uiName: 'Features', icon: 'glyphicon glyphicon-wrench'});
tabs.push({name: 'import', uiName: 'Import', icon: 'glyphicon glyphicon-upload'}); tabs.push({name: 'import', uiName: 'Import', icon: 'glyphicon glyphicon-upload'});
tabs.push({name: 'feature', uiName: 'Advanced', icon: 'glyphicon glyphicon-wrench'});
return ( return (
<div className='modal fade' ref='modal' id='team_settings' role='dialog' tabIndex='-1' aria-hidden='true'> <div className='modal fade' ref='modal' id='team_settings' role='dialog' tabIndex='-1' aria-hidden='true'>

Просмотреть файл

@@ -271,11 +271,12 @@ function getYoutubeEmbed(link) {
iframe.setAttribute('src', iframe.setAttribute('src',
'https://www.youtube.com/embed/' + 'https://www.youtube.com/embed/' +
div.id + div.id +
'?autoplay=1&autohide=1&border=0&wmode=opaque&enablejsapi=1'); '?autoplay=1&autohide=1&border=0&wmode=opaque&fs=1&enablejsapi=1');
iframe.setAttribute('width', '480px'); iframe.setAttribute('width', '480px');
iframe.setAttribute('height', '360px'); iframe.setAttribute('height', '360px');
iframe.setAttribute('type', 'text/html'); iframe.setAttribute('type', 'text/html');
iframe.setAttribute('frameborder', '0'); iframe.setAttribute('frameborder', '0');
iframe.setAttribute('allowfullscreen', 'allowfullscreen');
div.parentNode.replaceChild(iframe, div); div.parentNode.replaceChild(iframe, div);
} }

Просмотреть файл

@@ -200,6 +200,9 @@
} }
} }
} }
.search__clear {
display: none;
}
} }
#navbar { #navbar {

Просмотреть файл

@@ -50,6 +50,8 @@
config = {}; config = {};
} }
config.SiteName = '{{ .SiteName }}'; config.SiteName = '{{ .SiteName }}';
config.ProfileWidth = '{{ .Props.ProfileWidth }}'
config.ProfileHeight = '{{ .Props.ProfileHeight }}'
</script> </script>
<script src="/static/js/bundle.js"></script> <script src="/static/js/bundle.js"></script>

Просмотреть файл

@@ -30,6 +30,8 @@ func NewHtmlTemplatePage(templateName string, title string) *HtmlTemplatePage {
props := make(map[string]string) props := make(map[string]string)
props["AnalyticsUrl"] = utils.Cfg.ServiceSettings.AnalyticsUrl props["AnalyticsUrl"] = utils.Cfg.ServiceSettings.AnalyticsUrl
props["ProfileHeight"] = fmt.Sprintf("%v", utils.Cfg.ImageSettings.ProfileHeight)
props["ProfileWidth"] = fmt.Sprintf("%v", utils.Cfg.ImageSettings.ProfileWidth)
return &HtmlTemplatePage{TemplateName: templateName, Title: title, SiteName: utils.Cfg.ServiceSettings.SiteName, Props: props} return &HtmlTemplatePage{TemplateName: templateName, Title: title, SiteName: utils.Cfg.ServiceSettings.SiteName, Props: props}
} }