working in progress: SharePoint 2010, Visual Studio 2010, ASP.NET, WPF, Scrum, Patterns, TDD, Refactorin To Pattern

0208/10 0

New gift: MSDN Subscription

Sono felice di ringraziare Alle per il bellissimo regalo che mi ha fatto: una sottoscrizione msdn :)

Appena arriva il ferro nuovo installerò un bel pò di prodotti… primo fra tutti TFS :D

Jò Alle, jò

[top]

2907/10 0

Sharepoint Community

Nella sessione How-To della Sharepoint Community, hanno inziato a pubblicare un pò di miei post.

A settembre tornerò con nuovi post su Sharepoint che affronteranno i seguenti argomenti:

  • Web part Search: cos’è e come customizzarla con xslt
  • Web part Result: cos’è e come customizzarla con xslt
  • Pex e Moles: cosa sono e come usarli per fare testing delle nostre applicazioni Sharepoint

68b872cc-a5e0-4d34-9ce6-d4d37f7dda80

[top]

1207/10 0

Le domande più frequenti su Microsoft Sharepoint 2

Continuiamo con le domande tipiche per chi si avvicina per la prima volta al mondo Sharepoint:

6 – Io sono uno sviluppatore come mi specializzo su Sharepoint?

Questa domanda è alquanto insidiosa.
Dal pdv di un dev usare Sharepoint non è altro che un cumulo di API da impare/studiare e usare quando più tornano utili.
Così si rischia di non usare il prodotto o almeno di non capirlo sino in fondo.

7 – Quali sono le figure professionali che girano attorno a Sharepoint?

Si possono identificare almeno 3 figure su Sharepoint:

1 – Amministratore di sistema
Si occupa di backupare la farm/servers, configurare la farm, profiling della farm, farm farm farmville

2 – Power Builder
Sharepoint Designer 2010 (gratuito), Internet Explorer, Windows Workflow Foundation e gestione dei site a manetta,
HTML, CSS, Javascript/JQuery

3 – Developer
Visual Studio 2010, HTML, JavaScript/JQuery,  CSS, Gestione Solutions e Feature … in definitiva tutto quello che non potete fare come Power Builder

8 – Quale libro compro?

Mò quì ricadiamo sulla domanda di prima. Non esiste 1 libro su Sharepoint esistono almeno 3 filoni di libri, uno per ogni profilo.

Quelli che preferisco sono:

- Sams - Microsoft SharePoint 2007 Unleashed
- APress - Office and SharePoint 2007 Users Guide

Non chiedetemene del 2010... non ne ho ancora letto uno!

Enjoy

8919C31C-2545-4F19-B517-780156B59C04

[top]

2506/10 0

SharePoint Community

il 29 giugno sarò al Lancio@Community Tour: SharePoint Community in Microsoft (Segrate) a seguire le sessioni developers e site builders.

Per maggiori info:

http://www.facebook.com/?sk=events#!/event.php?eid=105865259459366

Per le iscrizioni:

https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032451987&Culture=it-IT

Ciao :)

[top]

1806/10 0

Le domande più frequenti su Microsoft Sharepoint

E’ da un pò che ricevo delle domande generiche su Sharepoint da vari amici e impressioni da parte di vari clienti…
Vorrei riportarne un paio quì:

1. Per cosa può tornarmi utile Sharepoint? \ Dove posso usarlo in azienda?
Più volte, nelle medie e grosse aziende, si ha la necessità di gestire documenti.
Ad esempio:

richiesta_progetto

In realtà si potrebbe continuare ancora per molto con questo diagramma di flusso :D
Siamo già nel 2010 e, purtroppo, molte aziende condividono queste informazioni o via e-mail o condividendo una directory in rete costruendo una alberatura più o meno definita.
Il risultato è che le mail si perdono, i file non sono ricercabili se non per nome del file (e poi avremo file del tipo tean – nome cliente – rev num – del – autore.docx) e tutta la gestione di sicurezza e versioning è un casino!!!

SIAMO NEL 2010 CRIBBIO…

Ecco che quì Sharepoint ci salva una bella ventata di stress :P

2. Serve solo a questo?
No!
Sharepoint è un CMS!!!
Potete creaci un blog, un gestore di articoli con tanto di workflow pronti per l’accettazione e la pubblicazione, un gestore di meeting, un wiki… etc etc etc

3. Non è un creatore di applicazioni! (cit testualmente da parte di un cliente\amico) :D
Un mio amico ha dovuto far capire in azienda che, è vero che puoi fare tante cose con pochi click, ma non fai buone cose se non conosci almeno discretamente il prodotto.

4. Quale tabella scegliere?
Sharepoint non funziona con le tabelle!
Funziona con le liste e ad ogni lista è associato un insieme di colonne che possono essere già state definite nel sito oppure può esser creato al volo.
La definizione della lista viene salvata nel db content usato dal sito

5. Cosa sono le document library?
Le Document Libraries è un’altro tipo di list di SharePoint la quale implementa una serie di funzionalità non presenti nelle altre liste:

  • Versioning
  • Check out – in
  • livelli di permesso aggiuntivi
  • workflow ad ok
  • etc

 

se avete delle domande fatele pure, vedrò di rispondere il prima possibile

Enjoy

0xf52ca7f4, 0x7f83, 0x402c, 0x9e, 0x10, 0x96, 0x2a, 0xb, 0x13, 0xc1, 0x3e

[top]

1606/10 1

Sharepoint and Mocking!!!

Sempre più preso dall’usare Rhino.Mocks per i propri test (a causa di Ughetto; prima facevo le mie classi di mocking), ho iniziato a guardare in giro quale sarebbe il migliore framework per mocking su Sharepoint, perchè Rhino non fa quel che ho più di bisogno: moccare classi sealed e costruttori internal.

Chi ha provato a mockare dei progetti web sa bene che “problemi” si possono avere con i vari HttpContext etc.
Nel mondo Sharepoint abbiamo gli stessi problemi con, l’SPContext, SpList … in più abbiamo poche interfacce e molti metodi/proprietà static.

Ecco allora che abbiamo poche soluzioni applicabili:

  1. Implementare interacce/classi che wrappano gli oggetti di Sharepoint
  2. Usare un framework di mocking
  3. Usare Doubler

 

Il punto 1 è quello che facevo e avrei continuato a fare senza l’ausilio dei framework di mocking.
Prendete una classe la mocchiamo a manina e vediamo se il codice che scriveremmo a contorno funziona:

  • PRO
    Non devo impare a usare un framework
  • CON
    Devo scrivere tanto codice!!!

 

Il punto 2 è quello più interessante, anche perchè abbiamo un pò di framework di testing da poter usare.
Il primo che mi viene in mente è Rhino.Mocks, ma come ho scritto su non è utile con Sharepoint perchè dovremmo scrivere tutte le interfacce necessarie per wrapparne gli oggetti.

Altre due mi vengono in mente: TypeMock e Moles + Pex.

Anche quì abbiamo pro è contro…

TypeMock:

  • PRO
    Mocca l’impossibile, anche le mozzarelle di bufala e adesso c’è anche la licenza TypeMock Isolator 2010 for Sharepoint developers che comunque costa un botto e, rispetto alle altre versioni, non ha nulla: http://site.typemock.com/comparison-matrix/
    Rimane il fatto che, ad oggi, è la più completa… ad oggi
  • CON
    Costa e non poco

Moles e Pex:

  • PRO
    Mocca gli oggetti sealed e i costruttori  internal
    Pex genera test cases dopo aver analizato il codice in test (mooolto comodo)
  • CON
    Microsoft ancora non ne garantisce il supporto

 

Doubler è un addin di reflector sviluppato da Jay Flowers, ottimo per creare stub: http://code.google.com/p/doubler/

 

Personalmente ho sempre visto di buon occhio TypeMock e ultimamente l’ho provato.
Ma visto il costo non ho voluto aprofondirne la mia conoscenza.

Invece sempre più proverò ed usero Moles + Pex per i miei progetti, rimanendo a Rhino per Dexter.

Cips

0xb4627233, 0x5e70, 0x4219, 0x95, 0x9e, 0x1, 0x63, 0x5e, 0x6b, 0x3f, 0xae

[top]

0406/10 0

VS2008: Test Run deployment issue *.dll is not trusted.

Problema:

All’avvio di un Test il risultato è:

VS2008: Test Run deployment issue ICSharpCode.SharpZipLib.dll is not trusted.

Soluzione:

  1. CASPOL
    caspol -m -ag 1.2 -url C:\PROJECTS\WEBAPPS\LogUploader\Library\* FullTrust
    caspol -m -ag 1.2 -url c:\projects\webapps\loguploader\testcommon\bin\debug\* FullTrust
  2. Dalle proprietà della dll cliccare su unBlock

Pace e bene

0xb553ba1b, 0xec58, 0x4109, 0xa4, 0x19, 0x5d, 0xd, 0x3a, 0x18, 0x7a, 0xc4

[top]

0306/10 0

Lavorare con i PDF

Dopo varie prove ho trovato molto utile l’utilizzo della libreria PDFBox di Apache.
E’ una libreria scritta in Java ma utilizzabile anche sui vostri progetti .NET e, devo dire, che funziona veramente bene.

Ecco un esempio su come leggere la prima pagina di un PDF contenente del testo OCR:

PDDocument pdDocument = null;
try
{
    pdDocument = PDDocument.load(_currentPdfFileDto.FullName);
    var stripper = new PDFTextStripper();
    stripper.setSortByPosition(true);
    stripper.setStartPage(1);
    stripper.setEndPage(1);
    stripper.getText(pdDocument);

 

Che Dio vi benedica

0x4d97a6bc, 0xc3bd, 0x49c0, 0x83, 0x82, 0x81, 0xee, 0x4c, 0x58, 0x83, 0x32

[top]

0106/10 0

Il kit del bravo consulente 2

Ecco un aggiornamento del kit del bravo consulente.
Oltre alla vecchia attrezzatura (quì) aggiungo:

  • smacchiatore (Scardova docet)
  • pietra
  • geffer (per le ug's cene)
  • pigiama

 

0x28fb258, 0x8955, 0x40b3, 0x93, 0xc, 0xcf, 0x22, 0xdd, 0xcc, 0x6b, 0xe5


[top]

3105/10 0

Customizzare i risultati del nostro Sharepoint 2010 Search Engine!

Sicuramente una cosa che torna sempre carino da fare è customizzare la result page del nostro search engine.

Prima di tutto, se non abbiamo un subsite search engine lo creiamo:

1_add_subsite

Fatto questo, apriamo il Designer 2010 e andiamo su All Files e (personalmente lo trovo comodo) copiamo le web part utili della pagina results.aspx:

2_custom_result_layout

E creiamo la pagina SearchResult.aspx :

3_create_your_custom_result_page

Adesso andiamo sui settings del nostro site e clicchiamo su Search settings:

4_search_setting

Modifichiamo l’url della pagina di result

5_set_your_custom_result_page

E controlliamo il risultato

6_customized

cips

0xbdcd505b, 0xdcbb, 0x49bc, 0xa1, 0xee, 0x77, 0x2, 0x79, 0x9e, 0x84, 0x81

[top]