Skip to content
This repository has been archived by the owner on Sep 7, 2023. It is now read-only.

Commit

Permalink
update readme with new features
Browse files Browse the repository at this point in the history
  • Loading branch information
Barry de Graaff committed Aug 30, 2018
1 parent b12f804 commit 5994766
Showing 1 changed file with 58 additions and 55 deletions.
113 changes: 58 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Zimbra Rocket
In this Repository you will find a simple Zimlet to connect Zimbra Collaboration with Rocket Chat, and make an amazing integration with both inside the Zimbra Web Client, it will look like:

![Zimbra Rocket](https://github.com/jorgedlcruz/zimbra-zimlets/raw/master/img/zimbra-rocket-ui.png)
![Zimbra Rocket](https://raw.githubusercontent.com/Zimbra-Community/zimbra-rocket/master/img/zimbra-rocket-ui.png)

# Instructions
## How to install Rocket Chat
Expand All @@ -14,77 +14,81 @@ Rocket Chat it's also designed to be deployed on Docker or Ubuntu Snap, which is
* https://rocket.chat/docs/installation/docker-containers/
* https://rocket.chat/docs/installation/manual-installation/ubuntu/snaps/

## How to Configure Rocket Chat with Zimbra LDAP
## This Zimlet supports optional auto-login to Rocket using the Rocket API
This Zimlet can automatically log your users on to Rocket chat and even automatically create new users on Rocket chat. That way you only need to maintain the user accounts on Zimbra (full integration). Or you can maintain your Rocket accounts via LDAP or manually, but still log them on automatically (logon-only integration). Or you can just deploy only the Zimlet and let the user decide on the authentication (basic integration).
1. **Full integration**
For this you need to set-up the Java server extension copy it from https://github.com/Zimbra-Community/zimbra-rocket/raw/master/extension/out/artifacts/extension_jar/extension.jar to /opt/zimbra/lib/ext/rocket/extension.jar then create a text file /opt/zimbra/lib/ext/rocket/config.properties with the contents:

adminuser=adminUsername
adminpassword=adminPassword
rocketurl=https://rocket.example.org
loginurl=https://mail.example.org

This adminuser and password you should have created when you first installed Rocket. The loginurl is the place where we point users to that have not yet authenticated. This can be your SSO login page or the Zimbra login page. Don't forget `zmmailboxdctl restart`.

You must also configure Rocket chat like so:
![Zimbra Rocket](https://raw.githubusercontent.com/Zimbra-Community/zimbra-rocket/master/img/zimbra-rocket-iframe.png)
Be careful, as you can easily lock yourself out if something does not work.

Also enable the full iframe integration like so:
![Zimbra Rocket](https://raw.githubusercontent.com/Zimbra-Community/zimbra-rocket/master/img/zimbra-rocket-iframe2.png?1)

You must also configure and deploy the Zimlet:
Get a com_zimbra_rocket.zip (from Github releases) and as Zimbra user:

zmzimletctl deploy com_zimbra_rocket.zip
To configure the rocketurl in the Zimlet

zmzimletctl getConfigTemplate /opt/zimbra/zimlets/com_zimbra_rocket > /tmp/config_template.xml.tmp
Edit the /tmp/config_template.xml.tmp file according to your needs. Import the new configuration file by the running following command:

zmzimletctl configure /tmp/config_template.xml.tmp

2. **Logon-only integration**
Follow the same steps as under `Full integration` except when configuring the Zimlet set `createRocketAccount` to `false`. You may also want to configure Rocket to use Zimbra LDAP. See steps below.

3. **Basic integration**
You must configure and deploy the Zimlet:
Get a com_zimbra_rocket.zip (from Github releases) and as Zimbra user:


zmzimletctl deploy com_zimbra_rocket.zip
Configure the `rocketurl` in the Zimlet and set `createRocketAccount` to `false`

zmzimletctl getConfigTemplate /opt/zimbra/zimlets/com_zimbra_rocket > /tmp/config_template.xml.tmp
Edit the /tmp/config_template.xml.tmp file according to your needs. Import the new configuration file by the running following command:

zmzimletctl configure /tmp/config_template.xml.tmp

## How to Configure Rocket Chat with Zimbra LDAP (optional)
Configure Rocket Chat with the Zimbra LDAP is really easy, and you must follow the next steps:

Go to Administration and then LDAP, and enable the LDAP option, mark the option as shown, change the LDAP hostname with your Zimbra one (the Rocket and the Zimbra must have Network visibility)
![Zimbra Rocket](https://github.com/jorgedlcruz/zimbra-zimlets/raw/master/img/rocket-001.png)
![Zimbra Rocket](https://raw.githubusercontent.com/Zimbra-Community/zimbra-rocket/master/img/rocket-001.png)

On the *Domain Base* add the next, change it with your domain: *ou=people,dc=zimbra,dc=io*
On the *Domain Search User* select the next: *uid=zimbra,cn=admins,cn=zimbra*
On the *Domain Search Password* add your LDAP Password, you can retrieve on the Zimbra server with *zmlocalconfig -s zimbra_ldap_password*
![Zimbra Rocket](https://github.com/jorgedlcruz/zimbra-zimlets/raw/master/img/rocket-002.png)
![Zimbra Rocket](https://raw.githubusercontent.com/Zimbra-Community/zimbra-rocket/master/img/rocket-002.png)

On the next fields, please fill them as shown:
![Zimbra Rocket](https://github.com/jorgedlcruz/zimbra-zimlets/raw/master/img/rocket-003.png)
![Zimbra Rocket](https://raw.githubusercontent.com/Zimbra-Community/zimbra-rocket/master/img/rocket-003.png)

On the latest fields, fill them as shown and finally click on test, and Sync users, and Save
![Zimbra Rocket](https://github.com/jorgedlcruz/zimbra-zimlets/raw/master/img/rocket-004.png)

# How to Download and Deploy the Zimbra Rocket Zimlet
Please download the .zip file, or clone this repo, you must edit the file called *com_zimbra_rocket.js* with your details like:
* Name for the Tab on the next:
```bash
this.ZimbraRocketTab = this.createApp("Rocket", "", "Rocket");
```
And the Rocket Chat URL (https://YOUR-ROCHET-CHAT\) and the size of the iFrame if needed:
```php
app.setContent('<div style="position: fixed; left:0; width:100%; height:89%; border:0px;"><iframe id="ZimbraRocketFrame" style="z-index:2; left:0; width:100%; height:100%; border:0px;" src=\"https://YOUR-ROCHET-CHAT\"></div>');
```
Then create a .zip file with the files, *important* not a zip with a folder and inside the files, just files, in Linux or Mac if you are in the Folder with the files run:
```bash
zip -r com_zimbra_rocket.zip .
adding: .DS_Store (deflated 97%)
adding: com_zimbra_rocket.css (deflated 16%)
adding: com_zimbra_rocket.js (deflated 63%)
adding: com_zimbra_rocket.xml (deflated 55%)
adding: README.md (deflated 32%)
adding: rocket.png (stored 0%)
```

Then, you are ready to add the .zip to your Admin Console as usual:
![Zimbra Rocket](https://github.com/jorgedlcruz/zimbra-zimlets/raw/master/img/rocket-005.png)

If everything went okay, you will see the next message
![Zimbra Rocket](https://github.com/jorgedlcruz/zimbra-zimlets/raw/master/img/rocket-006.png)

Then you need to enable the Zimlet in the Class of Service you want:
![Zimbra Rocket](https://github.com/jorgedlcruz/zimbra-zimlets/raw/master/img/rocket-007.png)

And finally, the users will see it on their Tabs, and they need to introduce the credentials again, this will be fixed soon:
![Zimbra Rocket](https://github.com/jorgedlcruz/zimbra-zimlets/raw/master/img/rocket-008.png)
![Zimbra Rocket](https://raw.githubusercontent.com/Zimbra-Community/zimbra-rocket/master/img/rocket-004.png)

# Special Bonus, Zimbra Talk Integration and Zimbra Rocket
Zimbra Rocket doesn't end into an amazing look-a-like Slack experience, and you can even integrate your Zimbra Talk to make video calls between users, one-to-one and one-to-many, follow the next steps to enable it:

Go to Administration > Videoconference and add your Zimbra Talk FQDN, and the Zimbra Talk Chrome ID for the Share Screen Feature:
![Zimbra Rocket](https://github.com/jorgedlcruz/zimbra-zimlets/raw/master/img/rocket-009.png)
![Zimbra Rocket](https://raw.githubusercontent.com/Zimbra-Community/zimbra-rocket/master/img/rocket-009.png)

Then the users will be able to call each other, or to groups by using the camera icon:
![Zimbra Rocket](https://github.com/jorgedlcruz/zimbra-zimlets/raw/master/img/rocket-010.png)

## ToDo
- [ ] Add a way to store the LDAP user and Password within the Zimlet
- [ ] Make the vertical-right features bar from Rocket on all Zimbra Web Client, so keep it there static

## Auto-login extension
Work in progress

config.properties
adminuser=rocketAdminAccount
adminpassword=rocketAdminAccountPassword
rocketurl=https://yourrocket.org
loginurl=https://yourZimbraOrSSOLoginUrl.org
![Zimbra Rocket](https://raw.githubusercontent.com/Zimbra-Community/zimbra-rocket/master/img/rocket-010.png)


========================================================================
Expand All @@ -108,4 +112,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

0 comments on commit 5994766

Please sign in to comment.