martedì 20 dicembre 2011

Passi da seguire per configurare Alfresco 4 per l’autenticazione attraverso un server Openldap

1.    Definire la catena di autenticazione

Modificare il file /opt/alfresco-4.0.a/tomcat/shared/classes/alfresco-global.properties con i seguenti dati:

### Autenticazione tramite LDAP
authentication.chain=ldap1:ldap,alfinst:alfrescoNtlm


2.    Creare LDAP subsystem

Preparare il seguente percorso se non esistono le cartelle crearle.

 /opt/alfresco-4.0.a/tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap/ldap1

3.    Configurare l’autenticazione LDAP

Creare il file ldap-authentication.properties con il seguente contenuto:

ldap.authentication.allowGuestLogin=false
ldap.authentication.userNameFormat=uid=%s,ou=Users,dc=<dc1>,dc=<dc2>
ldap.authentication.java.naming.provider.url=ldap://<SERVER LDAP>:389
ldap.authentication.defaultAdministratorUserNames=Administrator,alfresco
ldap.synchronization.java.naming.security.principal=cn=admin,dc=<dc1>,dc=<dc2>
ldap.synchronization.java.naming.security.credentials=********
ldap.synchronization.groupSearchBase=cn=gruppo,ou=Groups,dc=<dc1>,dc=<dc2>
ldap.synchronization.userSearchBase=ou=Users,dc=<dc1>,dc=<dc2>


4.    Riavviare il servizio di Alfresco

/etc/init.d/alfresco restart

lunedì 10 ottobre 2011

Rilasciato .NET Micro Framework 4.2 RTM, a breve il nuovo netduino SDK



La settimana scorsa è stata ufficialmente rilasciata da Microsoft l’ultima versione del Micro Framework .NET SDK: la 4.2 RTM (Release To Manufacturing).
Le nuove funzionalità aggiunte sono le seguenti :
  • Remote Firmware Update : possibilità di aggiornamento remoto del firmware dall’SDK e dal PK;
  • Complete Cryptographic Object Model (PKCS#11) : supportati quasi tutti i tipi e gli algoritmi del .Net Framework (desktop);
  • 1-Wire, PWM e A/D Object Model : supporto per connessione 1-Wire, PWM e A/D attraverso un ben definito Object Model;
  • SNTP e FTP (Client e Server) : implementazioni client e server per SNTP e FTP;
  • StringBuilder e Regex : aggiunte tali classi come nel .Net Framework;
  • VB.Net : possibilità di sviluppare le applicazioni anche in VB.Net oltre che in C#;
  • Supporto per device con Cortex M3 : aggiunto tale supporto per la famiglia di processori STM32;
  • PKStudio : implementato il nuovo strumento PKStudio che prende il posto del Solution Wizard per la creazione di nuove soluzioni nell’ambito del Porting Kit;
Lo Staff Secret Labs ha comunicato sul proprio forum che a breve sarà disponibile l’ultima versione del firmware netduino per sfruttare al meglio il nuovo framework. Qui il post da seguire per gli aggiornamenti in merito.

l’SDK ed il Porting Kit e tutti i codici sorgenti del nuovo .Net Micro Framework sono scaricabili sul sito Codeplex.

venerdì 7 ottobre 2011

Creare un progetto per scheda Netduino (2/2)


Per il nostro primo progetto seguiremo la “starting guide” scaricabile da qui.
In questo semplice test faremo lampeggiare il led blu a bordo della scheda…

Creazione nuovo progetto in Visual C# express

Apriamo Visual C# Express 2010 e creiamo un nuovo progetto partendo dal modello Micro Framework. Il tipo di progetto da creare dipende dalla scheda che abbiamo; se siamo in possesso della scheda Netduino Plus (scheda identica alla Netduino base ma con l’aggiunta della porta ethernet e di un lettore di schedine microSD) ovviamente selezioneremo Netduino Plus Application.



Una volta creato il nuovo progetto andare in “Esplora Soluzioni” e aprire il file Program.cs.



Questo file contiene il codice di avvio del progetto ed è qui che scriveremo la parte di programma che comanderà il led della scheda.




Ora scriviamo quanto segue sotto il commento “// write your code here”:

OutputPort outPort = new OutputPort (Pins.ONBOARD_LED, false);

Questa prima riga di codice crea un OutputPort. Un OutputPort permette di controllare il livello di tensione su un’uscita qualsiasi della scheda Netduino (o in questo caso sul LED a bordo della scheda). Pins.ONBOARD_LED è una scorciatoia che definisce quale “PIN” della scheda vogliamo controllare mentre il secondo parametro (false) mette il LED in un stato iniziale di OFF (false).
Ora noi vogliamo far lampeggiare il LED ripetutamente. Un modo semplice per creare un'azione che si ripete in continuazione è quello di metterlo all'interno di un ciclo senza fine. Per fare questo ci basta aggiungere il  seguente codice al progetto:

while(true)
{
}
Ora, creiamo il codice LED lampeggiante. All’interno del ciclo while inseriamo le seguenti quattro righe di codice:


led.Write (true); / / accendere il LED
Thread.Sleep (250); / / dormire per 250ms
led.Write (false); / / spegnere il LED
Thread.Sleep (250); / / dormire per 250ms

Il programma finale apparirà così:
public static void Main()
{
// write your code here
OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);
while (true)
{
led.Write(true); // turn on the LED
Thread.Sleep(250); // sleep for 250ms
led.Write(false); // turn off the LED
Thread.Sleep(250); // sleep for 250ms
}
}

Esecuzione del programma

Ora, distribuiremo l'Applicazione sulla scheda Netduino e la faremo partire.
Per impostazione predefinita, Visual Studio gestisce i progetti in un emulatore. Questo permette agli sviluppatori di software di creare e testare la logica di programmazione prima ancora di fare il “deploy” sull’hardware definitvo. Noi non useremo l'emulatore per cui diremo a Visual C# Express 2010 di fare direttamente il deploy sulla scheda Netduino.
Fare clic sul menu Progetto e selezionare le proprietà del progetto.



Quando appare la finestra delle proprietà del progetto fare clic sul pulsante “.NET Micro Framework” presente sul lato sinistro.



A questo punto andiamo a collegare, tramite il cavo micro USB, la scheda al PC. Dopo la procedura automatica di installazione dei drivers e riconoscimento da parte del PC della scheda cambieremo la voce Transport da “Emulator” a “USB”. Fatto questo dobbiamo assicurarci che la casella Device mostri la voce “Netduino”. Se nell’elenco a discesa non è presente la voce “Netduino” (o “Netduino Plus” o “Netduino Mini”) scollegare e ricollegare la scheda al PC.
Ora, faremo eseguire il progetto. Quando si esegue il progetto, il codice viene distribuito alla scheda Netduino e quindi automaticamente avviato. In questo caso ci limiteremo a guardare il programma funzionare facendo lampeggiare ogni 250ms il led blu della scheda ma, quando si inizia a costruire applicazioni più complesse,  è possibile eseguire il debug, impostare punti di interruzione, analizzare il valore delle variabili, ecc.

Creare un progetto per scheda Netduino (1/2)


La prossima serie di articoli tratterà la creazione e lo sviluppo di un semplice progetto sfruttando la scheda open source, basta su .NET Micro Framework, netduino.

Netduino è una scheda elettronica prototipo totalmente open source, basata su componenti e software facilmente recuperabili e integrabili con ogni sorta di sensori, luci e attuatori meccanici.
Il progetto è nato dall'unione della piattaforma Arduino con .NET Micro Framework e permette di utilizzare una scheda elettronica basata su .NET.

In questo primo articolo tratteremo la configurazione dell’ambiente necessario allo sviluppo di un progetto demo.

Configurare l’ambiente


Per il nostro progetto demo e in generale, per iniziare nello sviluppo di un proprio progetto, è necessario dotarsi di:
  • Scheda Netduino (o Netduino Plus se si desidera avere già disponibile la connessione ethernet).
  • Cavo micro USB per l'alimentazione e il collegamento al PC.
  • Visual Studio 2010 o Visual C# Express 2010.
  • .NET Micro Framework SDK.
  • Netduino SDK (in base al proprio sistema a 32 o 64 bit).

Download dei pacchetti necessari

Scaricare ed installare (rispettando l’ordine con il quale sono elencati) i seguenti pacchetti:

  1. Microsoft Visual c# Express 2010
  2. .NET Micro Framework SDK v4.1
  3. Netduino SDK v4.1.0 (32-bit) o Netduino SDK v4.1.0 (64-bit)
L’installazione dei pacchetti è molto semplice e non richiede nessuna configurazione particolare. E’ sufficiente cliccare su “Avanti…” fino al termine dell’installazione.

Verifica ambiente

Per verificare se tutto è stato installato correttamente lanciare Visual C# Express 2010 e scegliere “Nuovo progetto…” nella pagina iniziale.



Nella parte sinistra della finestra che comparirà, tra i “modelli installati”, deve essere visibile la voce Micro Framework. Selezionando questo modello, nella parte centrale della finestra, saranno elencati i tipi di progetti che potremo creare.



giovedì 6 ottobre 2011

Ciao Steve!

Noi che ci occupiamo di tecnologia e amiamo l'innovazione non possiamo che dedicare un breve pensiero alla scomparsa di uno fra più geniali artisti del nostro secolo: Steve Jobs.
Geniale perché ha saputo precorrere i tempi.
Artista perché ha lasciato un impronta del suo modo di essere nei prodotti che negli ultimi anni hanno portato la Apple ad essere una suporpotenza mondiale.
Ha cambiato il modo con il quale utilizziamo il telefono.
Ha introdotto un nuovo dispositivo che ha rivoluzionato il mondo del business mobile.
Ha permesso di avvicinare al mondo della tecnologia anche l'universo femminile attraverso prodotti funzionali e esteticamente accattivanti.
Noi non abbiamo avuto la fortuna di conoscerlo personalmente ma abbiamo invidiato: il suo modo di pensare, la sua tenacia e la sua "lucida follia", questo perché viviamo in un paese, l'Italia, in cui poter innovare è una sfida che si combatte ogni giorno e molto spesso si perde.
Grazie "zio Steve" ci mancherai.




martedì 13 settembre 2011

Nuovo linguaggio di programmazione Google per il web

Mountain View presenterà presto un nuovo linguaggio di programmazione specificamente pensato per il web. Poche le informazioni a disposizione.

Si chiama "Dart" ed è l'ennesimo linguaggio di programmazione partorito dagli ingegneri del software di Google. Il nuovo ambiente di sviluppo è un mistero quasi completo, un mistero che verrà svelato solo alla conferenza Goto in programma per il prossimo mese di ottobre da Gilad Bracha e Lars Bak.

Non è la prima volta che Google si inventa nuovi "paradigmi" di programmazione per ottimizzare l'esecuzione di codice e l'utilizzo dell'hardware in relazione agli ambienti operativi che più le stanno a cuore.

Difficile al momento fare ipotesi sulle qualità di Dart...

lunedì 5 settembre 2011

Parallels Desktop 7 per Mac OSX Lion

L'ambiente per eseguire Windows e altri sistemi operativi virtualizzati sul Mac.

Il software Parallels Desktop 7 per Mac in uscita oggi 6 settembre 2011 è l'ultima versione del programma che permette di eseguire attraverso l'utilizzo di un ambiente virtualizzato diversi sistemi operativi: Windows, Linux, Chrome OS e lo stesso Mac OSX Lion come macchina Guest.
Noi di Softwarando siamo riusciti a provare in anteprima questo nuovo prodotto.
Abbiamo effettuato le prove con un Macbook Pro Metà 2010 con 2.4 ghz di processore, 4 gigabyte di memoria ram e una macchina virtuale Windows 7 Home Premium realizzata con la versione precedente del prodotto.
Durante la prova la prima cosa che ci ha colpito è stata la velocità di esecuzione dell'ambiente virtuale migliorata notevolmente rispetto alla versione precedente, che conferma le indicazioni presenti sulla pagina di presentazione del prodotto sul sito di Parallels.
L'altra cosa interessante è la possibilità di eseguire a schermo intero la finestra che ospita la macchina virtuale; l'utente ha la sensazione di lavorare come se fosse realmente davanti a un pc con installato Windows 7.
L'installazione di nuove macchine virtuali risulta essere molto semplice anche per l'utente meno esperto. Una serie  di procedure guidate permettono di scaricare e installare in pochi passaggi: Chorome OS, Fedora, Ubuntu e l'installazione di OSx Lion, come sistema guest, dalla partizione di ripristino.
Utile anche la procedura di migrazione di Windows da un PC attraverso l'utilizzo di Parallels Trasporter. In pochi passaggi sarà possibile ritrovare la macchina windows reale virtualizzata sul Mac.
Peccato che nella versione italiana da noi provata non sia presente la funzione Windows on demand che permette l'acquisto e l'installazione automatica di Windows 7 da Parallels Desktop 7.
Per le altre caratteristiche del prodotto vi rimandiamo sul sito di Parallels.
Parallels Desktop 7 è disponibile in versione completa alla cifra di 79.99 € e a 49.99 € in versione aggiornamento.
Parallels ha anche rilasciato l'applicazione mobile per iphone e ipad che consente di controllare da remoto le macchine virtuali e il proprio Mac alla cifra per il momento scontata di circa 4 €.

Programmare Liferay (Terza parte).

Utilizziamo Service Builder per gestire i dati.

Nell’articolo precedente abbiamo visto come è facile attraverso Liferay IDE realizzare una portlet. In questo articolo vediamo come realizzare la gestione dei dati attraverso l’utilizzo di Service Builder uno strumento che ci permette di rendere persistenti i nostri dati all’interno dell’ambiente Liferay e memorizzarli nella base dati.
Per prima cosa eseguiamo Liferay IDE e selezioniamo in Package Explorer il progetto creato in precedenza: HelloWorldPortlet-portlet. Clicchiamo con il tasto destro e selezioniamo New->Liferay Service Builder. Viene mostrata una procedura guidata. Nel campo Package Path inseriamo il nome del package ad esempio com.softwarando.hello.services in Namespace inseriamo HelloWorldPortlet poi proseguiamo premendo Next.
Appare l’editor del file service.xml che contiene la definizione delle varie Entità che verranno poi mappate con le tabelle della base dati.

<xml version="1.0" encoding="UTF-8"?>
DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.0.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_0_0.dtd">
<service-builder package-path="com.softwarando.hello.services">
<author>CTauthor>
<namespace>HelloWorldPortletnamespace>
<entity name="HelloTable" local-service="true" remote-service="true">
<column name="helloId" type="long" primary="true" />
<column name="helloName" type="String" />
<column name="helloText" type="String" />
<order by="asc">
<order-column name="helloName" />
order>
<finder name="HelloName" return-type="Collection">
<finder-column name="helloName" />
finder>
entity>
service-builder>



In questo articolo abbiamo visto come è semplice generare le classi per la gestione della persistenza dei dati in Liferay. Nel prossimo vedremo come utilizzare le classi per la generazione di un interfaccia di gestione dei dati.