BEM (Block-Element-Modifier)

Una interessante questione in cui mi sono imbattuto leggendo di organizzazione del lavoro web di tipo BEM*, è se le dichiarazioni @import dei css creino o meno altrettante richieste http. La risposta è ( a pensarci bene, ovviamente ) si, si avrà una richiesta per ogni foglio di stile: la cosa migliore è quella di unire e consolidare il css in un unico file per la produzione.

*Block-Element-Modifier ( http://bem.info ) è una tecnica che serve a rendere modulare lo sviluppo web, suddividendo la struttura in blocchi e successivamente in elementi, (ad esempio il blocco 'ricerca' potrebbe essere composto dagli elementi label, input e dal bottone 'cerca') a cui vengono applicati dei Modifiers ( un modificatore è una proprietà di un blocco o di un elemento che ne modifica l'aspetto o il funzionamento: ad esempio, differenziando un pulsante da un altro, una volta estese le proprietà del bottone base, com enell'esempio del bottone 'active' di un menù ), in modo che ciascuna parte possa scalare indipendentemente e rapidamente.Blocchi ed elementi formano il contenuto della pagina.

 

Mobile first

Dallo spunto dell' #IxDT , " una strategia scalabile per essere online su tutti i device ", di qualche mese fa, alcuni appunti su mobile first e responsive.

 

La progettazione e lo sviluppo di un sito dovrebbero adattarsi al comportamento e all’ambiente dell’utente (dimensioni dello schermo, piattaforma e l’orientamento del device, etc..): il MF non è una metodologia per creare versioni dei siti ‘ottimizzate’ e specifiche per il mobile: un principio cardine del responsive design infatti è che il web è uno e unico.
 
Nella progettazione del sito è opportuno partire dalla strutturazione dei contenuti per lo schermo limitato nelle dimensioni dei dispositivi mobili: non, quindi, da un layout e da un set di funzionalità concepiti per il desktop per poi adattarli per il mobile, togliendo elementi, ma al contrario, si parte dai limiti posti dai dispositivi mobili per concentrarsi al meglio sui contenuti essenziali, per poi arricchire il tutto sui dispositivi più capaci sia in termini di spazio che di prestazioni.

Transition css3

Possiamo applicare un semplice effetto di transizione di 2 secondi con due semplici righe di codice CSS (+ le dichiarazioni cross-browser):

div {
  width: 200px;
  height: 200px;
  background-color: 98d925#;
 
  transition-property: background-color; /*standard*/
  transition-duration: 2s;
 
  -webkit-transition-property: background-color; /*Safari e Chrome */
  -webkit-transition-duration: 2s;
         
  -o-transition-property: background-color;      /*Opera*/
  -o-transition-duration: 2s;
         
  -moz-transition-property: background-color;    /*Firefox*/
  -moz-transition-duration: 2s;
}
 
div:hover {
  background-color: #ff5c00;
}

 

Cloud Conference 2013 a Torino

Giovedì 18 Aprile 2013, a Torino, si svolgerà il primo grande evento italiano dedicato a scalabilità e allo sviluppo in cloud: La CloudConference (http://www.cloudconf.it/) organizzata dalla società Corley, fondata da due torinesi Walter Dal Mut e Gabriele Mittica ( con cui ho il piacere di collaborare ), propone un incontro tra aziende leader del settoree tecnologie come PHP, MySQL, NoSQL, NodeJs, Sviluppo mobile, Big Data viste nell'ottica della scalabilità. Alcuni degli interventi più interessanti riguardano uno dei colosssi del Cloud Computing, Amazon.com, e quello di Enrico Zimuel di Zend Technologies e colonna portante del Php Group di Toprino, che esporrà lo sviluppo di applicazioni PHP professionali nel cloud, Zend Developer Cloud.

Missing text format: 1

Per semplificare l'offerta di formati di testo a disposizione dell'utente, ho cancellato il filtered_html. Nei log mi sono però ristrovato un errore

Missing text format: 1

Provando a reinserirlo tramite l'interfaccia, il sistema rispondeva:

The machine-readable name is already in use. It must be unique.

Per risolvere questo errore ho cancellato da PhpMyAdmin la riga corrispondente al filtro nella tabella filter_format e ho successivamente riaggiunto il filtro (filtered_html): le segnalazioni d'errore sono cessate.

 

Flush Cache - pulizia della cache per user non amministratori

Una funzionalità che non è accessibile all'user senza privilegi di configurazione del sito, ma che potrebbe rivelarsi utile in caso di modifiche ai contenuti è la pulizia della cache.

Infatti, in caso di cache (js e css) attivate in modo aggressivo, le modifiche effettuate dall'utente non saranno visibili prima della scadenza della cache. 

Dai permessi non è possibile concedere ( Grant ) solo questo permesso, per cui si può adottare un semplice 'sotterfugio': 

Linux Day 2011


cascina roccafranca
Come ogni anno, si è svolto ieri il linux Day,  a Torino sono state scelte tre location:
Cascina Roccafranca  , Biblioteca Shahrazad  e Casa del Quartiere. 
I Talk a cui ho assistito erano tutti alla Cascina Roccafranca,  ma quello che mi ha colpito di più  esponeva quella che sarà una delle possibili strada per un reale Web 2.0, ovvero dei siti fruibili e veloci anche su dispositivi come tablet e cellulari.
  • Webapp HTML5 e JSON con Ruby on Rails 3.1
Talk sulla versione 3.1 del framework Rails, e sulle tecnologie web associate: HTML5, Javascript e JSON. 
 
Relatore:  Luigi Maselli
 
Il relatore ha descritto un framework di lavoro Open-Source che si chiama Ruby on Railshttp://rubyonrails.org/    http://ruby.html.it/guide/leggi/123/guida-ruby-on-rails/  ), basato sul pattern archietturale    Module-View-Controller.
 
Il concetto dell'MVC è la separazione dei compiti tra i vari elementi, per poter ottenere del codice pulito e separato dalla parte di html e di interazione con l'utente: la famosa separazione fra la logica applicativa e l'interfaccia utente 
 
  • il model fornisce i modelli e i metodi per interagire con i dati;
  • il view , che si occupa di visualizzarli e dell'interazione con gli utenti ;
  • il controller che elabora gli input ricevuti dall'utente attraverso la view e li realizza 'dirigendo' gli altri due componenti
La parte interessante di questo framework, che  usa tecniche di programmazione già sperimentate e affatto 'rivoluzionarie', come il suo utilizzo del Json come mezzo per portare solamente i dati  modificati  alla pagina html, senza dover ricaricare tutta la pagina, l'uso degli storage del browser del client , la libreria jQuery e quant'altro, è il fatto di avere racchiuso tutti questi strumenti in un unico modello di sviluppo.Il linguaggio usato è il Ruby, linguaggio completamente ad oggetti.
Altri aspetti positivi, la completa astrazione della richiesta al Database, che ne rende flessibile l'eventuale (per quanto sia improbabile un cambio della base dati in corsa :D ) sostituzione, e la sua modularità (non è obbligatorio installare tutto il framework per poter lavorare).
Insieme al framework viene fornito un miniserver web che è più che sufficiente per lo sviluppo e per piccoli carichi di lavoro . Gli altri Talk a cui ho assistito sono stati:

Aggiornare Drupal

fondamentali:

1-fare una copia del sito E del batabase (DUMP).

2-lavorare in locale, o comunque non in un sito in produzione: anche l'update.php , meglio lanciarlo sul sito in locale o nel sito clone e, una volta accertato che tutto funzioni, copiare il db e i file sul sito in produzione (con sito in manutenzione).

Il metodo che mi comporta meno problemi è:

1.scaricare la drupal )(attualmente, 7.7)

2.scompattarla dentro una dir drupal_new, nell / del sito.

3.creare una dir drupal_old