Corso Base WordPress al TalentLab

wordpress-custom-post-typesATTENZIONE: Sono in attesa di indicazioni da parte del Talent-lab per il CORSO AVANZATO e la data di inizio. APPENA MI ARRIVERANNO LE PUBBLICHERO’ IMMEDIATAMENTE QUI.

Grazie!

 

WordPress è il CMS (Content Management System) open source più utilizzato nel mondo, sia dagli utenti meno esperti, grazie all’interfaccia grafica intuitiva e alla facilità di utilizzo, sia da realtà del calibro di PlayStation, Yahoo, eBay e molti altri, grazie all’estrema versatilità e potenza. Tra i vantaggi di WordPress, oltre alla gratuità, c’è una community tra le più ampie che mette a disposizione degli utenti una grande quantità di materiale.
Il corso si rivolge a chiunque abbia necessità, per hobby o per lavoro, di gestire un blog o un sito web e si avvicina a WordPress per la prima volta e si terrà dal 17 Maggio al 14 Giugno 2016 presso le strutture del TalentLab di Padova.

Obiettivi del corso base WordPress sono:

  1. arrivare ad avere il proprio sito Web funzionante attraverso un account WordPress.com e acquisire le conoscenze di base per gestire al meglio la pubblicazione dei propri contenuti.
  2. introdurre i temi del corso avanzato e i vantaggi della piattaforma WordPress.org 

Scarica le slide:

Il link seguente consente di scaricare le slide del corso.
Il file formato PDF verrà aggiornato ogni settimana con i nuovi concetti spiegati a lezione, dunque la versione definitiva verrà caricata il 14 Giugno 2016:

Slide corse base wordpress

 

Il programma del corso base WordPress:

  1. introduzione: perchè WordPress?
    1. il CMS più usato al mondo: Open-source e software free
    2. differenze tra piattaforme .com e .org (sef-hosting)
    3. apertura di un account wordpress.com
    4. impostazioni generali
  2. gestione contenuti:
    1. textarea avanzata: pagine e articoli
    2. commenti
    3. tassonomia: categorie e tag
    4. gerarchia contenuti e menu
  3. l’aspetto grafico
    1. trovare il tema giusto: l’evoluzione dei template e il drag-n-drop
    2. struttura del tema e personalizzazione
    3. menu e widget
    4. gestione contenuti multimediali (immagini e video)
  4. esempi e caratteristiche ulteriori
    1. la multiutenza
    2. piattaforma multidominio
    3. condivisione dei contenuti
    4. backup e accenni sulla migrazione

OS media WordPress theme

OS-media theme è un tema WordPress (child theme di Twenty Fourteen), studiato per gestire nel modo migliore i contenuti video on-demand “in evidenza” generati dal plugin OS-media HTML5 featured video

os-media-theme1

Il tema consente di gestire nella maniera corretta i Custom post type dedicati ai video generati da plugin OS media plugin. In modo tale che essi vengano mostrati come content featured video, ossia attraverso lo schema a griglia utilizzato dal tema Twentyfourteen per le featured images (come mostrato nell’immagine qui a fianco e nel link alla versione DEMO online).
Il tutto in maniera automatica e senza bisogno di configurazioni.  Le uniche configurazione richieste sono a livello del plugin OS media  per la generazione del player HTML5.
Il tema non richiede configurazioni ma consente customizzazioni, in particolare dei colori (attraverso l’ottimo plugin Fourteen Colors) e del logo nell’intestazione: Appearance->Customize.

 

Go to WordPress.org theme official page

link to online DEMO

Scuola Aperta! L’applicativo web per le scuole professionali

SA_logo

Una piattaforma Web pensata per la gestione delle attività scolastiche di un Istituto Professionale, strutturato in modo complesso e su più sedi, in grado di fornire all’amministrazione uno strumento completo per tutte le attività di gestione della scuola: lezioni-docenti-plessi-aule-materie-assenze-voti.

INTRODUZIONE

Sulla scorta della mia esperienza nella scuola ho realizzato una piattaforma web per la gestione delle attività amministrative, dell’orario delle lezioni e del Registro docenti, OTTIMIZZATO per l’attività di un Istituto Professionale accreditato dalla Regione (Veneto nel mio caso), in grado di gestire le attività scolastiche quotidiane e fare un dettagliato “report” della situazione dopo avere caricato i Progetti dei singoli interventi formativi ad inizio anno e le lezioni/assenze/ritardi quotidiani da parte dei docenti nella sezione “Registro-docente”. Le lezioni quotidiane del Registro-docente sono collegate all’Orario delle lezioni caricato periodicamente sulla base della durata del modulo didattico dall’amministrazione, la quale avrà la possibilità di avere sotto controllo contatori aggiornati delle ore residue per ogni singolo modulo didattico, ovvero per ogni singola materia o UFC (Unità Formative Capitalizzabili).

La struttura dell’applicativo è flessibile, nel senso che esiste una tabella del database (aree) che di fatto organizza la struttura ad albero del menu dell’applicativo, che dunque potrà essere modificata (non nella logica di fondo, ovviamente).
Ecco quella attualmente in uso nella versione in Beta test:

  • area amministrazione (riservata amministrazione)
    • personale
    • ruoli personale
    • docenti
    • classi
    • allievi
    • corsi
    • materie
    • sedi/aule
    • caricamento orario lezioni (riservata ruolo “gestione orario”)
    • orario lezioni docenti
  • area registro docente (riservata docenti)
    • firma lezioni / assenze
    • voti
    • note disciplinari
  • area orario lezioni
    • orario classi (pubblica)
    • orario docente (riservata docente autenticato, se l’utente autenticato non è un docente visualizza un errore)
    • orario sedi (pubblica)
  • report (riservata direzione scolastica)
    • report lezioni
    • monitoragio materie
    • monitoragio assenze
    • elenco dei log di accesso

LOGICA DI FUNZIONAMENTO

1. Caricamento Progetti Formativi (a inizio anno)

  1. Il primo passo da effettuare sarà il caricamenti delle anagrafiche del personale e i ruoli da assegnare ad esso, ad esempio:
    RUOLO AREE di intervento
    1  direzione generale orario docente, orario sedi, personale
    3 direzione orario docente, modifica orario,…
    4 amministrazione orario docente, personale, orario…
    5 docenza orario classe, orario sedi, orario…
    6 gestione orario
  2. Poi andranno assegnate le password di accesso ad ogni singolo utente inserito nell’area “personale”.
  3. Il secondo passo da effettuare è il caricamento dei singoli CORSI, ovvero l’insieme degli interventi formativi ANALOGHI.
    Esempio: “Formaz. iniziale 1° anno – estetica”, cod progetto (XXXX/YYYY), durata complessiva 990 ore, che raccoglie tutti gli interventi formativi indicati nel Progetto di riferimento.
  4. Poi andranno caricate le MATERIE (moduli didattici o UFC) e le durate in ore relativamente al singolo corso, ovvero una DURATA in ore per ogni singolo corso in cui essa appare.
    Ad esempio: la stessa materia, Matematica, potrebbe durare 40 ore nelle classi prime (corso “Formaz. iniziale 1° anno – estetica”) e 30 ore nelle classi seconde (corso “Formaz. iniziale 2° anno – estetica”).
  5. Poi sarà il momento di inserire le CLASSI (interventi formativi). Ognuno di essi sarà assegnato ad un corso, in un semplice rapporto 1-n: ogni classe può appartenere ad un solo corso, mentre ogni corso potrà avere n classi.
  6. Analogamente ogni ALLIEVO sarà ovviamente assegnato ad una classe tra quelle appena create.
    Si inserirà l’anagrafica degli allievi che prevede vari dati tra cui il numero di tel. di un genitore e l’email di un genitore.
    In questa prima versione del software, infatti, non è previsto un accesso autenticato dei genitori per il monitoraggio delle attività della scuola e del comportamento del figlio (assenze, voti, note disciplinari), ma il tutto verrà gestito con un avviso riassuntivo via mail (che il docente – o la direzione – potrà inviare automaticamente con un semplice click: “invia dati alla famiglia”). Dunque ai genitori è richiesta un’email personale registrata nella piattaforma per monitorare l’attività del figlio ed, eventualmente, giustificare le assenze. Questo per semplificare la gestione complessiva del sistema (tanto in ogni caso dovrebbero averne una per usare un sistema gestionale di qualsiasi tipo).

2. Caricamento Calendario Lezioni

Il caricamento del calendario settimanale delle lezioni (menu amministrazione/modifica orario) è accessibile solo agli utenti autorizzati a gestire questa funzionalità e avviene selezionando un plesso e una classe e cliccando semplicemente sul blocco-ora da modificare dopo aver selezionato la triade materie/docente/sede.

Ripetendo questa procedura per ogni classe avremo caricato l’intero orario settimanale della scuola.
Durante la modifica dell’orario (attivabile col tasto “MODIFICA ORARIO”) esso sparirà alla visione “pubblica” per la settimana successiva a quella corrente, per essere nuovamente visibile alla fine delle modifiche (cliccando sul tasto verde: FINE MODIFICHE).

La piattaforma presenta una serie di funzionalità specifiche per la costruzione/pubblicazione dell’orario delle lezioni che la rende non solo uno spazio web (bacheca) collegabile al sito della scuola per rendere pubblici gli orari, ma anche un valido strumento di aiuto nel momento della costruzione dell’orario settimanale della scuola, nel caso di complesse articolazioni di una struttura scolastica fatti di numerosi “incastri” classi/materie/docenti/sedi. Quindi adatto a gestire situazioni complesse nella gestione degli orari lezioni (spostamento classi in aule diverse, in strutture organizzate su plessi diversi, con aule teoriche e laboratori separati, ecc..).
Ecco un elenco di queste funzionalità:

  1. Avremo la possibilità cliccando un apposito bottone di effettuare la verifica di eventuali ORE IN CONFLITTO (ovvero sovrapposizione del giorno/ora/docente in classi diverse).
  2. E avremo l’indicazione di contatori ore residue per ogni modulo (materia) e per ogni singola classe dell’istituto, in modo che durante il caricamento e la costruzione dell’orario, l’operatore avrà sempre sotto controllo le ore ancora da svolgere fino a quel momento relativa ad ogni materia (sulla base delle durate corsi caricate a inizio anno, vedi punto 1).
  3. avremo la funzionalità DUPLICAZIONE SETTIMANA che consente di risparmiare tempo nel caricamento delle ore nel caso la settimana in fase di caricamento, cioè quella successiva a quella corrente (se carichiamo l’orario di settimana in settimana), abbia orario simile o uguale alla precedente (quella corrente).
  4. stampa l’orario settimanale visualizzato (visibile dopo aver finalizzato il caricamento)
  5. ESPORTAZIONE DATI sia in formato EXCEL, SIA IN FORMATO CSV IN RACCORDO CON LE FUNZIONALITA’ DI IMPORTAZIONE DEL GESTIONALE FSE ADOTTATO DALLA REGIONE VENETO (sviluppato da Echonet)

SA_admin_orario2

SA_admin_orario3

Nella sezione ORARIO LEZIONI ci saranno le seguenti 3 voci consultabili:

  • orario classi (AREA PUBBLICA, che non richiede autenticazione), adatta ad essere LINKATA da una pagina pubblica del sito web della suola per consentire a Allievi e famiglie di consultare l’orario lezioni.
  • orario docente (visualizza l’orario del singolo docente attualmente autenticato nel sistema).
  • orario sedi (area pubblica che consente il monitoraggio della situazione riferita ad una sede scolastica  per avere sotto controllo le classi assegnate ad essa in fase di elaborazione dell’orario). Ad esempio se quella sede dispone di 4 aule e la terza ora di lezione ne vede assegnate 5 vi è evidentemente un errore nella costruzione dell’orario (analogamente ai CONFLITTI, ovvero alle sovrapposizioni di giorno/ora/docente in classi diverse).

[NOTA TECNICA: La tabella fondamentale del Database (tbl_orario) è quella che gestisce un record per ogni ora di lezione, con una serie di campi che incrociano una chiave esterna alle corrispondenti chiavi primarie delle relative tabelle (classi, docenti, ore, giorni, materie, colori, ecc..) Ciò consente una gestione flessibile (e “relazionale”) dei dati, fornendo la possibilità di ampliare e modificare a piacimento la struttura del sistema].

3. Il Registro Docenti

Questa è un’area in cui il caricamento dei dati deve avvenire QUOTIDIANAMENTE da parte dei docenti (ovvero gli utenti col ruolo di docenti). Il REGISTRO DOCENTI rimanda automaticamente il docente al registro delle proprie classi DEL GIORNO PRESENTE sulla base dell’orario delle lezioni precedentemente caricato (vedi punto 2).
Esso consente le seguenti operazioni da parte del docente :

  • inserimento assenze / ritardi / uscite anticipate sulla base della lista allievi della classe selezionata (dati che servono per il monitoraggio costante delle assenze allievi).
  • firma delle lezioni (in pratica l’inserimento dell’argomento della lezione di oggi) e l’indicazione di eventuali supplenze, sulla base di una lista lezioni del GIORNO PRESENTE caricata nell’orario lezioni dall’area amministrazione.
  • inserimento di eventuali note disciplinari riferite ad un allievo della classe

 

NOTA: E’ anche possibile modificare questi dati andando indietro nel tempo cliccando sull’apposito calendario dopo aver selezionato una classe.

4. Note tecniche

Tecnologie usate:

  • ambiente LAMP
  • HTML5 / CSS3 / Bootstrap (Responsive Layout)
  • PHP (OO) / CodeIgniter (pattern MVC) / Grocery CRUD
  • MYSQL
  • javascript / jQuery

Screenshots

ADMIN AREA PER IL CARICAMENTO SETTIMANALE DELL’ORARIO

SA_admin_orario

 

LE LEZIONI NEL REGISTRO ELETTRONICO;

SA_registro2

Link ad una scuola che lo usa

wellnessliceum.com/scuolaAperta

HTML5 Video

[av_dropcap1]I[/av_dropcap1]l nuovo tag <video> è una delle più interessanti caratteristiche dell’HTML5 che permette agli sviluppatori web di aggiungere i video in una pagina web senza alcun plugin speciale. Dunque l’HTML5 è una delle più semplici nuove tecniche di video embedding.

Tuttavia purtroppo abbiamo qualche problema nella gestione dei video da parte di alcuni browser:

  • Internet Explorer non supporta il fullscreen per questa tecnologia.
  • Firefox non  suppporta il formato file mp4, dunque per tale browser è necessario creare formati video addizionali.

E’ necessario ovviare a tali problemi a livello di codice come avviene ad esempio, nel plugin WordPress Chameleon, il quale utilizza il Flash backup, ovvero la gestione del video in formato Flash solo qualora il browser non supporti le funzionalità video dell’HTML5.

In pratica, dal momento che i diversi browser web supportano solo alcuni codec video, per sfruttare al meglio il video HTML5 e garantire la massima compatibilità, è necessario preparare il nostro video in tre varianti:

  • H.264
  • OGG Theora
  • WebM

Esempio di codice per i video HTML5:

 

WordPress: formato data non funziona con qTranslate

Possiamo considerare la gestione delle lingue uno dei principali punti deboli della (splendida peraltro) piattaforma WordPress. Per avere un sito wordpress multilingua, una delle migliori soluzioni è installare il plugin qtranslate. Uno dei problemi che mi si è presentato dopo l’installazione di tale plugin su WP 3.0.1 (e superiori) è un errore nel formato data dei post. Veniva stampato a schermo una cosa simile:

 

Posted on %e de %B de %Y by mario

 

Soluzione:

Editare il file qtranslate_utils.php (si trova nella cartella dei plugin (/wp-content/plugins) e sostituire la seguente riga di codice :
$date_parameters[] = '#%#'; $strftime_parameters[] = '%%';

con questa:
$date_parameters[] = '#%#'; $strftime_parameters[] = '%';

 

Sembra che il segno extra di percentule  venga interpretato come stringa, dunque letteralmente, cosicchè la funzione strftime() non riesce a elaborare la variabile correttamente..

Recuperare la password di root di mysql

Non è improbabile che succeda di sovrascrivere la password del proprio mysql, perchè puo’ essere cambiata anche tramite phpmyadmin dal browser.
Con il sistema esposto di seguito, si entra da console in mysql e, scavalcando interfacce e privilegi, si SOVRASCRIVE la password di root.

Entrare nella shell come root e poi:
fermare mysql:

# /etc/init.d/mysql stop

avviare MySql di emergenza (ignora la tabella dei privilegi) con questo comando:

# mysqld_safe --skip-grant-tables --user=mysql &

entrare in mysql:

# mysql

e successivamente, dalla console di mysql:

mysql> USE mysql
mysql> UPDATE user SET password=password('new_password') WHERE user='root';
mysql> FLUSH privileges;

questo cambia la password e ripristina i privilegi, ora killiamo il mysql di emergenza
e riavviamo il demone:

# killall mysqld
# /etc/init.d/mysql start

Riavviare apache.
NOTA: Istruzioni valide solo per i sistemi Linux.