Sviluppo delle estensioni
TDF LibreOffice Blog comunitari Weblate(traduci) Autori Nextcloud Redmine Ask LibreOffice | Donazione
Introduzione
LibreOffice ha 3 tipi di estensioni.
- Se siete uno sviluppatore di estensioni, potete utilizzare diverse lingue per sviluppare estensioni di LibreOffice. I linguaggi di programmazione supportati sono Basic, Python, JavaScript, Java e BeanShell. Per il livello più elevato di integrità e possibilità è possibile utilizzare i linguaggi C++, Python e Java per sviluppare estensioni basate sui complementi UNO. Sono raggruppati come file
.oxt
e possono essere condivisi su extensions.libreoffice.org.
- Le estensioni sono il modo preferito dagli amministratori di sistema per modificare le impostazioni predefinite. Una guida per lo sviluppo di estensioni di configurazione è disponibile in formato PDF o ODT. Un esempio di OXT configuration extension accompagna la guida.
- Esistono anche estensioni speciali di Calc note come Add-Ins che aggiungono funzioni di foglio di calcolo a Calc. Come componenti UNO puoi fornire nuove implementazioni di funzionalità esistenti o componenti specializzati come Calc Add-Ins, Add-Ons, DataPilots, Chart Add-Ins o componenti linguistici: Spellchecker, Hyphenator o Thesaurus (vedete openoffice.org/wiki/Add-In Add-Ins documentazione).
- Potete anche comprimere estensioni per Templates, Gallery e Autotexts aggiuntivi.
Risorse
Nel tentativo di non duplicare le informazioni, potete fare riferimento alla documentazione di OpenOffice. Sono ancora ampiamente compatibili, ma è necessario eseguire un controllo aggiuntivo poiché LibreOffice sta procedendo rapidamente (vedete Note sulla compatibilità di seguito).
- Extension development - questa pagina nel wiki di Apache OpenOffice in inglese
- Extension development starters and tutorials in inglese
Le risorse attuali sono attualmente in fase di consolidamento nelle pagine della guida di LibreOffice.
Prima di poter iniziare, è necessario installare l'SDK.
Tutorial di lingue
Campioni
Per avviare rapidamente lo sviluppo, potete dare un'occhiata alla fonte delle estensioni esistenti.
Esempi:
Java
- Starter Extension Estensione iniziale da utilizzare come base per le proprie estensioni
- Estensione barra laterale Simile all'estensione iniziale, ma per creare una serie di barre laterali personalizzate
- NOA-libre è un wrapper Java leggero orientato agli oggetti attorno all'API di LibreOffice UNO, che fornisce un'astrazione di livello superiore di molte interfacce UNO.
- UNOHelper offre funzioni di supporto per lavorare con l'API UNO. Raccoglie le funzioni comunemente utilizzate dall'API UNO per un utilizzo più semplice.
- WollMux è una grande estensione Java con funzionalità avanzate di template, form e testo automatico.
plugin di Eclipse
TDF offre il plugin Eclipse LOEclipse che aiuta a sviluppare estensioni/componenti di LibreOffice in Java. Potete trovarlo su Marketplace di Eclipse.
Python
- unodit automatizza alcune delle attività ripetitive con le finestre di dialogo per aiutarvi a scrivere la vostra< estensione per LibreOffice in Python
- il LibreOffice Love Letter Writer
Vedete anche Sviluppo di estensioni in Python
C++
- le LibreOffice Cerca estensioni che aggiunge una voce del menu contestuale per cercare online il testo selezionato]
Il codice sorgente di LibreOffice ha anche una raccolta di Esempi di SDK.
Note di compatibilità
Gli sviluppatori di LibreOffice sono prudenti quando si tratta di modifiche all'API pubblica (UNO) e quindi la maggior parte delle estensioni scritte per OpenOffice.org o Apache OpenOffice funzioneranno ancora con LibreOffice. Se si verificano modifiche, vengono annotate in ReleaseNotes (modifiche API in 4.2, 4.1 e 4.0).
- La dipendenza
OpenOffice.org-minimal-version
afferma che un'estensione funziona nelle versioni di OpenOffice.org specificate così come nelle versioni di LibreOffice che corrispondono almeno alla versione di riferimento di OpenOffice.org specificata. Tutte le versioni di LibreOffice fino alla 4.2.3 riportano la corrispondenza alla versione di riferimento di OpenOffice.org 3.4, mentre le versioni di LibreOffice dalla 4.2.4 riportano la corrispondenza alla versione di riferimento di OpenOffice.org 4.1. Usando questa dipendenza, l'estensione dichiara che utilizza solo le funzionalità trovate nella versione di riferimento di OpenOffice.org specificata (e che di conseguenza funziona su tutti i prodotti, non solo per OpenOffice.org stesso).
- Se un'estensione utilizza funzionalità specifiche di LibreOffice, a partire da LibreOffice 3.5 può specificare una nuova dipendenza
LibreOffice-minimal-version
con lo spazio dei nomihttp://libreoffice.org/extensions/ descrizione/2011</codice>. Il suo attributo
value
richiesto (senza namespace) specifica la versione di LibreOffice minimamente supportata; non dovrebbe contenere un numero di versione micro e non dovrebbe essere inferiore a3.5
.
L'attributoname
generalmente richiesto (con spazio dei nomihttp://openoffice.org/extensions/description/2006
) dovrebbe essere “LibreOffice versione
” (doveversione
è il valore della versione specificato).
È possibile trovare esempi in core/tree/desktop/test/deployment/dependencies: loversion35.oxt o loversion36 .oxt.
- Se un'estensione è destinata a una versione specifica di LibreOffice, a partire da LibreOffice 7.0 può specificare una nuova dipendenza
LibreOffice-maximal-version
con lo spazio dei nomi http://libreoffice.org/extensions /description/2011
oltre alla dipendenza LibreOffice-minimal-version
. Questo dovrebbe essere necessario molto raramente.