Creare la documentazione utente per l'estensione

Ogni estensione deve avere una documentazione che spieghi agli utenti cosa fa l'estensione e come utilizzarla.

La documentazione minima richiesta è questo insieme di tre file Markdown:

  • PREINSTALL.md
  • POSTINSTALL.md
  • CHANGELOG.md

Inoltre, dovresti prendere in considerazione anche la produzione di:

  • Un file README per il repository pubblico dell'estensione.
  • Tutorial, guide e riferimenti più lunghi pubblicati sul tuo sito web e collegati nel tuo PREINSTALL.md.

Per scoprire alcune best practice, nonché la struttura e le frasi comuni, ti consigliamo di esaminare i file disponibili con le estensioni Firebase ufficiali.

Creazione di un file README

La directory dell'estensione può contenere facoltativamente un file README. Tieni presente che il comando firebase ext:dev:init non ne genera uno automaticamente.

Tuttavia, l'interfaccia a riga di comando Firebase supporta il seguente comando di utilità per generare automaticamente un file README contenente i contenuti estratti dal file extension.yaml e dal file PREINSTALL.md:

firebase ext:info ./path/to/extension --markdown > README.md

Tutti i file README per le estensioni Firebase ufficiali vengono generati utilizzando questo comando.

Aggiungi informazioni sull'installazione

Dopo aver scritto o generato un file README, aggiungi le informazioni di installazione. Puoi utilizzare il seguente snippet come modello:

---

## 🧩 Install this extension

### Console

[![Install this extension in your Firebase project](https://www.gstatic.com/mobilesdk/210513_mobilesdk/install-extension.png "Install this extension in your Firebase project")][install-link]

[install-link]: https://console.firebase.google.com/project/_/extensions/install?ref=publisher_id/extension_name

### Firebase CLI

```bash
firebase ext:install publisher_id/extension_name --project=[your-project-id]
```

> Learn more about installing extensions in the Firebase Extensions documentation:
> [console](https://firebase.google.com/docs/extensions/install-extensions?platform=console),
> [CLI](https://firebase.google.com/docs/extensions/install-extensions?platform=cli)

---

Scrittura di un file PREINSTALL

Il file PREINSTALL è la panoramica dell'estensione, un tipo di pagina di "marketing".

Quali contenuti sono presenti in questo file?

  • Descrizione completa della funzionalità dell'estensione
  • Elenco dei prerequisiti, ad esempio la configurazione del database o l'accesso a un servizio non Google (esempio)
  • Breve descrizione di eventuali attività di pre-installazione e relative istruzioni
  • Breve descrizione di eventuali attività post-installazione (esempio) (le istruzioni dettagliate sono riportate in POSTINSTALL)
  • Breve descrizione di eventuali implicazioni di fatturazione (inizia con il testo boilerplate)

Dove vengono mostrati questi contenuti all'utente?

Immagine dei contenuti preinstallati in <span class=Console Firebase">
Preinstalla i contenuti nella console Firebase

Immagine grande dei contenuti preinstallati in <span class=Console Firebase">

  • Nella pagina dell'estensione su extensions.dev.
  • Il repository del codice sorgente dell'estensione (all'interno della directory dell'estensione)
  • Come parte del file README dell'estensione (se utilizzi il flag --markdown > README.md dell'interfaccia a riga di comando Firebase)

I file PREINSTALL non possono accedere ai valori parametro per l'estensione, pertanto non devi aspettarti che i riferimenti ai parametri vengano visualizzati con i valori effettivi.

Quali sono delle best practice da seguire?

  • Se possibile, mantieni l'intero contenuto del file PREINSTALL entro una pagina.
  • Fornisci il livello di dettaglio che un utente finale deve assolutamente conoscere prima di installare l'estensione
  • Inserisci istruzioni dettagliate nel file POSTINSTALL o in altri file supplementari
  • Menziona brevemente se fornisci altri strumenti o script per supportare l'estensione

Scrittura di un file POSTINSTALL

Il file POSTINSTALL è la pagina di istruzioni dettagliate per l'installazione dell'estensione.

Quali contenuti sono presenti in questo file?

  • Istruzioni dettagliate per tutte le attività post-installazione obbligatorie, come la configurazione delle regole di sicurezza di Firebase o l'aggiunta di codice lato client (esempio)
  • Istruzioni generiche su come provare immediatamente l'estensione installata (ad esempio, "vai alla console, quindi esegui questa operazione")
  • Informazioni di base su come attivare l'estensione, in particolare per le estensioni attivate da richieste HTTP
  • Brevi istruzioni su come monitorare l'estensione installata (inizia con il testo boilerplate)

Dove vengono mostrati questi contenuti all'utente?

Immagine dei contenuti post-installazione in <span class=Console Firebase">
Contenuti post-installazione nella console Firebase

Immagine di grandi dimensioni dei contenuti post-installazione in <span class=Console Firebase">

  • Nella console Firebase dopo che un utente ha installato l'estensione (nella scheda dei dettagli dell'estensione installata)

  • Il repository del codice sorgente dell'estensione (all'interno della directory dell'estensione)

I file POSTINSTALL possono accedere ai valori dei parametri e a diverse variabili relative alle funzioni per l'estensione. Quando i contenuti POSTINSTALL vengono visualizzati nella console Firebase, vengono mostrati i valori effettivi anziché i riferimenti ai parametri o alle variabili. Scopri di più su come fare riferimento a parametri e variabili nel file POSTINSTALL.

Quali sono delle best practice da seguire?

  • Mantieni i contenuti completi del file POSTINSTALL concisi, ma descrittivi.
  • Suddividi i contenuti utilizzando le intestazioni per separare attività o concetti distinti.
  • Valuta la possibilità di pubblicare istruzioni dettagliate per un flusso di lavoro o un'attività specifici sul tuo sito web (esempio) o in file di markdown supplementari all'interno del repository dell'estensione (esempio).
  • Fai riferimento ai parametri e alle variabili relative alle funzioni in modo che l'utente veda i valori configurati nel contesto delle istruzioni

Riferimento a parametri e variabili

Dopo l'installazione, la console Firebase mostra i contenuti del file POSTINSTALL dell'estensione. Se nel file POSTINSTALL fai riferimento a parametri e variabili relativi alle funzioni (vedi la tabella di seguito), la console compila questi riferimenti con i valori effettivi per l'istanza installata.

Accedi ai valori dei parametri configurati nel file POSTINSTALL utilizzando la seguente sintassi: ${param:PARAMETER_NAME}

Puoi anche fare riferimento alle seguenti variabili relative alle funzioni solo nel file POSTINSTALL. Firebase supporta queste variabili per consentirti di fornire più facilmente indicazioni agli utenti dopo l'installazione. Sono disponibili solo per l'utilizzo nel file POSTINSTALL perché i valori di queste variabili non sono disponibili fino al termine dell'installazione.

In questa tabella, function-name è il valore del campo name nell'oggetto risorsa della funzione all'interno di extension.yaml.

Riferimento per la variabile correlata alla funzione Descrizione Valore della variabile (compilato automaticamente da Firebase dopo l'installazione dell'estensione)
${function:function-name.location}
Località in cui viene eseguito il deployment della funzione Valore di esempio:
us-central1
${function:function-name.name}
Nome della funzione finale di cui è stato eseguito il deployment, che include l'ID istanza dell'estensione

Formato generalizzato:
ext-extension-instance-id-function-name

Valore di esempio:
ext-my-awesome-extension-6m31-yourFunctionName

${function:function-name.url} (applicabile solo alle funzioni HTTP)
URL della funzione finale di cui è stato eseguito il deployment, a cui il codice client può inviare richieste HTTP

Formato generalizzato:
https://deployment-location-project-id.cloudfunctions.net/name-of-final-deployed-function

Valore di esempio:
https://us-central1-project-123.cloudfunctions.net/ext-my-awesome-extension-6m31-yourFunctionName

Documentazione su come attivare un'estensione

Nella documentazione per l'utente dell'estensione, devi spiegare agli utenti come attivarla. Queste istruzioni possono essere dettagliate quanto ritieni necessario, ma tieni presente le best practice per la scrittura di un file POSTINSTALL. Per indicazioni su come fornire queste istruzioni, espandi la sezione di seguito che si applica alla tua estensione.

Scrittura di un file CHANGELOG

Quali contenuti sono presenti in questo file?

Ogni estensione deve avere un file CHANGELOG.md che documenta le modifiche incluse in ogni nuova versione dell'estensione che pubblichi. Inserisci ogni versione sotto un'intestazione di livello 2 (##); in caso contrario, puoi utilizzare qualsiasi formattazione Markdown che preferisci.

L'esempio seguente è un estratto di una delle estensioni ufficiali:

## Version 0.1.3

feature - Support deletion of directories (issue #148).

## Version 0.1.2

feature - Add a new param for recursively deleting subcollections in Cloud
Firestore (issue #14).

fixed - Fixed "cold start" errors experienced when the extension runs after a
period of inactivity (issue #48).

## Version 0.1.1

Initial release of the _Delete User Data_ extension.

Dove vengono mostrati questi contenuti all'utente?

  • Nella console Firebase e nell'interfaccia a riga di comando, quando gli utenti eseguono l'upgrade alle nuove versioni della tua estensione. La consoleFirebasee l'interfaccia a riga di comando mostrano solo le modifiche che diventerebbero effettive se l'utente completasse l'upgrade.
  • Il repository del codice sorgente dell'estensione (all'interno della directory dell'estensione).