Sviluppo software: differenze tra le versioni

Da Wikimedia Italia.
Vai alla navigazione Vai alla ricerca
(+info)
Riga 5: Riga 5:
Nota: il responsabile del tuo progetto per Wikimedia Italia potrebbe aver comunicato eventuali variazioni a questo documento, e fanno fede quelle variazioni, soprattutto se espresse nel tuo contratto di incarico.
Nota: il responsabile del tuo progetto per Wikimedia Italia potrebbe aver comunicato eventuali variazioni a questo documento, e fanno fede quelle variazioni, soprattutto se espresse nel tuo contratto di incarico.


Variazioni non minori a questo documento sono concordate con la [[commissione Tech]].
Variazioni di sostanza a questo documento sono concordate con la [[commissione Tech]].
 
: tech{{@}}wikimedia.it


== Preambolo ==
== Preambolo ==
Riga 15: Riga 17:
Potrebbe sorprendere che per i nuovi progetti non viene solitamente usata l'[[infrastruttura]] di Wikimedia Italia, o altri hosting condivisi o propri server o non usiamo GitHub. Scoraggiamo queste pratiche perché Wikimedia Foundation fornisce già un'infrastruttura libera, strutturata, moderna, per evitare frammentazione, costi, complessità, gatekeeping, nonché fornisce una gestione delle utenze più efficace e quindi una collaborazione più efficiente.
Potrebbe sorprendere che per i nuovi progetti non viene solitamente usata l'[[infrastruttura]] di Wikimedia Italia, o altri hosting condivisi o propri server o non usiamo GitHub. Scoraggiamo queste pratiche perché Wikimedia Foundation fornisce già un'infrastruttura libera, strutturata, moderna, per evitare frammentazione, costi, complessità, gatekeeping, nonché fornisce una gestione delle utenze più efficace e quindi una collaborazione più efficiente.


In breve avrai bisogno di due utenze, una si Meta-wiki (account globale) e una su Wikitech. Breve descrizione:
Per quanto compete questo documento, sono necessarie due utenze separate. Una utenza per il tuo account globale e una per l'accesso all'ambiente di sviluppo:


{{row}}
{{row}}
Riga 21: Riga 23:
[[File:Wikimedia Community Logo optimized.svg|100px]]
[[File:Wikimedia Community Logo optimized.svg|100px]]


[https://meta.wikimedia.org/ '''Meta-wiki'''] fornisce un account centrale per strumenti collaborativi non-critici fra cui:
[https://meta.wikimedia.org/ '''Meta-wiki'''] fornisce un account globale per accedere a strumenti collaborativi ad accesso pubblico, fra cui:


:[[File:Wikipedia-logo-v2.svg|18px]] Wikipedia
:[[File:Wikipedia-logo-v2.svg|18px]] [[w:en:|Wikipedia]]
:[[File:MediaWiki-2020-icon.svg|18px]] Mediawiki
:[[File:Notification-icon-Wikidata-logo.svg|18px]] [[m:wikidata|Wikidata]]
:[[File:Wikimedia Phabricator logo inv.svg|18px]] Wikimedia Phabricator (bug tracker)
:[[File:MediaWiki-2020-icon.svg|18px]] [[m:mw:|Mediawiki]]
:[[File:Wikimedia Phabricator logo inv.svg|18px]] [[phabricator:|Wikimedia Phabricator]] (bug tracker)
}}
}}
{{col|3|light-pink|content=
{{col|3|light-pink|content=
[[File:Wikitech-2020-icon.svg|100px]]
[[File:Wikitech-2020-icon.svg|100px]]


[https://wikitech.wikimedia.org/ '''Wikitech'''] fornisce un account separato, per accedere a strumenti critici fra cui:
[https://wikitech.wikimedia.org/ '''Wikitech'''] fornisce un account separato, per accedere a strumenti collaborativi ad accesso riservato, fra cui:


:[[File:GitLab icon.svg|18px]] Wikimedia GitLab (code hosting)
:[[File:GitLab icon.svg|18px]] [[m:gitlab:|Wikimedia GitLab]] (code hosting)
:[[File:Wikimedia Cloud Services logo.svg|18px]] Wikimedia Cloud services (VPS su OpenStack)
:[[File:Wikimedia Cloud Services logo.svg|18px]] [[m:wikitech:Help:Cloud VPS|Wikimedia Cloud services]] (VPS su OpenStack)
:[[File:Toolforge logo.svg|18px]] Wikimedia Toolforge (hosting condiviso su Kubernetes)
:[[File:OpenStack® Logo 2016 icon square.svg|18px]] [https://horizon.wikimedia.org/ Wikimedia Horizon] (OpenStack panel)
:[[File:Toolforge logo.svg|18px]] [[m:wikitech:Portal:Toolforge|Wikimedia Toolforge]] (hosting condiviso su Kubernetes)
}}
}}
{{row end}}
{{row end}}
Riga 40: Riga 44:
== Inizio incarico ==
== Inizio incarico ==


Per iniziare il tuo incarico e accedere a tutti i servizi avrai bisogno di due paia di credenziali:
Per ogni membro del team di sviluppo.


; Account centrale Wikimedia
# [[File:Wikimedia Community Logo optimized.svg|18px|link=]] [[m:Special:CreateAccount|registrare account globale Wikimedia]]
## [[phabricator:auth/|effettuare il primo accesso in Wikimedia Phabricator]]
##: Usare il pulsante "[[File:MediaWiki-2020-icon.svg|18px|link=]] Log in or Register MediaWiki" ed effettuare il login.
##: Vengono richieste le credenziali [[File:Wikimedia Community Logo optimized.svg|18px|link=]] globali Wikimedia
# [[File:Wikitech-2020-icon.svg|18px|link=]] [[m:wikitech:Help:Create a Wikimedia developer account|registra account riservato Wikitech]]
## [[m:gitlab:users/sign_in|effettuare il primo accesso in Wikimedia GitLab]]
##: Vengono richieste le credenziali [[File:Wikitech-2020-icon.svg|18px|link=]] Wikitech


# avere un account centrale nei wiki Wikimedia
== Documentazione del team ==
#: Registrazione: [[m:Special:CreateAccount]]
# avere un account Wikimedia Phabricator
#: Registrazione: https://phabricator.wikimedia.org/auth/ (effettuare login con il tasto "MediaWiki", inserire le credenziali del punto 1)
 
; Account Wikitech
# avere un account separato per sviluppatori Wikimedia (per entrare nei server)
#: Istruzioni: [[m:wikitech:Help:Create a Wikimedia developer account]]
# avere un account Wikimedia GitLab
#: Registrazione: https://gitlab.wikimedia.org/users/sign_in (inserire le credenziali "Wikitech" ottenute nel punto 2)


----
Ogni membro tiene aggiornata la propria pagina utente pubblica.


In seguito aggiorna la [[#Documentazione del team]].
Questa operazione non serve a fine promozionale ma per aiutare gli altri a capire quali siano (stati) i propri ruoli, i propri incarichi pagati, e quali siano terminati.


== Documentazione del team ==
Checklist:


Ogni membro del team tiene aggiornata la propria pagina utente pubblica sui progetti Wikimedia (almeno fino al termine dell'incarico).
# [[File:Wikimedia Community Logo optimized.svg|18px|link=]] https://meta.wikimedia.org/
 
#: Fare login. Visitare la propria pagina utente (solitamente citata in alto a destra).
Checklist della propria pagina utente:
## inserire informazioni sul proprio ruolo e sul proprio incarico in inglese (esempio: "Since YYYY-MM-DD I'm paid to work on project ZZZZZ. My specific role is: ) in inglese
 
## inserire informazioni di contatto preferite (esempio: "''to contact me, use the talk page, use the button "Send e-mail", etc.'')
# https://meta.wikimedia.org/
## inserire un link alla propria utenza Wikimedia Phabricator
## presenza delle informazioni sul proprio ruolo e sul proprio incarico (sono pagato per occuparmi di ... nel periodo ...) in inglese
##: Esempio: https://phabricator.wikimedia.org/p/dario.crespi.wmit/
## menzione del proprio nickname Wikimedia Phabricator
## inserire un link alla propria utenza WikiTech
## menzione del proprio nickname WikiTech
##: Esempio link da inserire: https://wikitech.wikimedia.org/wiki/User:Iopensa
# https://phabricator.wikimedia.org/
# [[File:Wikitech-2020-icon.svg|18px|link=]] https://wikitech.wikimedia.org/
## presenza di un link alla propria pagina Meta-wiki
#: Fare login. Visitare la propria pagina utente (solitamente citata in alto a destra).
# https://wikitech.wikimedia.org/
## inserire un link alla propria pagina Meta-wiki
## presenza di un link alla propria pagina Meta-wiki
##: Esempio link da inserire: https://meta.wikimedia.org/wiki/User:Dario_Crespi_(WMIT)
## menzione del proprio nickname Wikimedia GitLab
# https://gitlab.wikimedia.org/
# https://gitlab.wikimedia.org/
## presenza di un link alla propria pagina Meta-wiki
#: Fare login. Selezionare la propria immagine profilo > ''Edit profile''.
## inserire un link alla propria pagina Meta-wiki
##: Esempio link da inserire: https://meta.wikimedia.org/wiki/User:Dario_Crespi_(WMIT)


== Requisiti progettuali ==
== Requisiti progettuali ==
Questi sono i requisiti progettuali su cui deve basarsi il proprio applicativo:


; Sistema operativo: Debian GNU/Linux stable.
; Sistema operativo: Debian GNU/Linux stable.
; Repository Debian: main
; Repository Debian: main


Il software sviluppato deve essere il più possibile compatibile con il parco software già presente in Debian GNU/Linux stable nel repository main (contenente solo software libero). Questo è un requisito tecnico e pratico, determinato dal fatto che questo sistema è l'unico fornito nella OpenStack e in Kubernetes di Wikimedia Foundation, e questa cosa non cambierà a breve. Grazie per la collaborazione.
Il software sviluppato deve essere compatibile con il parco software già presente in Debian GNU/Linux stable nel repository main (contenente solo software libero). Questo è un requisito tecnico e pratico, determinato dal fatto che questo sistema è l'unico fornito nella OpenStack e in Kubernetes di Wikimedia Foundation, e questa cosa non cambierà a breve.


Qui puoi verificare qual è l'esatta versione da dover supportare:
Alcuni esempi di software noti, con la pagina che descrive l'esatta versione da dover supportare:


* https://packages.debian.org/stable/php
* https://packages.debian.org/stable/php
Riga 93: Riga 97:
* https://packages.debian.org/stable/docker
* https://packages.debian.org/stable/docker


== Documentazione sistemistica ==
== Documentazione ==
 
Il team di sviluppo è il massimo esperto nel proprio progetto e per questo motivo si occupa anche della documentazione.
 
Lo scopo della documentazione è ridurre le probabilità che il progetto venga abbandonato per mancanza di conoscenze condivise.
 
La licenza della documentazione deve essere libera. In caso di dubbi consultare:


Si richiede di fornire una documentazione da consegnare al sistemista GNU/Linux, in lingua inglese, con tono semplice e chiaro.
* [[Sostegno nell'uso di licenze libere#Licenze per liberare contenuti]]


L'obiettivo è di aiutare una persona potenzialmente esterna a (ri-)creare velocemente un ambiente che ospiti l'applicativo in sicurezza e affidabilità.
=== Documentazione sistemistica ===


Questa documentazione può essere semplicemente una sezione "Sysadmin documentation" nel README del repository.
Fornire una documentazione da consegnare al sistemista GNU/Linux, in lingua inglese, con tono semplice e chiaro.
 
Lo scopo è aiutare una persona esterna a (ri-)creare velocemente un ambiente che ospiti l'applicativo in sicurezza e affidabilità.


Informazioni da fornire (valutare applicabilità):
Informazioni da fornire (valutare applicabilità):
Riga 120: Riga 132:
** procedura consigliata per effettuare un backup dei dati
** procedura consigliata per effettuare un backup dei dati


== Documentazione sviluppo software ==
Questa documentazione può essere semplicemente una sezione "Sysadmin documentation" nel README del repository.
 
=== Documentazione sviluppo software ===


Fornire una documentazione da consegnare alle persone nel team di sviluppo, in lingua inglese, con tono semplice e chiaro.
Fornire una documentazione da consegnare alle persone nel team di sviluppo, in lingua inglese, con tono semplice e chiaro.


L'obiettivo è favorire un passaggio di consegne ad altre persone nel team di sviluppo, e facilitare altre persone (spesso volontari e con poco tempo libero) nel capire la struttura del vostro progetto.
Lo scopo è favorire un passaggio di consegne ad altre persone nel team di sviluppo, e facilitare altre persone (spesso volontari e con poco tempo libero) nel capire la struttura del vostro progetto.
 
Questa documentazione può essere semplicemente una sezione "Development documentation" nel README del repository.


Informazioni minime da fornire:
Informazioni minime da fornire:
Riga 134: Riga 146:
* come configurare l'applicativo
* come configurare l'applicativo


== Documentazione utente ==
Questa documentazione può essere semplicemente una sezione "Development documentation" nel README del repository.
 
=== Documentazione utente ===


Redarre una documentazione da consegnare agli utenti finali, in lingua italiana o inglese (da chiarire con il responsabile progetto), con tono semplice e chiaro.
Fornire una documentazione da consegnare agli utenti finali, in lingua italiana o inglese (da chiarire con il responsabile progetto), con tono semplice e chiaro.


L'obiettivo è aiutare gli utenti finali a padroneggiare le parti meno ovvie dell'applicativo.
L'obiettivo è aiutare gli utenti finali a padroneggiare le parti meno ovvie dell'applicativo.


Questa documentazione può essere semplicemente una sezione "Usage" nel README del repository.
Questa documentazione è meglio se sia pubblicata su un wiki. Ad esempio una sotto-pagina in https://meta.wikimedia.org/ poiché gli utenti finali non sono necessariamente utenti git.


Questa documentazione può essere omessa se l'interfaccia utente è già sufficientemente auto-esplicativa (ad esempio se è presente un wizard, etc.).
Questa documentazione può essere omessa se l'interfaccia utente è già sufficientemente auto-esplicativa, se è presente un wizard, ecc.


== Manutenzione ordinaria ==
== Manutenzione ordinaria ==
Riga 161: Riga 175:


* prendersi cura d almeno una singola copia giornaliera dei dati (coerente alla propria documentazione sistemistica di backup)
* prendersi cura d almeno una singola copia giornaliera dei dati (coerente alla propria documentazione sistemistica di backup)
== Termini d'uso ==
L'inizio dell'incarico definisce l'accettazione dei termini d'uso per la gestione delle risorse hardware di Wikimedia Foundation.
https://foundation.wikimedia.org/wiki/Terms_of_Use/it


== Codice di condotta ==
== Codice di condotta ==
Riga 172: Riga 180:
L'inizio dell'incarico definisce l'accettazione del [[codice di condotta]].
L'inizio dell'incarico definisce l'accettazione del [[codice di condotta]].


== Licenza ==
== Termini d'uso ==


È già scritto nei termini d'uso: non è possibile caricare sui server Wikimedia del materiale non rilasciato dal suo autore con una licenza libera.
L'inizio dell'incarico definisce l'accettazione dei termini d'uso per la gestione delle risorse hardware di Wikimedia Foundation.


Per il proprio nuovo codice, si richiede di adottare una licenza libera ufficialmente approvata dalla Free Software Foundation.
https://foundation.wikimedia.org/wiki/Terms_of_Use/it


Ad esempio:
== Licenza software ==


* GNU General Public License v3+ (adatta per software generico)
La licenza del software deve essere libera. In caso di dubbi consultare:
* GNU Affero General Public License v3+ (particolarmente adatta per software lato-server)


Caricare il rispettivo file di licenza nel repository (esempio: LICENSE.md).
* [[Sostegno nell'uso di licenze libere#Licenze per liberare software]]


== Termine incarico ==
== Termine incarico ==


Prima della conclusione dell'incarico o dell'attività del team:
Prima della conclusione o sospensione (presumibilmente) definitiva di un proprio incarico o della propria attività:
 
Il team propone delle date per una presentazione tecnica del progetto, aperta alla community, per favorire il passaggio di consegne. Presentando almeno:
* [[#Documentazione sviluppo software]]
* [[#Documentazione sistemistica]]
* [[#Documentazione utente]]


Prima della conclusione dell'incarico di ogni membro del team:
Il team propone delle date per una presentazione tecnica del progetto, aperta alla community, per favorire il passaggio di consegne. Presentando almeno i vari tipi di [[#Documentazione]].


* aggiornare la [[#Documentazione del team]] (la descrizione delle proprie utenze) per riflettere le variazioni dei propri ruoli
Prima della conclusione dell'incarico di un membro del team, tale persona:


Grazie di cuore!
# aggiorna la propria [[#Documentazione del team]] per riflettere le variazioni dei propri ruoli
# comunica gli account che saranno da disattivare, evidenziando eventuali ruoli amministrativi (ruoli con gestione di altri utenti)
# comunica le eventuali informazioni personali che si ritiene debbano essere eliminate

Versione delle 15:02, 16 nov 2022

Questa è una bozza. Gli utenti registrati sono invitati a migliorare questa pagina in qualsiasi momento.

Pagina rivolta alle persone incaricate da Wikimedia Italia per nuovi sviluppi software.

Nota: il responsabile del tuo progetto per Wikimedia Italia potrebbe aver comunicato eventuali variazioni a questo documento, e fanno fede quelle variazioni, soprattutto se espresse nel tuo contratto di incarico.

Variazioni di sostanza a questo documento sono concordate con la commissione Tech.

tech(chiocciola)wikimedia.it

Preambolo

Wikimedia Italia è un capitolo ufficiale riconosciuto da Wikimedia Foundation e fra i suoi obiettivi c'è la promozione della conoscenza libera e il supporto ai volontari. Notare che anche il responsabile del progetto potrebbe essere una persona volontaria. Questa è solitamente una condizione insolita, per cui ti rigraziamo per la tua proattività e spirito di collaborazione nel comunicare l'andamento del tuo lavoro, etc.

Infrastruttura di Wikimedia Foundation

Potrebbe sorprendere che per i nuovi progetti non viene solitamente usata l'infrastruttura di Wikimedia Italia, o altri hosting condivisi o propri server o non usiamo GitHub. Scoraggiamo queste pratiche perché Wikimedia Foundation fornisce già un'infrastruttura libera, strutturata, moderna, per evitare frammentazione, costi, complessità, gatekeeping, nonché fornisce una gestione delle utenze più efficace e quindi una collaborazione più efficiente.

Per quanto compete questo documento, sono necessarie due utenze separate. Una utenza per il tuo account globale e una per l'accesso all'ambiente di sviluppo:

Wikimedia Community Logo optimized.svg

Meta-wiki fornisce un account globale per accedere a strumenti collaborativi ad accesso pubblico, fra cui:

Wikipedia-logo-v2.svg Wikipedia
Notification-icon-Wikidata-logo.svg Wikidata
MediaWiki-2020-icon.svg Mediawiki
Wikimedia Phabricator logo inv.svg Wikimedia Phabricator (bug tracker)
Wikitech-2020-icon.svg

Wikitech fornisce un account separato, per accedere a strumenti collaborativi ad accesso riservato, fra cui:

GitLab icon.svg Wikimedia GitLab (code hosting)
Wikimedia Cloud Services logo.svg Wikimedia Cloud services (VPS su OpenStack)
OpenStack® Logo 2016 icon square.svg Wikimedia Horizon (OpenStack panel)
Toolforge logo.svg Wikimedia Toolforge (hosting condiviso su Kubernetes)

Inizio incarico

Per ogni membro del team di sviluppo.

  1. Wikimedia Community Logo optimized.svg registrare account globale Wikimedia
    1. effettuare il primo accesso in Wikimedia Phabricator
      Usare il pulsante "MediaWiki-2020-icon.svg Log in or Register MediaWiki" ed effettuare il login.
      Vengono richieste le credenziali Wikimedia Community Logo optimized.svg globali Wikimedia
  2. Wikitech-2020-icon.svg registra account riservato Wikitech
    1. effettuare il primo accesso in Wikimedia GitLab
      Vengono richieste le credenziali Wikitech-2020-icon.svg Wikitech

Documentazione del team

Ogni membro tiene aggiornata la propria pagina utente pubblica.

Questa operazione non serve a fine promozionale ma per aiutare gli altri a capire quali siano (stati) i propri ruoli, i propri incarichi pagati, e quali siano terminati.

Checklist:

  1. Wikimedia Community Logo optimized.svg https://meta.wikimedia.org/
    Fare login. Visitare la propria pagina utente (solitamente citata in alto a destra).
    1. inserire informazioni sul proprio ruolo e sul proprio incarico in inglese (esempio: "Since YYYY-MM-DD I'm paid to work on project ZZZZZ. My specific role is: ) in inglese
    2. inserire informazioni di contatto preferite (esempio: "to contact me, use the talk page, use the button "Send e-mail", etc.)
    3. inserire un link alla propria utenza Wikimedia Phabricator
      Esempio: https://phabricator.wikimedia.org/p/dario.crespi.wmit/
    4. inserire un link alla propria utenza WikiTech
      Esempio link da inserire: https://wikitech.wikimedia.org/wiki/User:Iopensa
  2. Wikitech-2020-icon.svg https://wikitech.wikimedia.org/
    Fare login. Visitare la propria pagina utente (solitamente citata in alto a destra).
    1. inserire un link alla propria pagina Meta-wiki
      Esempio link da inserire: https://meta.wikimedia.org/wiki/User:Dario_Crespi_(WMIT)
  3. https://gitlab.wikimedia.org/
    Fare login. Selezionare la propria immagine profilo > Edit profile.
    1. inserire un link alla propria pagina Meta-wiki
      Esempio link da inserire: https://meta.wikimedia.org/wiki/User:Dario_Crespi_(WMIT)

Requisiti progettuali

Questi sono i requisiti progettuali su cui deve basarsi il proprio applicativo:

Sistema operativo
Debian GNU/Linux stable.
Repository Debian
main

Il software sviluppato deve essere compatibile con il parco software già presente in Debian GNU/Linux stable nel repository main (contenente solo software libero). Questo è un requisito tecnico e pratico, determinato dal fatto che questo sistema è l'unico fornito nella OpenStack e in Kubernetes di Wikimedia Foundation, e questa cosa non cambierà a breve.

Alcuni esempi di software noti, con la pagina che descrive l'esatta versione da dover supportare:

Documentazione

Il team di sviluppo è il massimo esperto nel proprio progetto e per questo motivo si occupa anche della documentazione.

Lo scopo della documentazione è ridurre le probabilità che il progetto venga abbandonato per mancanza di conoscenze condivise.

La licenza della documentazione deve essere libera. In caso di dubbi consultare:

Documentazione sistemistica

Fornire una documentazione da consegnare al sistemista GNU/Linux, in lingua inglese, con tono semplice e chiaro.

Lo scopo è aiutare una persona esterna a (ri-)creare velocemente un ambiente che ospiti l'applicativo in sicurezza e affidabilità.

Informazioni da fornire (valutare applicabilità):

  • dipendenze software (pacchetti da installare in una nuova Debian GNU/Linux minimale)
  • istruzioni installazione (comando apt, etc.)
  • istruzioni configurazione (quali sono i file di configurazione di sistema da modificare, etc.)
  • percorsi dei file di log più rilevanti per investigare problematiche con l'applicativo
  • demoni di sistema legati all'applicativo (e.g. apache2, mariadb, proprie unità Systemd personalizzate, etc.)
  • utenti Unix in gioco (esempio: www-data, my-app, etc.)
  • istruzioni di sicurezza
    • percorsi che non devono essere visibili dall'esterno (esempio: /var/www/tmp/) etc.
  • istruzioni di hardening
    • percorsi che devono essere scrivibili da tali utenti (esempio: percorsi scrivibili da www-data: /var/www/myapp/cache, etc.)
    • percorsi che non devono essere scrivibili (esempio: questi file deve poterli modificare solo l'amministratore di sistema root, non l'utente www-data: /var/www/conf, etc.)
  • note di aggiornamento
    • procedura di aggiornamento dell'applicativo
  • istruzioni di backup
    • dove vengono salvati i file
    • procedura consigliata per effettuare un backup dei dati

Questa documentazione può essere semplicemente una sezione "Sysadmin documentation" nel README del repository.

Documentazione sviluppo software

Fornire una documentazione da consegnare alle persone nel team di sviluppo, in lingua inglese, con tono semplice e chiaro.

Lo scopo è favorire un passaggio di consegne ad altre persone nel team di sviluppo, e facilitare altre persone (spesso volontari e con poco tempo libero) nel capire la struttura del vostro progetto.

Informazioni minime da fornire:

  • descrizione della struttura del progetto (obiettivo: aiutare ad orientarsi)
  • come testare il codice in locale
  • come configurare l'applicativo

Questa documentazione può essere semplicemente una sezione "Development documentation" nel README del repository.

Documentazione utente

Fornire una documentazione da consegnare agli utenti finali, in lingua italiana o inglese (da chiarire con il responsabile progetto), con tono semplice e chiaro.

L'obiettivo è aiutare gli utenti finali a padroneggiare le parti meno ovvie dell'applicativo.

Questa documentazione è meglio se sia pubblicata su un wiki. Ad esempio una sotto-pagina in https://meta.wikimedia.org/ poiché gli utenti finali non sono necessariamente utenti git.

Questa documentazione può essere omessa se l'interfaccia utente è già sufficientemente auto-esplicativa, se è presente un wizard, ecc.

Manutenzione ordinaria

Operazioni a carico del team di sviluppo (fino al termine del proprio incarico):

  • prima installazione dell'applicativo nel server Debian GNU/Linux stable fornito
  • manutenzione ordinaria
    • aggiornamenti software del proprio applicativo
    • aggiornamenti di sicurezza del proprio applicativo e delle proprie dipendenze software (e.g. aggiornando dipendenze PHP)
    • aggiornamenti di sicurezza delle proprie dipendenze software nel sistema operativo (e.g. aggiornando il proprio webserver, server database, etc.)
    • verifica delle procedure di backup sul posto
  • comunicazione delle finestre di intervento richieste per la manutenzione ordinaria

Backup

Fino al termine dell'incarico:

  • prendersi cura d almeno una singola copia giornaliera dei dati (coerente alla propria documentazione sistemistica di backup)

Codice di condotta

L'inizio dell'incarico definisce l'accettazione del codice di condotta.

Termini d'uso

L'inizio dell'incarico definisce l'accettazione dei termini d'uso per la gestione delle risorse hardware di Wikimedia Foundation.

https://foundation.wikimedia.org/wiki/Terms_of_Use/it

Licenza software

La licenza del software deve essere libera. In caso di dubbi consultare:

Termine incarico

Prima della conclusione o sospensione (presumibilmente) definitiva di un proprio incarico o della propria attività:

Il team propone delle date per una presentazione tecnica del progetto, aperta alla community, per favorire il passaggio di consegne. Presentando almeno i vari tipi di #Documentazione.

Prima della conclusione dell'incarico di un membro del team, tale persona:

  1. aggiorna la propria #Documentazione del team per riflettere le variazioni dei propri ruoli
  2. comunica gli account che saranno da disattivare, evidenziando eventuali ruoli amministrativi (ruoli con gestione di altri utenti)
  3. comunica le eventuali informazioni personali che si ritiene debbano essere eliminate