logo

Extra Block Types (EBT) - Nuova esperienza con Layout Builder❗

Extra Block Types (EBT) - tipi di blocchi stilizzati e personalizzabili: Slideshows, Tabs, Cards, Accordion e molti altri. Impostazioni integrate per sfondo, DOM Box, plugin javascript. Vivi oggi il futuro della costruzione dei layout.

Demo moduli EBT Scarica moduli EBT

❗Extra Paragraph Types (EPT) - Nuova esperienza con Paragraphs

Extra Paragraph Types (EPT) - insieme di moduli basati su paragrafi in modo analogo.

Demo moduli EPT Scarica moduli EPT

Scorri
04/09/2025, by Ivan

Il modulo JSON:API espone le revisioni delle entità come versioni delle risorse, in un modo ispirato all’RFC5829: Link Relation Types for Simple Version Navigation between Web Resources.

Limitazioni attuali:

Il supporto alle revisioni non è parte ufficiale della specifica JSON:API. Tuttavia, sono in fase di sviluppo diversi "profili" (anch’essi non ufficialmente parte della specifica, ma già inseriti in JSON:API v1.1) per standardizzare qualsiasi comportamento personalizzato che il modulo JSON:API ha sviluppato (tutti comunque conformi alla specifica).

In questo modo, il modulo JSON:API dovrebbe essere il più compatibile possibile con altri sistemi e minimizzare i "Drupalisms" che uno sviluppatore che lavora con un’implementazione JSON:API deve conoscere.

Una "versione" nel modulo JSON:API è qualsiasi revisione che sia stata precedentemente, o sia attualmente, una revisione predefinita. Non tutte le revisioni sono considerate una "versione". Le revisioni non contrassegnate come "predefinite" sono considerate "bozze di lavoro" poiché di solito non sono pubblicamente disponibili e sono le revisioni su cui viene applicato la maggior parte del nuovo lavoro.

Quando il modulo Content Moderation è installato, è possibile che la revisione predefinita più recente non sia l’ultima revisione.

Richiedere una versione di risorsa si fa tramite un parametro di query nell’URL. Ha la seguente forma:

            version-identifier
                  __|__
                 /     \
?resourceVersion=foo:bar
                 \_/ \_/
                  |   |
  version-negotiator  |
              version-argument

Un identificatore di versione è una stringa con informazioni sufficienti per caricare una particolare revisione. Il componente version-negotiator nomina il meccanismo di negoziazione per caricare una revisione. Attualmente può essere id o rel. Il negoziatore id richiede come argomento l’id della revisione desiderata. Il negoziatore rel richiede come argomento la stringa latest-version o la stringa working-copy.

In futuro, potrebbero essere sviluppati altri negoziatori. Per esempio, un negoziatore basato su timestamp o workspace.

Per illustrare come viene richiesta una particolare revisione di un’entità, immagina un nodo che ha una revisione "Pubblicata" e una successiva revisione "Bozza".

Usando JSON:API, si potrebbe richiedere il nodo "Pubblicato" richiedendo /jsonapi/node/page/{{uuid}}?resourceVersion=rel:latest-version.

Per visualizzare in anteprima un’entità ancora in lavorazione (cioè la revisione "Bozza") si potrebbe richiedere /jsonapi/node/page/{{uuid}}?resourceVersion=rel:working-copy.

Per richiedere uno specifico id di revisione, si può fare la richiesta /jsonapi/node/page/{{uuid}}?resourceVersion=id:{{revision_id}}.

Non è ancora possibile richiedere una collezione di revisioni. Questa funzionalità è ancora in fase di sviluppo nel ticket #3009588: Fornire una risorsa di collezione in cui è possibile ottenere una cronologia delle versioni (`version-history`, `predecessor-version` e `successor-version` link relations).

Articolo da Documentazione di Drupal.