Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,25 @@
- SPDX-FileCopyrightText: 2013-2016 ownCloud, Inc.
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Nextcloud Office
# Nextcloud Office (powered by Collabora Online)

[![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/richdocuments)](https://api.reuse.software/info/github.com/nextcloud/richdocuments)

**A [Nextcloud](https://nextcloud.com) app integrating Collabora Online into your Nextcloud!**

![](https://raw.githubusercontent.com/nextcloud/richdocuments/main/screenshots/Nextcloud-writer.png)

Nextcloud Office supports editing your documents in real time with multiple other editors, showing high fidelity, WYSIWYG rendering and preserving the layout and formatting of your documents.
Nextcloud Office (Collabora) supports editing your documents in real time with multiple other editors, showing high fidelity, WYSIWYG rendering and preserving the layout and formatting of your documents.

Users can insert and reply to comments and invite others without a Nextcloud account for anonymous editing of files with a public link shared folder.

Nextcloud Office supports dozens of document formats including DOC, DOCX, PPT, PPTX, XLS, XLSX + ODF, Import/View Visio, Publisher and many more…
Nextcloud Office (Collabora) supports dozens of document formats including DOC, DOCX, PPT, PPTX, XLS, XLSX + ODF, Import/View Visio, Publisher and many more…

Nextcloud Office is based on the Collabora Online Development Edition (CODE) and is available free and under heavy development, adding features and improvements all the time! Enterprise users have access to the more stable, scalable Collabora Online Enterprise based version through a Nextcloud support subscription.
Nextcloud Office (Collabora) is based on the Collabora Online Development Edition (CODE) and is available free and under heavy development, adding features and improvements all the time! Enterprise users have access to the more stable, scalable Collabora Online Enterprise based version through a Nextcloud support subscription.

## Installation

Nextcloud Office is built on Collabora Online which requires a dedicated service running next to the Nextcloud webserver stack. There are several ways to run the coolwsd service. For full details, see the related section in the admin manual https://docs.nextcloud.com/server/latest/admin_manual/office/index.html
Nextcloud Office (Collabora) is built on Collabora Online which requires a dedicated service running next to the Nextcloud webserver stack. There are several ways to run the coolwsd service. For full details, see the related section in the admin manual https://docs.nextcloud.com/server/latest/admin_manual/office/index.html

This repository covers only the Nextcloud integration app which requires a Collabora Online server to connect to.

Expand Down
2 changes: 1 addition & 1 deletion appinfo/info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
-->
<info>
<id>richdocuments</id>
<name>Nextcloud Office</name>
<name>Nextcloud Office (Collabora)</name>
<summary>Edit office documents directly in your browser.</summary>
<description><![CDATA[This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.

Expand Down
4 changes: 2 additions & 2 deletions cypress/e2e/open.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -125,14 +125,14 @@ describe('Open PDF with richdocuments', () => {
cy.get('@pdfViewer').find('.pdfViewer').should('exist')
})

// Verify that using the file action 'Edit with Nextcloud Office'
// Verify that using the file action 'Edit with Nextcloud Office (Collabora)'
// opens the file using richdocuments
it('Open PDF with richdocuments', () => {
cy.get('[data-cy-files-list-row-name="document.pdf"]').as('pdf')
cy.get('@pdf').find('.action-items').as('actions')

cy.get('@actions').find('.action-item__menutoggle').click()
cy.get('.action-button__longtext').contains('Edit with Nextcloud Office').click()
cy.get('.action-button__longtext').contains('Edit with Nextcloud Office (Collabora)').click()

// Wait for Collabora to open
cy.waitForViewer()
Expand Down
8 changes: 4 additions & 4 deletions docs/app_settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
- SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
## Nextcloud Office App Settings
## Nextcloud Office (Collabora) App Settings

### Collabora Online Server
URL (and port) of the Collabora Online server that provides the editing functionality as a WOPI client. Collabora Online should use the same protocol (http:// or https://) as the server installation. Naturally, https:// is recommended.

### Restrict usage to specific groups
By default the app is enabled for all. When this setting is active, only members of specified groups can use Nextcloud Office.
By default the app is enabled for all. When this setting is active, only members of specified groups can use Nextcloud Office (Collabora).

### Restrict edit to specific groups
By default all users can edit documents with Nextcloud Office. When this setting is active, only the members of specified groups can edit, others can only view documents.
By default all users can edit documents with Nextcloud Office (Collabora). When this setting is active, only the members of specified groups can edit, others can only view documents.

### Use OOXML by default for new files
By default new files created by users are in OpenDocument Format (ODF). When this setting is active, new files will be created in Office Open XML (OOXML) format.
Expand All @@ -27,7 +27,7 @@ Canonical webroot, in case there are multiple, for Collabora Online to use. Prov

### Theme

By default Nextcloud Office comes with Nextcloud theme (monochrome icons following Nextcloud style), to change to a more traditional office look:
By default Nextcloud Office (Collabora) comes with Nextcloud theme (monochrome icons following Nextcloud style), to change to a more traditional office look:

occ config:app:set richdocuments theme --value="collabora"

Expand Down
6 changes: 3 additions & 3 deletions docs/frontend-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

### Configuration

The Nextcloud Office configuration for creating new files with their mimetype and extension per file type is exposed to `OCA.RichDocuments.config.create`.
The Nextcloud Office (Collabora) configuration for creating new files with their mimetype and extension per file type is exposed to `OCA.RichDocuments.config.create`.

```json
{
Expand All @@ -30,7 +30,7 @@ The Nextcloud Office configuration for creating new files with their mimetype an
### Open viewer


The following two methods are exposed in order to manually trigger the Nextcloud Office viewer opening a file:
The following two methods are exposed in order to manually trigger the Nextcloud Office (Collabora) viewer opening a file:

#### Open an existing file

Expand Down Expand Up @@ -247,7 +247,7 @@ Example failed event data:

### WOPI PostMessages

Collabora Online emits various post messages which are catched and handled by the Nextcloud Office
Collabora Online emits various post messages which are catched and handled by the Nextcloud Office (Collabora)
Integration app. Postmessages which are sent from the WOPI host (Collabora) to the editor (
Nextcloud) are also exposed through the Nextcloud event bus under the `richdocuments:wopi-post`
event name. For details on the post messages see
Expand Down
6 changes: 3 additions & 3 deletions docs/issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ It is possible your firewall is blocking connections. Try to start docker after

### We are sorry, this is an unexpected connection error. Please try again. error.

The Nextcloud Office app doesn't work at the moment, if you enable it only for certain groups. Remove the group filter in the App section.
The Nextcloud Office (Collabora) app doesn't work at the moment, if you enable it only for certain groups. Remove the group filter in the App section.

### Nextcloud Office doesn't handle my 100 users.
### Nextcloud Office (Collabora) doesn't handle my 100 users.

This docker image is designed for home usage with a limited numbers of users and open documents. If you need a more scalable solution, consider a support subscription for a reliable, business-ready online office experience.

#### Nextcloud Office doesn't work with Encryption.
#### Nextcloud Office (Collabora) doesn't work with Encryption.

Yes, this is currently unsupported. Find more questions and answers in the discussion thread on the forums and post a new topic in the Collabora category if you have unanswered questions!
2 changes: 1 addition & 1 deletion lib/Service/CapabilitiesService.php
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public function getProductName(): string {
return $this->getCapabilities()['productName'];
}

return $this->l10n->t('Nextcloud Office');
return $this->l10n->t('Nextcloud Office (Collabora)');
}

public function hasOtherOOXMLApps(): bool {
Expand Down
2 changes: 1 addition & 1 deletion lib/TaskProcessing/TextToDocumentProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public function getId(): string {

#[\Override]
public function getName(): string {
return $this->l->t('Nextcloud Office text document generator');
return $this->l->t('Nextcloud Office (Collabora) text document generator');
}

#[\Override]
Expand Down
2 changes: 1 addition & 1 deletion lib/TaskProcessing/TextToSpreadsheetProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public function getId(): string {

#[\Override]
public function getName(): string {
return $this->l->t('Nextcloud Office spreadsheet generator');
return $this->l->t('Nextcloud Office (Collabora) spreadsheet generator');
}

#[\Override]
Expand Down
10 changes: 5 additions & 5 deletions src/components/AdminSettings.vue
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<div class="section">
<h2>{{ productName }}</h2>
<p v-if="hasNextcloudBranding" class="description">
{{ t('richdocuments', 'Nextcloud Office is a powerful Collabora Online based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.') }}
{{ t('richdocuments', 'Nextcloud Office (powered by Collabora Online) is a powerful online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.') }}
</p>
<p v-else class="description">
{{ t('richdocuments', 'Collabora Online is a powerful LibreOffice-based online office suite with collaborative editing, which supports all major documents, spreadsheet and presentation file formats and works together with all modern browsers.') }}
Expand Down Expand Up @@ -77,7 +77,7 @@
:disabled="updating">
<label for="customserver">{{ t('richdocuments', 'Use your own server') }}</label><br>
<p class="option-inline">
<em>{{ t('richdocuments', 'Nextcloud Office requires a separate server running Collabora Online to provide editing capabilities.') }}</em>
<em>{{ t('richdocuments', 'Nextcloud Office (Collabora) requires a separate server running Collabora Online to provide editing capabilities.') }}</em>
<em>{{ t('richdocuments', 'Collabora Online requires a separate server acting as a WOPI-like Client to provide editing capabilities.') }}</em>
</p>
<div v-if="serverMode === 'custom'" class="option-inline">
Expand Down Expand Up @@ -312,9 +312,9 @@
<h2>{{ t('richdocuments', 'Secure View') }}</h2>
<p>{{ t('richdocuments', 'Secure view enables you to secure office documents by blocking downloads, previews and showing a watermark') }}</p>
<ul>
<li>{{ t('richdocuments', 'The settings only apply to compatible office files that are opened in Nextcloud Office') }}</li>
<li>{{ t('richdocuments', 'The settings only apply to compatible office files that are opened in Nextcloud Office (Collabora)') }}</li>
<li>{{ t('richdocuments', 'Downloading the file through WebDAV will be blocked') }}</li>
<li>{{ t('richdocuments', 'The following options within Nextcloud Office will be disabled: Copy, Download, Export, Print') }}</li>
<li>{{ t('richdocuments', 'The following options within Nextcloud Office (Collabora) will be disabled: Copy, Download, Export, Print') }}</li>
<li>{{ t('richdocuments', 'Files may still be downloadable via WOPI requests if WOPI settings are not correctly configured') }}</li>
<li>{{ t('richdocuments', 'Previews will be blocked') }}</li>
</ul>
Expand Down Expand Up @@ -483,7 +483,7 @@ export default {
},
data() {
return {
productName: loadState('richdocuments', 'productName', 'Nextcloud Office'),
productName: loadState('richdocuments', 'productName', 'Nextcloud Office (Collabora)'),
hasNextcloudBranding: loadState('richdocuments', 'hasNextcloudBranding', true),

serverMode: '',
Expand Down
6 changes: 3 additions & 3 deletions src/components/PersonalSettings.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
-->

<template>
<NcSettingsSection :name="t('richdocuments', 'Nextcloud Office')"
:description="t('richdocuments', 'Personal Settings for Nextcloud Office')"
<NcSettingsSection :name="t('richdocuments', 'Nextcloud Office (Collabora)')"
:description="t('richdocuments', 'Personal Settings for Nextcloud Office (Collabora)')"
:limit-width="true">
<!-- Template folder selection -->
<div class="template-folder-settings">
Expand All @@ -30,7 +30,7 @@
</div>
<p>
<em>
{{ t('richdocuments', 'Templates inside of this directory will be added to the template selector of Nextcloud Office.') }}
{{ t('richdocuments', 'Templates inside of this directory will be added to the template selector of Nextcloud Office (Collabora).') }}
</em>
</p>

Expand Down
6 changes: 3 additions & 3 deletions src/view/Office.vue
Original file line number Diff line number Diff line change
Expand Up @@ -220,15 +220,15 @@ export default {
return this.loading >= LOADING_STATE.FRAME_READY || this.debug
},
iframeTitle() {
return loadState('richdocuments', 'productName', 'Nextcloud Office')
return loadState('richdocuments', 'productName', 'Nextcloud Office (Collabora)')
},
showLoadingIndicator() {
return this.loading < LOADING_STATE.FRAME_READY
},
errorMessage() {
switch (parseInt(this.error)) {
case LOADING_ERROR.COLLABORA_UNCONFIGURED:
return t('richdocuments', '{productName} is not configured', { productName: loadState('richdocuments', 'productName', 'Nextcloud Office') })
return t('richdocuments', '{productName} is not configured', { productName: loadState('richdocuments', 'productName', 'Nextcloud Office (Collabora)') })
case LOADING_ERROR.PROXY_FAILED:
return t('richdocuments', 'Starting the built-in CODE server failed')
default:
Expand Down Expand Up @@ -362,7 +362,7 @@ export default {
this.loadingTimeout = setTimeout(() => {
console.error('Document loading failed due to timeout: Please check for failing network requests')
this.loading = LOADING_STATE.FAILED
this.error = t('richdocuments', 'Failed to load {productName} - please try again later', { productName: loadState('richdocuments', 'productName', 'Nextcloud Office') })
this.error = t('richdocuments', 'Failed to load {productName} - please try again later', { productName: loadState('richdocuments', 'productName', 'Nextcloud Office (Collabora)') })
}, (getCapabilities().config.timeout * 1000 || 15000))
},
sendPostMessage(msgId, values = {}) {
Expand Down
Loading