Sviluppo delle estensioni

From The Document Foundation Wiki
Jump to navigation Jump to search
This page is a translated version of the page Development/Extension Development and the translation is 100% complete.
Other languages:
English • ‎español • ‎italiano

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).

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).

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++

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 nomi http://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 a 3.5.
    L'attributo name generalmente richiesto (con spazio dei nomi http://openoffice.org/extensions/description/2006) dovrebbe essere “LibreOffice versione” (dove versione è 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.