Anlan.com

Disorganizzata cronologia di esperienze IT (e non …)
Options:

Facebook Edgerank : di chi sei più amico ?

Ogni volta che ci si affaccia alla bacheca della nostra pagina di Facebook il feed (letteralmente il flusso delle informazioni che vediamo) dei contenuti esposti viene alimentato da sofisticati algoritmi che stabiliscono, in base alle nostre interazioni con i profili di altri utenti, chi sono i soggetti che dovremmo preferire. Il tutto si traduce in un numero che si chiama Edgerank : esattamente come il noto (e ormai datato) Pagerank di Google, anche Facebook classifica i nostri contatti in modo da permetterci di essere maggiormente vicini a quelli con cui, secondo loro, abbiamo maggiore affinità. E pure quando, nella casella di ricerca, iniziamo la digitazione di un nome, ci vengono proposti dei risultati che non sono certo ordinati alfabeticamente.

Ma questi calcoli producono un risultato attendibile ? Beh … sicuramente il primo indicatore lo avete sotto gli occhi: i contenuti che vedete in bacheca provengono dalle persone a voi più vicine o che vi interessano di più ? Se la risposta è SI allora potete ritenervi soddisfatti e forse potete fare a meno di proseguire nella lettura dell’articolo anche se potreste trovare interessante scoprire quanto, sempre secondo Facebook, sono importanti o interessanti per voi determinate persone. Se invece la risposta è NO allora con quello che vi sto per spiegare potrete vedere dove Facebook sbaglia e di quanto sbaglia.

Il tutto nasce da dei ricercatori i quali, durante lo sviluppo di un sistema di ricerca istantaneo per il loro sito, non riuscivano ad ottenere le prestazioni eccezionali, veramente istantanee, delle ricerche nella pagina di Facebook. Analizzando le pagine dinamiche si sono accorti di parecchie informazioni che vari script Java inviavano al browser ben prima che potessero realmente servire. E tra queste … eccolo li, un elenco di nomi abbinati ad un numerello: l’edgerank. Hanno allora messo a punto un picco script che, se eseguito sulla vostra pagina di Facebook vi propone l’elenco, ordinato per Edgerank, delle persone con cui avete a che fare.

Ecco come appare

Ovviamente per motivi di privacy ho nascosto i nomi reali e qualche altra informazione, ma è proprio così che viene visualizzata la pagina.
Come fare ? Dovete utilizzare come browser Firefox o Chrome (con IE non va) e creare un nuovo segnalibro nel quale inserire un piccolo script java.

Inserite questo codice

1
javascript:(function(){var%20script=document.createElement('script');script.type='text/javascript';script.src='http://thekeesh.com/js/edges.js';document.getElementsByTagName('body')[0].appendChild(script);}())

in questa maschera di creazione di un nuovo segnalibro

e quindi salvate. Portatevi poi sulla vostra pagina di Facebook e cliccate sul segnalibro. Ecco i vostri veri amici.

Piccola nota … io ci trovo dentro anche persone che non sono inserite nell’elenco delle mie amicizie.

 


Dopo aver aggiornato il mio blog integrandolo con il bottone +1 di Google, mi sono accorto che l’HTML prodotto da WordPress non onorava più la convalida W3C alla quale tanti sviluppatori tengono in modo particolare. Ed in effetti il tag <g:plusone></g:plusone> non viene riconosciuto correttamente in quanto si tratta di una estensione DOM che solo lo script Google gestisce.

Esiste comunque il modo per utilizzare nativamente le API PlusOne in modo che non si debba utilizzare un tag html non riconosciuto. Le cose da osservare sono due: la prima riguarda l’inizializzazione dello script plusone che dovrà obbligatoriamente prevedere il parametro parsetags: explicit come da esempio seguente.

<script type="text/javascript" src="https://apis.google.com/js/plusone.js">;
{lang: 'it-IT', parsetags: 'explicit'}
</script>

Questo impedisce allo script di eseguire il render del bottone (o dei bottoni) immediatamente dopo l’evento onLoad della pagina e ci permetterà di specificare via codice quando e dove effettuare il render del bottone. Per chi usa WordPress questo snippet di codice deve essere inserito all’interno dei tag <head></head> che vengono emessi dallo script header.php. A questo punto non resta che decidere dove si vuole che il bottone venga inizializzato e quale sia il riferimento di URL da votare. Riporto di seguito lo snippet che ho inserito nella mia pagina “index.php” che riporta, in sequenza gli ultimi articoli.

<div id="plusone-div<?php the_ID() ?>;"></div>;
<script type="text/javascript">;
gapi.plusone.render('plusone-div< ?php the_ID() ?>',{"size": "medium", "count": "true", "href": "< ?php the_permalink() ?>"});
</script>

Come potete vedere, dopo l’emissione di ogni articolo, emetto un DIV al quale assegno un nome seguito da un suffisso uguale all’ID dell’articolo (per evitare di avere ID doppi), ed immediatamente a seguire, emetto lo script che invoca il render del bottone all’interno del DIV appena generato ed abbinandogli l’URL di riferimento.

In questo modo, oltre ad avere maggiore libertà nella decisione sulle modalità di render dell’elemento plus-one, il vostro documento passerà anche la validazione W3C

 


Autenticazione AD per MailArchiva con Scalix

Sono un paio d’anni che usiamo, con soddisfazione, Scalix sia per la nostra struttura, che per quella dei nostri clienti. Innumerevoli sono i vantaggi offerti da Scalix rispetto ad Exchange:

  • Lo stack di investimento: per avere un server Exchange devi comprare per forza Windows Server e relative CAL. Con Scalix invece puoi affidarti ad un robusto e spesso gratuito server Linux tra quelli compatibili. Con soddisfazione abbiamo sempre adottato CentOS (ora alla versione 5.4) spendendo solo quanto necessario per dotarsi di un buon hardware sufficientemente dimensionato. In termini di costo licenza per il mail server poi i due prodotti non sono nemmeno comparabili con un indubbio vantaggio a favore di Scalix. E’ pur vero che il costo di licenza andrebbe rinnovato di anno in anno per poter ricevere le nuove release. Ma se la vostra installazione è stabile, protetta da un buon firewall e non sono cambiate le vostre esigenze di interfacciamento con altre periferiche o software, potete rimanere allo stato dell’ultima release che avete installato.
  • Continuità : è un fatto che i continui windows update richiedono sempre più spesso riavvii della macchina.  Con Scalix, e Linux ovviamente, i tempi di down per l’applicazione delle patch di aggiornamento sono significativamente ridotti.
  • Spazio : Exchange nella versione Standard ha dei limiti di spazio, per quanto ampi, allo storage della posta e degli altri elementi. Scalix invece ha come unico limite lo spazio fisico dei dischi presso i quali è attestato il suo database.
  • Multi Client : Exchange elegge come client preferenziale Outlook. Per usarlo con altri client è necessario sfruttarne la connessione IMAP o POP3 (in questi casi molte funzionalità vengono perse, specialmente per tutti gli elementi NON POSTA come i contatti, il calendario ecc.) oppure limitarsi ad accedervi tramite l’interfaccia Web. Scalix offre tutto questo (con una WebMail decisamente più avanzata) e come plus offre anche un connettore per Evolution il che vi rende possibile l’integrazione di un PIM Linux all’interno della struttura di rete (davvero tutti gli utenti devono avere Windows per forza ? Perchè non iniziate a risparmiare su quelle postazioni che non richiedono applicazioni office ????).

Ovviamente anche Scalix, dato che il suo competitor è proprio Exchange, cerca di combattere nello stesso campo (Windows), offrendo un sistema di autenticazione integrato SSO (Single Sign On) basato su Active Directory: in pratica l’accesso a Scalix tramite Outlook avviene nell’ambito delle credenziali di accesso a Windows (esattamente come Exchange).

Anche Scalix comunque, come tutti i server di posta, soffre. E soffre si di un male che non ha nulla a che vedere con l’aspetto tecnico: la “pigrizia” degli utenti. Pigrizia che porta a mantenere nelle caselle postali migliaia di messaggi, risalenti alla notte dei tempi, nell’eterna convinzione che prima o poi mi serviranno anche queste mail vecchie. Tutto questo trasforma il server di posta in un archiviatore mostruoso sul quale gli utenti avranno sempre modo di lamentarsi perchè diventa lento nelle ricerche.

Ovviamente il lavoro dell’archiviatore NON lo deve fare il server di posta. Piuttosto dei servizi specifici che tengano traccia di tutte le email che passano dal server e le organizzino in archivi debitamente indicizzati che poi andranno interrogati successivamente. Tenendo la posta “archiviata” a parte è poi possibile tenere il mail server “snello” con dei clean-up periodici (magari settimanali) che eliminino dalle mailbox tutto quello che non è lavoro quotidiano.

La nostra scelta è caduta su MailArchiva, un software open, disponibile sia in versione “community” (gratuita) sia in versione “enterprise” (a pagamento). Abbiamo adottato la versione community per l’archiviazione della posta.

Sia Scalix che MailArchiva permettono l’integrazione con Active Directory per l’autenticazione degli utenti e la loro configurazione è decisamente alla portata. Tuttavia MailArchiva, se attivata l’autenticazione con Active Directory, non trova nessuna mail per gli utenti. Perchè ? Il motivo è molto semplice. MailArchiva “legge” gli indirizzi email associati all’utente nell’attributo proxyAddresses dello schema di Active Directory (l’impostazione predefinita per chi ha installato Exchange) mentre Scalix scrive gli indirizzi email in un suo attributo nominato scalixEmailAddress. Ne consegue che MailArchiva non sa quali siano le email di pertinenza dell’utente che ha effettuato l’accesso e, a meno che non sia un admin, non ne mostra nessuna.  La soluzione proposta dal team di MailArchiva è quella di passare ad un sistema di autenticazione LDAP e di specificare quale sia l’attributo dello schema che specifica l’indirizzo email : a meno che non abbiate la versione Enterprise (a pagamento) è una spina nel sedere.

La vera soluzione è molto più semplice e di facile implementazione. Basta copiare gli indirizzi email presenti nell’attributo scalixEmailAddress e metterli anche nell’attributo proxyAddresses (che è un attributo standard di Active Directory e quindi presente anche se non avete Exchange montato). I due attributi hanno forme sintattiche leggermente diverse ma con un piccolo script (facilmente schedulabile) potete mantenere allineate le informazioni.

Siete pigri ? … vabbè … ecco lo script per farlo.

Download ScxPAUtil.zip

Scarica lo zip ed estrai il contenuto (incluse sottodirectory) in una cartella di tua scelta. Per lanciare l’allineamento tra i due attributi basta eseguire, da una macchina membro del dominio e nelle credenziali di un utente che ha diritti di scrittura su AD:

cscript ScxPAUtil.wsf

Verrano eseguite le seguenti operazioni :

  1. Estrazione di tutti gli oggetti “user” dallo schema Active Directory
  2. Se l’oggetto user non è associato ad email Scalix, l’attributo proxyAddress viene svuotato
  3. Se l’oggetto è associato ad email Scalix, l’attributo proxyAddress viene popoplato (o aggiornato) con i valori presenti in scalixEmailAddress.

Semplice e lineare. Ora MailArchiva “vede” le email corrette.

 



 
Loading


Categorie