due chiacchiere

Una intranet con WordPress, quarta puntata

Si conclude oggi questa piccola serie di interventi che, inaspettatamente, ha riscosso più successo di quello che mi aspettavo. Ho introdotto la scorsa volta il mio “tocco di classe” a tutta l’architettura: un’estensione al tema, che aggiunge la possibilità di elencare il contenuto di una determinata cartella del server. In quest’ultima puntata, vedremo come “collegare” la intranet ad altre applicazioni proprietarie esistenti all’interno della rete aziendale.

Uno strumento flessibile

Di fatto, WordPress è un sistema per la gestione dei contenuti web estensibile: chiunque può scrivere un frammento di codice in PHP, per arricchire di nuove funzionalità il sistema di base. Se la tua applicazione esporta un’interfaccia pubblica (API) sarà sufficiente scrivere un plugin che dialoghi con essa, e visualizzi i risultati all’interno di una pagina di WordPress. Ma anche se l’unica fonte di informazioni è la base di dati su cui l’applicazione si appoggia, il linguaggio PHP fornisce un insieme completo di “agganci” possibili: dalle basi di dati Oracle alla decodifica di dati XML, dall’accesso a documenti remoti con i principali protocolli, all’analisi di messaggi di posta elettronica.

Pulizia ed ordine

A voler fare le cose per bene, l’ideale sarebbe affiancare l’applicazione originaria ad un intermediario (wrapper, in gergo) che accede alla base di dati ed esporta un’interfaccia standard di accesso: questo ti consentirà in futuro di non dover buttar via tutto, se cambia l’applicazione, ma solo il wrapper. Nel mio caso, ad esempio, ho sviluppato un’estensione (una pagina statica con associato un template specifico) che preleva i dati sulle timbrature dei dipendenti, e li visualizza all’interno di WordPress. Per pigrizia, lo ammetto, non ho fatto anche il wrapper, ma in fondo si tratta di un paio di chiamate SQL, faccio prima a riscrivere la pagina. Ma tu non seguire il mio esempio!

La serie completa

Per completezza, ti riporto qui di seguito i collegamenti agli interventi precedenti, in modo che tu possa avere tutto l’occorrente a portata di mano. E non dimenticare che le pagine di questo blog si stampano facilmente!

  1. preparare il terreno
  2. accendiamo le luci
  3. raggruppare i redattori
  4. elencare i documenti

Commenti

  1. piscione75
    ha scritto:

    Ciao bravissimo. Ho letto e riletto tutta la guida, cercherò di metterlo in pratica, e sicuramente ti disturberò con le mie tante domande, dubbi e problemi! 🙂 Sono il web designer di una pubblica amministrazione, vorremmo mettere in pratica ciò che hai realizzato, infatti abbiamo una intranet, e un sito molto statico (flash), ed io stavo già lavorando con WordPress, togliere il sito in flash, ma sopratutto rendere più interattivo, flessibile, e innovativo il tutto. Poi la cosa che mi hanno chiesto maggiormente: creare quelle aree/uffici privati dove solo determinate persone possono accedere per visualizzare e/o proporre e rispondere.

  2. camu
    ha scritto:

    Piscione, con WordPress potete creare una intranet adatta alle esigenze di una pubblica amministrazione. Grazie ai plugin puoi anche connettersi ad applicazioni esterne (ad esempio che gestiscono le timbrature dei dipendenti) e visualizzarle dentro le tue pagine. Integrando di fatto tutti i sistemi di cui disponete. Un suggerimento: oltre all’interattività, ricorda che con WordPress puoi ottenere un’alta accessibilità del sito, un’opzione da non trascurare.

  3. piscione75
    ha scritto:

    Grazie, e scusa se ti ho scritto anche in privato.

    Davvero importante e veritiero ciò che dici e ci sto lavorando su (studiando un po di css), creando almeno la struttura (con template: neoclassical-lauryn- e proprio ieri scaricato quadruple blue;cercando di essere più vicino possibile ad un sito/portale) che ne pensi..!?
    Poi è anche vero che da appena un mese sto smanettando con WordPress, alcune cose ancora non le ho capite, avendo anche usato altro tipo flash o Asp.

    Come ti chiedevo in privato, sto cercando di creare le famose Aree/Zone (che dovrebbero corrispondere ai vari uffici) di tipo privato o cmq non visibile a tutti e non interattivi per tutti.Queste le sto facendo con le pagine inserendo password..spero che sono nella direzione giusta..!?
    Ho visto anche che tante cose cambiano a secondo del template7tema..!
    grazie a presto..spero di poter contare su di te..!!? 🙂

  4. ha scritto:

    Salve,

    stavo cercando esperienze in rete di intranet costruite con WordPress e sono capitata nel tuo sito. Avrei due domande: ti sei trovato a lavorare con Apache in Win? Se sì hai riscontrato difficoltà rispetto a Linux?

    Seconda domanda: hai realizzato aree/pagine con accesso limitato per alucni utenti/gruppo utenti?

    Complimenti per l’idea di dividere le aree del blog come stanze di una casa. Davvero originale.

    Un saluto
    gabi

  5. camu
    ha scritto:

    @gabi: in genere uso apache sotto windows soltanto per le prove, la versione “in produzione” nel mio caso girava sotto Linux, ma in fondo non ci sono tante differenze. Nella mia esperienza però la configurazione con Windows crea qualche problema quando gli utenti sono davvero tanti, ad accedere il sito. L’accesso limitato era gestito, nel mio caso, via .htaccess per compatibilità con altre soluzioni già presenti. WordPress consente però di generare pagine protette da password. Non solo: l’autenticazione può essere fatta passare attraverso un server LDAP presente nella tua rete, così gli utenti avranno una sola password per tutto.

  6. ha scritto:

    Camu,

    grazie per la tua rapida risposta. Avvio la sperimentazione. Interessante anche l’accenno sull’autenticazione via LDAP.
    Stamattina il tuo sito sembra non riconoscere il CSS, oppure ci stai facendo manutenzione?

    Ciao e grazie ancora.
    Gabi

  7. ha scritto:

    @gabi: errata corrige, il tuo sito ora è ok.

  8. ha scritto:

    Salve Camu,

    la mia sperimentazione procede a gonfie vele, alle fine l’ipotesi Linux ha vinto. Sto utilizzando il tuo function.php. Davvero molto utile. Ho solo un problema: se lo copio all’inzio del functions del mio tema il login/logout mi va in errore:

    Warning: Cannot modify header information – headers already sent by (output started at /var/www/wp-content/themes/wp-andreas01-2 09version/functions.php:149) in /var/www/wp-login.php on line 255

    Se invece copio il tuo codice in fondo al file, va tutto bene.
    Pensi che posso avere dei problemi in futuro visto che tu consigli di metterlo all’inizio?

    Se a qualcuno puo’ servire, o qualcuno ha notizie di problemi futuri in questa fase di test sto usando i seguenti plug-in:

    Breadcrumb NavXT – per avere la breadcrumb… (come si chiama in italiano?)

    Sidebar Login: per avere il login in home page

    Simple Sidebar Navigation: per creare menu di navigazione personalizzati a dx e sx della pagina (unico difetto che una volta impostata la struttura le pagine child devono ogni volta essere aggiunte a mano) vedrò se trovo qualcosa di diverso.

    User Access Manager: per gestire la visualizzazione delle pagine a gruppi di utenti specifici. Se un utente non ha accesso si può scegliere di togliere la pagina dalla visualizzazione. Molto utile perché non innesca meccanismi di esclusione, come dire: “occhio non vede, cuore non duole”

    Grazie ancora per i tuoi suggerimenti.
    gabi

  9. ha scritto:

    Salve Camu,

    aggiungo un paio di domande su function.php.

    1)Ho utilizzato il formato della %date% ma sulla pagina mi viene mostrata in questo modo: 1242650971;
    qualche suggerimento?

    2) Per mostrare tutti i file di una cartella indipendnentemente dal tipo di file, ho lasciato vuoto il secondo parametro e quindi:

    Il risultato è ok, ma è una procedura corretta?

    Ti ringrazio
    Gabi

Rispondi a piscione75

Torna in cima alla pagina