Skip to main content

Abbiamo ancora bisogno di jQuery o dovremmo attenerci allo script?

Quando jQuery è emerso nel 2006 è stato uno dei pochi framework che ha permesso agli sviluppatori di scrivere Javascript più velocemente utilizzando la scorciatoia per le funzioni e consentendo il daisychaining per ridurre la ripetizione.

Avevo usato scriptaculous (costruito su Prototype) su progetti web in precedenza e aveva partecipato a conferenze tra cui @media Ajax 2007 dove ho incontrato persone come Brendan Eich che aveva creato EcmaScript / Javascript su Netscape e John Resig che aveva creato jQuery nel 2006, un rivale di script.aculo.us di Thomas Fuchs che "... ti fornisce librerie JavaScript di interfaccia utente cross-browser di facile utilizzo per far volare i tuoi siti web e le tue applicazioni web". Il Web 2.0 è nato in questo periodo e la semplice funzionalità Ajax era uno dei suoi componenti chiave, che jQuery e Prototype hanno abilitato.

Al suo apice, jQuery è stato utilizzato sull'80% dei primi 1 milione di siti web (https://en.wikipedia.org/wiki/JQuery#cite_note-:1-19) ed è arrivato in bundle con CMS comuni, tra cui Joomla (dopo che si è allontanato da MooTools nella versione 4)

Fino a poco tempo fa, jQuery era stato il componente onnipresente in molti progetti, ma ho iniziato a incontrare sviluppatori più giovani che avrebbero urlato su Angular.js o Vue o React, a seconda di quale sembrava essere il quadro vivace hyped quella settimana. Non fraintendetemi, capisco come questi quadri/biblioteche possano giovare ai progetti in quanto trascorro ore libere a scavare a React Native come mezzo per creare app mobili.

È stato solo questa settimana che ho dovuto ricostruire un sito web che aveva trovato la sua strada sulla Wayback Machine senza un backup. Indossando il cappello del mio reverse-engineer mi sono rapidamente messo al lavoro per capire come lo sviluppatore originale avesse svolto determinati compiti. Ho passato un po' di tempo al CSS e ho maledetto l'archivio per non avermi permesso di entrare in ogni pezzo di script usato per far funzionare il frontend.

E ho scelto di utilizzare jQuery per far funzionare rapidamente il sito, con i suoi menu animati e le dissolvenze dell'immagine dell'effetto Burns. L'ho fatto perché per me stavo entrando nella testa dello sviluppatore che aveva iniziato il progetto. Ma nella parte posteriore della mia mente mi sentivo un po 'in colpa per aver pigramente saltato dentro e usato una libreria di codice che, indipendentemente dal fatto che io usi una funzione, o 3 dozzine, devo caricare tutta la libreria principale.

Solo per quel progetto jQuery viene precaricato, quindi perché il senso di colpa? Bene, se uso Javascript grezzo è già nel browser, come l'HTML, e sto solo dicendo al browser come lavorare con il mio sito web. Quindi perché devo caricare jQuery per eseguire l'attività per me, potenzialmente gonfiando il mio sito (anche di un po ') e influenzando il punteggio di pagespeed tutto importante? Una delle ragioni è la sua eredità. Molti plugin ed estensioni utilizzeranno non solo jQuery ma Bootstrap come base per layout e styling.

Per cosa usiamo JavaScript?

  • Ajax: richiamare i dati in una pagina senza doverli ricaricare
  • Interazioni: manipolare il DOM per mostrare / nascondere elementi
  • Animazioni

La performance è una delle chiavi

È per questo che gli sviluppatori si stanno allontanando da jQuery? Pagespeed / Prestazioni?

Ho iniziato pensando che questa fosse una domanda facilmente risolvibile su come le librerie e i framework dovrebbero essere sostituiti con JavaScript puro. Da un lato le librerie aiutano a semplificare il processo di sviluppo e vogliono assicurarsi della compatibilità tra browser / piattaforma.

Ma JavaScript è maturato nel tempo e uno dei motivi per l'utilizzo di jQuery è stato il modo non standard in cui si sono comportati alcuni browser web. Ti ricordi di dover fare controlli extra o eccezioni per Internet Explorer?

Sostituiamo jQuery nei nostri progetti?

Prima di saltare e rimuovere jQuery su tutta la linea, pensa a cosa fa per te.

Un fattore importante potrebbe essere quello che il progetto è.

Quindi considera quanto lavoro extra creerebbe per codificare ciò di cui hai bisogno in Javascript. Quest'ultima domanda mi interessa di più perché ho usato React Native per un po' di tempo e ho imparato che il modo in cui stavo scrivendo Javascript era un po' antiquato. Dai un'occhiata a come Potresti non aver bisogno di JQuery elenca le funzionalità e confronta l'utilizzo di jQuery con senza. In alcuni casi utilizzando il Versione ES6 è più breve e più veloce di jQuery.

Interessante anche il fatto che in alcuni casi jQuery non compare nemmeno in una lista di quadri attuali.

Conclusione, per ora

Nell'ampio schema delle cose, se una biblioteca è disponibile per l'uso, perché non farne uso? In Joomla, jQuery è disponibile ma non caricato per impostazione predefinita. Quindi dovresti chiamarlo nel tuo modulo, modello, ecc.

HTMLHelper::_('jquery.framework');

Dipende anche a cosa è destinato il tuo progetto. Dovremmo tutti essere consapevoli della velocità, specialmente per il sito di e-commerce, e di questioni più grandi come quanta energia è necessaria per far funzionare il nostro sito web. Opzioni più ecologiche potrebbero esaminare le prestazioni del sito Web per ridurre la sua impronta di carbonio, ad esempio.

La tecnologia cambia nel tempo, quindi è una buona idea tenere il passo con ciò che sta succedendo nel mondo dello scripting, poiché i comandi che usi sempre possono ancora funzionare, ma potrebbero esserci opzioni migliori là fuori.

Alcuni articoli pubblicati sul Joomla Community Magazine rappresentano l'opinione personale o l'esperienza dell'Autore sul tema specifico e potrebbero non essere allineati alla posizione ufficiale del Progetto Joomla

Do we still need jQuery or should we stick to the script?

When jQuery emerged in 2006 it was one of only a few frameworks that enabled developers to write Javascript faster using shorthand for functions and enabling daisychaining to reduce repetition.

I had used scriptaculous (built on Prototype) on web projects previously and had attended conferences including @media Ajax 2007 where I encountered people like Brendan Eich who had created EcmaScript / Javascript at Netscape and John Resig who had created jQuery in 2006, a rival to Thomas Fuchs' script.aculo.us that “... provides you with easy-to-use, cross-browser user interface JavaScript libraries to make your web sites and web applications fly”. Web 2.0 was born around this time and simple Ajax functionality was one of its key components, which jQuery and Prototype enabled.

At its peak, jQuery was used on 80% of the top 1 million websites (https://en.wikipedia.org/wiki/JQuery#cite_note-:1-19) and came bundled in with common CMS’s, including Joomla (after it moved away from MooTools in version 4)

Until recently, jQuery had been the ubiquitous component in many projects but I began to encounter younger developers who would be shouting about Angular.js or Vue or React, whichever seemed to be the buzzy hyped framework that week. Don’t get me wrong, I understand how these frameworks / libraries can benefit projects as I spend spare hours noodling away at React Native as a means of creating mobile apps.

It was only just this week that I had to rebuild a website that had found its way onto the Wayback Machine without a backup. Putting on my reverse-engineer’s hat I quickly got down to the task of working out how the original developer had gone about certain tasks. I tutted a little at the CSS and cursed the archive for not letting me get into every bit of script used to make the frontend work.

And I opted to use jQuery to quickly get the site working, with its animated menus and Burns effect image fades. I did it because to me I was getting into the head of the developer who'd started the project. But in the back of my mind I was feeling a little guilty for lazily leaping in and using a library of code that, regardless of whether I use one function, or 3 dozen, I have to load all of the core library.

Only for that project jQuery comes preloaded, so why the guilty feeling? Well, if I use raw Javascript it’s already in the browser, like HTML, and I’m just telling the browser how to work with my website. So why do I need to load jQuery to do the task for me, potentially bloating my site (even by a small bit) and affecting the all important pagespeed score? Some of the reason is its legacy. Many plugins and extensions will use not only jQuery but Bootstrap as the foundation for layouts and styling.

What do we use JavaScript for?

  • Ajax: calling data into a page without having to reload it
  • Interactions: manipulating the DOM for showing / hiding elements
  • Animations

Performance is one of the keys

Is that why developers are moving away from jQuery? Pagespeed / Performance?

I started out thinking this was an easily answered question about how libraries and frameworks should be replaced with pure JavaScript. On the one hand libraries help to simplify the process of development and want to make sure of cross browser / platform compatibility.

But JavaScript has matured over time and one of the reasons for using jQuery was the non-standard way some web browsers behaved. Do you remember having to make extra checks or exceptions for Internet Explorer?

Do we replace jQuery in our projects?

Before jumping in and removing jQuery across the board, think about what it does for you.

An important factor could be what the project is.

Then consider how much extra work it would create to code what you need in Javascript. This last question interests me most as having used React Native for some time I’ve learnt that the way I was writing Javascript was a little antiquated. Take a look at how You Might Not Need JQuery lists out functionality and compares using jQuery to without. In some cases using the ES6 version is shorter and quicker than jQuery.

Interesting also that in some cases jQuery doesn't even feature in a list of current frameworks.

Conclusion, for now

In the broad scheme of things, if a library is available to use then why not make use of it? In Joomla, jQuery is available but not loaded by default. So you would need to call it in your module, template, etc using:

​​HTMLHelper::_('jquery.framework');

It also depends on what your project is intended for. We should all be mindful of speed, especially for e-commerce site, and bigger issues such as how much energy is required to make our website work. Greener options might look at the performance of the website to reduce its carbon footprint, for example.

Technology changes over time, so it’s a good idea to keep up with what’s going on in the scripting world, as the commands you always use may still work, but there may be better options out there.

Some articles published on the Joomla Community Magazine represent the personal opinion or experience of the Author on the specific topic and might not be aligned to the official position of the Joomla Project

Fai di più con la dashboard di Joomla

Come web designer o sviluppatore, lavori duramente ogni giorno per creare siti web belli ed efficienti. Ma che dire della Joomla Dashboard? I tuoi clienti ti dicono che Joomla è troppo difficile, o stai ancora lottando con menu illogici, schede inutili e una pila di informazioni che non usi mai? Buone notizie: puoi personalizzare completamente il pannello di amministrazione in base alle tue esigenze! Niente più frustrazioni - solo un backend che funziona per te.

In questo articolo, scoprirai come rendere la dashboard di Joomla più efficiente e organizzata, in modo da avere più tempo per ciò che conta davvero, rendendo la gestione del sito Web piacevole sia per te che per i tuoi clienti.

1. Personalizza il modello di backend Atum

Il modello di backend Joomla predefinito, Atum, offre varie opzioni di personalizzazione. Attraverso Sistema > Stili di modello dell'amministratore, è possibile:

  • Regola i colori: Abbinali al tuo cliente o al tuo marchio. È utile anche per distinguere gli ambienti di sviluppo dagli ambienti di produzione, in modo da vedere immediatamente se si sta lavorando nella scheda destra del browser.
  • Aggiungi loghi: È possibile impostare tre diversi loghi: nella schermata di login, sopra il menu e sopra il menu compresso.
  • CSS personalizzati: Aggiungere stili personalizzati tramite il file /media/templates/administrator/atum/css/user.css. Ad esempio, è possibile creare un design più compatto utilizzando questo pratico user.css, disponibile su GitHub.

Solo un altro esempio di backend CSS personalizzato:

dashboard 01 custom css exampleBackend con CSS personalizzato

Oppure scegli uno dei modelli di backend alternativi: Per coloro che desiderano qualcosa di diverso, sono disponibili vari modelli di backend pronti all'uso tramite TemplateJoomla.

2. Gestisci le autorizzazioni utente

Il pannello di amministrazione diventa più semplice quando gli utenti hanno meno opzioni. Concedi agli utenti solo le autorizzazioni di cui hanno veramente bisogno. Super utente, Amministratoree Gestore sono i gruppi predefiniti con diritti di amministratore (ma è possibile creare gruppi personalizzati, ovviamente).

Impostare le autorizzazioni di accesso in Joomla può essere complesso, ma l' Estensione PWT ACL lo rende facile. Con questo strumento, è possibile:

  • Affina l'accesso in un'unica panoramica.
  • Permessi di esportazione e importazione.
  • Ripristinare le autorizzazioni se qualcosa va storto.

3. Personalizza i menu di amministrazione

Un menu ben organizzato aumenta la produttività degli utenti. Joomla consente di personalizzare i menu di amministrazione tramite Menu > Gestione. Selezionare "Amministratore” nel menu a discesa in alto a sinistra. Crea un menu amministratore (puoi selezionare un preset per iniziare) e collega il modulo menu al giusto livello di accesso. Ora gli utenti vedono solo gli elementi del menu di cui hanno bisogno.

4. Disabilitare le estensioni core non utilizzate

Non tutte le estensioni standard di Joomla sono necessarie per ogni sito web. Annulla la pubblicazione di estensioni non utilizzate (non cancellarle).

Non tutti i siti web utilizzano estensioni come Privacy, Schema.org, Web Services, Banner, Newsfeeds, Contact o Smart Search. La loro disattivazione  rende la gestione più chiara e veloce.

dashboard 02 disable core extensions

Estensioni core disabilitate

5. Ridurre le schede nella gestione degli articoli

La gestione degli articoli può essere resa più semplice ed efficiente disabilitando le schede non necessarie. Questo può essere fatto tramite:

Contenuto > Articoli > Pulsante "Opzioni" > [TAB: Layout di modifica]

dashboard 03 edit layout

Layout di modifica - opzioni

La scheda predefinita "Immagini e collegamenti" contiene molti campi che spesso non sono necessari. Per piccole regolazioni, come l'aggiunta di una singola immagine, utilizzare campi personalizzati invece.

dashboard 04 images

Modifica dell'articolo - Scheda Immagini con campo personalizzato

6. Ci sono più dashboard

Più dashboard possono fornire uno spazio di lavoro mirato per diversi utenti:

  • Dashboard dei contenuti: Per gestori di contenuti con accesso diretto ad articoli e librerie multimediali.
  • Dashboard dell'utente: Per gli amministratori che si concentrano sulla gestione degli utenti.

dashboard 05 user dashboard

Dashboard dell'utente

Usa il Plugin di reindirizzamento rapido dell'amministratore reindirizzare automaticamente gli utenti alla dashboard pertinente dopo aver effettuato l'accesso all'amministratore.

In questo articolo troverai maggiori informazioni sui dashboard personalizzati: https://magazine.joomla.org/all-issues/february-2022/joomla-4-for-clients-part-2-creating-a-custom-admin-experience (Si tratta di Joomla 4, ma la funzionalità funziona allo stesso modo).

7. Aggiungi scorciatoie e icone

Una dashboard efficiente include scorciatoie utili. Con il modulo Core Quick Icons di Joomla è possibile aggiungere facilmente collegamenti a componenti principali quali articoli o moduli.

L' Estensione personalizzata Quick Icons offre funzionalità extra, tra cui link a:

  • Un singolo articolo o modulo
  • Una selezione di articoli (come "I miei articoli" o una categoria specifica)
  • Una voce di menu da qualsiasi componente di terze parti
  • Un link personalizzato
  • Pulsanti predefiniti per le grandi soluzioni di e-commerce Joomla.
  • Oltre 6.000 icone tra cui scegliere
  • Colori dell'icona personalizzati

dashboard 06 Custom Quick Icons

Modulo personalizzato Quick Icons

8. Usa note ed elenchi di cose da fare

Per una migliore organizzazione e collaborazione, utilizzare il modulo HTML personalizzato Core: aggiungere un semplice modulo note alla dashboard.

Per ulteriori funzionalità, come modifiche più semplici o download di note, è possibile utilizzare estensioni come: di Rick Spaan mod_notepad: Disponibile su GitHub o Joomill Note di amministrazione

Per gli elenchi di attività, è possibile utilizzare: di Brian Teeman Lista di attività, Disponibile su GitHub o Joomill's Lista di controllo dell'amministratore.

dashboard 07 admin checklist

Joomla Estensione della lista di controllo dell'amministratore

9. Utili estensioni extra

Una volta ripulito il cruscotto, avrai spazio per altre estensioni utili.

Alcuni esempi:

Errori di db8 404: Visualizza 404 errori e link direttamente al componente redirect.

Colori di db8: Mostra i colori usati con valori esadecimali — ottimo come guida di stile.

db8 Backend Content Immagini: Visualizza le immagini nella categoria di backend e negli elenchi degli articoli.

4Analytics di Weeblr: Analisi rispettose della privacy in esecuzione all'interno del tuo sito Joomla.

4Comando di Weeblr: Completa il classico sistema di navigazione basato su menu di Joomla con una tavolozza di comandi e scorciatoie da tastiera.

Mi piacerebbe sentire le estensioni che usi per gestire il tuo sito!

Conclusione

Joomla Dashboard offre innumerevoli possibilità per lavorare in modo più efficiente e semplificare la gestione del sito web. Implementando i suggerimenti e gli strumenti sopra descritti, puoi creare uno spazio di lavoro non solo funzionale, ma anche completamente su misura per le tue esigenze o quelle dei tuoi clienti.
Che tu sia uno sviluppatore che gestisce più siti o un utente che vuole semplicemente navigare rapidamente, vale la pena personalizzare la dashboard. Joomla è tua! (anche il backend)

Alcuni articoli pubblicati sul Joomla Community Magazine rappresentano l'opinione personale o l'esperienza dell'Autore sul tema specifico e potrebbero non essere allineati alla posizione ufficiale del Progetto Joomla

Hai perso il tuo articolo? Ecco come TinyMCE può salvarti la giornata

Ci siamo passati tutti: Stai lavorando a un articolo su Joomla e chiudilo senza salvare. Il tuo lavoro è finito - o no? Brian Teeman spiega come recuperare un articolo che non hai ancora salvato.

Quando le cose vanno male

Qualche settimana fa, stavo lavorando su un sito web per un cliente, scrivendo un articolo molto importante. Ho passato molto tempo ad assicurarmi che la mia grammatica e ortografia fossero perfette e che l'articolo rappresentasse davvero tutto ciò che il cliente voleva dire. E poi è successo. Mi sono allontanato dal mio laptop per un caffè, e quando sono tornato, lo schermo era vuoto.

Il connettore di alimentazione non era stato collegato correttamente. Mentre pensavo di lavorare sull'alimentazione di rete, in realtà stavo funzionando a batteria, che ora era completamente scarica. La batteria del mio computer portatile non aveva tenuto molta carica per diversi mesi, ma dal momento che lavoro principalmente a una scrivania, non avevo reso prioritaria la correzione. Che errore che è stato! Dopo aver ricollegato il computer portatile all'alimentazione, riavviato e riaperto l'articolo, i miei peggiori timori sono stati confermati: non avevo salvato il mio lavoro. Quell'articolo splendidamente realizzato e dispendioso in termini di tempo era sparito. Ho maledetto, urlato e forse ho anche gettato il portatile sul pavimento per la frustrazione.

TinyMCE al salvataggio

Potresti non saperlo, ma ogni volta che usi TinyMCE per scrivere contenuti in Joomla, salva automaticamente una copia temporanea del tuo lavoro. Questa copia viene memorizzata direttamente nella memoria locale del browser web e rimane lì a tempo indeterminato, almeno fino a quando non si preme Salva in Joomla.

Come recuperare l'articolo mancante

  • Poiché la memorizzazione locale del browser è specifica del sito, il primo passo consiste nel riaprire il sito web.
  • Se si utilizza Google Chrome, premere F12 sulla tastiera per aprire gli Strumenti di sviluppo.
  • Passare alla scheda Applicazione e aprire la sezione Archiviazione locale nella barra laterale.
  • Lì troverai una copia completa del tuo articolo, insieme a qualsiasi altro contenuto non salvato. Basta copiarlo e incollarlo di nuovo in Joomla, e questa volta, ricordatevi di premere Salva!

La lezione qui?

Con gli strumenti giusti a tua disposizione, nulla è mai così male come sembra all'inizio.

cromo OvkmdodwV6

Alcuni articoli pubblicati sul Joomla Community Magazine rappresentano l'opinione personale o l'esperienza dell'Autore sul tema specifico e potrebbero non essere allineati alla posizione ufficiale del Progetto Joomla

Il Risveglio di Joomla Core

MyWoodlot.com è un sito web che abbiamo sviluppato per aiutare i proprietari terrieri forestali a fare buone scelte quando si tratta di gestire i loro terreni. Il sito ha ormai 10 anni ed è passato attraverso due differenti sviluppatori di siti web, l'esperienza fatta con l'ultimo team di sviluppo mi ha lasciato profondamente scosso.

Spiegazione dello spartiacque di New York

Lavoro per un'organizzazione senza scopo di lucro nello Stato di New York e il nostro obiettivo è sostenere un paesaggio funzionante ed economicamente sostenibile nella regione dello spartiacque di New York City (NYC), proteggendo nel contempo la qualità dell'acqua intorno ai serbatoi di New York.

L'infrastruttura per l'approvvigionamento di acqua potabile di New York è sbalorditiva. È uno dei più grandi sistemi di stoccaggio e approvvigionamento di acque superficiali al mondo. È alimentato a gravità, non filtrato, indicato come lo "champagne dell'acqua del rubinetto" e si dice che sia il segreto dietro i famosi bagel di New York.

Ci sono 19 serbatoi in questo sistema che forniscono 1 miliardo di galloni di acqua al giorno a 9 milioni di consumatori a New York. L'acqua di questi bacini, situati nello stato di New York, viaggia fino a 125 miglia attraverso torrenti e acquedotti sotterranei per raggiungere New York. L'area dello spartiacque di New York (la terra che drena nei serbatoi) copre oltre 1,2 milioni di acri. Oltre 900.000 di questi acri sono boschivi e circa 500.000 delle terre boschive sono di proprietà privata.

Lavoro nel dipartimento forestale, come specialista di sensibilizzazione. Il mio dipartimento fornisce ai proprietari terrieri forestali e ai professionisti della silvicoltura nello spartiacque di New York incentivi per prendere buone decisioni quando godono, gestiscono e gestiscono i loro terreni forestali, il tutto tenendo presente la protezione della qualità dell'acqua. La partecipazione è del tutto volontaria. Ci sono oltre 30.000 proprietari privati di terreni forestali nello spartiacque di New York e nel 2014 avevamo bisogno di un sistema economico per raggiungerli per fornire idee, opzioni e informazioni per aiutarli a capire e prendersi cura della loro terra. L'idea di costruire un sito web è stata subito approvata.

La nascita di MyWoodlot

Possedere una foresta, o un bosco, può essere travolgente. Le opzioni e i modi per prendersene cura possono essere complicati e travolgenti, con molti proprietari terrieri che non sanno da dove iniziare o quali risorse sono a loro disposizione. Le persone possiedono lotti di legno per molte ragioni. Per la ricreazione, la privacy, il paesaggio, l'eredità e per il reddito, per citarne alcuni. Eppure non c'è un posto dove i proprietari terrieri possano ottenere informazioni, consigli e risorse per aiutarli a prendersi cura della loro terra. Nel 2014, a seguito di un'ampia pianificazione e ricerca aziendale, abbiamo deciso di progettare un sito web che organizzasse informazioni e risorse per i proprietari terrieri forestali in un unico luogo. Un sito web sarebbe efficace in termini di costi e le informazioni su di esso potrebbero essere aggiornate per mantenere le cose attuali e pertinenti in un ambiente dinamico e mutevole.

Abbiamo avuto l'idea di creare un processo di selezione per aiutare questi proprietari terrieri con idee, risorse e informazioni per aiutarli a godere e / o gestire la loro terra.

In primo luogo, il proprietario terriero sceglie un'area che li interessa. Abbiamo sviluppato un elenco di interessi dei proprietari terrieri forestali sulla base della ricerca del Servizio Forestale degli Stati Uniti. Da lì abbiamo avuto una varietà di obiettivi su misura per questo interesse. Una volta selezionato un obiettivo, il proprietario terriero può quindi scegliere un'attività che può aiutarlo a lavorare verso tale obiettivo. All'interno di queste attività vi è una serie di informazioni "how-to" per completare tale attività. Le informazioni pratiche possono essere in molte forme come video, fogli di lavoro PDF, collegamenti a siti Web / articoli specifici, storie di successo e accesso ai professionisti. I proprietari terrieri potrebbero avere diversi obiettivi tra diversi interessi con conseguente molte attività. Queste attività potrebbero quindi essere salvate per fornire al proprietario terriero un "piano" individualizzato per la sua foresta.

Questo processo funziona incoraggiando i proprietari terrieri ad adottare misure più piccole e meno intimidatorie, che alla fine li porta a completare obiettivi più grandi, incitando una buona gestione attiva delle foreste.

Il diagramma seguente mostra l'idea del processo di selezione Interesse > Obiettivo > Attività.

Diagramma dell'area di interesse, obiettivo e processo di selezione delle attività.

Lo sviluppo di MyWoodlot

All'inizio del 2015 abbiamo inviato una richiesta di offerta per sviluppare MyWoodlot.com e poco dopo abbiamo stipulato un contratto con un consulente web. Hanno proposto di usare Joomla, e nonostante non avessi mai sentito parlare di Joomla, sembrava avere un senso. Avevo usato un po' di Contribute e WordPress, quindi ero messo a 2/10 per quanto riguarda la conoscenza di sviluppo di un sito web, ma ero disposto ad ampliare le mie competenze.

L'intero sito era stato mappato e il contenuto sviluppato prima che lo sviluppatore fosse portato a bordo e, come coordinatore del progetto, ero fortemente coinvolto nella costruzione del sito, imparando molte funzionalità di Joomla. Il sito è stato lanciato nel novembre 2015 ed è stato ben accolto dagli utenti. Abbiamo apportato piccoli miglioramenti e negli anni successivi ci siamo concentrati principalmente sull'aggiunta di più contenuti. Poi nel 2020, a causa dei requisiti di approvvigionamento, abbiamo dovuto rifare  il contratto per il sito web. Dal punto di vista temporale non è stata una brutta cosa. Stavamo incontrando problemi con il sito attuale e avevamo bisogno di un aggiornamento. Abbiamo finito per assumere un altro sviluppatore Joomla per revisionare il sito e fornire manutenzione. Per coincidenza, il nuovo sviluppatore si trovava anche nello stato di New York e coordinava un gruppo di utenti Joomla in quell’area, così l’ho trovato inizialmente.

Il momento dell'idea

Ho dato ai nuovi sviluppatori il mal di testa di un nido di ratti. Non li ha messi in fase. Hanno fatto saltare in aria e l'hanno adorato. Hanno demolito il sito e lo hanno ricostruito in Core Joomla ed è stato un lavoro intenso. Non avevo idea che il Core di Joomla fosse così potente e flessibile. TAGGING – COSA?! Puoi fare cosa con il tagging? Hanno eliminato tutta una serie di componenti di terze parti problematici con codifica personalizzata e override che erano diventati problematici rendendo gli aggiornamenti di Joomla complicati, imprevedibili e, nel caso di alcuni componenti, impossibili. Hanno dato al sito un nuovo template, ristrutturandolo completamente internamente ma mantenendo tutto categorizzato all'interno del formato di selezione Interesse, Obiettivo, Attività.

Ancora una volta, sono stato profondamente coinvolto nel processo. Imparando dagli sviluppatori man mano che il progetto progrediva. Come ho detto, non avevo idea delle capacità offerte dal Core di Joomla. Fino ad allora non mi erano mai state mostrate le basi. Ricordo di aver partecipato a distanza a un Joomla Day USA non molto tempo dopo aver firmato il contratto con i nuovi sviluppatori. Mi sono seduto al corso "Introduzione a Joomla" di Laura Gordon e non credo che fossero passati 10 minuti prima che mi rendessi conto di quanto mi fossi perso non imparando le basi. Stavo nuotando all'estremità profonda con il sito originale, senza prima imparare a nuotare nella parte bassa. Quindi, come al solito, stavo facendo le cose al contrario. Come quando ho imparato a sciare saltando su una seggiovia e andando prima in cima alla montagna... Ho vissuto. Giusto.

Siamo stati operativi con il nuovo sito in molto meno tempo del previsto e la transizione è stata senza soluzione di continuità. Almeno sembrava così da parte mia, forse stavano pagaiando come pazzi sotto la superficie, ma non riuscivo a capire... Un grande lavoro da parte loro, sul serio.

Gli sviluppatori erano, e sono ancora, molto pazienti con me e tutte le mie domande. Chiedo molto! Se ho bisogno di loro per fare qualcosa al sito al di fuori delle mie capacità, mi guidano gentilmente attraverso il processo in modo che io possa imparare, e quindi farlo da solo in futuro. Il sito richiede raramente manutenzione. Per la maggior parte è privo di problemi e utilizza solo alcuni componenti popolari e ben documentati (lezioni apprese), tra cui EasyDiscuss, Events Booking e MyShortlist.

Dopo l'aggiornamento iniziale del sito e il cambiamento del template nel 2020, e a parte gli aggiornamenti e lo strano bug che non riesco a risolvere, faccio la maggior parte del lavoro all'interno del sito. Aggiungo blog ed eventi settimanali, aggiungo nuove "attività" che i proprietari terrieri possono svolgere man mano che le sviluppiamo e posso apportare modifiche ai template con YooTheme. Non so se questo mi rende un grande cliente o no?!

Il sito vanta ora 12 aree di interesse, 60 obiettivi, 250 attività e 847 informazioni pratiche. Ha anche oltre 360 articoli nel blog, elenchi di risorse di professionisti della silvicoltura e altri strumenti per i proprietari terrieri forestali. Ricevo ottimi feedback dagli utenti e abbiamo ridotto il tempo che il personale del dipartimento utilizzava per rispondere alle molte richieste delle persone che chiamano e chiedono spiegazioni. Immaginate di dover spiegare le sfumature della New York State Forest Tax Law (yawn) più volte alla settimana alle persone che chiamano il nostro ufficio. Ora possiamo semplicemente inviarli a "Understand NYS Forest Tax Law" su MyWoodlot e possono ottenere tutto ciò di cui hanno bisogno da lì e altro ancora.

L'immagine seguente mostra il processo di selezione Interesse > Obiettivo > Attività utilizzato nel sito corrente.

Screenshot dell'attuale sito MyWoodlot che mostra l'area di interesse, l'obiettivo e il processo di selezione delle attività in uso.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A causa dell'approvvigionamento, siamo attualmente in procinto di rifare nuovamente il contratto del sito Web e incrociamo le dita sperando si possa rimanere con gli attuali sviluppatori. Sebbene non abbiamo piani futuri per grandi modifiche al sito (le modifiche ai modelli sarebbero un gioco da ragazzi ora che il core è a posto), sono sempre alla ricerca di ispirazione e funzionalità per migliorare il sito. Forse ne scoprirò alcuni al JDay USA questo aprile ⁇

Conclusione

Mi è stato chiesto di fornire una conclusione in questo articolo. La mia conclusione è: Torniamo al Core. Mantieni le cose semplici. Soprattutto quando il cliente vuole essere coinvolto come me. La mancanza di complicazioni quando si utilizza principalmente il Core di Joomla è sorprendente. Poco prima della revisione nel 2020, stavo iniziando a sentire la stessa angoscia che provo lavorando con WordPress! Avrei voluto avere più conoscenza del Core di Joomla nella progettazione originale per spingerne l'utilizzo, ma alla fine ci sono arrivato.

Alcuni articoli pubblicati sul Joomla Community Magazine rappresentano l'opinione personale o l'esperienza dell'Autore sul tema specifico e potrebbero non essere allineati alla posizione ufficiale del Progetto Joomla

Joomla 5 email templates - how to add variables via plugin

In Joomla 5, customizable email templates have made an entrance, for core and third-party components. They cannot (yet) be added on their own, they are added during the installation.

You can edit email templates by clicking System - Templates - Email Templates in the left menu of your Admin Panel. Since Joomla 5.2, you can use HTML format for email templates. When editing the template, you can see that variables like {USERNAME} or {SITENAME} are used in its text. But what if we need to add our own variables to the email template?

A detailed description of this feature will require a separate detailed article, but we will give you a general idea of the email template settings.

We should go to email template settings (the component options button in the upper-right corner).

Joomla 5 email templates settings

And then we can select the email format text or HTML. Then the layout settings for Joomla email templates become available. These global parameters can be redefined in each specific email template. Thus, you can specify your own layout and logo settings for each of the email templates.

Joomla email templates settings for HTML layout and site logo in emails

 

For developers: how do I add my own variables for Joomla email templates?

We see different short codes for different types of emails: {NAME}, {SITENAME}, {SITEURL}, and so on are used in Joomla email templates text. What if we need to add our own variables to the email template?

edit email template in Joomla 5

To do this, you need to write a simple plugin (see official docuentation for developers). The developer will benefit from 2 triggers for plugins: onMailBeforeTagsRendering and onMailBeforeRendering.

Plugin trigger onMailBeforeRendering in Joomla

onMailBeforeRendering - This is a trigger that allows you to add your own shortcodes for string replacement in the plugin. You need to send an array of the form like [ variable_name => variable_value ].

From the admin panel, you need to add your variables with curly brackets: {variable_name} will be replaced by variable_value.

Add custom variable to Joomla email template

The $event argument of the plugin is an instance of the BeforeRenderingMailTemplateEvent class, which has, among other things, 2 methods: getTemplate() (getting a mailer object where you can add your data) and getTemplateId() (getting the template id of an email like com_users.registration.admin.new_notification), by which we determine whether it is the right email template for us or not. Similar to the context in content plugins.

email template id in Joomla 5 email templates view

Also, a useful class property for transferring data from the plugin to the layout of the letter for rendering is $layoutTemplateData. This is an associative array.

<?php
// Get current mailer
$mailTemplate = $event->getTemplate();
$data = [
   'variable_name' => 'variable_value'
];
// since Joomla 4 for all email types. 2nd argument - $plain - plain text format
$mailTemplate->addTemplateData($data, false);
// since Joomla 5.2 - for HTML-emails
$mailTemplate->addLayoutTemplateData($data);

// An example from Joomla core
// Add additional data to the layout template
$this->addLayoutTemplateData([
    'siteName' => $app->get('sitename'),
    'lang'     => substr($this->language, 0, 2),
]);

Let's see all the method:

<?php
use Joomla\CMS\Event\Mail\BeforeRenderingMailTemplateEvent;

public function onMailBeforeRendering(BeforeRenderingMailTemplateEvent $event): void
{
        $templateId = $event->getTemplateId(); // email template id, like context
        $template = $event->getTemplate();//получаем весь объект письма
        $data = [
                'variable_name' => 'variable 1 value',
                'variable_name2' => 'variable 2 value',
        ];

        $template->addTemplateData($data); 
        // or...
        $mailTemplate->addLayoutTemplateData($data);
}

 

Plugin trigger onMailBeforeTagsRendering in Joomla

onMailBeforeTagsRendering - this is a trigger that adds your variables to the list of available variables to replace in the edit window of the Joomla email template. We need to create an array for this trigger with the names of the variables, but without their values.

<?php
public function onMailBeforeTagsRendering(Event $event): void
{
    [$templateId, $template] = $event->getArguments();
    $tags =  $template->params['tags']; //get standart short codes
    $tags[] = 'my_custom_variable';
    $tags[] = 'my_custom_variable2';
    // or we can get fields from com_user here
   // Thanks to Alexander Novikov here.
    $user_fields = FieldsHelper::getFields('com_users.user', true); // get user fields
    $newtags = [];
    foreach($user_fields as $field) {
        $newtags[] = $field->name; //combine the array. Our variable is field name
    }
    $tags = array_merge($tags, $newtags); // merge both arrays
    $template->params['tags'] = $tags; // return back 
}

Let see the result!

We have added custom variables to email templates in Joomla

 

Some articles published on the Joomla Community Magazine represent the personal opinion or experience of the Author on the specific topic and might not be aligned to the official position of the Joomla Project

Joomla 5 modelli di posta elettronica - come aggiungere variabili tramite plugin

In Joomla 5, i modelli di posta elettronica personalizzabili hanno fatto un ingresso, per componenti core e di terze parti. Non possono (ancora) essere aggiunti da soli, vengono aggiunti durante l'installazione.

È possibile modificare i modelli di posta elettronica facendo clic su Sistema - Modelli - Modelli di posta elettronica nel menu a sinistra del pannello di amministrazione. Dal Joomla 5.2, è possibile utilizzare il formato HTML per i modelli di posta elettronica. Quando si modifica il modello, è possibile vedere che le variabili come {USERNAME} oppure {SITENAME} sono utilizzati nel suo testo. Ma cosa succede se abbiamo bisogno di aggiungere le nostre variabili al modello di posta elettronica?

Una descrizione dettagliata di questa funzione richiederà un articolo dettagliato separato, ma ti daremo un'idea generale delle impostazioni del modello di posta elettronica.

1

Dovremmo andare alle impostazioni del modello di posta elettronica (il pulsante delle opzioni dei componenti nell'angolo in alto a destra).

Impostazioni dei modelli di posta elettronica di Joomla 5

E poi possiamo selezionare il formato di posta elettronica testo oppure HTML. Quindi le impostazioni di layout per i modelli di posta elettronica Joomla diventano disponibili. Questi parametri globali possono essere ridefiniti in ogni modello di posta elettronica specifico. Pertanto, è possibile specificare il proprio layout e le impostazioni del logo per ciascuno dei modelli di posta elettronica.

Impostazioni dei modelli di posta elettronica di Joomla per il layout HTML e il logo del sito nelle e-mail

 

Per gli sviluppatori: Come faccio ad aggiungere le mie variabili per i modelli di posta elettronica Joomla?

Vediamo diversi codici brevi per diversi tipi di e-mail: {NAME}, {SITENAME}, {SITEURL}, e così via sono utilizzati nel testo dei modelli di posta elettronica di Joomla. Cosa succede se abbiamo bisogno di aggiungere le nostre variabili al modello di posta elettronica?

modificare il modello di posta elettronica in Joomla 5

Per fare questo, è necessario scrivere un semplice plugin (vedi Documentazione ufficiale per gli sviluppatori). Lo sviluppatore beneficerà di 2 trigger per i plugin: onMailBeforeTagsRendering e onailBeforeRendering.

Innesco del plugin ONMailBeforeRendering in Joomla

onMailBeforeRendering - Questo è un trigger che consente di aggiungere i propri shortcode per la sostituzione della stringa nel plugin. È necessario inviare una matrice del modulo come [ variable_name => variable_value ].

Dal pannello di amministrazione, è necessario aggiungere le variabili con parentesi ricce: {variable_name} sarà sostituito da variable_value.

Aggiungi variabile personalizzata al modello di posta elettronica di Joomla

L' $event l'argomento del plugin è un'istanza del BeforeRenderingMailTemplateEvent classe, che ha, tra le altre cose, 2 metodi: getTemplate() (Ottenere un oggetto mailer in cui è possibile aggiungere i dati) e getTemplateId() (Ottenere l'ID del modello di un'e-mail come com_users.registration.admin.new_notification), con il quale determiniamo se è il modello di posta elettronica giusto per noi o meno. Simile al contesto nei plugin di contenuto.

ID del modello di posta elettronica nella visualizzazione dei modelli di posta elettronica di Joomla 5

Inoltre, una proprietà di classe utile per trasferire i dati dal plugin al layout della lettera per il rendering è $layoutTemplateData. Si tratta di un array associativo.

<?php
// Get current mailer
$mailTemplate = $event->getTemplate();
$data = [
   'variable_name' => 'variable_value'
];
// since Joomla 4 for all email types. 2nd argument - $plain - plain text format
$mailTemplate->addTemplateData($data, false);
// since Joomla 5.2 - for HTML-emails
$mailTemplate->addLayoutTemplateData($data);

// An example from Joomla core
// Add additional data to the layout template
$this->addLayoutTemplateData([
    'siteName' => $app->get('sitename'),
    'lang'     => substr($this->language, 0, 2),
]);

Vediamo tutti i metodi:

<?php
use Joomla\CMS\Event\Mail\BeforeRenderingMailTemplateEvent;

public function onMailBeforeRendering(BeforeRenderingMailTemplateEvent $event): void
{
        $templateId = $event->getTemplateId(); // email template id, like context
        $template = $event->getTemplate();//получаем весь объект письма
        $data = [
                'variable_name' => 'variable 1 value',
                'variable_name2' => 'variable 2 value',
        ];

        $template->addTemplateData($data); 
        // or...
        $mailTemplate->addLayoutTemplateData($data);
}

Plugin trigger onMailBeforeTagsRendering in Joomla

onMailBeforeTagsRendering - Questo è un trigger che aggiunge le tue variabili all'elenco di quelle disponibili per la sostituzione nella finestra di modifica del modello email di Joomla. Dobbiamo creare un array per questo trigger con i nomi delle variabili, ma senza i loro valori.

<?php
public function onMailBeforeTagsRendering(Event $event): void
{
    [$templateId, $template] = $event->getArguments();
    $tags =  $template->params['tags']; //get standart short codes
    $tags[] = 'my_custom_variable';
    $tags[] = 'my_custom_variable2';
    // or we can get fields from com_user here
   // Thanks to Alexander Novikov here.
    $user_fields = FieldsHelper::getFields('com_users.user', true); // get user fields
    $newtags = [];
    foreach($user_fields as $field) {
        $newtags[] = $field->name; //combine the array. Our variable is field name
    }
    $tags = array_merge($tags, $newtags); // merge both arrays
    $template->params['tags'] = $tags; // return back 
}

Vediamo il risultato!

$mailTemplate->addLayoutTemplateData($data);

 

// Un esempio dal core di Joomla

Alcuni articoli pubblicati sulla rivista Joomla Community Magazine rappresentano l'opinione personale o l'esperienza dell'autore sull'argomento specifico e potrebbero non essere in linea con la posizione ufficiale del Progetto Joomla

Joomla Academy è pronta per il decollo - Unisciti a noi!

Gli studenti in cerca di un'opportunità per contribuire allo sviluppo open source e lavorare con i migliori su un ottimo sistema di gestione dei contenuti: questo articolo è per te. Persone che conoscono il codice di Joomla e vogliono condividere le loro conoscenze e contribuire a plasmare il futuro di Joomla: Questo articolo è per te. Leggi tutto su Joomla Academy che prende vita!

Lo scorso ottobre, abbiamo introdotto la Joomla Academy, un'opportunità unica per gli studenti di contribuire all'open source e contribuire a plasmare il futuro di Joomla. E ora, febbraio 2025, l'Accademia è pronta per il decollo! JCM ha parlato con Philip Walton, SD Williams e Gary Barclay.

L'Accademia inizia con due progetti innovativi. Uno di questi è l'integrazione SEO avanzata. Puoi parlarmi un po' di questo?

Filippo: Durante Google Summer of Code, Alisha Kamat ha lavorato su un progetto SEO (https://community.joomla.org/gsoc-2022/gsoc-project-alisha-kamat-seo.html). Ha fatto molti progressi, ma doveva ancora essere finito. Era per lo più lì, e lo abbiamo dimostrato più volte a Joomla London, ma deve essere trasformato in plugin che possono essere attivati o disattivati a seconda di quali aspetti del progetto SEO desideri.

Alcuni dei progetti stavano tentando di mettere al centro alcuni strumenti che credo manchino davvero; l'aspetto Open Graph è stato ben pensato e ha funzionato bene così come i promemoria SEO.
Sono stato un mentore per Alisha, quindi sarà bello vedere questo progetto a conclusione.

Il secondo progetto dell'Accademia è Advanced Migration Tools. Che cosa comporta?

Filippo: Non sono stato molto coinvolto con questo strumento, ma è un progetto entusiasmante. È uno strumento che ti consente di portare un sito scritto in un altro CMS in Joomla.
Il primo esempio è Wordpress. Avrei potuto fare con un tale strumento quando anni fa ho dovuto spostare diverse centinaia di siti Wordpress in un unico sito Joomla!

Questo sito è ancora in corso. Ma un modo sistematico per convertire i siti mi permetterebbe di affrontare progetti falliti costruiti in Wordpress e aggiornarli in un CMS moderno e veloce.

Cosa significano questi due progetti per Joomla?

Filippo: La SEO è sicuramente una caratteristica fondamentale mancante. Quale sito non ha un blog o una pagina di notizie che potrebbe fare con Open Graph o dati SEO chiari e utili? Quindi questo dovrebbe essere nel nucleo.

Lo strumento di migrazione è sicuramente uno strumento che non sarà al centro in quanto è necessario solo in alcuni casi, ma potrebbe essere una tale risorsa per le agenzie web e altri costruttori di siti web che sono preoccupati per i problemi in corso con Wordpress e vogliono evitare un CMS che sembra essere in procinto di fork.

E per gli studenti che ci lavorano?

Filippo: Spero che otterranno una buona base nello sviluppo web e nella formazione dei personaggi dai mentori che potrebbero fare una grande differenza nella loro vita lavorativa.
Con il programma GSoC, molti hanno continuato a fare grandi cose e allo stesso modo con l'Accademia potrebbe essere una vera spinta per le prospettive di carriera di qualsiasi studente.

Di cosa abbiamo bisogno perché ciò accada? Cosa c'è già?

Filippo: Beh, al DACH di ottobre (che è il JoomlaDay nella comunità di lingua tedesca), ho chiesto promesse di $ 12k e sono venuto via con denaro reale che ammontava a oltre $ 16k
I soldi sono lì e promessi.
Abbiamo avuto una lotta per convincere le persone a farsi avanti come mentori, in particolare i mentori di codifica, ma questo sembra cambiare, anche se di più è meglio.

Quindi chiunque abbia esperienza PHP o Javascript disposto a condividere le proprie conoscenze: Vi prego di mettervi in contatto con me su Mattermost.

In generale, come funziona la Joomla Academy?

Filippo: Stiamo solo finalizzando i mentori e iniziando a chiedere agli studenti di farsi avanti.
Vedremo poi quanti ne otteniamo e poi faremo una serie di attività per aiutare a evidenziare le loro abilità e dimostrare l'impegno e la dedizione di ogni studente.

Di solito, devi pagare per l'istruzione, ma qui ci saranno mentori, e se selezionato e messo nel tempo e nello sforzo, lo studente può guadagnare fino a $ 3000, quindi è un'esperienza davvero preziosa.

Bello. Come studente, come posso candidarmi per la Joomla Academy? E cosa ti aspetteresti da me?

Filippo: Puoi candidarti unendoti a Mattermost e inserendo il tuo nome nel canale Studenti di Joomla Academy.

https://joomlacommunity.cloud.mattermost.com/main/channels/ja-students

Mi aspetto onestà. In passato, abbiamo dovuto fallire studenti che non erano realistici o non del tutto veritieri sui loro impegni di tempo e hanno cercato di fare troppe cose, il che ha comportato una scarsa partecipazione e una mancanza di impegno.
Cerchiamo studenti che inseriscano le ore, messaggino quotidianamente nel loro canale e pongano domande quando necessario.
Ti chiediamo di impegnare il tuo codice regolarmente in modo che i mentori possano monitorare i tuoi progressi e assicurarti di essere sulla strada giusta.

Se non ho rispettato il termine per la presentazione delle candidature, cosa devo fare?

Filippo: Cercheremo di fare un nuovo flusso di studenti ogni 6 mesi, quindi se non puoi farlo per questa assunzione, ce n'è un altro tra 6 mesi. Ciò ti dà ampio tempo per testare alcune richieste pull (PR), leggere la documentazione e abituarti a Joomla e a come funziona.

Tutto questo ti aiuterà quando arriverà il momento, e tu sei contro gli altri in lizza per un posto.

E se voglio essere un mentore, cosa devo portare e cosa farò?

Filippo: I mentori sono come polvere d'oro al momento. Abbiamo bisogno di persone che si sentano a proprio agio con la programmazione e anche di persone che possano pensare attraverso un problema. Idealmente, le persone che hanno forse scritto estensioni prima e hanno una buona comprensione di Joomla 5
Trasmetterai le tue conoscenze agli studenti, quindi sarebbe utile se potessi mostrare pazienza, comprensione, guida e piacere nel coltivare nuovi talenti.

Dovrai fare il check-in regolarmente per conoscere gli studenti. Abbiamo mentori del benessere che ci aiuteranno a tenerci tutti sotto controllo, ma poche ore alla settimana ogni settimana aiuterebbero davvero a fare la differenza.

Questa è la prossima generazione di sviluppatori e manutentori Joomla che vengono prodotti, quindi è un modo utile per trascorrere il tuo tempo.

Gary Barclay e SD Williams, entrambi nuovi mentori per l'Accademia, cosa aspetti?

Gary: Non vedo l'ora di fornire orientamenti sulla gestione dei compiti, le comunicazioni e il soddisfacimento delle aspettative, ma non saprò cosa è necessario fino all'avvio dei progetti.

SD: Non vedo l'ora di aiutare gli altri mentori nella cura e nel benessere degli studenti. Questo è qualcosa di nuovo per me, far parte di un team che riconosce la necessità di supportare l'intero studente, non solo la loro codifica.

Come mettersi in contatto

Per gli studenti e i potenziali mentori, entrare a far parte di Mattermost è il primo passo. Devi avere un account sul portale di identità di Joomla per questo. Questo utile articolo ti mostra come configurare il tuo account e unirti a noi: https://magazine.joomla.org/all-issues/november-2022/getting-the-most-out-of-mattermost

Una volta che sei su Mattermost, trova il canale giusto. Il canale studente è chiamato ~ja-studenti, il canale mentore è chiamato ~ja-mentori.

Mettiti in contatto e prima che tu te ne accorga, sarai una di quelle persone che modellano il futuro di Joomla!

Alcuni articoli pubblicati sul Joomla Community Magazine rappresentano l'opinione personale o l'esperienza dell'Autore sul tema specifico e potrebbero non essere allineati alla posizione ufficiale del Progetto Joomla

Joomla Academy is ready for take off - Join us!

Students looking for an opportunity to contribute to open source development and work with the best on a great content management system: this article’s for you. People who know their way around Joomla’s code and want to share their knowledge and help shape Joomla’s future: this article is for you. Read all about the Joomla Academy coming to life!

Last October, we introduced the Joomla Academy, a unique opportunity for students to contribute to open source and help shape the future of Joomla. And now, February 2025, the Academy is ready for take off! JCM had a chat with Philip Walton, SD Williams and Gary Barclay.

The Academy starts with two innovative projects. One of them is Enhanced SEO Integration. Could you tell me a little bit about that?

Philip: During Google Summer of Code, Alisha Kamat worked on a SEO project (https://community.joomla.org/gsoc-2022/gsoc-project-alisha-kamat-seo.html). It made a lot of progress, but it still needed to be finished. It was mostly there, and we demonstrated it several times at Joomla London, but it has to be turned into plugins that can be switched on or off depending on what aspects of the SEO project you want.

Some of the project was attempting to bring into core some tools which I think are really missing; the Open Graph aspect was well thought through and worked nicely as well as the SEO reminders.
I was a mentor for Alisha so it will be great to see this project to a conclusion.

The second Academy project are Advanced Migration Tools. What does that entail?

Philip: I have not been involved with this tool much but it is an exciting project. It's a tool to allow you to bring a site that is written into another CMS into Joomla.
The first example is Wordpress. I could have done with such a tool when years ago I had to move several hundreds of Wordpress sites into one Joomla site!

That site is still going. But a systematic way to convert sites would allow me to take on failing projects built in Wordpress and bring them up to date in a modern and fast CMS.

What do these two projects mean for Joomla?

Philip: The SEO is definitely a missing core feature. What site doesn't have a blog or news page that could do with Open Graph or clear and helpful SEO data? So this should be in core.

The migration tool is definitely a tool that will not be in core as it's only needed in some cases, but it could be such an asset for web agencies and other website builders who are worried about the ongoing issues with Wordpress and want to avoid a CMS that looks to be about to fork.

And for the students working on them?

Philip: I hope they will gain a good grounding in web development and character-shaping tuition from the mentors that could make a big difference to their working lives.
With the GSoC program, many have gone on to do great things and likewise with the Academy it could be a real boost to the career prospects of any student.

What do we need for this to happen? What is already there?

Philip: Well at DACH in October (that’s JoomlaDay in the German speaking community), I asked for pledges of $12k and came away with actual money that totalled over $16k
So money is there and promised.
We have had a struggle getting people to come forward as mentors, especially coding mentors, but that seems to be changing, although more is better.

So anyone with PHP or Javascript experience willing to share their knowledge: please do get in touch with me on Mattermost.

In general, how does the Joomla Academy work?

Philip: We are just finalising mentors and starting to ask students to come forward.
We will then see how many we get and then do a series of activities to help highlight their skills and demonstrate each student's commitment and dedication.

Usually, you have to pay for education, but here, there will be mentors, and if selected and put in the time and effort, the student can earn up to $3000, so it's a really valuable experience.

Nice. As a student, how can I apply for the Joomla Academy? And what would you expect from me?

Philip: You can apply by joining Mattermost and putting your name in the Joomla Academy Students channel.

https://joomlacommunity.cloud.mattermost.com/main/channels/ja-students

I would expect honesty. In the past, we have had to fail students who were not realistic or not entirely truthful about their time commitments and tried to do too many things, which resulted in poor attendance and a lack of commitment.
We are looking for students who will put in the hours, message in their channel daily, and ask questions when needed.
We would ask you to commit your code regularly so the mentors can monitor your progress and ensure you are on the right track.

If I missed the deadline for the application period, what should I do?

Philip: We will be looking to do a new stream of students every 6 months, so if you cannot make it for this intake, there is another in 6 months' time. That gives you ample time to test some pull requests (PRs), read documentation, and get used to Joomla and how it works.

This will all help you when the time comes, and you are up against others vying for a place.

And if I want to be a mentor, what should I bring, and what will I do?

Philip: Mentors are like gold dust at the moment. We need people who are comfortable with coding and also people who can think through a problem. Ideally, people who have perhaps written extensions before and have a good understanding of Joomla 5
You will be imparting your knowledge to students, so it would be helpful if you could show patience, understanding, guidance, and pleasure in nurturing new talent.

You will need to check in regularly to get to know the students. We have welfare mentors who will help keep us all in check but a few hours a week every week would really help to make a difference.

This is the next generation of Joomla developers and maintainers that are being produced so it is a worthwhile way to spend your time.

Gary Barclay and SD Williams, you’re both brand new mentors for the Academy, what are you looking forward to?

Gary: I’m looking forward to providing guidance around task management, communications, fulfilling expectations but I won’t know what’s needed until the projects get started.

SD: I’m looking forward to aiding the other mentors in the care and wellbeing of the students. This is something new for me, to be a part of a team that recognizes the need to support the whole student, not just their coding.

How to get in touch

For students and potential mentors, joining Mattermost is the first step. You need to have an account at Joomla's Identity Portal for this. This helpful article shows you how to setup your account and join us: https://magazine.joomla.org/all-issues/november-2022/getting-the-most-out-of-mattermost

Once you're on Mattermost, find the right channel. The student channel is called ~ja-students, the mentor channel is called ~ja-mentors.

Get in touch and before you know it, you'll be one of those people who shape Joomla's future!

Some articles published on the Joomla Community Magazine represent the personal opinion or experience of the Author on the specific topic and might not be aligned to the official position of the Joomla Project

Lost Your Work? Here's How TinyMCE Can Save the Day

We've all been there: you're working on an article in Joomla and close it without saving. Gone is your work - or isn't it? Brian Teeman explains how to retrieve an article you hadn't saved yet.

When Things Go Wrong

A few weeks ago, I was working on a website for a client, writing a very important article. I spent a long time ensuring that my grammar and spelling were perfect and that the article truly represented everything the client wanted to say. And then it happened. I stepped away from my laptop for a coffee, and when I returned, the screen was blank.

The power connector hadn't been properly connected. While I thought I was working on mains power, I was actually running on battery, which had now completely drained. My laptop’s battery hadn’t held much of a charge for several months, but since I mainly work at a desk, I hadn’t made it a priority to fix. What a mistake that was! After reconnecting the laptop to power, rebooting, and reopening the article, my worst fears were confirmed — I hadn’t saved my work. That beautifully crafted, time-consuming article was gone. I cursed, shouted, and may have even thrown the laptop on the floor in frustration.

TinyMCE to the Rescue

You may not know this, but whenever you use TinyMCE to write content in Joomla, it automatically saves a temporary copy of your work. This copy is stored directly in your web browser’s local storage and remains there indefinitely — at least until you press save in Joomla.

How to Recover the Missing Article

  • Since the browser’s local storage is site-specific, the first step is to reopen the website.
  • If you’re using Google Chrome, press F12 on your keyboard to open the Developer Tools.
  • Navigate to the Application tab and open the Local Storage section in the sidebar.
  • There, you’ll find a complete copy of your article—along with any other unsaved content. Simply copy and paste it back into Joomla, and this time, remember to press save!

The Lesson Here?

With the right tools at your disposal, nothing is ever as bad as it seems at first.

chrome OvkmdodwV6

Some articles published on the Joomla Community Magazine represent the personal opinion or experience of the Author on the specific topic and might not be aligned to the official position of the Joomla Project

Sustainable Web Development with Joomla! - Part 2

In Sustainable Web Development with Joomla! - Part 1, we explored how Joomla enables sustainable web development by promoting energy efficiency, resource optimization, and eco-friendly practices. Key steps included selecting green hosting solutions, writing clean code, minimizing JavaScript, optimizing fonts, and leveraging Joomla's built-in functionality to reduce server load. Emphasis was also placed on user-friendly, accessible design to enhance performance and inclusivity.

Part 2 will focus on maintaining sustainability during a website’s operation, ensuring long-term environmental responsibility.

After the implementation

Having completed the “heaviest” tasks related to website development, the phase of optimization usually begins in order to make it faster, more secure and more friendly towards search engines and social media. This includes a series of critical actions that also have a clear impact on the energy efficiency of the website. Here are the most important of them:

Implement SEO correctly. Search Engine Optimization (SEO) may at first glance seem unrelated to the energy efficiency of a website, but if you think about it, in practice the goals of SEO are perfectly aligned with the goal of reducing energy consumption. When we optimize a website to improve its ranking in search engines, we are essentially helping people find the information they want faster and easier. When SEO is successful, it results in people spending less time online searching for information and visiting fewer pages that do not meet their needs. This means that less energy is consumed and the energy consumed is used to provide real value to the user. Joomla 5.X leads the way on that account as well, since it already has robust SEO capabilities, integrated and optimized from the go.

Use Caching! One of the most important elements that play a decisive role in the ultimate speed of a website is Caching. Especially for websites that operate with a Database such as Joomla, pages are created dynamically every time someone visits them. This can be very inefficient to the extent that it requires processing power from the server for each page view, increasing energy consumption. Cache significantly reduces the server's energy consumption and of course the difference in page loading times is significant. Joomla provides the cache functionality in a number of ways, and all you need to do is to read the documentation and implement the method that best serves your needs.

Use a CDN. It was mentioned earlier that it is very important for the website to be hosted on a server that is closer to the users. However, if this is not possible, e.g. if the website is aimed at users all over the world, then using a Content Delivery Network (CDN) is a great solution. CDN stores and then serves website files such as images from a network of data centers around the world. This means that in most cases, larger files will be loaded from a data center closer to the user’s location, reducing the distance the data travels each time a page is loaded. Once again, this improves energy efficiency and page load times.

Serve the website statically. Sometimes you may need to create a website that will not need to change frequently, such as a simple company profile. Other times, this website may have served its purpose after a while (e.g. a website for an event) or even been abandoned. In all these cases, it makes absolutely no sense to continue to operate a Database that dynamically serves the content of a website, since no changes are going to be made to it. It is energy-intensive and no longer serves any purpose. In this case, you can convert the website to static HTML, CSS and JS files, which load much faster because they do not need to request content from any database, they have it already integrated. This way, not only will the website load faster, but it will also be easier to manage it in case you want, for example, to transfer it to a more economical web hosting package (since it no longer requires the existence of a Database or other resources that may have been needed).

During Operation

Last but not least, some of the most important steps for energy efficiency of a website concern the daily operation of it. Nevertheless, as you will see, they essentially need to be taken seriously into account at every stage of its implementation.

Compress images! On most websites, images are by far the heaviest elements in terms of file size. The more images you use and the larger these image files are, the more data needs to be transferred and the more energy is consumed. Regardless of the application of image compression techniques that we will see next, whether you are a developer, a designer, or a content writer, you need to think very carefully about the use of images. Does the image you want to use really add value to the user? Does it communicate useful information (which would perhaps be more appropriate to communicate via text for better SEO) or is it purely decorative? Could the same impact be achieved if the image were smaller? Could you achieve the same result with a vector graphic (e.g. SVG) or even with some CSS styling instead of a photo? By asking yourself questions like these, you can review the appropriateness of using certain images and reduce their use, without of course compromising the user experience. This in turn will help reduce energy consumption. The same goes for videos, which weigh much more on a page and create a much higher load on the users' CPU, resulting in much higher energy consumption.

How can you make the use of images more efficient?

  • Upload images to the dimensions you want instead of relying on CSS or Javascript to automatically adjust their size. This avoids loading images that are larger than the scale at which they will be displayed.
  • Use tools like TinyJPG or ShortPixel to compress image files without any visible loss of quality. Since I discovered these tools and saw the huge difference in file size that usually results, I no longer upload a photo without first going through them. In the long run, this has saved me on other levels as well, as if I had uploaded the images at their original size, I would now be consuming at least five times more disk space on web hosting than I currently need. So, the savings are manifold.
  • Use the most efficient file format for each image, such as WebP instead of JPG for content images or SVG instead of PNG for icons that are organic elements of the website. In addition to saving resources, it is also good for SEO! Also, there are Plugins for Joomla that can automatically convert JPG or PNG images to WEBP.
  • You could also implement lazy loading for images and videos to load them only when needed.

In all these ways, a significant reduction in image file sizes can be achieved, reducing energy consumption and improving loading times, without any noticeable disadvantages for website visitors.

Pay attention to the content!As mentioned above for both SEO and UX, writing has a big impact on the efficiency of the website, because it affects the time people spend on it and the experience they get from it. Sometimes we want people to spend a lot of time on a website, magnetizing their attention to our content. What we don’t want, however, is for people to waste their time with content that offers them little or no value. Surely this has happened to you enough times that (hopefully) you wouldn’t want to perpetuate it as a practice. Therefore, clear and effective content writing can help reduce wasted time on the internet and, by extension, reduce wasted energy. Not to mention that it’s also beneficial for search engine ranking.

Α more energy-efficient website is overall a better website

If you had the patience to read this far, you will surely have understood that most cases where energy is wasted are essentially due to technical omissions. Which means that a carefully designed website could already be more energy efficient from the start. And the best part is that almost any action we can take to help websites be more energy efficient will make them better in other ways as well, whether that’s better SEO, or faster speed, or a better user experience.

So, when aiming to reduce the carbon footprint of the internet, reducing energy waste by paying attention to all of those elements mentioned above is a great starting point. Of course, a website’s energy consumption can be difficult to measure accurately (although tools like Website Carbon can certainly help), but there are still many things we can do to eliminate waste and improve performance. Most of these actions are not inherently difficult, they just require attention to detail and careful thought in every aspect of designing, creating content, developing, and hosting a website. It is certainly worth the effort, however, since as it has become clear, a more energy-efficient website is also a better website overall.

The Road Ahead: Joomla and the Future of Sustainable Web Development

As Joomla continues to evolve, its community’s commitment to sustainability will be pivotal. Features like improved performance, energy-efficient hosting integrations, and eco-friendly design principles will keep Joomla at the forefront of sustainable web development.

By adopting these principles and leveraging Joomla’s capabilities, developers and businesses can contribute to a greener digital ecosystem. Sustainable web development is not just a choice – it’s a responsibility. Let’s embrace it with Joomla.

Some articles published on the Joomla Community Magazine represent the personal opinion or experience of the Author on the specific topic and might not be aligned to the official position of the Joomla Project

Sviluppo Web sostenibile con Joomla! - Parte 2

In Sviluppo Web sostenibile con Joomla! - Parte 1 abbiamo esplorato come Joomla consente lo sviluppo web sostenibile promuovendo l'efficienza energetica, l'ottimizzazione delle risorse e pratiche eco-compatibili. I passaggi chiave includevano la selezione di soluzioni di hosting verdi, la scrittura di codice pulito, la riduzione al minimo di JavaScript, l'ottimizzazione dei caratteri e l'utilizzo delle funzionalità integrate di Joomla per ridurre il carico del server. L'accento è stato posto anche su un design facile da usare e accessibile per migliorare le prestazioni e l'inclusività.

La parte 2 si concentrerà sul mantenimento della sostenibilità durante il funzionamento di un sito web, garantendo la responsabilità ambientale a lungo termine.

Dopo l'attuazione

Dopo aver completato i compiti "più pesanti" relativi allo sviluppo di siti web, di solito inizia la fase di ottimizzazione per renderla più veloce, sicura e più amichevole nei confronti dei motori di ricerca e dei social media. Ciò include una serie di azioni critiche che hanno anche un chiaro impatto sull'efficienza energetica del sito web. Ecco i più importanti:

Implementa correttamente la SEO. Search Engine Optimization (SEO) può a prima vista sembrare estraneo all'efficienza energetica di un sito web, ma se ci pensi, in pratica gli obiettivi del SEO sono perfettamente allineati con l'obiettivo di ridurre il consumo energetico. Quando ottimizziamo un sito web per migliorare il suo posizionamento nei motori di ricerca, stiamo essenzialmente aiutando le persone a trovare le informazioni che vogliono più velocemente e più facilmente. Quando la SEO ha successo, si traduce in persone che trascorrono meno tempo online alla ricerca di informazioni e visitano meno pagine che non soddisfano le loro esigenze. Ciò significa che viene consumata meno energia e l'energia consumata viene utilizzata per fornire un valore reale all'utente. Joomla 5.X apre la strada anche su quell'account, poiché ha già solide capacità SEO, integrate e ottimizzate fin da subito.

Usa il Caching! Uno degli elementi più importanti che giocano un ruolo decisivo nella velocità finale di un sito web è il Caching. Soprattutto per i siti Web che operano con un database come Joomla, le pagine vengono create in modo dinamico ogni volta che qualcuno le visita. Questo può essere molto inefficiente nella misura in cui richiede potenza di elaborazione dal server per ogni visualizzazione di pagina, aumentando il consumo di energia. La cache riduce significativamente il consumo energetico del server e, naturalmente, la differenza nei tempi di caricamento della pagina è significativa. Joomla fornisce la funzionalità della cache in diversi modi e tutto ciò che devi fare è leggi la documentazione e implementa il metodo che meglio soddisfa le tue esigenze.

Usare un CDN. È stato detto in precedenza che è molto importante che il sito web sia ospitato su un server più vicino agli utenti. Tuttavia, se ciò non è possibile, ad esempio se il sito Web è rivolto a utenti di tutto il mondo, l'utilizzo di un Content Delivery Network (CDN) è un'ottima soluzione. CDN memorizza e poi serve file di siti web come immagini da una rete di data center in tutto il mondo. Ciò significa che, nella maggior parte dei casi, i file più grandi saranno caricati da un centro dati più vicino alla posizione dell'utente, riducendo la distanza percorsa dai dati ogni volta che viene caricata una pagina. Ancora una volta, questo migliora l'efficienza energetica e i tempi di caricamento della pagina.

Servire il sito staticamente. A volte potrebbe essere necessario creare un sito Web che non dovrà cambiare frequentemente, ad esempio un semplice profilo aziendale. Altre volte, questo sito Web potrebbe aver raggiunto il suo scopo dopo un po '(ad esempio un sito Web per un evento) o addirittura essere stato abbandonato. In tutti questi casi, non ha assolutamente senso continuare a gestire un database che serve dinamicamente il contenuto di un sito Web, poiché non verranno apportate modifiche ad esso. È ad alta intensità energetica e non serve più a nessuno scopo. In questo caso, è possibile convertire il sito Web in file HTML, CSS e JS statici, che si caricano molto più velocemente perché non hanno bisogno di richiedere contenuti da qualsiasi database, lo hanno già integrato. In questo modo, non solo il sito web si caricherà più velocemente, ma sarà anche più facile gestirlo nel caso in cui si desideri, ad esempio, trasferirlo in un pacchetto di web hosting più economico (poiché non richiede più l'esistenza di un database o di altre risorse che potrebbero essere state necessarie).

Durante l'operazione

Ultimo ma non meno importante, alcuni dei passaggi più importanti per l'efficienza energetica di un sito Web riguardano il suo funzionamento quotidiano. Tuttavia, come vedrete, essi devono essere presi seriamente in considerazione in ogni fase della sua attuazione.

Comprimi le immagini! Nella maggior parte dei siti web, le immagini sono di gran lunga gli elementi più pesanti in termini di dimensioni del file. Più immagini si utilizzano e più grandi sono questi file di immagine, più dati devono essere trasferiti e più energia viene consumata. Indipendentemente dall'applicazione delle tecniche di compressione delle immagini che vedremo in seguito, che tu sia uno sviluppatore, un designer o uno scrittore di contenuti, devi pensare molto attentamente all'uso delle immagini. L'immagine che si desidera utilizzare aggiunge davvero valore all'utente? Comunica informazioni utili (che sarebbe forse più appropriato comunicare via testo per una migliore SEO) o è puramente decorativo? Si potrebbe ottenere lo stesso impatto se l'immagine fosse più piccola? Potresti ottenere lo stesso risultato con una grafica vettoriale (ad esempio SVG) o anche con un po 'di stile CSS invece di una foto? Ponendoti domande come queste, puoi rivedere l'opportunità di utilizzare determinate immagini e ridurne l'uso, senza ovviamente compromettere l'esperienza dell'utente. Questo a sua volta contribuirà a ridurre il consumo di energia. Lo stesso vale per i video, che pesano molto di più su una pagina e creano un carico molto più elevato sulla CPU degli utenti, con conseguente consumo di energia molto più elevato.

Come rendere più efficiente l'utilizzo delle immagini?

  • Carica le immagini nelle dimensioni desiderate invece di affidarti a CSS o Javascript per regolare automaticamente le loro dimensioni. Ciò evita di caricare immagini più grandi della scala in cui verranno visualizzate.
  • Usa strumenti come TinyJPG o ShortPixel per comprimere i file di immagine senza alcuna perdita visibile di qualità. Da quando ho scoperto questi strumenti e ho visto l'enorme differenza nella dimensione del file che di solito risulta, non ho più caricato una foto senza prima passare attraverso di loro. Nel lungo periodo, questo mi ha salvato anche su altri livelli, come se avessi caricato le immagini alla loro dimensione originale, ora avrei consumato almeno cinque volte più spazio su disco sul web hosting di quello di cui ho attualmente bisogno. Quindi, i risparmi sono molteplici.
  • Utilizza il formato di file più efficiente per ogni immagine, ad esempio WebP invece di JPG per le immagini di contenuto o SVG invece di PNG per le icone che sono elementi organici del sito web. Oltre a risparmiare risorse, è anche un bene per la SEO! Inoltre, ci sono plugin per Joomla che possono convertire automaticamente immagini JPG o PNG in WEBP.
  • Si potrebbe anche implementare il caricamento pigro per immagini e video per caricarli solo quando necessario.

In tutti questi modi, è possibile ottenere una significativa riduzione delle dimensioni dei file immagine, riducendo il consumo energetico e migliorando i tempi di caricamento, senza alcun notevole svantaggio per i visitatori del sito web.

Presta attenzione ai contenuti!Come accennato in precedenza sia per SEO che per UX, la scrittura ha un grande impatto sull'efficienza del sito web, perché influisce sul tempo che le persone trascorrono su di esso e sull'esperienza che ottengono da esso. A volte vogliamo che le persone trascorrano molto tempo su un sito web, magnetizzando la loro attenzione sui nostri contenuti. Ciò che non vogliamo, tuttavia, è che le persone sprechino il loro tempo con contenuti che offrano loro poco o nessun valore. Sicuramente ti è successo abbastanza volte che (si spera) non vorresti perpetuarlo come pratica. Pertanto, la scrittura di contenuti chiari ed efficaci può aiutare a ridurre il tempo perso su Internet e, per estensione, ridurre l'energia sprecata. Per non parlare del fatto che è vantaggioso anche per il posizionamento nei motori di ricerca.

Un sito web più efficiente dal punto di vista energetico è nel complesso un sito web migliore

Se avete avuto la pazienza di leggere fino a questo punto, avrete sicuramente capito che la maggior parte dei casi in cui l'energia viene sprecata sono essenzialmente dovuti a omissioni tecniche. Il che significa che un sito web attentamente progettato potrebbe già essere più efficiente dal punto di vista energetico fin dall'inizio. E la parte migliore è che quasi tutte le azioni che possiamo intraprendere per aiutare i siti web a essere più efficienti dal punto di vista energetico li renderanno migliori anche in altri modi, che si tratti di una migliore SEO, di una maggiore velocità o di una migliore esperienza utente.

Quindi, quando si punta a ridurre l'impronta di carbonio di Internet, ridurre gli sprechi energetici prestando attenzione a tutti quegli elementi sopra menzionati è un ottimo punto di partenza. Naturalmente, il consumo energetico di un sito web può essere difficile da misurare con precisione (sebbene strumenti come Sito web Carbon può certamente aiutare), ma ci sono ancora molte cose che possiamo fare per eliminare gli sprechi e migliorare le prestazioni. La maggior parte di queste azioni non sono intrinsecamente difficili, richiedono solo attenzione ai dettagli e un'attenta riflessione in ogni aspetto della progettazione, della creazione di contenuti, dello sviluppo e dell'hosting di un sito web. Vale sicuramente la pena, tuttavia, poiché, come è diventato chiaro, un sito Web più efficiente dal punto di vista energetico è anche un sito Web migliore in generale.

La strada da percorrere: Joomla e il futuro dello sviluppo web sostenibile

Con la continua evoluzione di Joomla, l'impegno della sua comunità a favore della sostenibilità sarà fondamentale. Funzionalità come prestazioni migliorate, integrazioni di hosting ad alta efficienza energetica e principi di progettazione eco-friendly manterranno Joomla all'avanguardia nello sviluppo web sostenibile.

Adottando tali principi e sfruttando le capacità di Joomla, gli sviluppatori e le imprese possono contribuire a un ecosistema digitale più verde. Lo sviluppo sostenibile del web non è solo una scelta: è una responsabilità. Abbracciamolo con Joomla.

Alcuni articoli pubblicati sul Joomla Community Magazine rappresentano l'opinione personale o l'esperienza dell'Autore sul tema specifico e potrebbero non essere allineati alla posizione ufficiale del Progetto Joomla

Un tutorial per fare un tutorial

In questo tutorial si può imparare a fare un tutorial.

Un tutorial è una lezione che ti porta per mano attraverso una serie di passaggi pratici. Offre un'esperienza di apprendimento facendo qualcosa. È il modo migliore per conoscere un argomento con il quale non hai ancora familiarità.

I tutorial sono fondamentali in qualsiasi documentazione: mostrano i nuovi arrivati in giro, guidano i primi passi, sono la finestra dello shopping, danno un'esperienza piacevole e facile di un argomento. Uno dei "trucchi" per ottenere questo è quello di tralasciare tutto ciò che può distrarre nel processo di apprendimento. Ad esempio:

  • Modi alternativi per fare qualcosa o modi per fare qualcosa di molto specifico.
  • Riferimenti completi di tutte le opzioni e una descrizione tecnica della sua struttura.
  • Spiegazioni dettagliate e sfondi storici.

Tali informazioni supplementari possono essere fornite al meglio separatamente. Evita il più possibile di mescolarlo, poiché annebbierà solo il tutorial. Questo è il principio fondamentale del Diátaxis Framework, un modo sistematico per migliorare la documentazione. Inserire le informazioni aggiuntive di cui sopra rispettivamente in guide pratiche, riferimenti e spiegazioni. Nelle guide pratiche puoi trovare rapidamente come fare qualcosa di specifico. Nei riferimenti puoi cercare come funzionano le cose, quali opzioni hanno e dove trovare ulteriori informazioni. Con le spiegazioni puoi approfondire la tua comprensione dell'argomento.

TutorialKing

Sebbene un tutorial offra un'introduzione a un argomento, non è rivolto esclusivamente ai principianti. Può anche essere un'introduzione a un argomento avanzato! Sii chiaro all'inizio del tuo tutorial su quali conoscenze o abilità sono necessarie per essere in grado di fare il tutorial.

Se insegni a qualcuno come cucinare, devi spiegare cose come le tecniche di taglio, come usare un forno e altre cose da cucina di base. Si inizia con qualche ricetta semplice, preferibilmente qualcosa che dà facilmente un bel prodotto finale. Il prodotto finale in sé non è l'obiettivo principale: Vuoi insegnare alcune abilità. Questo è ciò che fa un tutorial. Qualcuno che sa cucinare e vuole fare qualcosa di specifico, non ha bisogno di un tale tutorial, ma di una ricetta. Le ricette sono le guide di come cucinare.

Passo dopo passo

Per creare un tutorial:

  1. Raccogliere informazioni sull'argomento. Documentazione esistente, video, ecc Nota le cose che trovi confuse o ti ci è voluto un po 'di tempo per capire. Ci sono domande sull'argomento sul forum?
  2. Quali concetti sono coinvolti? Doodling un piccolo diagramma può aiutare. Non cercare di essere completo, ma chiarisci cosa è importante per questo tutorial e cosa no.
  3. C'è qualche conoscenza o abilità specifica necessaria per insegnare nel tuo tutorial?
  4. Creare un esempio in cui è possibile utilizzare tutti i concetti e le competenze che si desidera trasmettere in questo tutorial. Rendi l'esempio il più semplice possibile.
  5. Definisci e scrivi i passaggi per raggiungere un risultato finale. Ogni passo dovrebbe essere riproducibile dal tuo studente.
  6. Filtra tutte le spiegazioni, i riferimenti, le alternative e i casi speciali: metterli in articoli separati.
  7. Scrivi un'introduzione. Cosa imparerai in questo tutorial? Menzionare tutti i prerequisiti necessari per fare il tutorial.
  8. Scrivi il riassunto. Cosa abbiamo imparato? Puoi anche menzionare i prossimi passi da intraprendere per saperne di più.
  9. Aggiungi schermate con annotazioni per illustrare le azioni da intraprendere. Suggerimento: utilizzare i numeri nello screenshot e fornire spiegazioni nel testo. Ciò rende più facile riutilizzare lo screenshot nelle traduzioni e riduce al minimo lo sforzo per produrre screenshot specifici per la lingua.
  10. Aggiungi diagrammi per spiegare strutture, relazioni e processi.
  11. Aggiungere gli articoli di accompagnamento con spiegazioni, riferimenti e guide pratiche.
  12. Metti tutti gli articoli di un argomento sotto un articolo di panoramica, spiegando cos'è, come si relazionano e da dove iniziare.

Esempio: Creare e pubblicare un articolo su Joomla

Ad esempio, creiamo un tutorial su come creare e pubblicare un articolo sotto un elemento del menu in Joomla.

Raccolta di informazioni

Nel nostro manuale dell'utente Troverai articoli pertinenti sotto "Iniziare", "Articoli" e "Menus". È spesso fonte di confusione quando si inizia con Joomla, che non si vede un articolo dopo averne creato uno, anche se lo si è contrassegnato come "pubblicato". Per vedere l'articolo, ci deve essere un link ad esso. Ci sono diversi modi per creare un tale collegamento (come un elemento del menu o un layout del blog di categoria o inserendolo nel layout del blog della home page contrassegnando l'articolo come descritto o collegando da un altro articolo), ma ora ci concentreremo sul rendere l'articolo disponibile tramite un elemento del menu.

Concetti e competenze

Abbiamo 'contenuto', 'articolo', 'menu' e 'menu-item'. Dobbiamo chiarire questi termini. Mostriamo dove trovare queste cose nel menu di amministrazione. Tralasciamo "categorie" o "in primo piano" in questo tutorial.

article menu item

Prerequisiti

Devi avere accesso al lato amministratore di un sito web Joomla funzionante e sapere come effettuare il login.

Obiettivo

Il nostro obiettivo è imparare a creare un nuovo articolo su Joomla e un nuovo menu sotto il quale inserire il nostro articolo.

Fasi

Utilizzare i seguenti passaggi per raggiungere il nostro obiettivo:

A. Creare un articolo
  1. Accedi al tuo pannello di amministrazione di Joomla.
  2. Per prima cosa lo faremo Crea l'articolo. Vai al menu "Contenuto" a sinistra e seleziona "Articoli".
  3. Fai clic su "Nuovo" per creare un nuovo articolo.
  4. Inserisci un titolo e un contenuto per il tuo articolo.
  5. Fai clic su "Salva e chiudi" per salvare il tuo articolo.

B. Creare un menu-elemento che collega all'articolo

al fine di mostrare l'articolo sul sito ci sarà creare un menu-elemento Collegamento all'articolo. Passare al menu "Menus" a sinistra e selezionare "Menu principale".

  1. Proprio come con un articolo, fai clic su "Nuovo" per creare un nuovo elemento del menu.
  2. Inserisci un titolo per il tuo elemento del menu. Questo è il titolo come apparirà nel menu. Non deve essere lo stesso titolo dell'articolo. Di solito è più breve del titolo di un articolo per adattarsi meglio al menu.
  3. Selezionare un tipo di voce di menu: alla voce "Articoli" selezionare "Articolo unico".
  4. Seleziona l'articolo: Seleziona l'articolo che abbiamo appena realizzato.
  5. Vai al sito e aggiorna. Congratulazioni: Ora puoi fare clic sulla voce di menu per vedere il tuo articolo.

Introduzione

Scrivi l'introduzione: cosa imparerai in questo tutorial e quali prerequisiti sono necessari.

Filtra le informazioni aggiuntive

Possiamo tralasciare qualcosa in ciò che è stato scritto fino ad ora? Bene, nel passaggio 2 della creazione di un elemento del menu ho menzionato il titolo dell'elemento del menu non deve essere lo stesso del titolo dell'articolo. È un'aggiunta necessaria a questo tutorial? In caso contrario, è meglio lasciarlo fuori per ora. Ma dà un suggerimento per un articolo più specializzato sui titoli degli articoli e sui titoli dei menu e quando vengono visualizzati, coinvolgendo le opzioni generali dell'articolo, le impostazioni dei singoli articoli sotto le opzioni-scheda, le impostazioni menu-voce sotto le opzioni-scheda del menu-voce e altro ancora. Sarebbe inoltre opportuno creare un articolo di riferimento sul modo in cui gli articoli, le categorie e i menu lavorano insieme; in un tale articolo cerca di essere completo, elenca tutte le possibilità. Un articolo specifico potrebbe essere: "Come visualizzare il titolo dell'articolo?", mostrando le impostazioni nelle impostazioni generali dell'articolo e nelle impostazioni dei singoli articoli e menu. Un articolo tipo spiegazioni potrebbe dire qualcosa sullo sfondo perché Joomla usa "articolo" dove per esempio WordPress usa "post" o come l'articolo viene visualizzato nella pagina finale.

Conclusione

Avvolgere tutto in un riassunto. E menzionare alcuni possibili passi successivi per saperne di più (come: un tutorial sull'aggiunta di una categoria o una guida pratica sulla scorciatoia da salvataggio a menu).

Immagini e grafica

Fare schermate mostrando i pulsanti e i campi coinvolti nella creazione di un articolo e di un elemento del menu. Contrassegnare i pulsanti e i campi coinvolti.

Per chiarezza è possibile aggiungere un diagramma che mostra come un articolo viene messo "sotto" un elemento del menu.

Aggiungere riferimenti, guide pratiche e spiegazioni

Inserire tutte le informazioni e le istruzioni aggiuntive in articoli separati.

Panoramica

Se hai più articoli su un argomento, dovresti fare un articolo di panoramica, spiegando come si riferiscono gli articoli e da dove iniziare.

Esercizio

Inizia a fare il tutorial di cui sopra come creare e pubblicare un articolo in Joomla. Il modo migliore per imparare è quello di fare. Pubblicheremo un esempio di come questo può apparire nell'attuale manuale dell'utente (sandbox) sito. Ma saremmo felici di mettere lì la tua versione se riesci a migliorare quella attuale.

Alcuni articoli pubblicati sul Joomla Community Magazine rappresentano l'opinione personale o l'esperienza dell'Autore sul tema specifico e potrebbero non essere allineati alla posizione ufficiale del Progetto Joomla