Questo articolo è stato tradotto dall’AI

Configurazione di ONLYOFFICE Docs Developer Edition

Introduzione

Per modificare qualsiasi impostazione del server di ONLYOFFICE Docs, configura il parametro corrispondente nel file di configurazione di ONLYOFFICE Docs, che si trova al seguente percorso:

  • Per Linux - /etc/onlyoffice/documentserver/default.json
  • Per Windows - %ProgramFiles%\ONLYOFFICE\DocumentServer\config\default.json

Se desideri modificarlo, puoi utilizzare il file local.json, dove devono essere memorizzati tutti i parametri modificati. Questo file si trova nella stessa directory del file default.json, e l'intera struttura dell'oggetto per il parametro necessario deve essere mantenuta.

Si prega di non modificare direttamente il contenuto del file default.json. I valori predefiniti verranno ripristinati ogni volta che riavvii il container Docker o aggiorni ONLYOFFICE Docs a una nuova versione, e tutte le tue modifiche andranno perse.

Le impostazioni predefinite del server sono descritte di seguito.

Pannello di Amministrazione

ParametroDescrizioneTipoPredefinito
Definisce la porta su cui è in esecuzione il servizio del Pannello di Amministrazione.intero9000
Definisce un hash della password utilizzato per proteggere una password con l'algoritmo PBKDF2-SHA256.
Il valore di questo parametro è memorizzato nel file runtime.json. Ad esempio, per la versione Linux, questo file si trova qui: /var/www/onlyoffice/Data/runtime.json
stringa""

Questi parametri definiscono le proprietà del Pannello di Amministrazione. Per ulteriori dettagli sull'uso del Pannello di Amministrazione, puoi fare riferimento a questo articolo.

Esempio
"adminPanel": {
    "port": 9000
  }

StatsD

ParametroDescrizioneTipoPredefinito
Definisce se le metriche StatsD sono abilitate per ONLYOFFICE Docs o meno.booleanofalse
Definisce l'host del server StatsD (nome host o indirizzo IP).stringa"localhost"
Definisce la porta del server StatsD.stringa"8125"
Definisce una stringa che verrà aggiunta all'inizio di tutte le statistiche automaticamente. Aiuta a distinguere diverse applicazioni che utilizzano lo stesso server StatsD.stringa"ds."

Questi parametri definiscono le proprietà del server StatsD, specificando un aggregatore di metriche.

Esempio
"statsd": {
    "useMetrics": false,
    "host": "localhost",
    "port": "8125",
    "prefix": "ds."
}

Impostazioni del plugin AI

ParametroDescrizioneTipoPredefinito
Definisce le azioni eseguite dall'AI, ad esempio, Chat, Riassunto, Traduzione, Analisi del Testo, Generazione di Immagini, OCR, Visione.oggetto
Definisce i modelli AI, ad esempio, gemini-1.5-pro-latest, llama3.2:latest, ecc.array[]
Definisce i fornitori di AI, ad esempio, OpenAI, Google Gemini, Anthropic, ecc.oggetto
Definisce la versione dell'SDK AI.intero3
Definisce un timeout proxy AI (misurato in minuti).stringa"5m"
Definisce quali siti web esterni sono autorizzati a effettuare richieste cross-origin al server.array di stringhe["https://onlyoffice.github.io", "https://onlyoffice-plugins.github.io"]
Supporta il routing delle richieste AI tramite proxy.stringa""

Questi parametri definiscono le proprietà del plugin AI.

Esempio
"aiSettings": {
    "actions": {},
    "models": [],
    "providers": {},
    "version": 3,
    "timeout": "5m",
    "allowedCorsOrigins": ["https://onlyoffice.github.io", "https://onlyoffice-plugins.github.io"],
    "proxy": ""
  }

Logger

ParametroDescrizioneTipoPredefinito
Definisce un percorso per il file di log.stringa""
Definisce le opzioni di log.oggetto
Definisce se le informazioni di log vengono stampate sulla console o meno.booleanotrue

Questi parametri definiscono le proprietà del logger.

Esempio
"log": {
    "filePath": "",
    "options": {
        "replaceConsole": true
    }
}

Configurazione runtime

ParametroDescrizioneTipoPredefinito
Definisce un percorso per il file di configurazione dinamica runtime.json. Per impostazione predefinita, viene utilizzato il percorso /var/www/onlyoffice/Data/runtime.json.stringa""
Definisce le opzioni di cache per runtime.json.oggetto
Definisce il TTL (tempo di vita) per ogni elemento di cache generato (misurato in secondi).intero300
Definisce il periodo utilizzato per l'intervallo di controllo dell'eliminazione automatica (misurato in secondi).intero60
Definisce se le variabili memorizzate nella cache verranno clonate o meno. Se true, verrà creata una copia della variabile memorizzata nella cache. Se false, verrà salvato solo il riferimento.booleanofalse

Questi parametri definiscono le proprietà del file di configurazione dinamica runtime.json. Questo file consente di modificare i parametri senza riavviare. Il file viene riletto in base a un evento di monitoraggio o ogni 5 minuti.

Esempio
"runtimeConfig": {
    "filePath": "",
    "cache": {
      "stdTTL": 300,
      "checkperiod": 60,
      "useClones": false
    }
  }

Code

ParametroDescrizioneTipoPredefinito
Definisce il tipo di message broker.stringa"rabbitmq"
Definisce il timeout di conversione (misurato in secondi).intero300
Definisce il TTL (tempo di vita) di tutti i messaggi in una coda (misurato in secondi).intero900

Questi parametri definiscono una coda di messaggi ricevuti dal message broker.

Esempio
"queue": {
    "type": "rabbitmq",
    "visibilityTimeout": 300,
    "retentionPeriod": 900
}

Email

ParametroDescrizioneTipoPredefinito
Definisce le impostazioni di base per la connessione al server SMTP.oggetto
Definisce il nome host o l'indirizzo IP del server SMTP.stringa"localhost"
Definisce la porta del server SMTP.intero587
Definisce i dati di autenticazione.oggetto

Definisce il nome utente per l'autenticazione.

Si prega di notare che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
stringa""

Definisce la password per l'autenticazione.

Si prega di notare che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
stringa""
Definisce le opzioni tecniche per la connessione al server SMTP.oggetto
Definisce se consentire l'uso di file come contenuto. Se questo parametro è impostato su true, i dati JSON da una fonte non attendibile non possono essere utilizzati come email. Se un allegato o un nodo di messaggio tenta di recuperare qualcosa da un file, l'invio restituisce un errore. booleanofalse
Definisce se consentire l'uso di URL come contenuto.booleanofalse
Definisce le impostazioni del messaggio email.oggetto
Definisce l'indirizzo email del mittente. Tutti gli indirizzi email possono essere semplici "sender@server.com" o con nome formattato '"Nome Mittente" sender@server.com'. stringa"from@example.com"
Definisce la lista separata da virgole o un array di indirizzi email dei destinatari che appariranno nel campo A:.stringa"to@example.com"

Questi parametri definiscono le impostazioni di un server di posta esterno, utilizzato per inviare notifiche. Per connettersi al server di posta, utilizzare la libreria nodemailer. Molte impostazioni di configurazione vengono passate direttamente a questa libreria.

Esempio
"email": {
    "smtpServerConfiguration": {
        "host": "localhost",
        "port": 587,
        "auth": {
            "user": "",
            "pass": ""
        }
    },
    "connectionConfiguration": {
        "disableFileAccess": false,
        "disableUrlAccess": false
    },
    "contactDefaults": {
        "from": "from@example.com",
        "to": "to@example.com"
    }
}

Notifica

ParametroDescrizioneTipoPredefinito
Definisce le regole delle impostazioni di notifica per quattro tipi di notifica: licenseExpirationWarning, licenseExpirationError, licenseLimitEdit, licenseLimitLiveViewer. oggetto
Definisce le regole per le impostazioni di notifica licenseExpirationWarning.oggetto
Definisce se la notifica licenseExpirationWarning è abilitata. Ogni tipo di notifica deve essere abilitato separatamente.booleanofalse
Definisce il modo di invio della notifica licenseExpirationWarning. Attualmente, è disponibile solo il tipo email.array di stringhe["email"]
Definisce un modello per il titolo e il corpo della notifica licenseExpirationWarning.oggetto
Definisce un modello per il titolo della notifica licenseExpirationWarning.stringa"%s Avviso di scadenza della licenza Docs"
Definisce un modello per il corpo della notifica licenseExpirationWarning.stringa"Attenzione! La tua licenza sta per scadere il %s.\nAl raggiungimento di questa data, non avrai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data."
Definisce la politica di invio della notifica licenseExpirationWarning.oggetto
Definisce il momento in cui la notifica licenseExpirationWarning verrà inviata (non più frequentemente del periodo specificato).stringa"1d"
Definisce le regole per le impostazioni della notifica licenseExpirationError.oggetto
Definisce se la notifica licenseExpirationError è abilitata. Ogni tipo di notifica deve essere abilitato separatamente.booleanofalse
Definisce il modo di invio della notifica licenseExpirationError. Attualmente, è disponibile solo il tipo email.array di stringhe["email"]
Definisce un modello per il titolo e il corpo della notifica licenseExpirationError.oggetto
Definisce un modello per il titolo della notifica licenseExpirationError.stringa"%s Avviso di scadenza della licenza Docs"
Definisce un modello per il corpo della notifica licenseExpirationError.stringa"Attenzione! La tua licenza è scaduta il %s.\nNon hai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data.\nSi prega di contattare sales@onlyoffice.com per discutere il rinnovo della licenza."
Definisce la politica di invio della notifica licenseExpirationError.oggetto
Definisce il momento in cui la notifica licenseExpirationError verrà inviata (non più frequentemente del periodo specificato).stringa"1d"
Definisce le regole per le impostazioni della notifica licenseLimitEdit.oggetto
Definisce se la notifica licenseLimitEdit è abilitata. Ogni tipo di notifica deve essere abilitato separatamente.booleanofalse
Definisce il modo di invio della notifica licenseLimitEdit. Attualmente, è disponibile solo il tipo email.array di stringhe["email"]
Definisce un modello per il titolo e il corpo della notifica licenseLimitEdit.oggetto
Definisce un modello per il titolo della notifica licenseLimitEdit.stringa"%s Avviso di limite di connessione della licenza Docs"
Definisce un modello per il corpo della notifica licenseLimitEdit.stringa"Attenzione! Hai raggiunto il %s%% del limite %s impostato dalla tua licenza."
Definisce la politica di invio della notifica licenseLimitEdit.oggetto
Definisce il momento in cui la notifica licenseLimitEdit verrà inviata (non più frequentemente del periodo specificato).stringa"1d"
Definisce le regole per le impostazioni della notifica licenseLimitLiveViewer.oggetto
Definisce se la notifica licenseLimitLiveViewer è abilitata. Ogni tipo di notifica deve essere abilitato separatamente.booleanofalse
Definisce il modo di invio della notifica licenseLimitLiveViewer. Attualmente, è disponibile solo il tipo email.array di stringhe["email"]
Definisce un modello per il titolo e il corpo della notifica licenseLimitLiveViewer.oggetto
Definisce un modello per il titolo della notifica licenseLimitLiveViewer.stringa"%s Avviso di limite di connessione della licenza Docs"
Definisce un modello per il corpo della notifica licenseLimitLiveViewer.stringa"Attenzione! Hai raggiunto il %s%% del limite %s impostato dalla tua licenza."
Definisce la politica di invio delle notifiche licenseLimitLiveViewer.oggetto
Definisce il tempo in cui la notifica licenseLimitLiveViewer verrà inviata (non più frequentemente del periodo specificato).stringa"1d"

Questi parametri definiscono le impostazioni delle notifiche.

Vengono inviate notifiche con i seguenti tipi di eventi e contenuti:

  • Superato il 70% della quota di connessione (quota di utenti unici).

    Avviso di limite di connessione della licenza: "Attenzione! Hai raggiunto il 70% del limite di connessioni impostato dalla tua licenza."

  • Raggiunta la quota di connessione (quota di utenti unici).

    Avviso di limite di connessione della licenza: "Attenzione! Hai raggiunto il 100% del limite di connessioni impostato dalla tua licenza."

  • 30 giorni prima della scadenza della licenza.

    Avviso di scadenza della licenza: "Attenzione! La tua licenza sta per scadere l'8 settembre 2024. Al raggiungimento di questa data, non avrai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data."

  • La licenza è scaduta.

    Avviso di limite di connessione della licenza: "Attenzione! La tua licenza è scaduta l'8 settembre 2024. Non hai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data. Si prega di contattare sales@onlyoffice.com per discutere il rinnovo della licenza."

Queste notifiche vengono scritte nel registro del server con livello WARN o ERROR.

Esempio
"notification": {
"rules": {
    "licenseExpirationWarning": {
        "enable": false,
        "transportType": [
            "email"
        ],
        "template": {
            "title": "%s Avviso di scadenza della licenza Docs",
            "body": "Attenzione! La tua licenza sta per scadere il %s.\nAl raggiungimento di questa data, non avrai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data."
        },
        "policies": {
            "repeatInterval": "1d"
        }
    },
    "licenseExpirationError": {
        "enable": false,
        "transportType": [
            "email"
        ],
        "template": {
            "title": "%s Avviso di scadenza della licenza Docs",
            "body": "Attenzione! La tua licenza è scaduta il %s.\nNon hai più diritto a ricevere supporto tecnico personale e installare nuove versioni di Docs rilasciate dopo questa data.\nSi prega di contattare sales@onlyoffice.com per discutere il rinnovo della licenza."
        },
        "policies": {
            "repeatInterval": "1d"
        }
    },
    "licenseLimitEdit": {
        "enable": false,
        "transportType": [
            "email"
        ],
        "template": {
            "title": "%s Avviso di limite di connessione della licenza Docs",
            "body": "Attenzione! Hai raggiunto il %s%% del limite %s impostato dalla tua licenza."
        },
        "policies": {
            "repeatInterval": "1h"
        }
    },
    "licenseLimitLiveViewer": {
        "enable": false,
        "transportType": [
            "email"
        ],
        "template": {
            "title": "%s Avviso di limite di connessione della licenza Docs",
            "body": "Attenzione! Hai raggiunto il %s%% del limite di visualizzazione dal vivo %s impostato dalla tua licenza."
        },
        "policies": {
            "repeatInterval": "1h"
        }
    }
}
}

Servizio di archiviazione documenti

ParametroDescrizioneTipoPredefinito
Definisce il nome del servizio di archiviazione documenti. Ad esempio, il valore "storage-s3" consente di collegare un bucket Amazon S3 come cache. Il valore "storage-az" consente di collegare MS Azure Blob Storage come cache.stringa"storage-fs"
Definisce i parametri dell'oggetto fileSystem.oggetto
Definisce un percorso alla cartella App_Data dove sono archiviati tutti i file.stringa""
Definisce il tempo in cui l'URL temporaneo all'oggetto fileSystem scade (misurato in secondi).intero900
Definisce la stringa segreta utilizzata per firmare l'URL.stringa"verysecretstring"
Definisce una regione AWS in cui risiede il tuo bucket Amazon.stringa""
Definisce l'endpoint di archiviazione documenti S3 AWS o MS Azure Blob Storage.stringa"http://localhost/s3"
Definisce un nome univoco per l'archiviazione documenti S3 AWS o MS Azure Blob Storage.stringa"cache"
Definisce il nome della cartella di archiviazione documenti S3 AWS dove sono archiviati tutti i file.stringa"files"
Definisce il nome della cartella cache per lavorare in modalità multi-tenant.stringa"data"
Definisce i parametri che consentono di personalizzare i comandi a un'archiviazione, ad esempio, abilitando AWS KMS.oggetto
Definisce i parametri che consentono di personalizzare i comandi all'archiviazione documenti S3 AWS.oggetto
Definisce i parametri del tipo di comando putObject utilizzato per caricare un oggetto in un bucket S3 specificato.oggetto
Definisce il tipo di crittografia per il nuovo oggetto caricato. I valori disponibili sono "aws:kms" o "AES256".stringa
Questa è un'impostazione opzionale. Ottimizza il costo per richiesta riducendo le chiamate all'API KMS.booleano
Definisce l'identificatore (ARN o chiave) della Chiave Gestita dal Cliente in AWS KMS utilizzata per crittografare l'oggetto dopo il caricamento.stringa
Definisce i parametri del tipo di comando getObject utilizzato per recuperare un oggetto da un bucket S3 specificato.oggetto
Definisce i parametri del tipo di comando copyObject utilizzato per creare una copia di un oggetto memorizzato in un bucket S3 specificato.oggetto
Definisce il tipo di crittografia per l'oggetto appena copiato. I valori disponibili sono "aws:kms" o "AES256".stringa
Questa è un'impostazione opzionale. Ottimizza il costo per richiesta riducendo le chiamate all'API KMS.booleano
Definisce l'identificatore (ARN o chiave) della Chiave Gestita dal Cliente in AWS KMS utilizzata per crittografare l'oggetto dopo la copia.stringa
Definisce come Amazon S3 dovrebbe gestire i metadati dell'oggetto di destinazione durante un'operazione di copia. Se il valore è impostato su "COPY", i metadati dall'oggetto sorgente vengono copiati nell'oggetto di destinazione. Se il valore è impostato su "REPLACE", i metadati dell'oggetto di destinazione vengono sostituiti dai metadati forniti nella richiesta copyObject e i metadati dall'oggetto sorgente non vengono copiati.stringa"COPY"
Definisce i parametri del tipo di comando listObjects utilizzato per recuperare un elenco di oggetti all'interno di un bucket S3 specificato.oggetto
Definisce il numero massimo di oggetti che vengono restituiti in una risposta.intero1000
Definisce i parametri del tipo di comando deleteObject utilizzato per rimuovere un oggetto da un bucket S3 specificato.oggetto
Definisce i parametri che consentono di personalizzare i comandi per MS Azure Blob Storage.oggetto
Definisce i parametri del tipo di comando uploadData utilizzato per caricare dati su MS Azure Blob Storage.oggetto
Definisce il nome dell'ambito di crittografia utilizzato per crittografare un blob caricato.stringa
Definisce i parametri del tipo di comando uploadStream utilizzato per caricare dati da un flusso su MS Azure Blob Storage.oggetto
Definisce il nome dell'ambito di crittografia utilizzato per crittografare un blob caricato da un flusso.stringa
Definisce i parametri del tipo di comando download utilizzato per scaricare dati da MS Azure Blob Storage.oggetto
Definisce i parametri del tipo di comando syncCopyFromURL utilizzato per copiare un blob da un URL sorgente a un blob di destinazione.oggetto
Definisce il nome dell'ambito di crittografia utilizzato per crittografare un blob copiato.stringa
Definisce i parametri del tipo di comando listBlobsFlat utilizzato per recuperare un elenco di tutti i blob in un contenitore.oggetto
Definisce il numero massimo di blob da restituire.intero1000
Definisce i parametri del tipo di comando deleteBlob utilizzato per rimuovere un blob.oggetto
Definisce il tempo in cui l'URL allo storage documenti S3 AWS scade (misurato in millisecondi).intero604800
Definisce un ID chiave per accedere allo storage documenti S3 AWS o MS Azure Blob Storage.stringa""
Definisce una chiave segreta per accedere allo storage documenti S3 AWS o MS Azure Blob Storage.stringa""
Definisce se SSL dello storage documenti S3 AWS è abilitato o meno.booleanofalse
Definisce se le richieste allo storage documenti S3 AWS utilizzano sempre l'indirizzamento in stile percorso.booleanotrue
Definisce un host esterno che viene utilizzato al posto dell'host specificato nella richiesta.stringa""
Definisce l'emissione di link a uno storage esterno: link diretti o link che sono proxy attraverso il Document Server. Impostando questo parametro su true si abilitano i link diretti, mentre il valore false consente di utilizzare link interni (il server fa da proxy alle richieste allo storage).booleanofalse

Questi parametri definiscono la configurazione del servizio di storage documenti.

Esempio
"storage": {
    "name": "storage-fs",
    "fs": {
      "folderPath": "",
      "urlExpires": 900,
      "secretString": "verysecretstring"
    },
    "region": "",
    "endpoint": "http://localhost/s3",
    "bucketName": "cache",
    "storageFolderName": "files",
    "cacheFolderName": "data",
    "commandOptions": {
      "s3": {
        "putObject": {},
        "getObject": {},
        "copyObject": {
          "MetadataDirective": "COPY"
        },
        "listObjects": {
          "MaxKeys": 1000
        },
        "deleteObject": {}
      },
      "az": {
        "uploadData": {},
        "uploadStream": {},
        "download": {},
        "syncCopyFromURL": {},
        "listBlobsFlat": {
          "maxPageSize": 1000
        },
        "deleteBlob": {}
      }
    },
    "urlExpires": 604800,
    "accessKeyId": "",
    "secretAccessKey": "",
    "sslEnabled": false,
    "s3ForcePathStyle": true,
    "externalHost": "",
    "useDirectStorageUrls": false
  }

Archiviazione persistente

Questi parametri definiscono le impostazioni dell'archiviazione persistente, utilizzata per separare le impostazioni per l'archiviazione della cache dei file dei documenti e l'archiviazione dei file dimenticati e degli errori. Le impostazioni non specificate in questo oggetto vengono ereditate dall'oggetto storage. La separazione è conveniente per gli aggiornamenti del server.

Esempio
"persistentStorage": {
}

RabbitMQ

ParametroDescrizioneTipoPredefinito

Definisce l'URL di RabbitMQ.

Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
stringa"amqp://localhost:5672"

Definisce le opzioni del socket RabbitMQ che verranno passate alla libreria del socket (net o tls). Queste opzioni devono essere campi impostati sull'oggetto fornito. Le opzioni del socket possono essere utilizzate per la connessione SSL e possono contenere i seguenti campi:

  • cert - definisce un certificato da presentare al server (in formato PEM o pkcs12),
    tipo: stringa,
    esempio: "";
  • key - definisce la chiave privata per il certificato (in formato PEM o pkcs12),
    tipo: stringa,
    esempio: "";
  • passphrase - definisce una passphrase per la chiave privata,
    tipo: stringa,
    esempio: "MySecretPassword";
  • ca - definisce un elenco dei certificati CA in formato PEM che considereremo attendibili, poiché stiamo utilizzando un certificato autofirmato,
    tipo: array,
    esempio: [];
  • noDelay - definisce se TCP_NODELAY (algoritmo di Nagle) è impostato sul socket sottostante o meno,
    tipo: booleano,
    esempio: true.
oggetto{}
Definisce il server di scambio Publisher Subscriber.oggetto
Definisce un nome per il server Publisher Subscriber.stringa"ds.pubsub"
Definisce le impostazioni del server Publisher Subscriber.oggetto
Definisce se la coda sopravviverà ai riavvii del broker.booleanotrue
Definisce la coda Publisher Subscriber.oggetto
Definisce un nome per la coda Publisher Subscriber.stringa""
Definisce le impostazioni della coda Publisher Subscriber.oggetto
Definisce se la coda verrà eliminata quando il numero di consumatori scende a zero.booleanotrue
Definisce se la coda sarà limitata alla connessione.booleanotrue
Definisce gli argomenti aggiuntivi, solitamente parametri per qualche tipo di estensione specifica del broker, ad esempio alta disponibilità, TTL.oggetto
Definisce un valore per l'intestazione x-queue-type che specifica il tipo di coda. Possono essere utilizzate solo code classiche.stringa"classic"
Definisce una coda di attività.oggetto
Definisce un nome per la coda di attività.stringa"ds.converttask6"
Definisce le impostazioni della coda di attività.oggetto
Definisce se la coda sopravviverà ai riavvii del broker.booleanotrue
Definisce una priorità della coda.intero6
Definisce gli argomenti aggiuntivi, solitamente parametri per qualche tipo di estensione specifica del broker, ad esempio alta disponibilità, TTL.oggetto
Definisce un valore per l'intestazione x-queue-type che specifica il tipo di coda. Questa impostazione può essere utilizzata per impostare le code quorum.stringa"classic"
Definisce una coda di risposte.oggetto
Definisce un nome per la coda di risposte.stringa"ds.convertresponse"
Definisce le impostazioni della coda di risposte.oggetto
Definisce se la coda sopravviverà ai riavvii del broker.booleanotrue
Definisce gli argomenti aggiuntivi, solitamente parametri per qualche tipo di estensione specifica del broker, ad esempio alta disponibilità, TTL.oggetto
Definisce un valore per l'intestazione x-queue-type che specifica il tipo di coda. Questa impostazione può essere utilizzata per impostare le code quorum.stringa"classic"
Definisce un exchange di dead letter.oggetto
Definisce un nome per l'exchange di dead letter.stringa"ds.exchangeconvertdead"
Definisce le impostazioni dell'exchange di dead letter.oggetto
Definisce se la coda sopravviverà ai riavvii del broker.booleanotrue
Definisce una coda di dead letter.oggetto
Definisce un nome per la coda di dead letter.stringa"ds.convertdead"
Definisce le impostazioni della coda di dead letter.oggetto
Definisce se la coda sopravviverà ai riavvii del broker.booleanotrue
Definisce gli argomenti aggiuntivi, solitamente parametri per qualche tipo di estensione specifica del broker, ad esempio alta disponibilità, TTL.oggetto
Definisce un valore per l'intestazione x-queue-type che specifica il tipo di coda. Questa impostazione può essere utilizzata per impostare le code quorum.stringa"classic"
Definisce la coda ritardata.oggetto
Definisce un nome per la coda ritardata.stringa"ds.delayed"
Definisce le impostazioni della coda ritardata.oggetto
Definisce se la coda sopravviverà ai riavvii del broker.booleanotrue
Definisce gli argomenti aggiuntivi, solitamente parametri per qualche tipo di estensione specifica del broker, ad esempio alta disponibilità, TTL.oggetto
Definisce un valore per l'intestazione x-queue-type che specifica il tipo di coda. Questa impostazione può essere utilizzata per impostare le code quorum.stringa"classic"

Questi parametri definiscono la configurazione del broker di messaggi RabbitMQ.

Esempio
"rabbitmq": {
"url": "amqp://localhost:5672",
"socketOptions": {},
"exchangepubsub": {
    "name": "ds.pubsub",
    "options": {
        "durable": true
    }
},
"queuepubsub": {
    "name": "",
    "options": {
        "autoDelete": true,
        "exclusive": true,
        "arguments": {
            "x-queue-type": "classic"
        }
    }
},
"queueconverttask": {
    "name": "ds.converttask6",
    "options": {
        "durable": true,
        "maxPriority": 6,
        "arguments": {
            "x-queue-type": "classic"
        }
    }
},
"queueconvertresponse": {
    "name": "ds.convertresponse",
    "options": {
        "durable": true,
        "arguments": {
            "x-queue-type": "classic"
        }
    }
},
"exchangeconvertdead": {
    "name": "ds.exchangeconvertdead",
    "options": {
        "durable": true
    }
},
"queueconvertdead": {
    "name": "ds.convertdead",
    "options": {
        "durable": true,
        "arguments": {
            "x-queue-type": "classic"
        }
    }
},
"queuedelayed": {
    "name": "ds.delayed",
    "options": {
        "durable": true,
        "arguments": {
            "x-queue-type": "classic"
        }
    }
}
}

ActiveMQ

ParametroDescrizioneTipoPredefinito
Definisce le opzioni di connessione ActiveMQ.oggetto
Definisce una porta del server a cui è connesso il contenitore ActiveMQ.intero5672
Definisce un host (nome host o indirizzo IP) del server a cui il contenitore ActiveMQ è connesso.stringa"localhost"
Definisce se il modulo ActiveMQ tenterà automaticamente di riconnettersi in caso di disconnessione (true) o meno (false).booleanofalse
Definisce una coda di attività.stringa"ds.converttask"
Definisce una coda di risposte.stringa"ds.convertresponse"
Definisce una coda di messaggi non recapitabili.stringa"ActiveMQ.DLQ"
Definisce la coda ritardata.stringa"ds.delayed"
Definisce il topic Publisher Subscriber.stringa"ds.pubsub"

Questi parametri definiscono la configurazione del broker di messaggi ActiveMQ.

Esempio
"activemq": {
    "connectOptions": {
        "port": 5672,
        "host": "localhost",
        "reconnect": false
    },
    "queueconverttask": "ds.converttask",
    "queueconvertresponse": "ds.convertresponse",
    "queueconvertdead": "ActiveMQ.DLQ",
    "queuedelayed": "ds.delayed",
    "topicpubsub": "ds.pubsub"
}

Cache DNS

ParametroDescrizioneTipoPredefinito
Definisce se la cache DNS è abilitata o meno.booleanotrue
Definisce il tempo di scadenza dei record DNS (misurato in secondi).intero300
Definisce la dimensione della cache DNS.intero1000

Questi parametri definiscono la configurazione della cache DNS utilizzata per il filtro IP.

Esempio
"dnscache": {
    "enable" : true,
    "ttl" : 300,
    "cachesize" : 1000
}

Protocollo OpenPGP

ParametroDescrizioneTipoPredefinito
Definisce la configurazione del protocollo OpenPGP.oggetto{}
Definisce le impostazioni di crittografia OpenPGP.oggetto
Definisce una password utilizzata per la crittografia OpenPGP.array di stringhe["verysecretstring"]
Definisce le impostazioni di decrittografia OpenPGP.oggetto
Definisce una password utilizzata per la decrittografia OpenPGP.array di stringhe["verysecretstring"]

Questi parametri definiscono le impostazioni del protocollo OpenPGP, utilizzato per crittografare la password quando si apre un documento crittografato per la modifica.

Esempio
"openpgpjs": {
    "config": {
    },
    "encrypt": {
        "passwords": ["verysecretstring"]
    },
    "decrypt": {
        "passwords": ["verysecretstring"]
    }
}

Algoritmo AES-256-GCM

ParametroDescrizioneTipoPredefinito
Definisce la configurazione dell'algoritmo AES-256-GCM.oggetto
Definisce la lunghezza della chiave misurata in byte.intero32
Definisce la lunghezza del sale misurata in byte.intero64
Definisce la lunghezza del vettore di inizializzazione misurata in byte.intero16
Definisce la lunghezza delle iterazioni misurata in byte.intero5
Definisce una password utilizzata per la crittografia AES-256-GCM.stringa"verysecretstring"

Questi parametri definiscono le impostazioni dell'algoritmo di crittografia AES-256-GCM utilizzato per la protezione con password dei documenti.

Esempio
"aesEncrypt": {
    "config": {
        "keyByteLength": 32,
        "saltByteLength": 64,
        "initializationVectorByteLength": 16,
        "iterationsByteLength": 5
    },
    "secret": "verysecretstring"
}

Collo di bottiglia

ParametroDescrizioneTipoPredefinito
Definisce le opzioni del costruttore per generare limitatori per limitare le richieste al database.oggetto{}

Questo parametro definisce la configurazione di Bottleneck.

Esempio
"bottleneck": {
    "getChanges": {
    }
}

Certificati di Root del Sistema Windows

ParametroDescrizioneTipoPredefinito
Definisce la modalità di iniezione dei certificati di Root del Sistema Windows. Il "+" indica che viene utilizzato un nuovo metodo sperimentale per installare i certificati.stringa"+"

Questo parametro definisce le impostazioni dei certificati di Root del Sistema Windows.

Esempio
"win-ca": {
    "inject": "+"
}

WOPI

ParametroDescrizioneTipoPredefinito
Definisce se WOPI è abilitato o meno.booleanofalse
Definisce l'host WOPI (nome host o indirizzo IP).stringa""
Definisce un percorso per il template HTML di WOPI.stringa"../../web-apps/apps/api/wopi"
Definisce una zona che il Document Server utilizza per navigare il browser all'applicazione WOPI.stringa"external-http"
Definisce un percorso per la favicon dell'editor di documenti.stringa"/web-apps/apps/documenteditor/main/resources/img/favicon.ico"
Definisce un percorso per la favicon dell'editor di fogli di calcolo.stringa"/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico"
Definisce un percorso per la favicon dell'editor di presentazioni.stringa"/web-apps/apps/presentationeditor/main/resources/img/favicon.ico"
Definisce un percorso per la favicon dell'editor PDF.stringa"/web-apps/apps/pdfeditor/main/resources/img/favicon.ico"
Definisce un percorso per la favicon dell'editor di diagrammi.stringa"/web-apps/apps/visioeditor/main/resources/img/favicon.ico"
Definisce un elenco di parametri di informazioni sui file WOPI che sono bloccati quando si invia questo array al browser. Tuttavia, questi parametri sono disponibili sul server.array di stringhe["FileUrl"]
Definisce i tipi di file che possono essere visualizzati nell'editor PDF.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
array di stringhe[]
Definisce i tipi di file che possono essere modificati nell'editor PDF.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
array di stringhe[]
Definisce i tipi di file di modulo.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
array di stringhe[]
Definisce i tipi di file che possono essere visualizzati nell'editor di documenti.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
array di stringhe[]
Definisce i tipi di file che possono essere modificati nell'editor di documenti.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
array di stringhe[]
Definisce i tipi di file che possono essere visualizzati nell'editor di fogli di calcolo.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
array di stringhe[]
Definisce i tipi di file che possono essere modificati nell'editor di fogli di calcolo.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
array di stringhe[]
Definisce i tipi di file che possono essere visualizzati nell'editor di presentazioni.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
array di stringhe[]
Definisce i tipi di file che possono essere modificati nell'editor di presentazioni.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
array di stringhe[]
Definisce i tipi di file che possono essere visualizzati nell'editor di diagrammi.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
array di stringhe[]
Definisce i tipi di file che possono essere modificati nell'editor di diagrammi.
Il valore di questo parametro è memorizzato nel file onlyoffice-docs-formats.json.
array di stringhe[]

Definisce la chiave pubblica che l'integratore utilizza per verificare la chiave privata.

Si prega di notare che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
stringa""

Definisce il modulo RSA nel formato codificato in Base64 utilizzato per recuperare la chiave pubblica.

Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
string""
Definisce l'esponente RSA nel formato codificato in Base64 utilizzato per recuperare la chiave pubblica.string65537

Definisce la chiave privata che firma la richiesta del Document Server.

Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
string""

Definisce la vecchia chiave pubblica che l'integratore utilizzava per verificare la chiave privata.

Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
string""

Definisce il vecchio modulo RSA nel formato codificato in Base64 che era utilizzato per recuperare la chiave pubblica.

Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
string""
Definisce il vecchio esponente RSA nel formato codificato in Base64 che era utilizzato per recuperare la chiave pubblica.string65537

Definisce la vecchia chiave privata che firmava la richiesta del Document Server.

Si noti che a partire dalla versione 8.3, i valori di questo parametro nei file default.json e local.json sono diversi.
string""
Definisce l'intervallo di tempo in minuti per aggiornare il blocco su un file reimpostando il suo timer di scadenza automatica a 30 minuti.string"10m"
Definisce le proprietà dei gestori fittizi per il test di stress.object
Definisce se i gestori fittizi sono abilitati o meno.booleanfalse
Definisce il percorso fittizio al file di esempio.string""

Questi parametri definiscono la configurazione del protocollo WOPI.

Esempio
"wopi": {
    "enable": false,
    "host": "",
    "htmlTemplate": "../../web-apps/apps/api/wopi",
    "wopiZone": "external-http",
    "favIconUrlWord": "/web-apps/apps/documenteditor/main/resources/img/favicon.ico",
    "favIconUrlCell": "/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico",
    "favIconUrlSlide": "/web-apps/apps/presentationeditor/main/resources/img/favicon.ico",
    "favIconUrlPdf": "/web-apps/apps/pdfeditor/main/resources/img/favicon.ico",
    "favIconUrlDiagram": "/web-apps/apps/visioeditor/main/resources/img/favicon.ico",
    "fileInfoBlockList": ["FileUrl"],
    "pdfView": [],
    "pdfEdit": [],
    "forms": [],
    "wordView": [],
    "wordEdit": [],
    "cellView": [],
    "cellEdit": [],
    "slideView": [],
    "slideEdit": [],
    "diagramView": [],
    "diagramEdit": [],
    "publicKey": "",
    "modulus": "",
    "exponent": 65537,
    "privateKey": "",
    "publicKeyOld": "",
    "modulusOld": "",
    "exponentOld": 65537,
    "privateKeyOld": "",
    "refreshLockInterval": "10m",
    "dummy": {
      "enable": false,
      "sampleFilePath": ""
    }
  }

Tenant

ParametroDescrizioneTipoPredefinito
Definisce una directory che limita i file che possono essere accessibili da ONLYOFFICE Docs.string""
Definisce il nome di dominio base del tenant.string""
Definisce il nome del file di configurazione nella cartella del tenant per sovrascrivere default.json. Viene utilizzato in modalità multi-tenant per inizializzare le impostazioni specifiche del tenant (wopi, ipfilter, jwt secret ecc.). string"config.json"
Definisce il nome del file .pem dove è memorizzata la chiave segreta del tenant.string"secret.key"
Definisce il nome del file dove è memorizzata la licenza del tenant.string"license.lic"
Definisce il nome di dominio del tenant predefinito.string"localhost"
Definisce le proprietà della cache per la lettura della licenza multi-tenant e del segreto.object
Definisce il TTL (tempo di vita) per ogni elemento di cache generato (misurato in secondi).integer300
Definisce il periodo utilizzato per l'intervallo di controllo dell'eliminazione automatica (misurato in secondi).integer60
Definisce se le variabili memorizzate in cache verranno clonate o meno. Se true, verrà creata una copia della variabile memorizzata in cache. Se false, verrà salvato solo il riferimento.booleanfalse

Questi parametri definiscono le proprietà dei tenant per lavorare in modalità multi-tenant.

Esempio
"tenants": {
    "baseDir" : "",
    "baseDomain" : "",
    "filenameConfig" : "config.json",
    "filenameSecret" : "secret.key",
    "filenameLicense" : "license.lic",
    "defaultTenant" : "localhost",
    "cache": {
        "stdTTL": 300,
        "checkperiod": 60,
        "useClones": false
    },
}

Richiesta esterna

ParametroDescrizioneTipoPredefinito
Definisce gli indirizzi IP che sono consentiti per le richieste dirette.oggetto
Definisce un elenco di indirizzi IP considerati affidabili per le richieste dirette.lista[]
Definisce se gli indirizzi IP affidabili sono nel JWT o meno.booleanotrue
Definisce le opzioni di richiesta esterna.oggetto
Definisce se le richieste esterne sono consentite o meno.booleanotrue
Definisce se l'indirizzo IP privato sarà bloccato o meno.booleanotrue
Definisce l'URL del proxy.stringa""
Definisce i parametri di autenticazione del proxy.oggetto
Definisce il nome utente per l'autenticazione del proxy.stringa""
Definisce la password per l'autenticazione del proxy.stringa""
Definisce le intestazioni del proxy.oggetto{}

Questi parametri definiscono la configurazione delle richieste esterne.

Esempio
"externalRequest": {
    "directIfIn" : {
        "allowList": [],
        "jwtToken": true
    },
    "action": {
        "allow": true,
        "blockPrivateIP": true,
        "proxyUrl": "",
        "proxyUser": {
            "username": "",
            "password": ""
        },
        "proxyHeaders": {
        }
    }
}

Servizi del Document Server

Questi parametri definiscono le impostazioni per i servizi del Document Server.

ParametroDescrizioneTipoPredefinito
Definisce le impostazioni per la sessione di modifica in co-autore.oggetto

Server

ParametroDescrizioneTipoPredefinito
Definisce la porta del server.intero8000
Definisce un numero di thread di lavoro per CPU.intero1
Definisce la modalità del server.stringa"development"
Definisce una dimensione massima per tutti i file temporanei caricati utilizzati da ciascun processo (misurata in byte).intero104857600
Definisce una dimensione massima per tutte le immagini caricate in ciascun processo (misurata in byte).intero26214400
Definisce le proprietà di timeout per il download delle immagini.oggetto

Definisce un periodo che specifica due timeout:

  • timeout di lettura - tempo di attesa affinché un server invii le intestazioni di risposta (e inizi il corpo della risposta) prima di interrompere la richiesta;
  • timeout di connessione - imposta il socket per il timeout dopo un periodo di inattività. Si noti che aumentare il timeout oltre il timeout di connessione TCP a livello di sistema operativo non avrà alcun effetto.

Questo parametro viene inviato al modulo npm.

stringa"2m"
Definisce l'intero ciclo di richiesta - un periodo dall'inizio del download al download completo.stringa"2m"
Definisce le proprietà di timeout per la richiesta di callback.oggetto

Definisce un periodo che specifica due timeout:

  • timeout di lettura - tempo di attesa affinché un server invii le intestazioni di risposta (e inizi il corpo della risposta) prima di interrompere la richiesta;
  • timeout di connessione - imposta il socket per il timeout dopo un periodo di inattività. Si noti che aumentare il timeout oltre il timeout di connessione TCP a livello di sistema operativo non avrà alcun effetto.

Questo parametro viene inviato al modulo npm.

stringa"10m"
Definisce il timeout dell'intero ciclo di richiesta.stringa"10m"
Definisce un percorso dove verranno inviate le richieste di controllo dello stato.stringa"../public/healthcheck.docx"
Definisce il tempo di ritardo di avvio della conversione (misurato in millisecondi) dopo che il file modificato è stato chiuso.integer5000
Definisce se il singleton può essere modificato o meno.booleanfalse
Definisce un nome di cartella dove vengono archiviati tutti i file dimenticati.string"forgotten"
Definisce un nome per il file dimenticato.string"output"
Definisce una dimensione massima delle modifiche richieste.integer20000
Definisce se i file protetti da password possono essere aperti o meno.booleantrue
Definisce se gli utenti anonimi hanno accesso all'editor o al visualizzatore dal vivo o meno.booleantrue
Definisce l'archiviazione dei dati dell'editor. I valori possibili: "editorDataRedis", "".string"editorDataRedis"
Definisce l'archiviazione dei dati dell'editor per il calcolo delle licenze e delle statistiche (memoria locale o redis). I valori possibili sono "editorDataMemory", "editorDataRedis", o "". Il valore predefinito "" significa che verrà utilizzato il valore del parametro editorDataStorage. Questo parametro è utilizzato principalmente per un cluster sharded.string""
Definisce se il file assemblato viene salvato nel suo formato originale o meno.booleantrue
Definisce un percorso per il modello di file "nuovo" se un file di 0 byte è stato ricevuto dal link per l'apertura.string"../../document-templates/new"
Definisce un percorso per il file "onlyoffice-docs-formats".string"../../document-formats/onlyoffice-docs-formats.json"
Definisce le estensioni che possono essere scaricate tramite il gestore downloadFile.array di stringhe["pdf", "xlsx"]
Definisce se i parametri token richiesti verranno validati. Questo è necessario per la sicurezza. Ad esempio, il token di conversione non verrà utilizzato per aprire un documento.booleantrue
Definisce se un file senza alcuna modifica può essere salvato forzatamente cliccando sul pulsante Salva.booleanfalse

Questi parametri definiscono la configurazione del server.

Esempio
"services": {
    "CoAuthoring": {
        "server": {
            "port": 8000,
            "workerpercpu": 1,
            "mode": "development",
            "limits_tempfile_upload": 104857600,
            "limits_image_size": 26214400,
            "limits_image_download_timeout": {
                "connectionAndInactivity": "2m",
                "wholeCycle": "2m"
            },
            "callbackRequestTimeout": {
                "connectionAndInactivity": "10m",
                "wholeCycle": "10m"
            },
            "healthcheckfilepath": "../public/healthcheck.docx",
            "savetimeoutdelay": 5000,
            "edit_singleton": false,
            "forgottenfiles": "forgotten",
            "forgottenfilesname": "output",
            "maxRequestChanges": 20000,
            "openProtectedFile": true,
            "isAnonymousSupport": true,
            "editorDataStorage": "editorDataRedis",
            "editorStatStorage": "",
            "assemblyFormatAsOrigin": true,
            "newFileTemplate" : "../../document-templates/new",
            "documentFormatsFile": "../../document-formats/onlyoffice-docs-formats.json",
            "downloadFileAllowExt": ["pdf", "xlsx"],
            "tokenRequiredParams": true,
            "forceSaveUsingButtonWithoutChanges": false
        }
    }
}

Richiesta predefinita

ParametroDescrizioneTipoPredefinito
Definisce gli header HTTP predefiniti della richiesta.oggetto
Definisce l'header User-Agent predefinito della richiesta.stringa"Node.js/6.13"
Definisce l'header Connection predefinito della richiesta.stringa"Keep-Alive"
Definisce se i certificati verranno verificati dal Document Server o meno.booleantrue

Questi parametri definiscono la configurazione predefinita della richiesta.

Esempio
"services": {
    "CoAuthoring": {
        "requestDefaults": {
            "headers": {
                "User-Agent": "Node.js/6.13",
                "Connection": "Keep-Alive"
            },
            "rejectUnauthorized": true
        }
    }
}

Assemblaggio automatico

ParametroDescrizioneTipoPredefinito
Definisce se il salvataggio forzato automatico è abilitato o meno.booleanfalse
Definisce l'intervallo di tempo in minuti per avviare il salvataggio forzato automatico.stringa"5m"
Definisce il ritardo in minuti tra gli intervalli.string"1m"

Questi parametri definiscono la configurazione automatica del salvataggio forzato.

Il salvataggio forzato automatico verrà avviato solo dopo che sono state apportate modifiche al documento. Le versioni vuote non verranno salvate automaticamente. Inoltre, è necessario implementare la versione del file sul sistema di gestione dei documenti affinché questo parametro funzioni.
Esempio
"services": {
    "CoAuthoring": {
        "autoAssembly": {
            "enable": false,
            "interval": "5m",
            "step": "1m"
        }
    }
}

Utils

ParametroDescrizioneTipoPredefinito
Definisce una directory dove sono memorizzati tutti i font.string"null"
Definisce i modelli per la ricerca dei file di font delle estensioni corrispondenti.string"*.ttf;*.ttc;*.otf"
Definisce i formati di immagine supportati per il caricamento.string"jpg;jpeg;jpe;png;gif;bmp;svg;tiff;tif"

Questi parametri definiscono la configurazione degli strumenti.

Esempio
"services": {
    "CoAuthoring": {
        "utils": {
            "utils_common_fontdir": "null",
            "utils_fonts_search_patterns": "*.ttf;*.ttc;*.otf",
            "limits_image_types_upload": "jpg;jpeg;jpe;png;gif;bmp;svg;tiff;tif"
        }
    }
}

SQL

ParametroDescrizioneTipoPredefinito
Definisce il tipo di database (mysql, mariadb, mssql, postgres, dameng, oracle).string"postgres"
Definisce il nome della tabella del database dove sono memorizzate tutte le modifiche al documento.string"doc_changes"
Definisce il nome della tabella del database dove è memorizzato il risultato della query.string"task_result"
Definisce l'host del server del database (nome host o indirizzo IP).string"localhost"
Definisce la porta del server del database.integer5432
Definisce un nome di un database da creare all'avvio dell'immagine.string"onlyoffice"
Definisce un nuovo nome utente con permessi di superutente per l'account del database.string"onlyoffice"
Definisce una password impostata per l'account del database.string"onlyoffice"
Definisce il set di caratteri del database.string"utf8"
Definisce il numero massimo di connessioni simultanee degli utenti al server del database.integer10
Definisce la dimensione massima dei dati che possono essere inviati in una richiesta.integer1048575
Definisce i parametri che possono essere passati direttamente alla libreria node-postgres pool.object
Definisce un numero di millisecondi in cui un client deve rimanere inattivo nel pool e non essere controllato prima di essere disconnesso dal backend e scartato. Impostare a 0 per disabilitare la disconnessione automatica dei client inattivi.integer30000
Definisce un numero di secondi che rappresenta la durata massima.integer60000
Definisce un numero di millisecondi prima che la dichiarazione della query scada.integer60000
Definisce un numero di millisecondi prima che una chiamata di query scada.integer60000
Definisce un numero di millisecondi di attesa per una connessione.integer60000
Definisce i parametri del database Dameng.object
Definisce se i nomi delle colonne sono in maiuscolo o meno.booleanfalse
Definisce il caso dei nomi delle colonne.stringa"lower"
Definisce il numero di millisecondi di attesa per una connessione.intero60000
Definisce se la crittografia del login è abilitata o meno.booleanofalse
Definisce il fuso orario locale.intero0
Definisce il numero di secondi dopo i quali il pool termina le connessioni inattive (non utilizzate nel pool).intero60
Definisce il numero di millisecondi in cui una richiesta di connessione effettuata da un client o un server non riceve una risposta dall'altra estremità.intero60000
Definisce il numero di millisecondi in cui i messaggi vengono mantenuti in coda prima di essere scartati.intero60000
Definisce i parametri del database Oracle.oggetto
Definisce la connessione a Oracle in modalità Thick utilizzando Oracle Instant Client in un cluster.booleanotrue
Definisce il numero di secondi di attesa per una connessione.intero60
Definisce i parametri del database MS SQL.oggetto
Definisce le opzioni del database MS SQL.oggetto
Definisce se i dati verranno crittografati prima di essere inviati sulla rete.booleanofalse
Definisce se avviene una crittografia quando non c'è un certificato server verificato.booleanotrue
Definisce i parametri del pool di connessione.oggetto
Definisce il numero di millisecondi in cui un client deve rimanere inattivo nel pool e non essere controllato prima di essere disconnesso dal backend e scartato. Impostare a 0 per disabilitare la disconnessione automatica dei client inattivi.intero30000
Definisce i parametri di connessione del database MySQL (inclusi i parametri SSL) che possono essere passati direttamente al modulo node-mysql2.oggetto
Definisce il numero di millisecondi di attesa per una connessione.intero60000
Definisce il numero di millisecondi prima che una chiamata di query vada in timeout.intero60000

Questi parametri definiscono la configurazione del database.

Esempio
"services": {
    "CoAuthoring": {
        "sql": {
            "type": "postgres",
            "tableChanges": "doc_changes",
            "tableResult": "task_result",
            "dbHost": "localhost",
            "dbPort": 5432,
            "dbName": "onlyoffice",
            "dbUser": "onlyoffice",
            "dbPass": "onlyoffice",
            "charset": "utf8",
            "connectionlimit": 10,
            "max_allowed_packet": 1048575,
                "pgPoolExtraOptions": {
                "idleTimeoutMillis": 30000,
                "maxLifetimeSeconds": 60000,
                "statement_timeout": 60000,
                "query_timeout": 60000,
                "connectionTimeoutMillis": 60000
            },
            "damengExtraOptions": {
                "columnNameUpperCase": false,
                "columnNameCase": "lower",
                "connectTimeout": 60000,
                "loginEncrypt": false,
                "localTimezone": 0,
                "poolTimeout": 60,
                "socketTimeout": 60000,
                "queueTimeout": 60000
            },
            "oracleExtraOptions": {
                "thin": true,
                "connectTimeout": 60
            },
            "msSqlExtraOptions": {
                "options": {
                    "encrypt": false,
                    "trustServerCertificate": true
                },
                "pool": {
                    "idleTimeoutMillis": 30000
                }
            },
            "mysqlExtraOptions": {
                "connectTimeout": 60000,
                "queryTimeout": 60000
            }
        }
    }
}

Redis

ParametroDescrizioneTipoPredefinito
Definisce il nome del database, "redis" o "ioredis".stringa"redis"
Definisce il prefisso del nome per tutte le strutture utilizzate in Redis.stringa"ds:"
Definisce l'host del server Redis (nome host o indirizzo IP).stringa"127.0.0.1"
Definisce la porta del server Redis.intero6379
Definisce i parametri (nome utente, password, moduli ecc.) che possono essere passati direttamente alla libreria node-redis createClient.oggetto{}
Definisce i parametri (rootNodes, defaults, modules ecc.) che possono essere passati direttamente alla libreria node-redis clustering per connettersi al cluster redis. Questa impostazione ha la priorità sul parametro options per la connessione al singolo redis. oggetto{}
Definisce i parametri (username, password, modules ecc.) che possono essere passati direttamente alla libreria ioredis RedisOptions.oggetto
Definisce se la connessione al server sarà ritardata fino all'invio del primo comando o alla chiamata esplicita di redis.connect().booleanotrue
Definisce un elenco di nodi del cluster a cui si desidera connettersi che possono essere passati direttamente alla libreria ioredis cluster per connettersi al cluster redis. Questa impostazione ha la priorità sul parametro iooptions per la connessione al singolo redis. array[]
Definisce i parametri (clusterRetryStrategy, dnsLookup, scaleReads ecc.) che possono essere passati direttamente alla libreria ioredis cluster per connettersi al cluster redis. Questa impostazione ha la priorità sul parametro iooptions per la connessione al singolo redis. oggetto
Definisce se la connessione al server sarà ritardata fino all'invio del primo comando o alla chiamata esplicita di redis.connect().booleanotrue

Questi parametri definiscono la configurazione di Redis.

Esempio
"services": {
"CoAuthoring": {
    "redis": {
        "name": "redis",
        "prefix": "ds:",
        "host": "127.0.0.1",
        "port": 6379,
        "options": {},
        "optionsCluster": {},
        "iooptions": {
            "lazyConnect": true
        },
        "iooptionsClusterNodes": [],
        "iooptionsClusterOptions": {
            "lazyConnect": true
        }
    }
}
}

Servizio PubSub

ParametroDescrizioneTipoPredefinito
Definisce la dimensione massima delle modifiche che possono essere trasmesse tramite PubSub. Se la dimensione supera il valore specificato, le modifiche verranno lette dal database.intero1000

Questo parametro definisce la configurazione del servizio PubSub.

Esempio
"services": {
"CoAuthoring": {
    "pubsub": {
        "maxChanges": 1000
    }
}
}

Scadenza

ParametroDescrizioneTipoPredefinito
Definisce il tempo per il salvataggio dei blocchi.intero60
Definisce il tempo di vita per lo stato di presenza dell'utente.intero300
Definisce il tempo di vita per i blocchi.intero604800
Definisce il tempo per la modifica degli indici.intero86400
Definisce il tempo per il blocco dei documenti.intero30
Definisce il tempo di vita per i messaggi.intero86400
Definisce il tempo di vita per l'ultimo salvataggio del database eseguito con successo.intero604800
Definisce il tempo di vita per il salvataggio forzato eseguito con successo.intero604800
Definisce il tempo di vita per i blocchi salvati forzatamente in modalità cluster ioredis.intero5000
Definisce il tempo di vita per il salvataggio del database eseguito con successo.intero3600
Definisce il tempo per l'inizio del controllo, durante il quale i vecchi file vengono eliminati dalla cache (ogni due minuti per impostazione predefinita).stringa"0 */2 * * * *"
Definisce il tempo di vita per le cartelle in App_Data.intero86400
Definisce il tempo per l'inizio del controllo (ogni ora per impostazione predefinita).stringa"00 00 */1 * * *"
Definisce il numero di cartelle di documenti eliminate simultaneamente dalla cache.intero100

Definisce la durata della sessione inattiva. Questo parametro consente di terminare la sessione di modifica per un utente inattivo. Viene anche utilizzato per inizializzare la procedura di salvataggio del documento terminando l'ultima sessione di modifica. Quindi, definisce il tempo dopo il quale un utente inattivo verrà disconnesso dalla sessione di modifica. Il formato del valore è "1s", "1m", "1h", "1d" ecc.

Si prega di notare che per inattività si intende l'assenza di qualsiasi azione nell'editor, incluso il movimento del cursore.
stringa"1h"
Definisce la durata per qualsiasi sessione di modifica.stringa"30d"
Definisce il tempo prima che il sessionidle o sessionabsolute ttl scada, quando viene inviato un messaggio di avviso.stringa"2m"
Definisce la durata di vita dei file PEM con segreti.stringa"1h"
Definisce il tempo per controllare il ttl dei file PEM.stringa"10m"
Definisce il tempo in cui l'utente può riaprire il file dopo che si verifica un errore a causa dell'apertura di un file già salvato utilizzando la vecchia chiave.stringa"5m"
Definisce la durata di vita per l'elenco degli utenti unici del mese.stringa"1y"

Questi parametri definiscono le impostazioni di scadenza.

Esempio
"services": {
    "CoAuthoring": {
        "expire": {
            "saveLock": 60,
            "presence": 300,
            "locks": 604800,
            "changeindex": 86400,
            "lockDoc": 30,
            "message": 86400,
            "lastsave": 604800,
            "forcesave": 604800,
            "forcesaveLock": 5000,
            "saved": 3600,
            "documentsCron": "0 */2 * * * *",
            "files": 86400,
            "filesCron": "00 00 */1 * * *",
            "filesremovedatonce": 100,
            "sessionidle": "1h",
            "sessionabsolute": "30d",
            "sessionclosecommand": "2m",
            "pemStdTTL": "1h",
            "pemCheckPeriod": "10m",
            "updateVersionStatus": "5m",
            "monthUniqueUsers": "1y"
        }
    }
}

Filtro IP

ParametroDescrizioneTipoPredefinito

Definisce le regole del filtro IP che contengono i seguenti parametri:

  • indirizzo - l'indirizzo IP dell'integratore. Questo parametro può contenere IP nel formato X.X.X.X per ipv4 o nel formato xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx per ipv6, nome DNS o carattere jolly * per sostituire qualsiasi simbolo/simboli,
    tipo: stringa,
    esempio: "indirizzo_ip";
  • consentito - specifica se l'indirizzo IP è attendibile o meno,
    tipo: booleano,
    esempio: true.
array di oggetti
Definisce se il filtro IP è utilizzato per la richiesta o meno.booleanofalse
Definisce un codice di errore per il filtro IP.intero403

Questi parametri definiscono la configurazione del filtro IP.

Esempio
"services": {
    "CoAuthoring": {
        "ipfilter": {
            "rules": [{"address": "*", "allowed": true}],
            "useforrequest": false,
            "errorcode": 403
        }
    }
}

Agente di Filtro Richieste

ParametroDescrizioneTipoPredefinito
Definisce se è consentito connettere un indirizzo IP privato o meno. Questo include indirizzi IP privati e indirizzi IP riservati.booleanofalse
Definisce se è consentito connettere un indirizzo IP meta o meno. L'indirizzo meta può essere 0.0.0.0 (IPv4) o :: (IPv6) - un indirizzo meta che instrada un altro indirizzo.booleanofalse

Questi parametri definiscono la configurazione dell'Agente di Filtro Richieste.

Esempio
"services": {
    "CoAuthoring": {
        "request-filtering-agent" : {
            "allowPrivateIPAddress": false,
            "allowMetaIPAddress": false
        }
    }
}

Chiave segreta

ParametroDescrizioneTipoPredefinito

Definisce i parametri di una chiave segreta per generare un token nelle richieste del browser lato client a ONLYOFFICE Docs:

  • stringa - la chiave segreta,
    tipo: stringa,
    esempio: "segreto";
  • file - il file PEM dove è memorizzato il segreto,
    tipo: stringa,
    esempio: "".
oggetto

Definisce i parametri di una chiave segreta per generare un token nelle richieste HTTP in entrata con i comandi dal servizio di archiviazione documenti al servizio di comando documenti, servizio di conversione documenti e servizio di costruzione documenti:

  • stringa - la chiave segreta,
    tipo: stringa,
    esempio: "segreto";
  • file - il file PEM dove è memorizzato il segreto,
    tipo: stringa,
    esempio: "".
oggetto

Definisce i parametri di una chiave segreta per generare un token nelle richieste HTTP in uscita all'indirizzo callbackUrl dal servizio di modifica documenti:

  • stringa - la chiave segreta,
    tipo: stringa,
    esempio: "secret";
  • file - il file PEM dove è memorizzato il segreto,
    tipo: stringa,
    esempio: "".
oggetto

Definisce i parametri di una chiave segreta per generare il token di sessione:

  • stringa - la chiave segreta,
    tipo: stringa,
    esempio: "secret";
  • file - il file PEM dove è memorizzato il segreto,
    tipo: stringa,
    esempio: "".
oggetto

Questi parametri definiscono la configurazione della chiave segreta.

Esempio
"services": {
    "CoAuthoring": {
        "secret": {
            "browser": {"string": "secret", "file": ""},
            "inbox": {"string": "secret", "file": ""},
            "outbox": {"string": "secret", "file": ""},
            "session": {"string": "secret", "file": ""}
        }
    }
}

Token

ParametroDescrizioneTipoPredefinito
Definisce se i token sono abilitati o meno.oggetto
Definisce se un token nelle richieste del browser lato client è abilitato o meno.booleanofalse
Definisce se i token nelle richieste HTTP sono abilitati o meno.oggetto
Definisce se un token nelle richieste HTTP in entrata è abilitato o meno.booleanofalse
Definisce se un token nelle richieste HTTP in uscita è abilitato o meno.booleanofalse
Definisce la configurazione del token del browser.oggetto
Definisce se il token del browser è uguale al token delle richieste in entrata (true) o meno (false).booleanotrue
Definisce la configurazione di un token dalle richieste in entrata.oggetto
Definisce l'intestazione HTTP che verrà utilizzata per inviare il token della richiesta in entrata.stringa"Authorization"
Definisce un prefisso nell'intestazione HTTP che verrà utilizzato per inviare il token della richiesta in entrata.stringa"Bearer "
Definisce se un token è abilitato nel corpo della richiesta in entrata o meno.booleanofalse
Definisce la configurazione di un token dalle richieste in uscita.oggetto
Definisce l'intestazione HTTP che verrà utilizzata per inviare il token della richiesta in uscita.stringa"Authorization"
Definisce un prefisso nell'intestazione HTTP che verrà utilizzato per inviare il token della richiesta in uscita.stringa"Bearer "
Definisce un algoritmo utilizzato per firmare il token della richiesta in uscita.stringa"HS256"
Definisce un periodo in cui il token della richiesta in uscita scade.stringa"5m"
Definisce se un token è abilitato nel corpo della richiesta in uscita o meno.booleanofalse
Definisce l'espressione regolare che specifica gli URL dai quali l'autorizzazione dovrebbe essere esclusa. La stringa vuota significa che questa opzione è disabilitata.stringa""
Definisce la configurazione del token di sessione.oggetto
Definisce un algoritmo utilizzato per firmare il token di sessione.stringa"HS256"
Definisce un periodo in cui il token di sessione scade.stringa"30d"
Definisce le opzioni di verifica del token.oggetto
Definisce un numero di secondi accettabile per gestire le differenze di orario tra diversi server.intero60

Questi parametri definiscono la configurazione del token.

Esempio
"services": {
    "CoAuthoring": {
        "token": {
            "enable": {
                "browser": false,
                "request": {
                    "inbox": false,
                    "outbox": false
                }
            },
            "browser": {
                "secretFromInbox": true
            },
            "inbox": {
                "header": "Authorization",
                "prefix": "Bearer ",
                "inBody": false
            },
            "outbox": {
                "header": "Authorization",
                "prefix": "Bearer ",
                "algorithm": "HS256",
                "expires": "5m",
                "inBody": false,
                "urlExclusionRegex": ""
            },
            "session": {
                "algorithm": "HS256",
                "expires": "30d"
            },
            "verifyOptions": {
                "clockTolerance": 60
            }
        }
    }
}

Plugin

ParametroDescrizioneTipoPredefinito
Definisce un percorso alla cartella dove sono memorizzati tutti i plugin.stringa"/sdkjs-plugins"
Definisce un elenco di plugin che vengono eseguiti automaticamente.lista[]

Questi parametri definiscono la configurazione dei plugin.

Esempio
"services": {
    "CoAuthoring": {
        "plugins": {
            "uri": "/sdkjs-plugins",
            "autostart": []
        }
    }
}

Temi

ParametroDescrizioneTipoPredefinito
Definisce un percorso alla cartella dove sono memorizzati tutti i file json con i temi di colore personalizzati.stringa"/web-apps/apps/common/main/resources/themes"

Questo parametro definisce le proprietà dei temi di colore personalizzati.

Esempio
"services": {
    "CoAuthoring": {
        "themes": {
            "uri": "/web-apps/apps/common/main/resources/themes"
        }
    }
}

Editor

ParametroDescrizioneTipoPredefinito
Definisce un percorso al correttore ortografico.stringa""
Definisce le impostazioni per riconnettere l'editor al server.oggetto
Definisce un numero massimo di tentativi per riconnettere l'editor.intero50
Definisce il ritardo tra i tentativi di riconnessione dell'editor.stringa"2s"
Definisce se le modifiche al documento sono salvate in formato binario (true) o JSON (false).booleanofalse
Definisce una dimensione massima del payload di WebSocket.stringa"1.5MB"
Definisce un limite alla dimensione totale delle modifiche apportate al documento. Quando il limite viene superato, l'utente riceve una finestra di dialogo con un suggerimento per annullare l'ultima azione o passare alla modalità offline.stringa"150MB"

Questi parametri definiscono la configurazione dell'editor.

Esempio
"services": {
    "CoAuthoring": {
        "editor":{
            "spellcheckerUrl": "",
            "reconnection":{
                "attempts": 50,
                "delay": "2s"
            },
            "binaryChanges": false,
            "websocketMaxPayloadSize": "1.5MB",
            "maxChangesSize": "150MB"
        }
    }
}

SockJs

ParametroDescrizioneTipoPredefinito
Definisce un percorso al file sockjs.min.js.stringa""
Definisce se CORS sarà disabilitato o meno. Il valore true previene la vulnerabilità dell'intestazione Access-Control-Allow-Origin.booleanotrue
Definisce se il protocollo WebSocket è abilitato o meno.booleanotrue

Questi parametri definiscono la configurazione di SockJs.

Esempio
"services": {
    "CoAuthoring": {
        "sockjs": {
            "sockjs_url": "",
            "disable_cors": true,
            "websocket": true
        }
    }
}

Socket.IO

ParametroDescrizioneTipoPredefinito
Definisce le proprietà della connessione.oggetto
Definisce il percorso che viene catturato sul lato server.string"/doc/"
Definisce se i file client verranno serviti o meno.booleanfalse
Definisce il periodo di timeout in millisecondi entro il quale il client deve rispondere con un pong al ping del server. Se non c'è risposta, il server considera che la connessione sia chiusa. La connessione tra il server e il client viene verificata ogni pingInterval millisecondi. integer20000
Definisce il tempo di intervallo in millisecondi, utilizzato per verificare se la connessione è ancora attiva tra il server e il client. Il server invia un pacchetto ping al client, e se il client non risponde con un pong entro un periodo di pingTimeout, il server considera che la connessione sia chiusa. integer25000
Definisce il numero massimo di byte che un singolo messaggio può avere, prima di chiudere il socket.integer1e8

Questi parametri definiscono la configurazione del modulo Socket.IO.

Esempio
"socketio": {
    "connection": {
        "path": "/doc/",
        "serveClient": false,
        "pingTimeout": 20000,
        "pingInterval": 25000,
        "maxHttpBufferSize": 1e8
    }
}

Opzioni di callback backoff

ParametroDescrizioneTipoPredefinito
Definisce il numero massimo di volte in cui riprovare l'operazione.integer3
Definisce i timeout di callback backoff.object
Definisce il fattore esponenziale da utilizzare.integer2
Definisce il numero di millisecondi prima di iniziare il primo tentativo.integer1000
Definisce il numero massimo di millisecondi tra due tentativi.integer2147483647
Definisce se i timeout sono randomizzati moltiplicandoli con un fattore tra 1 e 2 o meno.booleanfalse
Definisce gli stati HTTP del callback backoff.string"429,500-599"

Questi parametri definiscono le opzioni di callback backoff.

Esempio
"services": {
    "CoAuthoring": {
        "callbackBackoffOptions": {
            "retries": 3,
            "timeout":{
                "factor": 2,
                "minTimeout": 1000,
                "maxTimeout": 2147483647,
                "randomize": false
            },
            "httpStatus": "429,500-599"
        }
    }
}

Licenza

ParametroDescrizioneTipoPredefinito
Definisce un percorso per il file di licenza.string""
Definisce un intervallo percentuale delle connessioni e connessioni_view limitazioni, superando le quali appare un avviso di limite di licenza nei log. integer70

Definisce il tipo di pacchetto di licenza: 2 - Developer Edition.

Questo parametro è impostato al momento della creazione della versione. Non è necessario configurarlo manualmente.
integer2
Definisce il tempo prima della scadenza della licenza quando viene inviato un messaggio di avviso.string"30d"

Questi parametri definiscono la configurazione della licenza.

Esempio
"license" : {
    "license_file": "",
    "warning_limit_percents": 70,
    "packageType": 2,
    "warning_license_expiration": "30d"
}

Convertitore

ParametroDescrizioneTipoPredefinito
Definisce le proprietà del convertitore.object
Definisce una dimensione massima del file richiesto (misurata in byte).integer104857600
Definisce le proprietà di timeout per il download del file convertito.object

Definisce un periodo che specifica due timeout:

  • timeout di lettura - tempo di attesa per un server per inviare gli header di risposta (e iniziare il corpo della risposta) prima di abortire la richiesta;
  • timeout di connessione - imposta il socket per il timeout dopo un periodo di inattività. Nota che aumentare il timeout oltre il timeout di connessione TCP a livello di sistema operativo non avrà alcun effetto.

Questo parametro viene inviato al modulo npm.

stringa"2m"
Definisce il timeout dell'intero ciclo di richiesta.stringa"2m"
Definisce un numero massimo di tentativi per scaricare il file convertito.intero3
Definisce il ritardo tra i tentativi di scaricare il file convertito.intero1000
Definisce un numero massimo di processi di conversione che possono essere attivi contemporaneamente.intero1
Definisce un percorso alla cartella con i font.stringa"null"
Definisce un percorso alla cartella con i temi delle presentazioni.stringa"null"
Definisce un percorso al convertitore di file x2t.stringa"null"
Definisce un percorso all'applicazione Document Builder.stringa"null"
Definisce un percorso al certificato di firma PDF. Questo certificato può essere caricato nel Pannello di Amministrazione e utilizzato per firmare i moduli PDF durante Completa e Invia.stringa""
Definisce i parametri aggiuntivi per l'esecuzione di x2t.stringa""
Definisce i parametri che possono essere passati direttamente alla libreria node.js child_process.spawn (solo per l'esecuzione di x2t).oggetto{}
Definisce un percorso ai file di errore.stringa""
Definisce la dimensione del buffer StreamWriter.intero8388608
Definisce un numero massimo di riconsegne dei messaggi.intero2
Definisce i limiti per i file di input.oggetto
Definisce i tipi di file OOXML per i quali sono specificati i limiti (documenti di testo/fogli di calcolo/presentazioni). Questo non include altri oggetti, come le immagini.stringa"docx;dotx;docm;dotm"/"xlsx;xltx;xlsm;xltm"/"pptx;ppsx;potx;pptm;ppsm;potm"
Definisce le proprietà dell'archivio zip.oggetto
Definisce la dimensione totale del file non compresso per documenti di testo/fogli di calcolo/presentazioni.stringa"50MB"/"300MB"/"50MB"
Definisce il modello di nome per i file di cui vengono conteggiate le dimensioni.stringa"*.xml"

Questi parametri definiscono la configurazione del convertitore di file.

Esempio
"FileConverter": {
    "converter": {
        "maxDownloadBytes": 104857600,
        "downloadTimeout": {
            "connectionAndInactivity": "2m",
            "wholeCycle": "2m"
        },
        "downloadAttemptMaxCount": 3,
        "downloadAttemptDelay": 1000,
        "maxprocesscount": 1,
        "fontDir": "null",
        "presentationThemesDir": "null",
        "x2tPath": "null",
        "docbuilderPath": "null",
        "signingKeyStorePath": "",
        "args": "",
        "spawnOptions": {},
        "errorfiles": "",
        "streamWriterBufferSize": 8388608,
        "maxRedeliveredCount": 2,
        "inputLimits": [
            {
            "type": "docx;dotx;docm;dotm",
            "zip": {
                "uncompressed": "50MB",
                "template": "*.xml"
            }
            },
            {
            "type": "xlsx;xltx;xlsm;xltm",
            "zip": {
                "uncompressed": "300MB",
                "template": "*.xml"
            }
            },
            {
            "type": "pptx;ppsx;potx;pptm;ppsm;potm",
            "zip": {
                "uncompressed": "50MB",
                "template": "*.xml"
            }
            }
        ]
    }
}
Voci con l'etichetta tag:
Sfoglia tutti i tag