fix: several typos, RST structure, new schema changes (#31)

fix: removed URI from iPA
fix: modified contacts, fixes #29 and #30
fix: changed example to face new contacts dependency
fix: moved ecosistemi out of riuso
fix: changed nested level it schema
feat: added example.rst in english
fix: port the english version to match the italian one
feat: new changes to schema description
This commit is contained in:
libremente 2019-02-12 12:56:50 +01:00 committed by GitHub
parent 2b8852829e
commit 7464845b78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 378 additions and 369 deletions

3
.gitignore vendored
View File

@ -8,3 +8,6 @@ _site
# Windows generic
Thumbs.db
# Swap files
*.swp

24
docs/en/example.rst Normal file
View File

@ -0,0 +1,24 @@
Esempi
==========================
Below there are two examples of `publiccode.yml` files, the first one
represents the minimum configuration, which contains the mandatory fields,
whilst the second one represents a more extended version.
Minimum Version
~~~~~~~~~~~~~~~
.. literalinclude:: example/publiccode.minimal.yml
:language: yaml
:linenos:
Extended Version
~~~~~~~~~~~~~~~
.. literalinclude:: example/publiccode.yml
:language: yaml
:linenos:

View File

@ -91,6 +91,7 @@ maintenance:
contractors:
- name: "Fornitore Privato SPA"
email: "dario.bianchi@fornitore.it"
website: "https://privatecompany.com"
until: "2019-01-01"
@ -100,16 +101,6 @@ maintenance:
affiliation: Comune di Reggio Emilia
phone: +39 231 13215112
- name: Dario Bianchi
email: "dario.bianchi@fornitore.it"
affiliation: Fornitore Privato S.P.A.
phone: +39 16 24231322
- name: Giancarlo Verdi
email: "dario.bianchi@fornitore.it"
affiliation: Fornitore Privato S.P.A.
phone: +39 16 24231322
localisation:
localisationReady: yes
availableLanguages:
@ -157,4 +148,4 @@ it:
seo: no
ui: yes
web: yes
content: no
content: no

View File

@ -1,9 +1,12 @@
.. _forks-and-variants:
Forks and variants
==================
This document describes how to best handle software forks in the context
of updating ``publiccode.yml``. We define two different semantics that
require different handling: technical forks and software variants.
As already cited before, a fork may have two different forms based on the final
aim. As such, in order to make it clear how to handle the
`publiccode.yml` in both cases, below we define two different
semantics: technical forks and software variants.
Technical forks (i.e. to publish patches)
-----------------------------------------

View File

@ -1,26 +1,14 @@
``publiccode.yml``
==================
The ``publiccode.yml`` Standard
===============================
.. toctree::
:maxdepth: 2
:numbered:
A PublicCode file written following this specification is guaranteed to
remain compatible with all parsers implementing any 0.x release.
For more information on version numbering see
`SemVer.org <https://semver.org/>`__.
Schema documentation
--------------------
- `Schema <schema.md>`__
- `Italian extension to the schema <schema.it.md>`__
- `List of acceptable tags <tags.md>`__
Concepts and lexicon
--------------------
- `How to work with forks and variants <forks.md>`__
Examples
--------
- `Minimal Example <example/publiccode.minimal.yml>`__
- `Full Example <example/publiccode.yml>`__
intro.rst
schema.md
schema.it.md
forks.md
pa-types.md
tags.md
tools.md
example.rst

View File

@ -1,3 +1,5 @@
.. _pa-types:
Public administration types
===========================

View File

@ -1,14 +1,11 @@
The main schema
===============
The Standard
============
This document represents the description of the ``publiccode.yml``
schema.
Structure
---------
Country-specific extensions
~~~~~~~~~~~~~~~~~~~~~~~~~~~
---------------------------
While the standard is structured to be meaningful on an international
level, there are additional information that can be added that makes
@ -36,7 +33,7 @@ country-specific section instead.
Documentation for the keys contained in a country specific section is
maintained in separate files.
- Italy: `Italian extensions <schema.it.md>`__
- Italy: :ref:`italia-estensions`.
Top-level section
-----------------
@ -87,12 +84,12 @@ HTTP/HTTPS URLs which dont require user authentication.
Forks created for the purpose of contributing upstreams should not
modify this file; this helps software parsing ``publiccode.yml`` to
immediately skips `technical forks <forks.md>`__. On the contrary, a
immediately skips technical forks. On the contrary, a
complete fork that is meant to be maintained separately from the
original software should modify this line, to give themselves the status
of a different project.
See `Forks and Variants <forks.md>`__ for a complete description of what
See :ref:`forks-and-variants` for a complete description of what
is a software variant and how to handle forked softwares as a parser or
an author.
@ -123,8 +120,8 @@ In case this software is a variant or a fork of another software, which
might or might not contain a ``publiccode.yml`` file, this key will
contain the ``url`` of the original project(s).
The existence of this key identifies the fork as a `software
variant <forks.md>`__, descending from the specified repositories.
The existence of this key identifies the fork as a software
variant, descending from the specified repositories.
Key ``softwareVersion``
~~~~~~~~~~~~~~~~~~~~~~~
@ -228,7 +225,7 @@ Key ``tags``
- Type: array of strings
- Presence: mandatory
- Acceptable values: see `Available tags <tags.md>`__
- Acceptable values: see :ref:`tags-list`
A list of words that can be used to describe the software and can help
building catalogs of open software.
@ -263,27 +260,30 @@ Key ``roadmap``
A link to a public roadmap of the software.
Key ``developmentStatus``
-------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~
- Type: enumerated string
- Presence: mandatory
- Allowed values: ``concept``, ``development``, ``beta``, ``stable``,
``obsolete``
The keys are: \* ``concept`` - The software is just a “concept”. No
actual code may have been produced, and the repository could simply be a
placeholder. \* ``development`` - Some effort has gone into the
development of the software, but the code is not ready for the end user,
even in a preliminary version (beta or alpha) to be tested by end users.
\* ``beta`` - The software is in the testing phase (alpha or beta). At
this stage, the software might or might not have had a preliminary
public release. \* ``stable`` - The software has seen a first public
release and is ready to be used in a production environment. \*
``obsolete`` - The software is no longer maintained or kept up to date.
All of the source code is archived and kept for historical reasons.
The keys are:
- ``concept`` - The software is just a “concept”. No
actual code may have been produced, and the repository could simply be a
placeholder.
- ``development`` - Some effort has gone into the
development of the software, but the code is not ready for the end user,
even in a preliminary version (beta or alpha) to be tested by end users.
- ``beta`` - The software is in the testing phase (alpha or beta). At
this stage, the software might or might not have had a preliminary
public release.
- ``stable`` - The software has seen a first public
release and is ready to be used in a production environment.
- ``obsolete`` - The software is no longer maintained or kept up to date.
All of the source code is archived and kept for historical reasons.
Key ``softwareType``
--------------------
~~~~~~~~~~~~~~~~~~~~
- Type: enumerated string
- Presence: mandatory
@ -308,14 +308,14 @@ The keys are:
other instruction sets.
Section ``intendedAudience``
----------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Key ``intendedAudience/onlyFor``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''
- Type: enumerated string or array of strings
- Presence: optional
- Values: see `pa-types.md <pa-types.md>`__
- Values: see :ref:`pa-types`
- Example: ``"city"``
Public software could be very specific in scope because there is a large
@ -325,14 +325,14 @@ useful in hospitals. If you want to explicitly mark some software as
only useful to certain types of administrations, you should add them to
this key.
The list of allowed values is defined in `pa-types.md <pa-types.md>`__,
The list of allowed values is defined in :ref:`pa-types`,
and can be country-specific.
This list can evolve at any time, separately from the version of this
specification.
Key ``intendedAudience/countries``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''
- Type: array of strings
- Presence: optional
@ -343,7 +343,7 @@ technologies or laws. All countries are specified using lowercase ISO
3166-1 alpha-2 two-letter country codes.
Key ``intendedAudience/unsupportedCountries``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''''''''''''
- Type: array of strings
- Presence: optional
@ -354,13 +354,13 @@ specific law, process or technology. All countries are specified using
lowercase ISO 3166-1 alpha-2 two-letter country codes.
Section ``description``
-----------------------
~~~~~~~~~~~~~~~~~~~~~~~
This section contains a general description of the software. Parsers can
use this section for instance to create a web page describing the
software.
**Note** Since all the strings contained in this section are
**Note:** since all the strings contained in this section are
user-visible and written in a specific language, you **must** specify
the language you are editing the text in (using `ISO
639-2 <https://en.wikipedia.org/wiki/ISO_639-2>`__ alpha-3 codes) by
@ -368,7 +368,7 @@ creating a sub-section with that name.
An example for English:
.. code:: .yml
.. code:: yaml
description:
eng:
@ -379,11 +379,11 @@ In the following part of the document, all keys are assumed to be in a
sub-section with the name of the language (we will note this with
``[lang]``).
**Note:** It is mandatory to have *at least* one language in this
**Note:** it is mandatory to have *at least* one language in this
section. All other languages are optional.
Key ``description/[lang]/localisedName``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''''''
- Type: string
- Presence: optional
@ -396,7 +396,7 @@ both an internal “code” name and a commercial name, use the commercial
name.
Key ``description/[lang]/genericName``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''''
- Type: string (max 35 chars)
- Presence: mandatory
@ -409,7 +409,7 @@ Notable examples include “Text Editor”, “Word Processor”, “Web Browser
“Chat” and so on… The generic name can be up to 35 characters long.
Key ``description/[lang]/shortDescription``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''''''''''
- Type: string (max 150 chars)
- Presence: mandatory
@ -420,7 +420,7 @@ single line containing a single sentence. Maximum 150 characters are
allowed.
Key ``description/[lang]/longDescription``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''''''''
- Type: string (min 500 chars, max 10000 chars)
- Presence: mandatory (for at least one language)
@ -436,7 +436,7 @@ This description can contain some basic markdown: ``*italic*``,
``**bold**``, bullet points and ``[links](#)``.
Key ``description/[lang]/documentation``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''''''
- Type: URL
- Presence: optional
@ -462,7 +462,7 @@ files available under an open license, possibly by committing them as
part of the repository itself.
Key ``description/[lang]/apiDocumentation``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''''''''''
- Type: URL
- Presence: optional
@ -488,7 +488,7 @@ files available under an open license, possibly by committing them as
part of the repository itself.
Key ``description/[lang]/freeTags/``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''
- Type: array of strings
- Presence: optional
@ -504,7 +504,7 @@ Unicode whitespace character. The suggested character to separate
multiple words is ``-`` (single dash).
Key ``description/[lang]/features``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''
- Type: array of strings
- Presence: mandatory (for at least one language)
@ -526,7 +526,7 @@ exhaustiveness, as users can always read the documentation for
additional information.
Key ``description/[lang]/screenshots``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''''
- Type: array of strings (paths)
- Presence: optional
@ -544,7 +544,7 @@ Screenshots can be of any shape and size; the suggested formats are:
- Mobile: 375x667 @2x
Key ``description/[lang]/videos``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''
- Type: array of strings (URLs)
- Presence: optional
@ -561,7 +561,7 @@ Since videos are an integral part of the documentation, it is
recommended to publish them with an open license.
Key ``description/[lang]/awards``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''
- Type: array of strings
- Presence: optional
@ -569,10 +569,10 @@ Key ``description/[lang]/awards``
A list of awards won by the software.
Section ``legal``
-----------------
~~~~~~~~~~~~~~~~~
Key ``legal/license``
~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''
- Type: string
- Presence: mandatory
@ -584,7 +584,7 @@ to one (or multiple) open-source license. Please refer to the `SPDX
documentation <https://spdx.org/licenses/>`__ for further information.
Key ``legal/mainCopyrightOwner``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''
- Type: string
- Presence: optional
@ -603,7 +603,7 @@ possible to omit this key; in those cases, if the repo has a authors
file, you can point to it through ``legal/authorsFile``.
Key ``legal/repoOwner``
~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''
- Type: string
- Presence: optional
@ -615,7 +615,7 @@ itself. For instance, in case of a fork of the original software, the
``repoOwner`` is probably different from the ``mainCopyrightOwner``.
Key ``legal/authorsFile``
~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''
- Type: string (path to file)
- Presence: optional
@ -629,29 +629,30 @@ copyright owner. In such cases, this key can be used to refer to the
authors file, using a path relative to the root of the repository.
Section ``maintenance``
-----------------------
~~~~~~~~~~~~~~~~~~~~~~~
This section provides information on the maintenance status of the
software, useful to evaluate whether the software is actively developed
or not.
Key ``maintenance/type``
~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''
- Type: enumerate
- Presence: mandatory
- Values: ``"internal"``, ``"contract"``, ``"community"``, ``"none"``
This key describes how the software is currently maintained. \*
``"internal"`` means that the software is internally maintained by the
repository owner. \* ``"contract"`` means that there is a commercial
contract that binds an entity to the maintenance of the software; \*
``"community"`` means that the software is currently maintained by one
or more people that donate their time to the project; \* ``"none"``
means that the software is not actively maintained.
This key describes how the software is currently maintained.
- ``"internal"`` - means that the software is internally maintained by the
repository owner.
- ``"contract"`` - means that there is a commercial
contract that binds an entity to the maintenance of the software;
- ``"community"`` - means that the software is currently maintained by one
or more people that donate their time to the project;
- ``"none"`` - means that the software is not actively maintained.
Key ``maintenance/contractors``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''
- Type: array of Contractor (see below)
- Presence: mandatory (if ``maintainance/type`` is ``contract``)
@ -661,10 +662,10 @@ contracted for maintaining the software. They can be companies,
organizations, or other collective names.
Key ``maintenance/contacts``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''
- Type: List of Contacts (see below)
- Presence: mandatory
- Presence: mandatory (if ``maintainance/type`` **is not** ``contract``)
One or more contacts maintaining this software.
@ -680,13 +681,13 @@ maintenance. Do not specify the software owner unless it is technically
involved with the maintenance of the product as well.
Section ``localisation``
------------------------
~~~~~~~~~~~~~~~~~~~~~~~~
This section provides an overview of the localization features of the
software.
Key ``localisation/localisationReady``
--------------------------------------
''''''''''''''''''''''''''''''''''''''
- Type: boolean
- Presence: mandatory
@ -696,7 +697,7 @@ designed to be multilingual. It does not need to be available in more
than one language.
Key ``localisation/availableLanguages``
---------------------------------------
'''''''''''''''''''''''''''''''''''''''
- Type: list of `ISO 639-2 <https://en.wikipedia.org/wiki/ISO_639-2>`__
alpha-3 codes
@ -718,7 +719,7 @@ separately. For instance, a database is a good example of such
dependencies.
Key ``dependsOn/open``
~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''
- Type: array of ``dependency`` (see below)
- Presence: optional
@ -727,7 +728,7 @@ This key contains a list of runtime dependencies that are distributed
under an open-source license.
Key ``dependsOn/proprietary``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''
- Type: array of ``dependency`` (see below)
- Presence: optional
@ -736,7 +737,7 @@ This key contains a list of runtime dependencies that are distributed
under a proprietary license.
Key ``dependsOn/hardware``
~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''
- Type: array of ``dependency`` (see below)
- Presence: optional
@ -769,7 +770,7 @@ compatibility matrix.
*Ex. 1*
.. code:: .yml
.. code:: yaml
- name: PostgreSQL
version: 3.2
@ -780,7 +781,7 @@ This snippet marks an optional dependency on PostgreSQL exactly version
*Ex. 2*
.. code:: .yml
.. code:: yaml
- name: MySQL
versionMin: 1.1
@ -824,6 +825,13 @@ A Contractor is an object with the following properties:
case of community maintenance, the value should not be more than 2
years in the future, and thus will need to be regularly updated as
the community continues working on the project.
- ``email`` - This key contains the e-mail address of the technical
contact. It must be an email address of where the technical contact
can be directly reached; do NOT populate this key with mailing-lists
or generic contact points like “info@acme.inc”. The e-mail address
must not be obfuscated. To improve resistance against e-mail
collection, use ``\x64`` to replace ``@``, as allowed by the YAML
specification.
- ``website`` - This key points to the maintainer website. It can
either point to the main institutional website, or to a more
project-specific page or website.

View File

@ -1,3 +1,5 @@
.. _`tags-list`:
List of acceptable tags
=======================

24
docs/it/example.rst Normal file
View File

@ -0,0 +1,24 @@
Esempi
==========================
Qui di seguito vi sono due esempi di file `publiccode.yml`, il primo
rappresenta la configurazione minima, ovvero contiene i campi obbligatori,
mentre il secondo è più esteso.
Versione Minima
~~~~~~~~~~~~~~~
.. literalinclude:: example/publiccode.minimal.yml
:language: yaml
:linenos:
Versione Estesa
~~~~~~~~~~~~~~~
.. literalinclude:: example/publiccode.yml
:language: yaml
:linenos:

View File

@ -91,6 +91,7 @@ maintenance:
contractors:
- name: "Fornitore Privato SPA"
email: "dario.bianchi@fornitore.it"
website: "https://privatecompany.com"
until: "2019-01-01"
@ -100,16 +101,6 @@ maintenance:
affiliation: Comune di Reggio Emilia
phone: +39 231 13215112
- name: Dario Bianchi
email: "dario.bianchi@fornitore.it"
affiliation: Fornitore Privato S.P.A.
phone: +39 16 24231322
- name: Giancarlo Verdi
email: "dario.bianchi@fornitore.it"
affiliation: Fornitore Privato S.P.A.
phone: +39 16 24231322
localisation:
localisationReady: yes
availableLanguages:
@ -157,4 +148,4 @@ it:
seo: no
ui: yes
web: yes
content: no
content: no

View File

@ -1,11 +1,14 @@
``publiccode.yml`` - Fork e varianti
.. _fork-varianti:
Fork e varianti
====================================
Questo documento descrive come gestire laggiornamento di
``publiccode.yml`` nel contesto di un software fork. Per questioni di
chiarezza, qui di seguito distinguiamo le due possibilità: fork tecnici
e varianti software.
Come già accennato precedentemente, il fork di un progetto software può essere
inteso in modo diverso a seconda dello scopo finale di tale diramazione.
Per questioni di chiarezza, qui di seguito distinguiamo le due possibilità:
fork tecnici e varianti software.
.. _fork-tecnici:
Fork tecnici (i.e. pubblicare patch)
------------------------------------

View File

@ -1,9 +1,14 @@
publiccode.yml
==============
Lo Standard ``publiccode.yml``
==============================
.. toctree::
:maxdepth: 2
:numbered:
- `Schema <schema.md>`__
- `Estension italiane dello schema <schema.it.md>`__
- `Lista di tag accettabili <tags.md>`__
- `Come lavorare con i fork e le varianti <forks.md>`__
- `Esempio Minimo <example/publiccode.minimal.yml>`__
- `Esempio Completo <example/publiccode.yml>`__
intro.rst
schema.md
schema.it.md
forks.md
pa-types.md
tags.md
strumenti.md
example.rst

View File

@ -1,5 +1,5 @@
Lo Standard ``publiccode.yml``
==============================
Descrizione
------------
``publiccode.yml`` è uno standard di descrizione di metadati ideato per
essere inserito in repository contenenti software pubblici. Questo
@ -51,12 +51,4 @@ come ad esempio un editor, che permettano di generare e/o validare un file
``publiccode.yml`` attraverso delle interfacce grafiche quindi facilitando
anche il compito in fase di creazione.
.. toctree::
:maxdepth: 2
Schema dello standard <_docs/it/schema.md>
Estensioni italiane <_docs/it/schema.it.md>
Fork e Varianti <_docs/it/forks.md>
Tipi di Pubbliche Amministrazioni <_docs/it/pa-types.md>
Lista dei tag accettati <_docs/it/tags.md>
Strumenti di supporto <_docs/it/strumenti.md>

View File

@ -1,3 +1,5 @@
.. _pa-types:
Tipi di Pubbliche Amministrazioni
=================================

View File

@ -1,14 +1,26 @@
``publiccode.yml`` - Estensioni italiane
.. _estensioni-italiane:
Estensioni italiane
========================================
Estensioni
----------
Tutte le estensioni elencate qui di seguito sono specifiche per un Paese e, di
conseguenza, devono essere inserite in una sezione denominata con
l\ `ISO 3166-1 alpha-2 country
code <https://it.wikipedia.org/wiki/ISO_3166-1_alpha-2>`__.
In questo caso, siccome le sezioni e chiavi seguenti sono italiane,
è necessario utilizzare il codice `it`.
Sezione ``conforme``
--------------------
~~~~~~~~~~~~~~~~~~~~
Questa sezione contiene delle chiavi per auto dichiarare la conformità
con la normativa vigente, rispetto ad alcune sezioni.
Chiave ``conforme/accessibile``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''
- Tipo: booleano
- Presenza: opzionale
@ -16,23 +28,23 @@ Chiave ``conforme/accessibile``
Se presente e impostato a ``yes``, il software è conforme alle leggi in
materia di accessibilità (L. 4/2004), come descritto ulteriormente nelle
`linee guida di
design <http://design-italia.readthedocs.io/it/stable/>`__.
design <https://docs.italia.it/italia/designers-italia/design-linee-guida-docs>`__.
Chiave ``conforme/interoperabile``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''
- Tipo: booleano
- Presenza: opzionale
Se presente e impostato a ``yes``, il software è conforme alle `linee
guida
sullinteroperabilità <https://lg-modellointeroperabilita.readthedocs.io/it/latest/>`__.
sullinteroperabilità <https://docs.italia.it/italia/piano-triennale-ict/lg-modellointeroperabilita-docs>`__.
Riferimento normativo: `Art. 73 del
CAD <http://cad.readthedocs.io/it/v2017-12-13/_rst/capo8_art73.html>`__.
CAD <https://docs.italia.it/italia/piano-triennale-ict/codice-amministrazione-digitale-docs/it/v2017-12-13/_rst/capo8_art73.html>`__.
Chiave ``conforme/sicuro``
~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''
- Tipo: booleano
- Presenza: opzionale
@ -42,7 +54,7 @@ minime di sicurezza ICT per le Pubbliche
amministrazioni <http://www.agid.gov.it/sites/default/files/documentazione/misure_minime_di_sicurezza_v.1.0.pdf>`__.
Chiave ``conforme/privacy``
~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''
- Tipo: booleano
- Presenza: opzionale
@ -87,29 +99,6 @@ Chiave ``pagopa``
Se presente e impostato a ``yes``, il software si interfaccia con
PagoPA.
Sezione ``riuso``
-----------------
Questa sezione contiene una serie di chiavi legate alla pubblicazione
del software sul “`Catalogo del Riuso <https://developers.italia.it>`__
Chiave ``riuso/codiceIPA``
~~~~~~~~~~~~~~~~~~~~~~~~~~
- Tipo: stringa (codice IPA)
- Presenza: obbligatoria se ``repoOwner`` è una Pubblica
Amministrazione
- Esempio: ``c_h501``
Questa chiave rappresenta il codice dellamministrazione allinterno
dellIndice delle Pubbliche Amministrazioni (codice IPA).
Il parser applicherà il corretto prefisso al valore dato a questa chiave
per creare unURI identificativa, una volta che questo sarà definito.
LURI sarà riconducibile a http://w3id.org/italia/data secondo la
politica degli URI adottata in ambito
`DAF <https://developers.italia.it/it/daf>`__.
Chiave ``ecosistemi``
~~~~~~~~~~~~~~~~~~~~~
@ -135,21 +124,38 @@ Lelenco degli ecosistemi possibili è il seguente:
- agricoltura
- italia-europa-mondo
Sezione ``riuso``
~~~~~~~~~~~~~~~~~
Questa sezione contiene una serie di chiavi legate alla pubblicazione
del software sul “`Catalogo del Riuso <https://developers.italia.it>`__”.
Chiave ``riuso/codiceIPA``
''''''''''''''''''''''''''
- Tipo: stringa (codice IPA)
- Presenza: obbligatoria se ``repoOwner`` è una Pubblica
Amministrazione
- Esempio: ``c_h501``
Questa chiave rappresenta il codice dellamministrazione allinterno
dellIndice delle Pubbliche Amministrazioni (codice IPA).
Sezione ``designKit``
---------------------
~~~~~~~~~~~~~~~~~~~~~
Chiave ``designKit/seo``
~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''
- Tipo: booleano
- Presenza: opzionale
Se presente e impostato a ``yes``, il software ha utilizzato, in fase di
progettazione, il kit di SEO di `Designers
Italia <https://designers.italia.it>`__.
Italia <https://docs.italia.it/italia/piano-triennale-ict/pianotriennale-ict-doc/it/stabile/doc/06_ecosistemi.html>`__.
Chiave ``designKit/ui``
~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''
- Tipo: booleano
- Presenza: opzionale
@ -159,7 +165,7 @@ progettazione, il kit UI di `Designers
Italia <https://designers.italia.it>`__.
Chiave ``designKit/web``
~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''
- Tipo: booleano
- Presenza: opzionale
@ -168,7 +174,7 @@ Se presente e impostato a ``yes``, il software utilizza il kit per lo
sviluppo web di `Designers Italia <https://designers.italia.it>`__.
Chiave ``designKit/content``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''
- Tipo: booleano
- Presenza: opzionale

View File

@ -1,52 +1,18 @@
``publiccode.yml`` standard
Lo standard
===========================
Questo documento contiene una descrizione informale dello schema di
``publiccode.yml``.
La struttura di un file ``publiccode.yml`` prevede l'esistenza di chiavi
top-level e sezioni che possono contenere al proprio interno altre chiavi.
Lo standard ha rilevanza internazionale ma è possibile dichiarare una sezione
dedicata per le chiavi relative ad un Paese specifico (si veda
:ref:`estensioni-paese` per maggiori dettagli).
Versione: development
Estensioni Top-Level
--------------------
Struttura
---------
Estensioni Specifiche per Paese
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mentre lo standard è strutturato per essere significativo a livello
internazionale, vi sono informazioni addizionali che possono essere
aggiunte a livello nazionale, come ad esempio una dichiarazione di
compatibilità con una legge locale. Il meccanismo di estensione fornito
prevede lutilizzo di sezioni specifiche per ogni Paese
(*country-specific*).
Tutte le sezioni specifiche per ogni Paese sono contenute in una sezione
denominata con l\ `ISO 3166-1 alpha-2 country
code <https://it.wikipedia.org/wiki/ISO_3166-1_alpha-2>`__. Ad esempio,
``spid`` è una proprietà definita per i software italiani per la
dichiarazione delleventuale compatibilità con il Sistema Pubblico di
Identità Digitale.
Dunque, se un software è compatibile, troveremo:
::
it:
spid: yes
Nota bene che le chiavi *country-specific* **non** sono valide
allinterno delle sezioni internazionali. I Paesi che vogliano estendere
il formato dovrebbero aggiungere una sezione dedicata.
La documentazione per queste estensioni *country-specific* è mantenuta
in file separati.
- Italia: `Estensioni Italiane <schema.it.md>`__
Sezioni Top-Level
-----------------
Chiave ``publiccodeYmlVersion``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Tipo: stringa
- Presenza: obbligatoria
@ -94,12 +60,12 @@ lautenticazione.
I fork creati con lo scopo di contribuire *upstream* non devono
modificare questo file; questo aiuta i software che fanno il parsing di
``publiccode.yml`` a saltare immediatamente i `fork
tecnici <forks.md>`__. Al contrario, un fork completo che sarà mantenuto
``publiccode.yml`` a saltare immediatamente i fork tecnici. Al
contrario, un fork completo che sarà mantenuto
in modo separato rispetto al software originale, dovrebbe modificare
questa linea per essere trattato come una variante distinta.
Vedi `Fork e Varianti <forks.md>`__ per una descrizione completa del
Vedi :ref:`fork-varianti` per una descrizione completa del
significato di variante software e di come gestire i fork sia lato
parser che lato autore.
@ -131,8 +97,8 @@ Nel caso in cui questo software sia una variante o un fork di un altro
software, che opzionalmente può contenere un file ``publiccode.yml``,
questa chiave conterrà la ``url`` di uno o più progetti originali.
Lesistenza di questa chiave identifica il fork come una `variante
software <forks.md>`__, discendente dal repository specificato.
Lesistenza di questa chiave identifica il fork come una variante (vedi
:ref:`fork-varianti`), discendente dal repository specificato.
Chiave ``softwareVersion``
~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -241,7 +207,7 @@ Chiave ``tags``
- Tipo: array di stringhe
- Presenza: obbligatoria
- Valori accettabili: vedi `Lista dei tag accettati <tags.md>`__
- Valori accettabili: vedi :ref:`lista-tags`
Una lista di parole che possono essere usate per descrivere il software
e possono aiutare a costruire il catalogo di software open.
@ -276,59 +242,66 @@ Chiave ``roadmap``
Un link ad una *roadmap* pubblica del software.
Chiave ``developmentStatus``
----------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Tipo: stringa
- Presenza: obbligatoria
- Valori permessi: ``concept``, ``development``, ``beta``, ``stable``,
``obsolete``
Le chiavi sono: \* ``concept`` - Il software è solo un “concept”. Non è
stato sviluppato codice e il repository potrebbe semplicemente essere un
placeholder. \* ``development`` - Qualche sforzo è stato fatto in
direzione dello sviluppo del software ma il codice non è pronto per
lutenza finale, nemmeno in una versione preliminare (beta o alpha) per
essere testato dallutenza. \* ``beta`` - Il software è in fase di
testing (alpha o beta). In questo stage, il software potrebbe aver o non
aver ancora avuto una release pubblica preliminare. \* ``stable`` - Il
software ha già avuto una prima release pubblica ed è pronto per essere
usato in un contesto di produzione. \* ``obsolete`` - Il software non è
più mantenuto o aggiornato. Tutto il codice sorgente è archiviato e
tenuto per ragioni di storico.
Le chiavi sono:
- ``concept`` - Il software è solo un “concept”. Non è
stato sviluppato codice e il repository potrebbe semplicemente essere un
placeholder.
- ``development`` - Qualche sforzo è stato fatto in
direzione dello sviluppo del software ma il codice non è pronto per
lutenza finale, nemmeno in una versione preliminare (beta o alpha) per
essere testato dallutenza.
- ``beta`` - Il software è in fase di
testing (alpha o beta). In questo stage, il software potrebbe aver o non
aver ancora avuto una release pubblica preliminare.
- ``stable`` - Il software ha già avuto una prima release pubblica ed è pronto
per essere usato in un contesto di produzione.
- ``obsolete`` - Il software non è più mantenuto o aggiornato. Tutto il codice
sorgente è archiviato e tenuto per ragioni di storico.
Chiave ``softwareType``
-----------------------
~~~~~~~~~~~~~~~~~~~~~~~
- Tipo: stringa
- Presenza: obbligatoria
- Valori permessi: ``standalone``, ``addon``, ``library``,
``configurationFiles``
Le chiavi sono: \* ``standalone`` - Il software è un pacchetto
*self-contained*, *standalone*. La maggior parte del software sarà di
questo tipo. Pare di questa categoria di software potrà essere eseguita
su un computer desktop (e.g., un eseguibile), come unapplicazione
*cloud-based*, come un servizio di rete o anche come un set di servizi
cloud o microservizi. \* ``softwareAddon`` - Il software è un *addon*,
come ad esempio un plugin o un tema, per un software più complesso
(e.g., un CMS o una suite per ufficio). \* ``library`` - Il software
contiene una libreria o una SDK che permette uno sviluppo più semplice
per sviluppatori di terze parti per la creazione di nuovi prodotti. \*
``configurationFiles`` - Il software non contiene script eseguibili ma
una serie di file di configurazione. Questi potrebbero documentare come
ottenere un certo tipo di *deployment*. Potrebbero avere la forma di
semplici file di configurazione, script bash, playbook ansible,
Dockerfile, o altri set di istruzioni.
Le chiavi sono:
- ``standalone`` - Il software è un pacchetto *self-contained*, *standalone*.
La maggior parte del software sarà di questo tipo. Pare di questa categoria
di software potrà essere eseguita
su un computer desktop (e.g., un eseguibile), come unapplicazione
*cloud-based*, come un servizio di rete o anche come un set di servizi
cloud o microservizi.
- ``softwareAddon`` - Il software è un *addon*,
come ad esempio un plugin o un tema, per un software più complesso
(e.g., un CMS o una suite per ufficio).
- ``library`` - Il software
contiene una libreria o una SDK che permette uno sviluppo più semplice
per sviluppatori di terze parti per la creazione di nuovi prodotti.
- ``configurationFiles`` - Il software non contiene script eseguibili ma
una serie di file di configurazione. Questi potrebbero documentare come
ottenere un certo tipo di *deployment*. Potrebbero avere la forma di
semplici file di configurazione, script bash, playbook ansible,
Dockerfile, o altri set di istruzioni.
Sezione ``intendedAudience``
----------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Chiave ``intendedAudience/onlyFor``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''
- Tipo: stringa numerata o array di stringhe
- Presenza: opzionale
- Valori: vedi `pa-types.md <pa-types.md>`__
- Valori: vedi :ref:`pa-types`
- Esempio: ``"city"``
Il software pubblico potrebbe avere una portata molto specifica perché
@ -338,14 +311,14 @@ probabilmente non sono utili allinterno degli ospedali. Se si volesse
indicare che un software è unicamente utile in qualche tipo di
amministrazione, bisognerebbe aggiungerle a questa lista.
La lista di valori permessi è definita in `pa-types.md <pa-types.md>`__,
La lista di valori permessi è definita in :ref:`pa-types`,
e può essere specifica per ogni Paese (country-specific).
La lista può evolvere in ogni momento, separatamente dalla versione di
queste specifiche.
Chiave ``intendedAudience/countries``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''''
- Tipo: array di stringhe
- Presenza: opzionale
@ -357,7 +330,7 @@ usando *country code* a due lettere seguendo lo standard ISO 3166-1
alpha-2.
Chiave ``intendedAudience/unsupportedCountries``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''''''''''''''
- Tipo: array di stringhe
- Presenza: opzionale
@ -370,13 +343,13 @@ usando *country code* a due lettere seguendo lo standard ISO 3166-1
alpha-2.
Sezione ``description``
-----------------------
~~~~~~~~~~~~~~~~~~~~~~~
Questa sezione contiene una descrizione generale del software. I parser
possono usare questa sezione ad esempio per creare una pagina web che
descriva il software.
**Nota bene** Siccome tutte le stringhe contenute in questa sezione sono
**Nota bene:** siccome tutte le stringhe contenute in questa sezione sono
visibili allutente e scritte in un linguaggio specifico, è
**necessario** specificare il linguaggio con il quale si sta modificando
il testo (usando i codici `ISO
@ -396,11 +369,11 @@ Nel parti successive del documento, tutte le chiavi sono assunte essere
allinterno di una sezione con il nome della lingua (annoteremo questo
con ``[lang]``).
**Nota bene** E obbligatorio avere *almeno* una lingua in questa
**Nota bene:** è obbligatorio avere *almeno* una lingua in questa
sezione. Tutte le altre lingue sono opzionali.
Chiave ``description/[lang]/localisedName``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''''''''''
- Tipo: stringa
- Presenza: opzionale
@ -414,7 +387,7 @@ sia un nome “interno” che uno commerciale, è preferibile utilizzare
quello commerciale.
Chiave ``description/[lang]/genericName``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''''''''
- Tipo: stringa (max 35 caratteri)
- Presenza: obbligatoria
@ -429,7 +402,7 @@ nota includono “Editor di Testi”, “Word Processor”, “Web Browser”,
caratteri.
Chiave ``description/[lang]/shortDescription``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''''''''''''
- Tipo: stringa (max 150 caratteri)
- Presenza: obbligatoria
@ -440,7 +413,7 @@ essere una singola linea contenente una singola frase. Lestensione
massima consentita è di 150 caratteri.
Chiave ``description/[lang]/longDescription``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''''''''''''
- Tipo: stringa (min 500 caratteri, max 10000 caratteri)
- Presenza: obbligatoria (almeno per una lingua)
@ -457,7 +430,7 @@ Questa descrizione può contenere del Markdown base: ``*italic*``,
``**bold**``, elenchi puntati e ``[link](#)``.
Chiave ``description/[lang]/documentation``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''''''''''
- Tipo: URL
- Presenza: opzionale
@ -486,7 +459,7 @@ aperta, possibilmente effettuandone un commit allinterno del repository
stesso.
Chiave ``description/[lang]/apiDocumentation``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''''''''''''
- Tipo: URL
- Presenza: opzionale
@ -516,7 +489,7 @@ rilasciarne i sorgenti coperti da licenza aperta, possibilmente
effettuandone un commit allinterno del repository stesso.
Chiave ``description/[lang]/freeTags/``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''''''
- Tipo: array di stringhe
- Presenza: opzionale
@ -533,7 +506,7 @@ contenere alcun carattere Unicode di spazio. Il carattere suggerito per
separare parole multiple è ``-`` (trattino singolo).
Chiave ``description/[lang]/features``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''''
- Tipo: array di stringhe
- Presenza: obbligatoria (almeno per una lingua)
@ -555,7 +528,7 @@ una lista esaustiva, dal momento che gli utenti hanno sempre a
disposizione la documentazione per reperire ulteriori informazioni.
Chiave ``description/[lang]/screenshots``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''''''''
- Tipo: array di stringhe (percorsi)
- Presenza: opzionale
@ -574,7 +547,7 @@ formati suggeriti sono:
- Mobile: 375x667 @2x
Chiave ``description/[lang]/videos``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''
- Tipo: array di stringhe (URL)
- Presenza: opzionale
@ -586,12 +559,12 @@ essere usati per dare una rapida panoramica sullaspetto e le
funzionalità del software. I video devono essere ospitati su una
piattaforma di video sharing che supporti lo standard
`oEmbed <https://oembed.com>`__; le opzioni più popolari sono YouTube e
Vimeo. **Nota bene** Dal momento che costituisce parte integrante della
Vimeo. **Nota bene:** dal momento che costituisce parte integrante della
documentazione, è opportuno che il video sia pubblicato con una licenza
aperta.
Chiave ``description/[lang]/awards``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''''
- Tipo: array di stringhe
- Presenza: opzionale
@ -599,10 +572,10 @@ Chiave ``description/[lang]/awards``
Una lista di premi assegnati al software.
Sezione ``legal``
-----------------
~~~~~~~~~~~~~~~~~
Chiave ``legal/license``
~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''
- Tipo: stringa
- Presenza: obbligatoria
@ -615,7 +588,7 @@ riguardo è possibile visitare la `documentazione
SPDX <https://spdx.org/licenses/>`__.
Chiave ``legal/mainCopyrightOwner``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''''''
- Tipo: stringa
- Presenza: opzionale
@ -637,7 +610,7 @@ repository ha un file contenente il nome degli autori, è possibile
puntare a quel file attraverso ``legal/authorsFile`` (vedi più sotto).
Chiave ``legal/repoOwner``
~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''
- Tipo: stringa
- Presenza: opzionale
@ -649,7 +622,7 @@ stesso. Ad esempio, nel caso di un fork del software originale, il
``repoOwner`` è probabilmente diverso dal ``mainCopyrightOwner``.
Chiave ``legal/authorsFile``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''
- Tipo: stringa (percorso al file)
- Presenza: opzionale
@ -664,29 +637,31 @@ questa chiave può essere usata per riferirsi al suddetto file degli
autori, usando un percorso relativo alla radice (root) del repository.
Sezione ``maintenance``
-----------------------
~~~~~~~~~~~~~~~~~~~~~~~
Questa sezione fornisce informazioni sullo stato di manutenzione del
software, utile per valutare se il software è attivamente sviluppato o
meno.
Chiave ``maintenance/type``
~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''
- Tipo: enumerate
- Presenza: obbligatoria
- Valori: ``"internal"``, ``"contract"``, ``"community"``, ``"none"``
Questa chiave descrive come il software è attualmente manutenuto. \*
``"internal"`` significa che il software è manutenuto internamente dal
proprietario del repository; \* ``"contract"`` significa che cè un
contratto commerciale che lega unentità alla manutenzione del software;
\* ``"community"`` significa che il software è attualmente manutenuto da
una o più persone che offrono il loro tempo al progetto; \* ``"none"``
significa che il software non è al momento manutenuto.
Questa chiave descrive come il software è attualmente manutenuto.
- ``"internal"`` - significa che il software è manutenuto internamente dal
proprietario del repository;
- ``"contract"`` - significa che cè un contratto commerciale che lega unentità
alla manutenzione del software;
- ``"community"`` - significa che il software è attualmente manutenuto da
una o più persone che offrono il loro tempo al progetto;
- ``"none"`` - significa che il software non è al momento manutenuto.
Chiave ``maintenance/contractors``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''''
- Tipo: array di Contractor (vedi sotto)
- Presenza: obbligatoria (se ``maintainance/type`` è ``contract``)
@ -696,10 +671,10 @@ attualmente hanno un contratto di manutenzione del software. Queste
possono essere aziende, organizzazioni o altri nomi collettivi.
Chiave ``maintenance/contacts``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''''
- Tipo: Lista di Contatti (vedi sotto)
- Presenza: obbligatoria
- Presenza: obbligatoria (se e solo se ``maintainance/type`` **non è** ``contract``)
Uno o più contatti di chi sta mantenendo il software.
@ -716,13 +691,13 @@ meno che sia tecnicamente coinvolto anche nella manutenzione del
prodotto.
Sezione ``localisation``
------------------------
~~~~~~~~~~~~~~~~~~~~~~~~
Questa sezione fornisce una panoramica sulle funzionalità di
localizzazione del software.
Chiave ``localisation/localisationReady``
-----------------------------------------
'''''''''''''''''''''''''''''''''''''''''
- Tipo: booleano
- Presenza: obbligatoria
@ -731,10 +706,10 @@ Se ``yes``, il software ha linfrastruttura o è stato progettato per
essere multi-lingua. Ad ogni modo, questo campo non pregiudica
lesistenza di una traduzione in altre lingue ma si riferisce
esclusivamente allaspetto tecnologico. Per lelenco delle lingue
disponibili si veda la chiave ``localisation\availableLanguages``.
disponibili si veda la chiave ``localisation/availableLanguages``.
Chiave ``localisation/availableLanguages``
------------------------------------------
''''''''''''''''''''''''''''''''''''''''''
- Tipo: lista di codici `ISO
639-2 <https://en.wikipedia.org/wiki/ISO_639-2>`__ alpha-3
@ -756,7 +731,7 @@ separatamente. Ad esempio, un database è un buon esempio di questo tipo
di dipendenza.
Chiave ``dependsOn/open``
~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''
- Tipo: array di ``dependency`` (vedi sotto)
- Presenza: opzionale
@ -765,7 +740,7 @@ Questa chiave contiene una lista di dipendenze a runtime che sono
distribuite con una licenza di tipo open-source.
Chiave ``dependsOn/proprietary``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
''''''''''''''''''''''''''''''''
- Tipo: array di ``dependency`` (vedi sotto)
- Presenza: opzionale
@ -774,10 +749,50 @@ Questa chiave contiene una lista di dipendenze a runtime che sono
distribuite con una licenza proprietaria.
Chiave ``dependsOn/hardware``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'''''''''''''''''''''''''''''
- Tipo: array di ``dependency`` (vedi sotto)
This key contains a list of hardware dependencies that must be owned to use the
software.
.. _`estensioni-paese`:
Estensioni Specifiche per Paese
-------------------------------
Mentre lo standard è strutturato per essere significativo a livello
internazionale, vi sono informazioni addizionali che possono essere
aggiunte a livello nazionale, come ad esempio una dichiarazione di
compatibilità con una legge locale. Il meccanismo di estensione fornito
prevede lutilizzo di sezioni specifiche per ogni Paese
(*country-specific*).
Tutte le sezioni specifiche per ogni Paese sono contenute in una sezione
denominata con l\ `ISO 3166-1 alpha-2 country
code <https://it.wikipedia.org/wiki/ISO_3166-1_alpha-2>`__. Ad esempio,
``spid`` è una proprietà definita per i software italiani per la
dichiarazione delleventuale compatibilità con il Sistema Pubblico di
Identità Digitale.
Dunque, se un software è compatibile, troveremo:
::
it:
spid: yes
Nota bene che le chiavi *country-specific* **non** sono valide
allinterno delle sezioni internazionali. I Paesi che vogliano estendere
il formato dovrebbero aggiungere una sezione dedicata.
La documentazione per queste estensioni *country-specific* è mantenuta
in file separati.
- Italia: :ref:`estensioni-italiane`.
Formati di dato speciali
------------------------
@ -804,7 +819,7 @@ matrice di compatibilità complessa.
*Ex. 1*
.. code:: .yaml
.. code:: yaml
- name: PostgreSQL
version: 3.2
@ -815,7 +830,7 @@ nellesattezza la sua versione 3.2.
*Ex. 2*
.. code:: .yaml
.. code:: yaml
- name: MySQL
versionMin: 1.1