Questa è una vecchia versione del documento!
Indice
itaFrontOffice
Sviluppo
Deploy dei pacchetti su repository
Da verificare la prima volta:
- Configurazione del build.xml (build.properties)
—
Dalla root del progetto itaFrontOffice:
- Lanciare il build.xml con target “2. Wordpress build (files)” tramite ant:
$ ant "2. Wordpress build (files)"
- Lanciare lo script PHP wordpress-deploy.php dalla cartella “extra”:
$ php extra/wordpress-deploy.php -i /path/della/build/wordpress
(è possibile saltare il punto 1 e lanciare lo script PHP senza parametro -i, in questo modo la build sarà effettuata dallo script stesso)
- Lo script ci chiederà ora la cartella per l'output dei pacchetti:
Inserisci la destinazione per i pacchetti di aggiornamentio (-o):
(il valore può essere passato al lancio del programma con parametro -o)
- Alla fine della procedura avremo il resoconto dell'operazione rispetto ai file trovati nella cartella.
Resoconto del deploy: [ ] albo_italsoft [ ] cds_italsoft [ ] oopp_italsoft [x] suap_italsoft +2.2.11 [ ] sue_italsoft [ ] itaFrontOffice [x] itafrontoffice-theme +1.1.28
(i plugin spuntati sono quelli aggiornati alla versione indicata a fianco)
- È possibile ora trasferire i file .json/.zip generati nella cartella del repository (se non è già quella di destinazione)
Installazione
Installazione Wordpress
Per prima cosa scaricare l'ultima versione disponibile dal sito ufficiale.
Dopo aver scompattato l'archivio con i sorgenti nella cartella web di destinazione prescelta, assicurarsi di configurare
il web server per poter accedere al sito con l'indirizzo desiderato.
È anche consigliato impostare momentaneamente i permessi della cartella di installazione a 777.
Successivamente è necessario creare il database dedicato (con codifica utf8_general_ci o utf8mb4_general_ci) ed un eventuale
utente con permessi esclusivi al nuovo database.
A questo punto è possibile collegarsi al suddetto indirizzo per iniziare l'installazione guidata di Wordpress.
Durante l'installazione è consigliato evitare di utilizzare il prefisso di default “wp_” per le tabelle.
Per ulteriori dettagli, consultare la guida ufficiale.
Abilitazione multisite
Se si utilizza Wordpress in un web server con porta diversa da 80 o 443, per abilitare il multisite, è necessario modificare la riga seguente nel file “wp-admin/includes/network.php” aggiuggendo la porta utilizzata nell'array (es. ':4000'):
if ( ( false !== $has_ports && ! in_array( $has_ports, array( ':80', ':443', ':4000' ) ) ) ) {
Una volta effettuata l'installazione, andiamo a modificare il file “wp-config.php” ed aggiungiamo la seguente riga prima del commento /* Finito, interrompere le modifiche! Buon blogging. */
:
define( 'WP_ALLOW_MULTISITE', true );
Accediamo ora al pannello di amministrazione di Wordpress ed effetuiamo la “Configurazione della rete” seguendo le istruzioni a video.
Come indicato, sarà necessario di nuovo modificare il “wp-config.php” aggiungendo, sotto la riga inserita precedentemente, le seguenti righe:
define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', '192.168.191.1'); define('PATH_CURRENT_SITE', '/wp_itafrontoffice2/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
Utilizzare i valori proposti nel setup di Wordpress, quelli qui rappresentati sono solo un esempio!
Accorgimenti vari
- Eliminare i plugin presenti di default in Wordpress. Per farlo è necessario andare nella “Gestione Network”.
- Abilitare la registrazione degli utenti da “Gestione network ⇒ Impostazioni ⇒ impostazioni rete ⇒ Consenti nuove registrazioni ⇒ Possono essere creati nuovi account utente.”.
- Disattivare i permalink (dall'amministrazione del sito) da “Impostazioni ⇒ Permalink”.
- Impostare l'homepage con una pagina statica da “Impostazioni ⇒ Lettura”. È necessario prima creare una pagina “Home”.
- Togliere il motto da “Impostazioni ⇒ Generali”.
- Rimuovere i contenuti della sidebar da “Aspetto ⇒ Widget”.
Installazione del tema
Dal repository, copiare il contenuto della cartella “wordpress/themes” in “wp-content/themes” all'interno dell'installazione Wordpress.
Fatto ciò, nella gestione Network, abilitare i temi dal menu “Temi” per tutti i sottositi, e, per ogni sottosito, abilitare il tema scelta tramite il pannello in “Aspetto ⇒ Tema”.
itafrontoffice-theme
Per questo tema si hanno a dispozione 3 menu e 2 aree per i widget. È possibile impostarne i contenuti tramite le apposite sezioni presenti sotto il menu “Aspetto” in ogni sottosito.
Ulteriori personalizzazioni sono effettuabili tramite il menu “Impostazioni FO” del plugin principale itaFrontOffice (vedi itaFrontOffice).
Installazione dei plugin
Plugin interni
Copiare dalla build i file in “plugins” sotto “wp-content/plugins” ed abilitare quelli necessari in gestione Network dal menu “Plugin”.
Il plugin itaFrontOffice è sempre necessario per il funzionamento di tutti gli altri plugin proprietari in quanto base del framework itaFrontOffice.
Prima di attivare i plugin prepariamo i seguenti file di configurazione partendo dai relativi sample.
Per ora è possibile omettere i file di configurazione dei singoli enti e crearli in seguito tramite i menu specifici disponibili nel pannello di amministrazione di Wordpress.
Plugin | Configurazione | Sample |
---|---|---|
itaFrontOffice | config.inc.php | config.inc.sample.php |
itaFrontOffice | config/connections.ini | config.sample/connections.ini |
*_italsoft | config.inc.ENTE.php | config.inc.template.php |
itaFrontOffice
Il plugin principale del framework mette a disposizione il menu “Impostazioni FO” nella gestione Network e nei singoli siti.
Dalla gestione Network, alla pagina Generali, è possibile:
- editare il file di configurazione “config.inc.php” del plugin
- impostare l'indirizzo di fetching per gli update dei plugin interni
- reimpostare i ruoli di Wordpress con un set predefinito (da migliorare) ed allinearli tra i vari sottositi
- allineare gli utenti di un sottosito o di tutti i sottositi (partendo SEMPRE dal sito principale)
- importare i dati predefiniti per il Cimy UEF (vedi Cimy User Extra Fields)
Dalla pagina “Campi per ruolo” è invece possibile impostare quali campi aggiuntivi mettere a dispozione per i singoli ruoli.
Se disponibile, in questo menu saranno anche presenti le singole voci per la gestione dei file di configurazione degli altri plugin interni.
Da “Impostazioni FO” dei singoli siti è possibile aggiungere alcuni dati relativi all'ente (e disponibili tramite gli shortcode suggeriti nella medesima pagina) insieme ad alcune impostazioni utili per il tema.
Plugin di terze parti
Cimy User Extra Fields
Questo plugin è OBBLIGATORIO e necessita del MultiSite per il funzionamento.
Copiare il plugin “cimy-user-extra-fields” e relativo file .php sotto la directory “wp-content/mu-plugins”.
Dalla Gestione network, verificare la creazione delle tabella su “Impostazioni ⇒ Cimy User Extra Fields”, nel paragrafo “Database”.
Se non sono presenti, premere il tasto “Aggiusta il problema” all'inizio della pagina.
Per importare i dati solitamente utilizzati nelle installazioni, avviare la procedura di importazione in “Impostazioni FO ⇒ Generali ⇒ Dati per Cimy” premendo il pulsante “Importa dati”.
Theme My Login
Copiare il plugin “theme-my-login” sotto “wp-content/plugins”.
Attivarlo da “Gestione network ⇒ Plugin ⇒ Theme My Login, Attiva sul Network”.
Dal pannello amministrativo del sito principale, andare su “TML” e modificare le seguenti impostazioni:
- “Login Type” ⇒ “Username or E-mail”
- “Modules” ⇒ spuntare “Enable Themed Profiles”
Dal pannello amministrativo del sito principale, andare su “TML ⇒ Themed Profiles” e rimuovere la spunta sulla prima casella “Administrator”.
Configure SMTP
Una volta installato, permette di configurare i parametri SMTP di invio email per ogni sito in “Impostazioni ⇒ SMTP”.
Pronamic Cookies
Il plugin ci consente di configurare un messaggio visualizzato sul sito per far accettare all'utente l'utilizzo dei cookie.
Unconfirmed
Permette di visualizzare la lista degli utenti che hannno effettuato la registrazione ma non hanno ancora attivato l'account.
Accessibile dal “Gestione network ⇒ Utenti ⇒ Unconfirmed”, è utile per reinviare le email di attivazione od attivare un account senza la conferma via email.
WP Migrate DB
Aiuta nell'esportazione del database sostituendo dei valori impostabili nel modo corretto (es. dati serializzati).
Utilizzato durante il trasferimento di un'installazione ad un indirizzo differente.
MultiSite Clone Duplicator
Utilizzato per la clonazione di un sito all'interno di un network.
Importazione pagine pre-impostate
Modalità manutenzione
È possibile modificare la pagina di manutenzione di default del Wordpress andando ad aggiungere il file “wp-content/maintenance.php”.
Un modello del suddetto file è presente nel plugin itaFrontOffice in “includes/resources”. Il plugin genera automaticamente un riferimento a tale file sotto “wp-content”.
Wordpress passa automaticamente in tale modalità durante gli aggiornamenti dei plugin e dei temi, ma se abbiamo bisogno di mettere il sito in manutenzione è possibille creare il file “.maintenance” nella root del sito con il seguente codice:
- .maintenance
<?php $upgrading = time();
Il file NON deve avere l'estensione .php.
Wordpress ignorerà il file se la variabile $upgrading contiene un timestamp più vecchio di 10 minuti. È possibile sfruttare questo automatismo per lasciare il sito in manutenzione fino ad una determinata ora (impostando il timestamp dell'ora desiderata - 600). Dopo i 10 minuti il sito tornerà online con un avviso di aggiornamento non riuscito nell'amministrazione di Wordpress: sarà sufficiente cancellare il file per eliminare il messaggio.
Aggiornamento di un'installazione precedente
- Creare un nuovo sito da zero seguendo questa guida, escludendo
- dati del Cimy
- Esportare le pagine del vecchio sito (solo il principale) ed importarle nel nuovo
- Reimpostare i seguenti dati:
- Impostazioni generali Wordpress
- Menu
- Widget
- Parametri SMTP
- Esportare gli schema del vecchio database ed importarli nel nuovo (@todo specificare i comandi)
- Utilizzare lo script “wordpress-db-export.php” per esportare i dati dei vecchi sottositi ed importarli nel nuovo database (@todo spiegare ed indicare i comandi per l'import)
$ mysql -u username -p DATABASE < wordpress-db-export.sql
- ???