cesa

test WP

CSS Picnic e Colors per progettare una nuova Home Page - css-picnic-e-colors

Nuovi contenuti, nuove immagini, nuovi CSS

Il sito manuelcesarini.it ha ormai qualche anno ed ha bisogno di una rinfrescata: nuovi contenuti, nuove immagini, nuovi CSS. Insomma… ha bisogno di mettersi al passo con i tempi.

Per questo ho iniziato la riprogettazione, partendo dai contenuti e dalla Home Page.

La scelta degli stili grafici è ricaduta sui CSS Picnic, di cui avevo già parlato nell’articolo “PICNIC : CSS BELLI E LEGGERI PER I TUOI PROGETTI WEB” : una grafica accattivante e molto leggera.

Un tocco di “Colors”

Ma non ero comunque soddisfatto, qualcosa mancava… Un tocco di “Colors“… Colors sono degli stili molto semplici ma anche molto utili per dare un tocco di colore ed innovazione al proprio sito.

Sono 16 i colori messi a disposizione (più il bianco…). Solo la propria immaginazione può porre limiti al numero di colorazioni implementabili, con molta facilità.

Colors permette di gestire le colorazioni dei testi, del background, dei bordi e delle immagini SVG.

Tutto questo condensato in 647 Bytes minificati e gzipped.

Un progetto di Home Page

mischiando i due CSS descritti sopra, ho provato a progettare una nuova Home Page. Per prima cosa ho realizzato un wireframe su https://wireframe.cc/  – anche se poi non l’ho seguito alla lettera 😀  ( ecco l’esempio: https://wireframe.cc/OaeVlF ) – e poi ho iniziato a scrivere qualche riga di codice per creare il mockup HTML.

Ecco il link per vedere la pagina statica di esempio: https://manuelcesarini.it/

Future implementazioni

Il lavoro è solo iniziato, adesso viene la fase più complessa, il sito va re-ingegnerizzato!!!

Innanzitutto deve essere finita la progettazione grafica ( esempio pagine interne, pagine di contatto, eccetera) e poi va messa mano al codice.

Se l’attuale sito è realizzato con WordPress, il nuovo infatti vedrà tre diverse fonti di dati: API CMS Directus, API Contentful e API WordPress.

Mi saranno di aiuto gli articoli:

API WordPress: cosa sono e come consumarle

Api Directus, consumarle facilmente con PHP, utilizzare la cache e minificare la pagina.

Per gestire le api WP e Directus e per la gestione della cache dei dati provenienti dalle API.

Alla prossima puntata 😀

 

Tweet

API WordPress: cosa sono e come consumarle - api-wordpress

Le API WordPress

WordPress mette a disposizioni degli endpoint API per i tipi di dati di WordPress. Questo permette agli sviluppatori di interagire con i siti in modalità remota inviando e ricevendo oggetti JSON (JavaScript Object Notation).

Tramite le API WordPress è quindi possibile creare, leggere e aggiornare i contenuti WordPress da JavaScript lato client o da applicazioni esterne, anche quelle scritte non in PHP.

Perché usare API WordPress REST

Tramite l’uso delle API WordPress potrebbe diventare un sistema di generazione di contenuti dividendo quello che è il backend “Bacheca WordPress” dal frontend vero e proprio. Questo avvicinerebbe WordPress alle nuove idee di CMS Headless.

Questo permetterebbe di mantenere un sistema semplice di inserimento contenuti per gli utilizzatori “base” ma anche maggiore flessibilità nella generazione di grafiche e WebApp per gli sviluppatori.

Infatti non sarebbe nemmeno più necessario scrivere le applicazioni in PHP: qualsiasi linguaggio di programmazione che può fare le richieste HTTP e JSON ed  interpretarle può interagire con WordPress tramite l’API REST, da Node.js a Java e oltre.

Consumare le API WordPress con PHP

Ecco un semplicissimo esempio di come “catturare” gli articoli presenti in un blog WordPress con poche e semplici istruzioni PHP. Inoltre vedremo come leggere il numero di articoli e la paginazione degli stessi, presenti nella testata della risposta REST:

$url = 'http://manuelcesarini.it/wp-json/wp/v2/posts/';

$content = file_get_contents($url);
$json = json_decode($content, true);

foreach($json as $item) {

    if ($item['status']=='publish') {

        print $item['title']['rendered'];
        print ' - ';
        print $item['slug'];
        print ' 
 ';
        print $item['content']['rendered'];
        print '
';

    }
}

Andiamo adesso a leggere i dati di testata del Web Service che indicano il numero di articoli totali ed il numero di pagine:

$ch      = curl_init();
$headers = [];
curl_setopt($ch, CURLOPT_URL           , $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1   );
curl_setopt($ch, CURLOPT_HEADERFUNCTION,
  function($curl, $header) use(&$headers)
  {
    $len    = strlen($header);
    $header = explode(':', $header, 2);
    if (count($header) < 2)
      return $len;

    $headers[strtolower(trim($header[0]))] = trim($header[1]);
    return $len;
  }
);

$data = curl_exec($ch);
//print_r($headers);

$pag_totali = $headers['x-wp-total'];

$num_pagine = $headers['x-wp-totalpages'];

echo "Articoli totali: $pag_totali  - Pagine: $num_pagine ";

curl_close($ch);

Il risultato? date un occhio a questa pagina: http://manuelcesarini.it/test/test-api-wp.php

Documentazione

Per iniziare ad utilizzare le API WP consiglio di iniziare dalla documentazione base sulle API REST fornita da WordPress stesso:

https://developer.wordpress.org/rest-api/

Qui è possibile trovare tutte le informazioni per effettuare chiamate alle API, sia per “ricevere” che per “scrivere”.

In generale comunque può essere consultata la pagina https://codex.wordpress.org/WordPress_APIs che elenca tutte le tipologie di API fornite da WP.

 

Tweet

Configurare GZIP su NGINX … ed anche su Apache! - configurare-gzip-su-nginx

Cos’è GZIP ?

Partiamo dai fondamentali, Gzip è il metodo di compressione web più conosciuto ed efficace e consente di ridurre la dimensione di risposta ad una richiesta HTTP di circa il 60%.

GZIP viene utilizzato sia su application server Apache – la compressione dipende dalla versione: Apache 1.3 utilizza mod_gzip mentre Apache 2.x utilizza mod_deflate – che su NGINX ( più veloce e snello di Apache ).

Prima di configurare però fai una verifica su questo sito, per vedere “la velocità” del tuo application server: https://gtmetrix.com/

Configurare GZIP su NGINX

Passiamo alla configurazione sul nostro application server! Basterà accedere al file di configurazione del nostro NGINX e abilitare o aggiungere i seguenti campi:

#sudo nano /etc/nginx/nginx.conf
gzip         on;
gzip_disable "MSIE6";

gzip_vary    on;
gzip_types   text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/bmp image/svg+xml;

N.B.: gzip_types indica ciò che uscendo nel flusso HTTP verrà gzippato quindi porre molta attenzione su quanto configurato per questo parametro.

Quindi basterà salvare il nostro file di configurazione e riavviare NGINX ( testando che la configurazione sia corretta )

# nginx -t //per testare la correttezza formale del file di conf.
# service nginx reload

Semplice, veloce ed indolore! 😀

Verifica che la compressione sia effettiva sempre su https://gtmetrix.com/

Per approfondire leggi:

http://nginx.org/en/docs/http/ngx_http_gzip_module.html

Enable gzip compression

 

Uno sguardo veloce ad Apache.

Apache è forse l’Application server più utilizzato ( ma questo non significa che sia il migliore… ) e quindi diamo un rapido sguardo alla configurazione per GZIP.

Per attivare la compressione basterà modificare il file htaccess, aggiungendo i seguenti comandi:

# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x–javascript
AddType x–font/otf .otf
AddType x–font/ttf .ttf
AddType x–font/eot .eot
AddType x–font/woff .woff
AddType image/x–icon .ico
AddType image/png .png

Anche qui la configurazione sembra piuttosto semplice 😉

Tweet

Api Directus, consumarle facilmente con PHP, utilizzare la cache e minificare la pagina. - consumare-api-directus

Consumare le API Directus con PHP in modo facile e veloce

Directus, come accennato in alcuni miei post precedenti, è un CMS Headless che espone API di contenuto. Queste API Directus vengono generate in base alle tabelle definite sullo stesso Content management system .

Directus può essere utilizzato in cloud oppure installandolo direttamente su di un server ed utilizzare Ie sue API è molto semplice.

La struttura delle API Directus è ben definita nella guida presente su getdirectus.com ed è possibile consumarle con alcuni semplici comandi PHP:

$url = 'http://cms.manuelcesarini.it/api/1/tables/site/rows?access_token=TOKENDIACCESSO';

Salviamo l’url dell’API da utilizzare. ?access_token=TOKENDIACCESSO è uno dei metodi più semplice per effettuare il login con il CMS Directus.

$content = file_get_contents($url);
$json = json_decode($content, true);

Con questi due comandi invece andiamo ad “assimilare” i dati dell’API Directus e facciamo la decodifica in formato JSON.

foreach($json['rows'] as $item) {

    if ($item['active']=='1') {

        print $item['site_name'];
        print ' - ';
        print $item['Motto'];
        print ' - ';
        print $item['indirizzo_sito'];
        print '
';

    }
}

Infine con questo ciclo andiamo a stampare a video il contenuto del nostro array, solo per gli item attivi.

‘active’ infatti è un attributo che Directus associa ad ogni item per definirlo attivo ==1 o cancellato == 0

Ed il gioco è fatto! A questo punto potrai decidere di manipolare al meglio i tuoi dati provenienti dalle API Directus!

Una semplice cache per i tuoi dati

Il problema con le API è sempre lo stesso, cercare di evitare di dover effettuare centinaia di chiamate a ripetizione ( per evitare costi eccessivi o sovraccarico del server ).

La soluzione che ho sperimentato è molto semplice e rapida da implementare:

  1. scarichiamo da github “Simple-PHP-Cache
  2. includiamo la libreria e definiamo la nostra cache
        require_once './simple-cache/cache.class.php';
       // $c = new Cache();
        $c = new Cache(array(
      'name'      => 'directus',
      'path'      => 'cache/',
      'extension' => '.cache'
    ));
    
  3. salviamo i dati da mettere in cache, verifichiamo che non sia scaduto il suo tempo o se è attiva
    $c->eraseExpired();  //verifico se la cache è attiva o da cancellare
    if($c->isCached("saves") == false){ 
    
      foreach($json['rows'] as $item) {
    
        if ($item['active']=='1') {
    
            print $item['site_name'];
            print ' - ';
            print $item['Motto'];
            print ' - ';
            print $item['indirizzo_sito'];
            print '
    ';
    
        }
     }
    $c->store('saves', $json['rows'], 25 ); //salvo il mio array in cache
    
    
    } else {
          
        // prendo i dati in base alla key della cache
        $result = $c->retrieve('saves');
        // mostro i dati presenti in cache
        print_r($result);
    }
    

Minifichiamo! Ultimo esercizio!

Adesso abbiamo le nostre API, abbiamo la cache, non ci resta altro da fare che minificare il nostro output.

Una funziona molto semplice permette di “sanitarizzare” il nostro HTML in uscita, eccola qua:

 function sanitize_output($buffer)
{
    $search = array(
        '/\>[^\S ]+/s', //strip whitespaces after tags, except space
        '/[^\S ]+\',
        '<',
        '\\1'
        );

    $blocks = preg_split('/(<\/?pre[^>]*>)/', $buffer, null, PREG_SPLIT_DELIM_CAPTURE);
    $buffer = '';
    foreach($blocks as $i => $block)
    {
      if($i % 4 == 2)
        $buffer .= $block; //break out pre.../pre with \n's
      else 
        $buffer .= preg_replace($search, $replace, $block);
    }

    return $buffer;
}


ob_start("sanitize_output");

Buon divertimento!!!

Tweet

Cloud Ide, programmare direttamente in cloud - cloud-ide

Perché scegliere un Cloud IDE

Programmare con un Cloud Ide è una scelta radicale per un programmatore. In molti infatti sono “affezionati” al proprio ambiente di sviluppo, personalizzato sul proprio PC.

cloud ide home

Perché quindi scegliere di cambiare? Le ragioni in realtà sono molte…

COSTI: se gran parte del business del software si è trasferito su ambienti cloud un motivo ci sarà! La spending review non fa eccezione neppure nel mondo della programmazione.

TEMPI: come sempre legati a doppio filo con i costi! Le piattaforme cloud ide riducono  notevolmente i tempi di installazione quindi meno tempo, meno costi.

QUALCOSA IN PIU‘:  questi servizi sono un po’ più di un editor di codice, offrono una maggiore serie di funzionalità, a prezzi bassi e aumentando la produttività.

OLTRE IL SENSO DEL LUOGO: programma da qualsiasi luogo, non c’è bisogno di essere di fronte al computer per continuare a programmare! L’unico requisito è essere connessi ad internet (con computer o tablet).

COLLABORAZIONE IN TEMPO REALE: uno dei grandi vantaggi dello sviluppo in cloud è che diversi sviluppatori possono lavorare sullo stesso progetto allo stesso tempo, utilizzando gli stessi i servizi e le chat online per comunicare.

MASSIMA PERSONALIZZAZIONE: questi tipi di strumenti possono essere utilizzati per installare le dipendenze utili per i progetti. Così si evita il rischio della programmazione in locale dove alcune dipendenze risultano dannose per gli altri sviluppi web.

Cloud 9 ( c9), un editor potente.

Cloud9 inizialmente era un editor di codice per Node.js . Adesso è  uno strumento cloud ide di sviluppo per progetti web a tutto tondo: Python, PHP, Ruby, C, C ++, JavaScript, ecc.. . E’ utilizzato per creare/gestire/modificare prodotti digitali come WordPress, Drupal, Joomla ma anche per sviluppare con Django, Ruby on Rails, Meteor, Bootstrap, CakePHP, Ember.js, laravel e Symphony.

cloud ide c9 - cloud9

Inoltre è integrato con i maggiori database: Cassandra, CouchDB, MongoDB, MySQL, phpMyAdmin, PostgreSQL, Redis e SQLite.

Le sue caratteristiche principali sono:

Editor di codice: gestisce in contemporanea di più file, prevede l’auto-completamento del codice, utilizza le scorciatoie da tastiera, permette il debug dei programmi, utilizza controllo versioni, ha molte tipologie di personalizzazione, edita immagini, …

Server di prova virtuale: sviluppando per il web è normale utilizzare un server di prova in locale, come XAMPP, WAMPP o Mampp per testare il codice del nostro progetto. Cloud9 ha in sé un server virtuale con il quale lo sviluppatore può testare il risultato visivo e funzionale della programmazione, in tempo reale.

Versionamento: Supporta Git e Mercurial.

 

 

Codenvy, un cloud ide molto flessibile

Codenvy è un ambiente di sviluppo integrato che può essere utilizzato in progetti con linguaggi come Java, JavaScript, Ruby, Python e PHP; con framework di sviluppo come Ruby on Rails; e con servizi di hosting cloud per la distribuzione di prodotti come Heroku, Google App Engine e AWS.

Alcune delle sue caratteristiche includono:

Gestione avanzata plugin: per aumentare le sue funzionalità. Un esempio è il plugin di Eclipse. Si collega al IDE tramite l’autenticazione API. Una volta connesso, è possibile utilizzare Eclipse per lavorare su tutti i progetti che si aveva in Codenvy. Le modifiche vengono sincronizzate automaticamente.

Docker: il progetto per eccellenza per la creazione di contenitori per lo sviluppo di progetti.  Codenvy  è il cloud ide che offre il prodotto di integrazione con Docker più maturo finora.

GIT: Questo IDE supporta Git come sistema di controllo versione. È inoltre possibile importare i vostri progetti da GitHub o BitBucket, il che semplifica l’onboarding e la gestione dei vostri progetti.

La nota dolente? C’è : nessun supporto FTP!

codenvy cloud ide

Codeanywhere, robusto e flessibile

Questo cloud ide è un ambiente di sviluppo elegante e funzionale. Vi permetterà infatti di concentrarvi sulla costruzione di grandi applicazioni, velocemente e rendendo lo sviluppo più produttivo e divertente.

Alcune caratteristiche:

Linguaggi di programmazione: supporta la sintassi di 75 Linguaggi di programmazione, gestisce l’auto-completamento del codice (js, php, html, css) ed i cursori multipli.

Configurazione: facile da configurare, personalizzando il proprio ambiente di sviluppo per i progetti in  Javascript, PHP, HTML, o in altri 72 linguaggi.

 

Performance:  questo cloud ide ha la possibilità di creare un server web in 2 mosse, fornisce un accesso SSH, è stabile ed ha un prezzo accessibile.

Web server (container): questa è una delle caratteristiche peculiari di questa piattaforma. Una volta creato il vostro progetto è possibile collegarlo a progetti github / bitbucket / ftp / amazon ecc …. ma anche creare un ‘container‘. Questo significa che  codeanywhere creerà una macchina virtuale portabile, con un ambiente di sviluppo, pronta all’uso. Si seleziona la lingua di sviluppo ed il SO preferito (Ubuntu o CentOS) , si clicca su “Crea” e si attende circa 10 secondi. Ed il gioco è fatto.

 

Per approfondire…

https://www.slant.co/topics/713/versus/~codenvy_vs_cloud9_vs_codeanywhere

https://stackshare.io/stackups/cloud9-ide-vs-codeanywhere-vs-codenvy

https://bbvaopen4u.com/en/actualidad/development-cloud-advantages-and-platforms-programmers

 

 

 

Tweet

Lezione su Ruby 3: i test automatici - lezione-su-ruby-3-i-test-automatici

Test automatici: cosa sono

I test automatici sono una parte speciale dello sviluppo che serve per controllare l’esecuzione del programma stesso ( o meglio di parti di esso ) e confrontarla con i risultati attesi. L’automazione permette quindi di capire se un applicazione/programma gira nel modo corretto. Aiuta inoltre lo sviluppatore in quei test particolarmente complessi da ripetere, svolgendo in automatico le operazioni richieste.

Test automatici rails

Perché usare i test automatici

Scrivere dei test automatici porta a tre vantaggi fondamentali:

  1. Evitare le regressioni: impedire che qualcosa di già testato e funzionante smetta di lavorare correttamente.
  2. Refactoring del codice: riscrivere le funzionalità di un’applicazione è importante, evitare che questo porti malfunzionamenti è fondamentale.
  3. Determinazione del design delle applicazioni: i test si sostituiscono al client aiutandoci a capire meglio come strutturare il design e le interfacce delle nostre web app.

Quando testare

Visto il perché usare i test automatici non resta che decidere quando usarli. Non è però così semplice!

Dipende dalla dimestichezza che si ha con la trascrizione dei test. Per molti sviluppatori più si diventa bravi nella trascrizione dei test, più si è inclini a trascriverli. Molto inoltre dipende anche da quanto il test risulti difficile da realizzare e da quanto quella specifica funzione sia destinata a durare nel tempo.

Tendenzialmente, se il test non è troppo oneroso si dovrebbe trascriverlo come prima cosa! Poi scrivere sempre i test sulla sicurezza ed infine trascrivere i test che permettano di riprodurre gli errori/bug che si presentano.
In una fase successiva si può anche pensare alla trascrizione di test automatici per il refactoring del codice.

Primo test su Ruby on Rails

Iniziare a scrivere i test può essere impegnativo soprattutto perché richiedere una conoscenza approfondita sia di Rails che di Ruby. Per fortuna però Rails ci aiuta avendo generato, a partire dai nostri controller, un test file per permetterci di cominciare:

require 'test_helper'

class StaticPagesControllerTest < ActionController::TestCase

test "should get home" do
get :home
assert_response :success
end

test "should get help" do
get :help
assert_response :success
end
end

Ci sono quindi tanti test quanti controller abbiamo creato. Ogni test prende un’azione e la verifica tramite un’asserzione. La risposta :success è una rappresentazione astratta del sottostante HTTP status code (in questo caso, 200 OK)

Per iniziare il nostro ciclo di test dobbiamo eseguirli per verificare che passino correntemente. Possiamo fare questo con il servizio rake:

$ bundle exec rake test

Ci vorrà un po’ di tempo prima che i test si avviino perché:

Il risultato sarà: 2 tests, 2 assertions, 0 failures, 0 errors, 0 skips

Come da richiesta, la nostra sequenza di test viene superata.

Qualche informazione in più

Per avere qualche dettaglio in più sul funzionamento dei test in Ruby rimando alle seguenti guide:

https://learnrubythehardway.org/book/ex47.html

Rails tutotial capitolo 3

https://en.wikibooks.org/wiki/Ruby_Programming/Unit_testing

Automated Testing with Ruby from Keith Pitty

Qui invece alcuni software per la test automation:

http://www.testingtools.com/test-automation/

http://www.seleniumhq.org/

https://github.com/seleniumhq/selenium-google-code-issue-archive

 

 

 

Tweet

Il tuo sito multilingua con Poedit - il-tuo-sito-multilingua-con-poedit

Problematiche di un sito multilingua

Realizzando il tuo sito multilingua ti sarai accorto che le problematiche non sono poche! Infatti, per fare un lavoro fatto con tutti i crismi è necessario che:

Poedit: l’editor multilingua

Oggigiorno molti siti e software utilizzano Gettext per la predisposizione al multilinguaggio. Gettext è ampiamente utilizzato infatti in molti linguaggi di programmazione e molti progetti (WordPress, Django , Linux).  Poedit si inserisce in questo contesto realizzando un programma potente e semplice da usare, per creare file multilingua per siti e software.

Poedit software per il tuo sito multilingua

Interfaccia semplice:

Poedit è volutamente spartano in modo che il focus sia sulla traduzione a cui si sta lavorando. Il tuo sito multilingua sarà così performante al 100%

Controlli di sicurezza

Anche se Gettext può essere difficile da utilizzare – un % accidentalmente aggiunto può spezzare la traduzione – non c’è da preoccuparsi perché Poedit verifica la presenza di problemi comuni ed avverta con un alert.

Je me souviens… Io ricordo!

Poedit è dotato di una memoria di traduzione incorporato per aiutare a tradurre velocemente. Ricorda le traduzioni create nel passato e le utilizza per dare suggerimenti per testi simili.

Per gli sviluppatori

Gli sviluppatori possono utilizzare Poedit per mantenere i loro file di traduzione (o modelli) e tenerli aggiornati. Mantenere aggiornato un sito multilingua od un software è molto semplice con questo strumento.

Poedit e WordPress

Poedit grado di gestire qualsiasi temi o plugin predisposti per il multilinguaggio. La maggior parte di quelli manutenuti dagli sviluppatori e da WordPress stesso sono predisposti per un sito multilingua.

Cerca i file PO nel tuo tema o nei plugin che installi per iniziare a tradurre! .

Poedit inoltre monitora i temi ed i plugin più popolari per assicurarti la piena compatibilità, vedi Woo Commerce, Jetpack o uno qualsiasi dei molti molti altri che Poedit monitora.

qTranslate-X , il plugin alternativo

Se invece vuoi percorrere una strada più semplice ti suggerisco  qTranslate‑X , un plugin free e di semplice utilizzo, che mostra le varie lingue in uso sul tuo sito e ti permette di editare i contenuti come meglio credi:

Gestendo semplicemente le impostazioni, si potrà inserire il Widget multilingua sul proprio sito e gestire l’accesso semplicemente aggiungendo al nome dominio /it/ o /en/ od ancora /de/ a seconda delle lingue utilizzate.

Conclusioni

Le modalità per creare un sito multilingua sono molte, tutto dipende dalle proprie esigenze e dal budget a disposizione!

WordPress e la sua comunità mettono a disposizione molti temi e plugin predisposti per la traduzione ma anche altri CMS e software sono altrettanto potenti.

PoeditqTranslate‑X quindi non sono che due soluzioni possibili fra me molte presenti sul web.

 

Tweet

Temi WordPress per il tuo sito NoProfit - temi-wordpress-sito-noprofit

In questo articolo vorrei presentare alcuni temi WordPress per siti NoProfit.

Cercando online si può trovare di tutto e di più! Il problema è che spesso temi anche costosi non sono così performanti come si crederebbe. Una bella livrea grafica non è sempre segno di qualità di sviluppo.

Alcuni consigli prima di elencare i temi che ho scelto:

I temi WordPress per il NoProfit

1) Philanthropy

Questo tema è ottimizzato per una la versione mobile e retina. Il tema auto-installa il contenuto della demo facilitando le modifiche. Il plugin Give è preisntallato e permette di iniziare a ricevere subito le donazioni.

Questo tema permette di cambiare i colori con facilità direttamente da admin WP, utilizzando un semplice selettore di colori.

E’ presente inoltre un calendario dei prossimi eventi che possono esser impostati per ripetizioni giornaliere, settimanali, mensili o annuali.

Per maggiori info: https://themeforest.net/item/philanthropy-nonprofit-wordpress-theme/9139991


2) GAEA-WP

 Gea è un tema WordPress potente, progettato e sviluppato per enti NoProfit, e di beneficenza ma può essere utilizzato anche per aziende commerciali.
I punti di forza sono:
Per maggiori info: https://themeforest.net/item/gaea-environmental-wordpress-theme/9383580

3) Benevolence
Benevolence è un tema adatto per siti di enti senza scopo di lucro o clericali. Predisposto per raccogliere fondi per una causa, permette la creazione di molteplici tipologie di post e la gestione di eventi calendarizzati.
Benevolence prevede:
Per info: https://wplook.com/product/themes/non-profit/benevolence-church-nonprofit-wordpress-theme/?ref=4)

4) Charity Plus
 Questo tema ( che costa solo 17 dollari… ) prevede:
Per maggiori info: http://preview.themeforest.net/item/charity-plus-nonprofit-crowdfunding-charity-html5-template/full_screen_preview/19436406

5) Charity
Charity è il tema WordPress ideale per creare un sito web per beneficenza o organizzazioni non profit. Il tema vi aiuta a raccogliere fondi per la vostra causa, a promuovere gli eventi relativi alla vostra organizzazione caritatevole e molto altro ancora.
Charity prevede:

Per maggiori info: https://wplook.com/product/themes/non-profit/charity-nonprofit-wordpress-theme/

 

Tweet

Scaffolding: seconda lezione su Ruby on Rails - scaffolding-su-ruby-on-rails

Lo Scaffolding è stato il secondo punto di interesse nel mio studio di Ruby on Rails. Ma facciamo un passo indietro…

Cos’è lo scaffolding.

Lo scaffolding, in informatica, si può definire come una tecnica di MVC (Model-View-Controller) per la creazione automatica di oggetti a partire da semplici specifiche tecniche. Con queste specifiche il compilatore genera il codice sorgente che eseguirà le operazioni CRUD (create, read, update & delete) su una determinata base di dati.

Ruby e lo scaffolding

Ruby On Rails nasce per rendere più semplice e veloce la programmazione. Lo scaffolding quindi ne é una parte importante.

Questo infatti crea codice per modellare i dati e interagire con essi – via Web – velocemente. Perché quindi scrivere righe e righe di codice quando possono pensarci delle librerie?

Codice scaffolding ruby on rails

Non sempre però questa logica funziona. In alcune circostanze questa tecnica aiuta a velocizzare gli sviluppi, evitando al programmatore ore ed ore di codice inutile. Altre volte invece il codice generato in automatico è talmente  verboso da renderne difficile la comprensione e la personalizzazione.

In rails  è generato passando il comando scaffold allo script rails generate. L’argomento di scaffold è il singolare del nome della risorsa unito ai vari parametri facoltativi per gli attributi del modello dati:

rails generate scaffold New autore:string titolo:string testo:text

Un’applicazione di Esempio

Seguendo il railstutorial  sono riuscito a creare la mia prima applicazione RoR che interagiste con un DB postgresql.

Quest’applicazione permette di inserire utenti e micropost:

https://ancient-depths-69659.herokuapp.com/

https://ancient-depths-69659.herokuapp.com/microposts/

Chiaramente è piuttosto rozza sia da un punto di vista grafico che di utilizzo ( mancano molti controlli d’inserimento, ha un’usabilità scarsa, … ) ma è stata creata in un tempo veramente minimo!

Un po’ di riferimenti online

Che cos’è lo scaffolding?

http://www.mrwebmaster.it/ruby/generare-codice-scaffolding_10779.html

http://guides.rubyonrails.org/command_line.html

https://www.tutorialspoint.com/ruby-on-rails/rails-scaffolding.htm

… ed ora non resta che proseguire con lo studio – lavoro permettendo –  e sperimentare nuove ed appassionanti potenzialità di questo linguaggio di programmazione!

Tweet

Villalevedute.it – Un nuovo sito realizzato con WordPress - villalevedute-un-sito-wordpress

Villalevedute.it è il sito di Villa Bassi a Le Vedute, realizzato utilizzando WordPress!

Villalevedure

Questo sito mostra la bellezza della Villa che, fra i propri ospiti, ha visto la presenza assidua di Indro Montanelli:

« Giorno di festa o di lavoro, alle cinque alle Vedute si prendeva il tè […]. Quella era l’ora più sacra della giornata, anzi ne era un poco l’acme. Se era lecito qualche volta mancare a pranzo o a cena, all’ora del tè non si poteva assolutamente mancare »

(cit. da Giorno di Festa, Rizzoli, 1967).

Villalevedute :  cerimonie ed eventi

Villalevedute.it nasce per promuovere Villa Bassi, uno storico complesso architettonico e paesaggistico della fine del settecento comprendente la villa padronale, la cappella, la limonaia, la scuderia, il parco e il piccolo oliveto.

Villa Bassi a Le Vedute è ideale per Cerimonie ed eventi culturali!

Realizzazione del sito

Come detto, il CMS utilizzato è WordPress. Il tema base invece è ZERIF , nella sua versione Free, realizzato da Themeisle.

Veniamo ai plugin:

 

Tweet


Articoli totali: 63 - Pagine: 7