-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #9 from ONLYOFFICE/develop
Release/v2.0.0
- Loading branch information
Showing
42 changed files
with
827 additions
and
97 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
Plone ONLYOFFICE integration plugin uses code from the following 3rd party projects: | ||
|
||
|
||
PyJWT - A Python implementation of JWT (https://opensource.org/licenses/MIT) | ||
License: MIT | ||
License File: PyJWT.license |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
include *.js | ||
include *.json | ||
include *.py | ||
include *.md | ||
include *.txt | ||
include *.cfg | ||
recursive-include src *.css | ||
recursive-include src *.js | ||
recursive-include src *.map | ||
recursive-include src *.po | ||
recursive-include src *.pot | ||
recursive-include src *.pt | ||
recursive-include src *.py | ||
recursive-include src *.sh | ||
recursive-include src *.txt | ||
recursive-include src *.xml | ||
recursive-include src *.zcml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
# Plone ONLYOFFICE integration plugin | ||
|
||
This plugin allows users to edit office documents within [Plone](https://plone.org/) using ONLYOFFICE Document Server - [Community or Integration Edition](#onlyoffice-document-server-editions). | ||
This plugin allows users to edit office documents within [Plone](https://plone.org/) using ONLYOFFICE Docs packaged as Document Server - [Community or Enterprise Edition](#onlyoffice-docs-editions). | ||
|
||
## Features | ||
|
||
|
@@ -15,39 +15,99 @@ Supported formats: | |
* For viewing and editing: DOCX, XLSX, PPTX. | ||
* For viewing only: PDF, ODT, ODS, ODP, DOC, XLS, PPT. | ||
|
||
## Installing ONLYOFFICE Document Server | ||
## Installing ONLYOFFICE Docs | ||
|
||
You will need an instance of ONLYOFFICE Document Server that is resolvable and connectable both from Plone and any end-clients. ONLYOFFICE Document Server must also be able to POST to Plone directly. | ||
You will need an instance of ONLYOFFICE Docs (Document Server) that is resolvable and connectable both from Plone and any end-clients. ONLYOFFICE Document Server must also be able to POST to Plone directly. | ||
|
||
You can install free Community version of ONLYOFFICE Document Server or scalable enterprise-level Integration Edition. | ||
You can install free Community version of ONLYOFFICE Docs or scalable Enterprise Edition with pro features. | ||
|
||
To install free Community version, use [Docker](https://github.com/onlyoffice/Docker-DocumentServer) (recommended) or follow [these instructions](https://helpcenter.onlyoffice.com/server/linux/document/linux-installation.aspx) for Debian, Ubuntu, or derivatives. | ||
|
||
To install Integration Edition, follow instructions [here](https://helpcenter.onlyoffice.com/server/integration-edition/index.aspx). | ||
To install Enterprise Edition, follow instructions [here](https://helpcenter.onlyoffice.com/server/integration-edition/index.aspx). | ||
|
||
Community Edition vs Integration Edition comparison can be found [here](#onlyoffice-document-server-editions). | ||
Community Edition vs Enterprise Edition comparison can be found [here](#onlyoffice-docs-editions). | ||
|
||
## Installing Plone ONLYOFFICE integration plugin | ||
|
||
Install plugin by adding it to your `buildout.cfg`: | ||
1. Install plugin by adding it to your `buildout.cfg`: | ||
``` | ||
[buildout] | ||
``` | ||
[buildout] | ||
... | ||
... | ||
eggs = | ||
onlyoffice.connector | ||
``` | ||
2. Run `bin/buildout`. | ||
3. Go to `Site Setup` -> `Add-ons`and press the `Install` button to enable plugin. | ||
eggs = | ||
onlyoffice.connector | ||
You could also install plugin via Docker | ||
``` | ||
|
||
and then running `bin/buildout` | ||
|
||
To enable plugin, go to `Site Setup` -> `Add-ons`and press the `Install` button. | ||
docker run --rm -p 8080:8080 -e ADDONS="onlyoffice.connector" plone | ||
``` | ||
Both options will automatically install plugin from [PyPi](https://pypi.org/project/onlyoffice.connector/). | ||
## Configuring Plone ONLYOFFICE integration plugin | ||
To configure plugin go to `Site Setup`. Scroll down to `Add-ons Configuration` section and press the `ONLYOFFICE Configuration` button. | ||
## Developing Plone ONLYOFFICE plugin | ||
1. Clone repository and change directory: | ||
``` | ||
git clone --branch deploy [email protected]:ONLYOFFICE/onlyoffice-plone.git | ||
cd onlyoffice-plone | ||
``` | ||
2. Create a virtualenv in the package. | ||
3. Install requirements with pip. | ||
4. Run buildout: | ||
``` | ||
virtualenv . | ||
./bin/pip install -r requirements.txt | ||
./bin/buildout | ||
``` | ||
5. Start Plone in foreground: | ||
``` | ||
./bin/instance fg | ||
``` | ||
If you have a working Plone instance, you can install plugin by adding the project files to the src directory: | ||
1. In the src directory create the onlyoffice.connector directory. | ||
2. Put your project files received by git into the onlyoffice.connector directory. | ||
3. Edit the buildout.cfg file: | ||
``` | ||
[buildout] | ||
... | ||
eggs = | ||
onlyoffice.connector | ||
develop = | ||
src/onlyoffice.connector | ||
``` | ||
4. Rerun buildout for the changes to take effect: | ||
``` | ||
./bin/buildout | ||
``` | ||
5. Then start or restart your Plone instance. | ||
Note that Plone is based on Zope server and will not run as `root` user. If you intend to run it as `root` user. You must supply [effective-user directive](https://zope.readthedocs.io/en/2.12/SETUID.html). In order to do so add `effective-user <username>` line to `./parts/instance/etc/zope.conf`. | ||
## Upgrade Plone ONLYOFFICE integration plugin | ||
1. If you specified a concrete plugin version in your buildout.cfg file (so-called “pinning”, and a recommended practice), | ||
like onlyoffice.connector = 1.0.0, update this reference to point to the newer version. If the plugin version is not | ||
specified, then the latest version will be automatically loaded: | ||
``` | ||
[versions] | ||
... | ||
onlyoffice.connector = 1.0.1 | ||
``` | ||
2. Run bin/buildout. Wait until the new version is downloaded and installed. | ||
3. Restart Plone - your site may look weird, or even be inaccessible until you have performed the next step. | ||
4. Navigate to the Add-on screen (add /prefs_install_products_form to your site URL) and in the Upgrades list select onlyoffice.connector and click "Upgrade onlyoffice.connector". | ||
## How it works | ||
The ONLYOFFICE integration follows the API documented [here](https://api.onlyoffice.com/editors/basic): | ||
|
@@ -66,73 +126,44 @@ The ONLYOFFICE integration follows the API documented [here](https://api.onlyoff | |
* After 10 seconds of inactivity, ONLYOFFICE Document Server sends a POST to the `callback` URL letting Plone know that the clients have finished editing the document and closed it. | ||
* Plone downloads the new version of the document, replacing the old one. | ||
## Developing Plone ONLYOFFICE plugin | ||
|
||
- Clone repository and change directory | ||
|
||
``` | ||
git clone --branch deploy [email protected]:ONLYOFFICE/onlyoffice-plone.git | ||
cd onlyoffice-plone | ||
``` | ||
|
||
- Create a virtualenv in the package | ||
- Install requirements with pip | ||
- Run buildout | ||
|
||
``` | ||
virtualenv --clear . | ||
./bin/pip install -r requirements.txt | ||
./bin/buildout | ||
``` | ||
|
||
- Start Plone in foreground | ||
|
||
``` | ||
./bin/instance fg | ||
``` | ||
|
||
Note that Plone is based on Zope server and will not run as `root` user. If you intend to run it as `root` user. You must supply [effective-user directive](https://zope.readthedocs.io/en/2.12/SETUID.html). In order to do so add `effective-user <username>` line to `./parts/instance/etc/zope.conf`. | ||
|
||
## ONLYOFFICE Document Server editions | ||
## ONLYOFFICE Docs editions | ||
ONLYOFFICE offers different versions of its online document editors that can be deployed on your own servers. | ||
**ONLYOFFICE Document Server:** | ||
|
||
* Community Edition (`onlyoffice-documentserver` package) | ||
* Integration Edition (`onlyoffice-documentserver-ie` package) | ||
* Enterprise Edition (`onlyoffice-documentserver-ie` package) | ||
The table below will help you make the right choice. | ||
| Pricing and licensing | Community Edition | Integration Edition | | ||
| Pricing and licensing | Community Edition | Enterprise Edition | | ||
| ------------- | ------------- | ------------- | | ||
| | [Get it now](https://www.onlyoffice.com/download.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | [Start Free Trial](https://www.onlyoffice.com/connectors-request.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | | ||
| Cost | FREE | [Go to the pricing page](https://www.onlyoffice.com/integration-edition-prices.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | | ||
| | [Get it now](https://www.onlyoffice.com/download.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | [Start Free Trial](https://www.onlyoffice.com/enterprise-edition-free.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | | ||
| Cost | FREE | [Go to the pricing page](https://www.onlyoffice.com/enterprise-edition.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | | ||
| Simultaneous connections | up to 20 maximum | As in chosen pricing plan | | ||
| Number of users | up to 20 recommended | As in chosen pricing plan | | ||
| License | GNU AGPL v.3 | Proprietary | | ||
| **Support** | **Community Edition** | **Integration Edition** | | ||
| **Support** | **Community Edition** | **Enterprise Edition** | | ||
| Documentation | [Help Center](https://helpcenter.onlyoffice.com/server/docker/opensource/index.aspx) | [Help Center](https://helpcenter.onlyoffice.com/server/integration-edition/index.aspx) | | ||
| Standard support | [GitHub](https://github.com/ONLYOFFICE/DocumentServer/issues) or paid | One year support included | | ||
| Premium support | [Buy Now](https://www.onlyoffice.com/support.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | [Buy Now](https://www.onlyoffice.com/support.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | | ||
| **Services** | **Community Edition** | **Integration Edition** | | ||
| **Services** | **Community Edition** | **Enterprise Edition** | | ||
| Conversion Service | + | + | | ||
| Document Builder Service | + | + | | ||
| **Interface** | **Community Edition** | **Integration Edition** | | ||
| **Interface** | **Community Edition** | **Enterprise Edition** | | ||
| Tabbed interface | + | + | | ||
| White Label | - | - | | ||
| Integrated test example (node.js) | - | + | | ||
| **Plugins & Macros** | **Community Edition** | **Integration Edition** | | ||
| **Plugins & Macros** | **Community Edition** | **Enterprise Edition** | | ||
| Plugins | + | + | | ||
| Macros | + | + | | ||
| **Collaborative capabilities** | **Community Edition** | **Integration Edition** | | ||
| **Collaborative capabilities** | **Community Edition** | **Enterprise Edition** | | ||
| Two co-editing modes | + | + | | ||
| Comments | + | + | | ||
| Built-in chat | + | + | | ||
| Review and tracking changes | + | + | | ||
| Display modes of tracking changes | + | + | | ||
| Version history | + | + | | ||
| **Document Editor features** | **Community Edition** | **Integration Edition** | | ||
| **Document Editor features** | **Community Edition** | **Enterprise Edition** | | ||
| Font and paragraph formatting | + | + | | ||
| Object insertion | + | + | | ||
| Adding Content control | - | + | | ||
|
@@ -141,20 +172,23 @@ The table below will help you make the right choice. | |
| Table of contents | + | + | | ||
| Navigation panel | + | + | | ||
| Comparing Documents | - | +* | | ||
| **Spreadsheet Editor features** | **Community Edition** | **Integration Edition** | | ||
| **Spreadsheet Editor features** | **Community Edition** | **Enterprise Edition** | | ||
| Font and paragraph formatting | + | + | | ||
| Object insertion | + | + | | ||
| Functions, formulas, equations | + | + | | ||
| Table templates | + | + | | ||
| Pivot tables | +** | +** | | ||
| **Presentation Editor features** | **Community Edition** | **Integration Edition** | | ||
| Pivot tables | + | + | | ||
| Conditional formatting for viewing | +** | +** | | ||
| Sheet views | - | + | | ||
| **Presentation Editor features** | **Community Edition** | **Enterprise Edition** | | ||
| Font and paragraph formatting | + | + | | ||
| Object insertion | + | + | | ||
| Animations | + | + | | ||
| Presenter mode | + | + | | ||
| Notes | + | + | | ||
| | [Get it now](https://www.onlyoffice.com/download.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | [Start Free Trial](https://www.onlyoffice.com/connectors-request.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | | ||
| | [Get it now](https://www.onlyoffice.com/download.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | [Start Free Trial](https://www.onlyoffice.com/enterprise-edition-free.aspx?utm_source=github&utm_medium=cpc&utm_campaign=GitHubPlone) | | ||
\* It's possible to add documents for comparison from your local drive and from URL. Adding files for comparison from storage is not available yet. | ||
\** Changing style and deleting (Full support coming soon) | ||
\** Support for all conditions and gradient. Adding/Editing capabilities are coming soon | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
[buildout] | ||
show-picked-versions = true | ||
extensions = | ||
mr.developer | ||
|
||
index = https://pypi.python.org/simple/ | ||
|
||
parts = | ||
instance | ||
test | ||
code-analysis | ||
coverage | ||
test-coverage | ||
createcoverage | ||
releaser | ||
i18ndude | ||
omelette | ||
robot | ||
plone-helper-scripts | ||
develop = . | ||
|
||
|
||
[instance] | ||
recipe = plone.recipe.zope2instance | ||
user = admin:admin | ||
http-address = 8080 | ||
environment-vars = | ||
zope_i18n_compile_mo_files true | ||
eggs = | ||
Plone | ||
Pillow | ||
plone.app.debugtoolbar | ||
onlyoffice.connector [test] | ||
|
||
|
||
[code-analysis] | ||
recipe = plone.recipe.codeanalysis | ||
directory = ${buildout:directory}/src/onlyoffice | ||
return-status-codes = False | ||
|
||
|
||
[omelette] | ||
recipe = collective.recipe.omelette | ||
eggs = ${instance:eggs} | ||
|
||
|
||
[test] | ||
recipe = zc.recipe.testrunner | ||
eggs = ${instance:eggs} | ||
initialization = | ||
os.environ['TZ'] = 'UTC' | ||
defaults = ['-s', 'onlyoffice.connector', '--auto-color', '--auto-progress'] | ||
|
||
|
||
[coverage] | ||
recipe = zc.recipe.egg | ||
eggs = coverage | ||
|
||
|
||
[test-coverage] | ||
recipe = collective.recipe.template | ||
input = inline: | ||
#!/bin/bash | ||
export TZ=UTC | ||
${buildout:directory}/bin/coverage run bin/test $* | ||
${buildout:directory}/bin/coverage html | ||
${buildout:directory}/bin/coverage report -m --fail-under=90 | ||
# Fail (exit status 1) if coverage returns exit status 2 (this happens | ||
# when test coverage is below 100%. | ||
output = ${buildout:directory}/bin/test-coverage | ||
mode = 755 | ||
|
||
|
||
[createcoverage] | ||
recipe = zc.recipe.egg | ||
eggs = createcoverage | ||
|
||
|
||
[robot] | ||
recipe = zc.recipe.egg | ||
eggs = | ||
${test:eggs} | ||
plone.app.robotframework[debug,reload] | ||
|
||
|
||
[releaser] | ||
recipe = zc.recipe.egg | ||
eggs = zest.releaser | ||
|
||
|
||
[i18ndude] | ||
recipe = zc.recipe.egg | ||
eggs = i18ndude | ||
|
||
[plone-helper-scripts] | ||
recipe = zc.recipe.egg | ||
eggs = | ||
Products.CMFPlone | ||
${instance:eggs} | ||
interpreter = zopepy | ||
scripts = | ||
zopepy | ||
plone-compile-resources | ||
|
||
[versions] | ||
# Don't use a released version of onlyoffice.connector | ||
onlyoffice.connector = |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
[buildout] | ||
|
||
# use this extend one of the buildout configuration: | ||
extends = | ||
# -*- mrbob: extra extends -*- | ||
# test_plone43.cfg | ||
# test_plone50.cfg | ||
# test_plone51.cfg | ||
test_plone52.cfg |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
-c https://dist.plone.org/release/5.2-latest/requirements.txt | ||
# setuptools==40.2.0 | ||
# zc.buildout==2.12.2 |
Oops, something went wrong.