Supporto volontario e collaborativo per Joomla!® in italiano

Gestione download di un numero elevato di documenti

Valutazione attuale: 5 / 5

Stella attivaStella attivaStella attivaStella attivaStella attiva
 
Download documenti
In questo articolo viene trattata la problematica del download di un numero molto elevato di documenti come nel caso di un’associazione di amministratori di condomini che deve rendere disponibili, in aree riservate, circa un migliaio di file.
Dopo aver esaminato i criteri di scelta del componente da adottare viene mostrato un caso concreto comprendente i passi relativi alla creazione delle aree riservate, al funzionamento e al settaggio del componente scelto (Jdownloads), alle modalità di upload delle cartelle contenenti i file e alla visualizzazione del risultati.

1- La scelta del componente

Il download di documenti dal web è sempre stata un'applicazione molto richiesta e, pertanto, i relativi componenti per Joomla sono sempre stati numerosi e, spesso, di grande livello e affidabilità.
Esaminiamo di seguito le caratteristiche di tre componenti fra i più noti, in relazione all'obiettivo che in questa sede ci si propone.

Phoca Downloads

E' un componente "classico" molto apprezzato. Esso presenta, nello stile di questi sviluppatori, un numero molto elevato di opzioni che consentono un spinta personalizzazione dei risultati. Sono presenti in rete molti tutorial, alcuni un pò attempati e altri più recenti, oltre la documentazione nel sito ufficiale. Quà la traduzione in italiano.
L'utilizzo del componente, proprio per la sua natura di essere pressochè completo e di presentare grande flessibilità e adattabilità alle varie esigenze, richiede però l’impiego del tempo necessario ad acquisire la conoscenza delle varie prerogative  e a testarne le funzionalità e il corretto utilizzo.
Il componente ha dei sofisticati sistemi per consentire l'upload sul server dei file, da rendere disponibili per il successivo download, e consente di inserire per ciascuno di essi svariate proprietà.
I file sono suddivisi in categorie, corrispondenti a cartelle omonime in cui vengono caricati, uno alla volta o in maniera massiva.
I file possono essere anche caricati via FTP ma, in questo caso, il sistema non riesce a riconoscere le sottocartelle della cartella principale rendendo difficoltosi i successivi caricamenti dei file nelle stesse.
Inoltre è sempre necessario inserire manualmente il livello di accesso dei file e delle categorie anche nei casi non sia indispensabile inserire nessun altra proprietà; quest'ultima operazione è tanto più dispendiosa quanto è maggiore il numero dei file da caricare e la frequenza di caricamento.
Per questi ultimi due motivi il componente, pur molto flessibile e completo, non si presta bene nel caso in cui i file siano molto numerosi e/o debbano caricati frequentemente sul server.

Simple File Manager

E’ un componente, predisposto di recente da uno sviluppatore italiano, con caratteristiche di notevole semplicità di utilizzo e adattabilità alla maggior parte di situazioni ricorrenti nella pratica.
Tra l'altro consente l'abilitazione alla visualizzazione dei file al singolo utente registrato senza ricorrere alla creazione di gruppi di utente con un solo utente e successiva creazione dei relativi livelli di accesso.
Una esauriente e dettagliata descrizione del componente è reperibile in questo articolo.
Anche con questo componente è però necessario assegnare a ciascun file da scaricare il relativo livello di accesso con notevole dispendio di tempo nel caso in esame. 

Jdownloads

Questo componente, descritto in questo articolo, oltre che nella documentazione ufficiale, presenta caratteristiche intermedie fra i primi due, avendo un numero di funzionalità più elevate rispetto al secondo ma una facilità di utilizzo migliore rispetto al primo.
Ma, con riferimento all’obiettivo preposto, rispetto ai primi due ha la peculiarità che - opportunamente configurato - una volta che viene assegnato il livello di accesso ad una categoria, corrispondente ad una omonima cartella, poi i file caricati via FTP in quella cartella assumono automaticamente lo stesso livello di accesso della categoria di appartenenza.
Pertanto, nei casi in cui la struttura delle cartelle e sottocartelle rimanga sempre la stessa ma occorra solo inserire periodicamente in esse nuovi file, una volta create le categorie corrispondenti a dette cartelle ed assegnati alle stesse gli appropriati livelli di accesso, è possibile caricare via FTP, in un solo colpo, tutte le cartelle e sottocartelle complete dei file aggiornati con enormi risparmi di tempo in relazione al numero e  alla frequenza dei caricamenti.
I tre componenti sopra citati sono contenuti nella JED e segnalati da joomla.it in "le migliori estensioni di joomla". In quest'ultimo è  anche compreso il componente Akeeba Release System che però non è stato preso in considerazione in questa trattazione.

2- Esame di un caso concreto

Il precedente esame circa le funzionalità dei componenti per la gestione dei download è stato effettuato per scegliere quello più adatto a risolvere il problema di un'associazione di amministratori di condomini che, mensilmente, debbono caricare sul server circa un migliaio di file per renderli disponibili al download con gli appropriati livello di accesso.
L’esigenza primaria in questo caso è certamente quella di automatizzare al massimo l'upload dei file, anche se a scapito dell'inserimento di ulteriori informazioni, proprietà e/o opzioni.
Pertanto la scelta del componente da utilizzare ricade, per le motivazioni prima evidenziate, su Jdownloads.
Inoltre occorre prevedere delle aree riservate che consentano agli utenti (condòmini), appartenenti a ciascun condominio, di visualizzare l'elenco delle cartelle contenente i documenti di loro interesse.

Le aree riservate sono relative alle seguenti tipologie di documenti:
  • di interesse comune dei condòmini appartenenti ad un intero condominio
  • di interesse comune dei condòmini appartenenti alle singole scale 
  • di interesse del singolo condomino
In tal modo ciascun condomino potrà accedere ai file comuni (riservati al proprio condominio e alla propria scala) e ai file a lui solo riservati ma gli sarà inibito l'accesso a quelli riservati agli altri condòmini. Potrà inoltre disporre dei file in tempo reale e conservarne nel tempo la disponibilità.

3-Le aree riservate

La  creazione delle aree riservate viene effettuata assegnando gli Utenti a Gruppi di Utenti, aventi la stessa struttura gerarchica (condominio/scala/condòmini) delle cartelle e dei file relativi ai documenti da mostrare per il download.

La gerarchia dei cartelle e dei file è la seguente:
  • cartelle principali aventi il nome dei condomìni e contenenti i file comuni del condominio
    • sottocartelle relative alle singole scale del condominio contenenti, a loro volta, i file comuni alle stesse
      • sottocartelle, contenute all’interno di quelle al precedente punto, relative ai condòmini appartenenti alle singole scale, denominate con il loro nome utente  e contenenti i file di loro pertinenza.
Occorre pertanto predisporre preliminarmernte in locale le cartelle e i file disposti secondo la suddetta struttura gerarchica.

Creazione dei Gruppi di Utenti

Per ovvi motivi la registrazione degli Utenti deve essere effettuata dall'amministratore del sito, previa abilitazione della relativa funzionalità in Gestione Utenti/Opzioni.
Prima di registrare gli Utenti - coincidenti, a parte gli amministratori del sito, con i condòmini a cui dover dare i permessi per scaricare i file - è però necessario creare i Gruppi di Utente di cui dovranno fare parte.
La figura seguente visualizza uno stralcio dei Gruppi di Utente predefiniti di joomla e quelli creati nel corrente esempio.

Gruppi Utenti
La struttura dei nuovi gruppi è del seguente tipo:
  • condomìni, appartenenti al gruppo dei registered, con lo stesso nome dei condomìni
    • scale. appartenenti al gruppo dei condomini di appartenenza. con lo stesso nome delle scale
      • condòmini, appartenenti al gruppi delle scale di appartenenza, con lo stesso Nome Utente degli Utenti (sono gruppi di un solo Utente aventi lo stesso Nome Utente dell'Utente).
Nell'esempio, infatti, sono stati creati i gruppi:
  • F.Parlatore 37, per l'omonimo condominio, appartenente al gruppo registered
    • FP37UN, per l'omonima scala unica, appartenente al gruppo F.Parlatore 37
      • FP37UNP1, per l'omonimo utente, appartenente al gruppo FP37UN
      • FP37UNP2, per l'omonimo utente, appartenente al gruppo FP37UN
      • FP37UNP3, per l'omonimo utente, appartenente al gruppo FP37UN

Creazione nuovi Utenti

Creati i Gruppi di Utenti si possono creare gli Utenti da assegnare agli stessi.
Nella figura seguente sono elencati il Super User e gli  Utenti con nomi uguali ai Gruppi prima creati (FP37UNP1,FP37UNP2, FP37UNP3).

lista utenti
Per ogni nuovo utente si inseriranno i relativi dati dell'utente tra cui:
  • Nome: si indicherà il nome e cognome per avere un riferimento migliore
  • Nome utente (username): si indicherà per esempio un codice utilizzato dall'amministrazione del condominio per identificarlo nei propri file e comunque deve essere uguale al relativo gruppo prima creato
  • Password
  • email
  • Eventuale (consigliato) click su si al check box "Richiedi reimpostazione password"
Nella figura seguente è stato mostrata la scheda relativa all'Utente FP37UNP1

utente
Successivamente, cliccando sul pulsante "Gruppo di permessi assegnati" nel menu in alto orizzontale, si assegnerà l'Utente ad uno o più  Gruppi precedentemente creati.

In particolare ogni condòmino apparterrà:
  • al gruppo del condominio di appartenenza
  • al gruppo della scala di appartenenza
  • al gruppo omonimo
Infatti nella figura seguente relativa alla scheda ai "gruppi di permesso assegnato", l'utente FP37UNP1 è assegnato ai gruppi F.Parlatore 37 (condominio), FP37UN (scala unica) e FP37UNP1 (condomino), per consentirgli di poter visualizzare i file del suo condominio, della sua scala e di proprio interesse.

Gruppo utenti assegnati

I Livelli di accesso

Una volta creati i Gruppi e i relativi Utenti è possibile infine creare i Livelli di accesso.

I Livelli di accesso sono contrassegnati con i:
  • nomi dei condomìni
  • nomi delle scale
  • Nomi Utenti di tutti i condòmini
Nella scheda sono elencati i livelli di accesso del presente caso:

Livelli di accesso

A ciascun livello di accesso vengono attribuiti uno o più gruppi di utenti. Nell'esempio di figura ad essi sono assegnati i gruppi omonomi.

Livello di acccesso
A tutti i livelli di accesso vengono inoltre assegnati anche il gruppo Super Users ed eventualmente anche il gruppo Administrator per consentire anche a questi ultimi di avere accesso ai documenti.
Poichè le parti del sito a cui è assegnato un livello di accesso è visibile agli utenti, facenti parte dei gruppi attribuiti a quel livello di accesso, si costituiscono in tal modo le aree riservate richieste.

4-Utilizzo di Jdownload

Il componente di Joomla scelto per gestire il download dei documenti per il caso in esame, per le ragioni già espresse ai punti 1 e 2, è jdownloads.
Una volta aperto il pannello di controllo del componente viene visualizzata la videata di cui in figura.

Pannello Controllo Jdownloads
Si ci limita, in questa sede, a descrivere esclusivamente le funzionalità strettamente connesse alle specifiche peculiarità dell'applicazione in esame in relazione all'obiettivo preposto del caricamento veloce via FTP delle cartelle contenenti i file da scaricare.

Voci di menu

Le voci di menu possono essere selezionate dall'elenco di sinistra oppure cliccando sulle relative icone. Ci interessano, per i nostri fini, principalmente solo quelle di seguito trattate.

Configurazione

L’assegnazione automatica ai file, caricati via FTP, dei livelli di accesso della categoria, corrispondente alla cartella che li contiene, avviene utilzzando il menu configurazione.

Tralasciando tutte le altre voci di configurazione, che ognuno può personalizzare come crede, è necessario nell'apposito tab "monitoraggio" inserire:
  • Controllo della cartella di Download? si
  • Pubblicare automaticamente i file per il download? si

Pannello di controllo

Con tale impostazione, non appena si accede al pannello di controllo di Jdownloads, il componente effettua una ricerca nella cartella del server /jdownloads - dove devono essere preliminarmente caricate via FPT le cartelle relative ai vari condomini complete delle sottocartelle e dei file - e in automatico crea le "Categorie", corrispondenti alle cartelle, e i "Downloads", corrispondenti ai file contenuti nelle cartelle. Sulla parte destra della videata si possono avere utili informazioni di quanto è effettivamente successo.

informazioni

Categorie

Al click sulla voce Categorie si visualizza la lista delle categorie di documenti da scaricare.
La denominazione e la struttura delle categorie è teoricamente arbitraria ma, per le finalità di questa applicazione, è necessario che abbiano la stessa struttura gerarchica delle cartelle, contenenti i file da scaricare, e che portino lo stesso nome; ciò avviene in automatico effettuando via FTP l'upload delle cartelle.
Nella figura risultano già inseriti i livelli di accesso di ciascuna categoria.

Categorie

L'inserimento dei livelli di accesso alle categorie è un'operazione fondamentale perchè in automatico definisce i livelli di accesso di tutti i file che via FTP saranno inseriti in seguito nella cartella omonima della categoria.
"Aprendo" una categoria si visualizza il form con cui inserire anche il Livello di accesso.
Esso dovrà essere inserito subito dopo la creazione della categoria (cioè al primo trasferimento via FPT della relativa cartella) con modalità che saranno descritte in dettaglio nel prossimo punto 5.

categoria

Downloads

Analogamente cliccando sulla voce di menu "downloads" si apre la lista dei downloads (cioè dei file che sono pronti per essere scaricati) precedentemente creata.

downloads
Da notare che l'eliminazione di un "download" comporta la cancellazione del file dal server e quindi, se l'operazine è avvenuta per errore, esso dev'essere ricaricato. In caso di difficoltà, l'eliminazione di tutti i download di una categoria e il successivo ricaricamento FTP dei relativi file nella cartella corrispondente alla categoria, risolve comunque ogni problema.
Analogamente alle categorie, aprendo un "download" si visualizza il form contenenti campi da compilare e/o modificare che però, per quanto già detto, si consiglia di non variare.

5- Modalità di caricamento dei dati

La descrizione sopra effettuata si basa sull'ipotesi che i dati siano caricati via FTP in sottocartelle poste sotto /jdownloads posizionata nella root, in quanto, nel caso in esame, la moltitudine dei file da caricare mensilmente sul server esclude la opportunità di intervenire su ognuno di essi.
Una volta stabilita la gerarchia delle cartelle (corrispondenti alle categorie) e dei file contenuti in esse (corrispondenti ai downloads) e assegnati i livelli di accesso alle categorie il sistema automaticamente assegna ai file i livelli di accesso della categoria di appartenenza e li rende pronti ad essere visualizzati nel front end con le corrette autorizzazioni.
Ciò avviene non appena, come già detto, si entra nel pannello di controllo di jdownloads.
L'operazione è però un pò delicata e, per non incorrere in errori la cui correzione potrebbe indurre a notevoli perdite di tempo, occorre fare attenzione alle modalità con cui va effettuata:

A regime cioè con struttura delle cartelle (nome e posizione gerarchica) invariata rispetto alla situazione prededente.
In questo caso basta effettuare l'upoad dei file nuovi, ma anche di intere cartelle o addirittura dell'insieme di tutte le cartelle, per aggiornare il tutto. Alla fine occorre aprire il pannello di controllo di jdownloads per rendere effettivi gli aggiornamenti.
Inserimento di una nuova cartella in un punto qualunque della disposizione gerarchica:
  1. inserire preliminarmente in joomla il nuovo gruppo utente, il nuovo utente e il nuovo livello di accesso corrispondente
  2. caricare via FPT una cartella vuota nell'appropiata posizione e con il nome della categoria voluta
  3. aprire, nel pannello di controllo di jdownloads, la categoria nuova per assegnarle il livello di accesso appena creato
  4. chiudere jdownloads
  5. caricare via FTP i file di competenza della cartella ovvero caricare tutta la cartella con lo stesso nome di prima ma contenente i file
  6. riaprire jdownloads per rendere effettivi gli aggiornamenti
Caricamento iniziale di un nuovo condominio
La modalità è la stessa del caso precedente esteso però a tutte le cartelle:
  1. disporre in locale della cartella comprensiva di sottocartelle e dei file relativi al condominio da caricare.
  2. creare una copia della suddetta cartella (esempio cartella(2))
  3. svuotare dei file la cartella originale (cioè quella con il nome originale) e tutte le sottocartelle lasciando l'altra (la cartella(2) con i file) momentaneante rinominata
  4. inserire in joomla tutti i gruppi utente, gli utenti e i livelli di accesso necessari in funzione della struttura gerarchica delle cartelle predisposte
  5. caricare via FTP l'intera cartella vuota con tutte le sottocartelle vuote sul server nella cartella /jdownloads
  6. entrare nel pannello di controllo di jdownloads per inserire i corretti livelli di accesso a tutte le categorie create e, con l'occasione, riempire tutte gli altri campi ritenuti necessari e chiudere jdownloads
  7. rinominare col nome originale la cartella con i file (per es. rinominare cartella(2) in cartella) e caricarla con tutte le sottocartelle con i file via FTP sul server in /jdownloads per sostituire le cartelle vuote con quelle piene di file in modo che i downloads possano assumere automaticamente i livelli di accesso delle categorie.
  8. riaprire jdownloads per rendere effettivi gli aggiornamenti dei livelli di accesso dei file.
Se qualcosa non fosse andata nel verso giusto, cancellare i downloads errati (o anche tutti quelli di una categoria o al limite tutti) e ripetere l'operazione. Si ricorda che ogni cancellazione dei "downloads" corrisponde una cancellazione dei relativi file sul server.

6-Visualizzazione dei risultati

Per rendere visibile nel front end l’area riservata, contenente i file da scaricare, è necessario creare l'apposita voce di menu selezionadone il tipo fra quelle proposte dal sistema per Jdownload. In figura è stata scelto "Lista di tutte le categorie".

Alla voce di menu appena creata è stato inoltre assegnato il livello di accesso Registered in modo da non essere visualizzata finchè l'utente non effettua il login.

area riservata

Dopo aver effettuato il login appariranno le voci di menu riservate tra cui Area Downloads come nella seguente figura.

login

 Selezionado la voce Area Downnload si visualizzano le cartelle e i file che si possono scaricare in funzione del livello di accesso posseduto.

e navigando nelle cartelle si individua il file da scaricare

Prova l'Area Riservata


CommentaCommenta questo articolo sul forum

Ho scritto e condiviso questo articolo su Joomla.it, fallo anche tu. Invia ora un nuovo articolo!
Angelo Cani
Alcune informazioni su di me:
Funzionario Enel in pensione sviluppa siti web con joomla e T3 Frameworks e siti e-commerce con Prestashop.


Ho anche scritto:
         ✔ diventa autore su Joomla.it

Ultima versione di Joomla!®

downloadVer. 3.7.2 Stabile Italiana
Data di rilascio: 23 Maggio 2017
(leggi la notizia Demo online

Le migliori estensioni gratuite

Un elenco aggiornato con i link a più di 100 estensioni fra componenti, moduli e plugin gratuiti per Joomla! 3

Manuale in italiano

Manuale in italianoPer conoscere meglio Joomla!, le sue caratteristiche ed il metodo di utilizzo leggi il manuale tradotto in italiano.

Molto utili anche le risposte alle domande più frequenti: FAQ

Sicurezza del proprio sito Joomla!Leggi anche: Nozioni sulla sicurezza del proprio sito

Autori di articoli recenti

Invia un articolo!Scrivi un articolo su Joomla.it e ricevi i ricavi dalle pubblicità di Google Adsense!
Segui queste istruzioni, condividi e collabora con la community. L'elenco degli autori attivi sul sito.

Libri consigliati

Torna su

Joomla.it sui Social Network

JoomlaDay Italia

JoomlaDay

Newsletter

Inserisci qui la tua e.mail: