Joomla! - Tecnologie dell'informazione e della comunicazione https://www.tmg.it/articoli-tecnici/joomla Sun, 05 May 2024 18:35:17 +0000 Joomla! - Open Source Content Management it-it Making zoo menu visible to managers https://www.tmg.it/articoli-tecnici/joomla/91-making-zoo-menu-visible-to-managers https://www.tmg.it/articoli-tecnici/joomla/91-making-zoo-menu-visible-to-managers

Why do some administrator / backend components show only if the user is Administrator and not to Managers? How can I control it?

Joomla! 1.6, 1.7 and 2.5+ introduce a very flexible permission system (ACL), but sometimes components - even common ones like com_zoo by yootheme, omit to include the "Options" button and leave defaults which do not suit us (or forget about defaults entirely, as in the zoo case).

Purpose: to show zoo menu item also to managers or other children groups in the backend.

Situation: the component does not show an "option" button in the main configuration page, so Joomla ACL configuration is not available.

Solution: copy the ACL from a component you configure correctly (in my case, com_contact).

Tools: database access.  Minimum sql knowledge (if not, make sure you copy and paste the queries below, do not make up your own or you'll destroy your site).

Steps to make a menu item visible to managers in the backend

From a sql prompt (i.e. phpmyadmin)

1. Find the asset for zoo and contact, to compare the ACLs

select * from eco_assets where name like 'com_zoo' or name like 'com_contact'

(make sure you only have one row returned for zoo; otherwise in the next instructions add a filter on the field Id)

2. update the row: it's just missing the core ACL so it will default to Administrator and above

UPDATE `eco_assets` set `rules`= '{"core.admin":{"7":1},"core.manage":{"6":1},"core.create":[],"core.delete":[],"core.edit":[],"core.edit.state":[],"core.edit.own":[]}' where name = 'com_zoo'

That's it!

What if the component is not there?

Many of the administrator menu items will not be so easy to find.  You see, the Administrator menu is still built in code, and only the Components branch is read from the database.

If this is the case, a template override will be the solution; if you're using bluestork, simply copy

/administrator/modules/mod_menu/tmpl/default_enabled.php

to

/administrator/bluestork/html/mod_menu/default_enabled.php

and edit at will. php coding skills are not optional here.

If you get something wrong, just delete / rename the newly created default_* files and you're back to "standard" joomla! layout.  Now you can start over ...

]]>
r.zorn@tmg.it (Riccardo Zorn) Joomla! Thu, 24 May 2012 08:06:25 +0000
Jomsocial Video Server https://www.tmg.it/articoli-tecnici/joomla/89-jomsocial-video-server https://www.tmg.it/articoli-tecnici/joomla/89-jomsocial-video-server

Jomsocial is the leading provider of social features for Joomla!

It features a nice video integration with full support for user uploads, linking to external video providers and more.  The videos are hosted locally, with an option to use the (commercial) zencoder service offered by Amazon S3 cloud services.

We were just starting a video service, so we thought we'd keep the jomsocial videos for a while.  But we were facing

A few issues with Jomsocial video

  • The videos are in flv-Flash format, with several issues on mobile devices
  • The player does not support ads
  • Our server would just die during compression jobs (scheduled, not live)
  • The server requires configuration in terms of process time and resources which are excessive for the Joomla server

What we wanted

  • Compress and host the videos on a separate server
  • Add our logo as a clickable overlay while playing video
  • Support HTML5 video (with Projekktor to fallback on non-compatible browsers) with ogg/vorbis, mp4, webm support
  • An easy-to-manage video queue
  • Option to keep uncompressed files for future recompression
  • Easily scale to 2,3,4...30 video servers

So we decided to see if it was possible to hack Jomsocial and introduce a separate server for video compression and - why not - streaming.

Compressing videos for the web is not easy, and having an extra server requires a lot of effort for synchronizing the two and making everything work smoothly.

Our approach

We chose an asynchronous approach, to reduce the load on the Joomla! server to a minimum, and most importantly to be able to manage effectively what can quickly become a multi-terabyte video archive.

The core changes

Core changes to the jomsocial package are minimal, 3 files and a total of 12 lines need to be changed. As part of the setup process, we provide the modified files.  Currently for JS2.4.2, shortly for 2.6 once it goes stable.

Get it now!

At the present time, we are constantly enhancing our solution for our purposes and have not standardized the package.

The installation on the Joomla server is quick and easy, you just need to upload a few files and tell Jomsocial you wish to use an alternative video server (with one newly created option).

The video server installation is however much more tricky.  Every linux distribution requires different attentions and in our experience a senior system engineer is necessary to appropriately setup the system.  We tried offering the documentation but ended up spending too much time on support, this is why we have switched to a new business model: you provide the server (with one of the supported distributions), and we take care of the setup and integration.  This allows us to also manage your current video archive and convert it to your new server.

We also provide a hosting plan which is much more convenient than Amazon's zencoder, and most importantly will allow you to get started quickly and setup your own video server only once it becomes convenient for you.

Given the custom nature of this work, please contact us with the specifications of your requirement and we'll quickly get in touch.

 

]]>
r.zorn@tmg.it (Riccardo Zorn) Joomla! Tue, 06 Mar 2012 16:00:52 +0000
Error 404 con eleganza su Joomla! 1.7 https://www.tmg.it/articoli-tecnici/joomla/81-error-404-con-eleganza-su-joomla-17 https://www.tmg.it/articoli-tecnici/joomla/81-error-404-con-eleganza-su-joomla-17

Joomla! 1.7 ha un componente di reindirizzamento molto utile per gestire una migrazione di un sito.

Può esser comodo per reindirizzare automaticamente le richieste che pervenivano alla vecchia pagina /contatti alla nuova /contattaci; oppure per creare un alias ad un percorso.

Ma le pagine 404 sono sempre in agguato e questo può penalizzare pesantemente il pagerank di un sito.

Vi sono molti componenti che aiutano nella gestione dei link morti.  Dall'eccellente Dynamic404, che cerca un contenuto plausibile tra menù e articoli per provare a soddisfare la richiesta, a tutta la schiera dei componenti SEF, ci sono soluzioni per tutti i gusti.

com_error404 è un componente semplice che permette di creare una pagina 404 personalizzata ed avvisarci per e-mail ogni volta che viene fatta una richiesta che Joomla non è riuscito a soddisfare.

La configurazione suggerisce di disattivare il modulo redirect di Joomla!, ma questo rende impossibile creare degli alias SEF.  La soluzione consiste nell'ordinare i plugin di sistema mettendo prima il redirect di Joomla! e dopo il plugin error404:  dal menù amministrativo scegliete Estensioni/Gestione plugin, nella colonna filtro fate un filtro per tipo "system"

quindi, cliccate la colonna Ordine ed impostate i numeri.  Consiglio: premendo il floppy - arcaico dispositivo di memorizzazione un tempo usato come simbolo per la funzione di salvataggio - gli elementi vengono rinumerati a partire da 1 progressivamente. 

Impostate il System - Redirect prima del System-Error404; ed abilitateli entrambi.

Provate una url non esistente su questo sito, potete vedere il risultato, ad esempio www.tmg.it/test_di_giulia

]]>
r.zorn@tmg.it (Riccardo Zorn) Joomla! Fri, 23 Sep 2011 06:23:53 +0000
Joomla Component Zoo Comment bubble popup https://www.tmg.it/articoli-tecnici/joomla/78-joomla-component-zoo-comment-bubble-popup https://www.tmg.it/articoli-tecnici/joomla/78-joomla-component-zoo-comment-bubble-popup

The zooComment (by Yootheme) module allows to choose from several different themes in the module's options: bubble-angled-h, bubble-angled-v etc.

This update adds the theme: bubble-popup which only shows the avatars, and pops up the message smoothly when you hover over them.

This bubble-popup started from a copy of bubble-angled-h; main changes are in the css, to make bubbles' position absolute, and hiding them; and in the bubble-popup.php, where jQuery is used to add behaviour.

To use, simply extract the contents of the archive to the root of your Joomla! directory, no files will be overwritten, and the new files:

modules/mod_zoocomment/tmpl/bubble-popup.php
modules/mod_zoocomment/tmpl/bubble-popup/*


will be copied.  Now you can go in the module's configuration and choose the "bubble-popup" template.

Download the file here

 

]]>
r.zorn@tmg.it (Riccardo Zorn) Joomla! Thu, 15 Sep 2011 18:30:25 +0000
Joomla: EventList - Zoo Integration https://www.tmg.it/articoli-tecnici/joomla/77-joomla-eventlist-zoo-integration https://www.tmg.it/articoli-tecnici/joomla/77-joomla-eventlist-zoo-integration

1. Reasons for integrating EventList and Zoo

I need users to subscribe to recurring events which are described as Zoo items e.g.

Party location, gallery of previous events, how to get there, user comments etc.

Once a new event is created (related to this Zoo Item), it should be shown on the homepage in a neat calendar.

Ideally users should be able to:

  • Subscribe / Book
  • Request for more info
  • Pay

The connection should be two way, event instance -> link to zoo item for details; and zoo item -> list events of this kind.

2. Installation instructions

Please download the attached package. I have included the modified files over:

EventList 1.0.2 beta 5

EventList QIVVA Ajax Calendar v. 1.0.0

And this was tested only on Joomla! 1.7.0 using Zoo 2.4.15 and Chronoforms (not necessary however).

 


3. How I did it

Joomla 1.7.0, Zoo 2.4.15/2.5beta, EventList 1.0.2 beta 5, Chronoforms, Modules Everywhere
To make things as easy as possible I added a new view template for frontend editing of an event called components/com_eventlist/views/editevent/tmpl/zoo.php.
There I placed a button which allows you to choose from your zoo items in a modal frame. It then adds the zoo id after the title, fills required fields, and triggers a new action: savereloadevent instead of saveevent.
Upon saving (in the backend controller.php - function savereloadevent) I remove the zoo id from the title and use it to gather information about the zoo item (description, category, image etc); I then create a description which contains a link to the zoo item and to request more information (using a Chronoforms form); once this is done I reload the item in edit mode (note: works for special users only; other users cannot edit html in EventList).

3.1 Zoo Integration the easy way

During the savereloadevent I get the zoo item and choose the first textarea as description (or the first text if no textarea), then add the links to it; and the first image as image.

3.2 Configurations I did

I enabled frontend editing to registered users (for some reason it didn't work if I specified "special/administrators")
Added several categories to match Zoo categories
Used Modules Everywhere to place a call to the Qivva Ajax Calendar for EventList and Latest Events modules with a filter on category in each Zoo Category description text (so they show only related events).

4. Downloads and Contributions
So far I have not released anything, I'd rather add a few touches first. You can see the current results on Staging, the dev is unaccessible.

]]>
r.zorn@tmg.it (Riccardo Zorn) Joomla! Tue, 13 Sep 2011 12:07:38 +0000
Perché Joomla! 1.7? Come migrare a Joomla! 1.7? https://www.tmg.it/articoli-tecnici/joomla/75-perche-joomla-17 https://www.tmg.it/articoli-tecnici/joomla/75-perche-joomla-17

Joomla! 1.6/1.7 sono arrivati.

Dalla versione di Joomla! 1.5 alla 1.7 molte sono le novità, sia per quanto riguarda gli sviluppatori che per gli utenti.Pannello Amministrativo Joomla! 1.7

La prima considerazione da fare prima di affrontare il tema della migrazione è:

Possiamo migrare?

I requisiti di sistema sono grossomodo gli stessi di Joomla! 1.5 quindi da questo punto di vista cambia poco (a meno che non abbiate installato su windows!)

Dovrete invece valutare con somma attenzione tutti i componenti che usate.  Per prima cosa stabilite se vi servono ancora (Joomla! 1.7 supporta la localizzazione e SEO molto meglio dei predecessori, quindi alcuni componenti dedicati a queste funzionalità potrebbero rendersi inutili).  Una volta realizzato l'elenco dei componenti indispensabili per il vostro sito, verificate se esiste una versione per Joomla! 1.7; spesso la versione per Joomla! 1.6 funziona anche su Joomla! 1.7, anche se non sempre è vero; il nuovo sistema di logging ed altre modifiche potrebbero renderli inutilizzabili.

Cosa succede durante la migrazione?

Il metodo più semplice è quello di utilizzare il potente componente jUpgrade, che supporta diversi componenti di terza parte.

Questo creerà le tabelle della nuova versione di Joomla nello stesso database, ma con un altro prefisso (jos_ diventa - per esempio - j17_).  Inoltre copierà i dati significativi - o almeno quelli che ritiene tali - nelle sottocartelle di /jupgrade.

Quanto costa migrare?

La migrazione in sé è un processo estremamente semplice e veloce. Installate il plugin jUpgrade, due click e qualche minuto e avrete una nuova copia del vostro sistema, in una sottocartella /jupgrade, con i contenuti del sito migrati nella nuova struttura all'interno dello stesso database.  L'amministrazione è accessibile da /jupgrade/administrator. 

A questo punto, a seconda della complessità del vostro sito e dei vostri templates, il tempo potrebbe essere di qualche ora per verificare che tutto funzioni, o di qualche giorno per spostare a mano i dati da un componente ad un altro e litigare con le nuove funzioni che - benché più comode e complete - non sono esattamente allo stesso posto delle precedenti.

Differenze principali tra Joomla! 1.5 e 1.7

  1. Installazione "vergine": il prefisso delle tabelle è casuale.

  2. Template manager / new styles window; Stili permette di impostare i parametri dei templates; templates permette la modifica di php e css

  3. Language management: è possibile impostare una lingua per ciascun contenuto, rende di fatto l'uso di JoomFish! non indispensabile.

  4. Le voci di menù sono accessibili dalla gestione menù (un po' più intuitivo)

  5. Dai menù di gestione si aprono sottomenù veloci per le scelte principali (ad es. per gestione articoli si apre Nuovo articolo)

  6. Il menù sistema è stato inglobato nel menù Sito

  7. Dopo il logout, si viene reindirizzati alla pagina di login in administrator quindi si torna alla pagina precedentemente aperta automaticamente.

  8. Nuova opzione per visualizzare un modulo su tutte le pagine eccetto quelle selezionate

  9. Sono disponibili layout alternativi automatici per la homepage

  10. Molti nuovi template di fabbrica

  11. Frontpage rinominata “in evidenza"

  12. Trash warning: il cestino/ recycle bin funziona così: per vuotarlo selezionare nella sezione opportuna (quindi articoli, menù ecc.) il filtro sugli elementi cestinati; a questo punto l'icona cestino diventa “elimina permanentemente”.

  13. Le sezioni non esistono più, e le categorie sono diventate multilivello

Procedura di aggiornamento

  1. Per prima cosa aggiornate all'ultima versione di Joomla! 1.5, al momento di scrivere questo articolo la 1.5.23.
  2. Backup
    1. Se è installato JoomlaPack, fate un backup con questo
    2. Se avete accesso shell, fate un tarball dell'installazione completa:
    3. Se avete accesso phpmyadmin, fate un backup completo del database
    4. Se non avete fatto backup integrale in un modo o nell'altro fermatevi e non procedete oltre finché non riuscite a farlo!
  3. Pulite la cache
  4. Logout
  5. Login
  6. Abilitare Extensions → plugins → System - Mootools Upgrade (questo non è visibile finché non vi ri-loggate)
  7. Installate jUpgrade
  8. Specificate nelle opzioni di jUpgrade il vecchio e nuovo prefisso per le tabelle del database (oppure accettate i defaults)
  9. Troubleshooting:
    1. usare un browser diverso da Firefox 5 per osx (solo se non parte jUpgrade, che nella versione 1.2 è incompatibile)
    2. Rendere scrivibile al processo di apache la cartella root del sito
    3. Riordinare i plugins e mettere system/mootools upgrade come primo in lista
    4. rimuovere gli .htaccess se avete “indurito” la configurazione
    5. mettere configuration.php al suo posto standard se è nascosto
  10. Premete il tasto di jUpgrade e aspettate che termini la migrazione automatica. La migrazione automaticamente scarica la versione aggiornata di Joomla e migra i dati. Al termine avrete accesso alla nuova installazione sotto /jupgrade, la vecchia rimarrà disponibile.
  11. Fate una verifica pignola del sito sotto jupgrade e verificate che tutto sia a posto!  In particolare:
    1. Posizioni dei templates (soprattutto se usate templates commerciali)
    2. Componenti mancanti, jUpgrade supporta solo alcuni componenti, gli altri ve li dovrete migrare a mano
    3. Contenuti, ordine delle sezioni / categorie
    4. Voci di menù, assicuratevi di cliccarle tutte!!!
    5. Contatti è molto più evoluto, forse potete fare a meno di componenti specifici
    6. Se avevate JoomFish! con molti contenuti tradotti, seguite le loro indicazioni; se invece avete poche pagine, forse vi bastano le funzionalità di Joomla! 1.7
    7. La funzione SEF Urls in Componenti/Redirect crea molti alias durante la migrazione, verificateli, eliminate quelli che non vi servono, lasciate solo alias utili
    8. Mettendo i due siti (vecchio e nuovo) fianco a fianco, fate un ulteriore controllo...
  12. Puntate il vostro sito alla nuova cartella (oppure spostatela al posto di quella vecchia), non sovrascrivete la vecchia! In questo modo avrete una installazione pulita
  13. Assicuratevi che la sicurezza sia adeguata, permessi dei files, cartelle di log e temporanee, accesso al database, posizione file di configurazione ecc.

Se avrete seguito le istruzioni fin qui non dovreste aver problemi; nel caso il sito si rifiutasse proprio di funzionare, avete sempre il vecchio a disposizione: e forse vale la pena di aspettare Joomla! 1.8 (Aprile 2012), che è una major release e avrà strumenti più maturi e completi per migrare.

Piccole differenze

Joomla! 1.7 offre notevoli migliorie rispetto al suo predecessore 1.5, ma vista l'entità dell'aggiornamento alcune funzionalità hanno dovuto cambiare posto.

Al di là dei menù di sistema già menzionati ecco una breve lista di dritte per svoltare:

Impostazioni utenti

Per gestire le impostazioni di regsitrazione degli utenti (se è possibile registrarsi dal front-end ecc.) aprire la lista degli utenti e selezionare in alto a destra le Opzioni

Impostazione articoli / mostra titolo ecc.

Se usate le breadcrumbs e siete soliti ripetere il titolo all'inziio di un articolo, in configurazione di base vi troverete con 3 titoli uno sotto l'altro, sempreché abbiate la fortuna di non avere il menù di primo livello ancora sopra, per un record di 4 elementi uno sotto l'altro.

Se volete evitare di visualizzare il titolo, la categoria, il nome dell'autore e configurare altre opzioni aprite la lista articoli, il pulsante Opzioni si trova in alto a destra.

Inserisci video Youtube / codice custom

Questa è fastidiosa, spero verrà risolta in futuro. Al momento abbiamo due filtri che vengono messi in atto in Joomla! 1.7 standard. Il primo è fatto direttamente dall'editor TinyMce, installato e caricato di default su tutti gli utenti. Il secondo dai filtri di contenuto di Joomla.

Il primo rimuove il tag <embed di youtube, l'altro la maggior parte dei codici html.

Al momento (Settembre 2011) l'unico modo è eseguire questi due passi:

1. Rimozione dei filtri di contenuto

Dalle opzioni degli articoli (già usate sopra) selezionate "Filtri testuali" e accanto a Super-User selezionate "Nessun filtro"

2. Rimozione dell'editor TinyMce

Dalla configurazione Globale / Sito / Editor predefinito (per tutti gli utenti)

Da Utenti / Gestione Utenti fare click sul nome dell'utente e sulla destra forzare l'editor "Nessuno"

Una valida alternativa è quella di installare un editor WYSYWYG un po' più evoluto, come ad esempio FCK Editor

Errore 404

Può capitare un errore 404 se eliminate tutti gli articoli e ci sono ancora dei menù - o ancora peggio la voce di menù "Home" - collegati a questi articoli. Leggete questo articolo sui modi per gestire efficacemente gli errori 404.

Ma dov'è il cestino? Come si fa a svuotare il cestino?

Questa è una modifica che non ho proprio capito.  Il cestino è stato reso indipendente per ciascuna delle seguenti categorie di oggetti:

  • moduli
  • voci di menù
  • articoli

Come faccio a vuotarlo?

Dopo aver cestinato un elemento, dovremo selezionare il filtro Stato: Cestinato.

Quindi osservate l'icona cestino in alto a destra:

diventa magicamente Svuota Cestino!

Ora non ci resta che selezionare tutti i files e premere il tasto Svuota Cestino.

Intuitivo, vero?

 

]]>
r.zorn@tmg.it (Riccardo Zorn) Joomla! Mon, 08 Aug 2011 12:58:41 +0000
Come disattivare la cache in Joomla! https://www.tmg.it/articoli-tecnici/joomla/73-come-disattivare-la-cache-in-joomla https://www.tmg.it/articoli-tecnici/joomla/73-come-disattivare-la-cache-in-joomla

La cache è la funzionalità che archivia temporaneamente le pagine quando vengono richieste e, per un tempo limitato, le ripropone ai visitatori successivi.

La cache ha due effetti: il primo è quello di rendere più veloce la navigazione del sito; il secondo è quello di ritardare la pubblicazione degli aggiornamenti e delle modifiche del "tempo di cache".  Inoltre la cache occupa spazio su disco.

Disattivare la cache in Joomla! è semplice (ma poco intuitivo).

  • Nella configurazione (Amministrazione -> Sito -> Configurazione),dalla scheda Sistema, nella parte destra si può impostare sia il tempo di cache (un'ora è indicato per siti con aggiornamenti poco frequenti; in un sito di news può essere indicato usare 3 minuti o addirittura disattivarla)
  • Nella gestione plugin (Estensioni -> plugin) individuare il plugin System-Cache e disattivarlo.

Perché disattivare la cache?

Durante un aggiornamento del sito, o attività di revisione e modifica, in particolare se fatte a più mani, è utile disattivarla per vedere istantaneamente il risultato delle proprie attività.

Come detto sopra, in un sito con aggiornamenti frequenti dei contenuti può valer la pena di disattivarla in toto.

]]>
r.zorn@tmg.it (Riccardo Zorn) Joomla! Wed, 03 Aug 2011 03:49:17 +0000
Pubblicato il nuovo componente joomla "cool message" https://www.tmg.it/articoli-tecnici/joomla/25-pubblicato-il-nuovo-componente-joomla-qcool-messageq https://www.tmg.it/articoli-tecnici/joomla/25-pubblicato-il-nuovo-componente-joomla-qcool-messageq

Cool message mostra una dialog box carina per i messaggi di sistema nel front-end, invece della scritta che tipicamente appare sopra il titolo.

Il modulo è pubblicato sul noto portale pasqualoni.it 

 

]]>
r.zorn@tmg.it (Riccardo Zorn) Joomla! Tue, 27 Mar 2007 21:55:22 +0000