martedì 27 settembre 2011

Log For Sharepoint

Ciao a tutti,

Oggi voglio mostrarvi una feature per i log da me implementata, è abbastanza semplice da utilizzare e spero possa tornarvi utile.

Si occupa di scrivere i log su liste sharepoint cosi eviteremo di andare sempre a guardarci i log che scrive sharepoint in quel file di testo, è ancora in fase di sviluppo ma se magari qualcuno vuole darmi una mano è ben accetto.

Questo è il link per il download del sorgente



E ora ecco la spiegazione di come funziona, e di come installarla

Nel Progetto ci sono 2 feature la prima installa tutto il necessario, mentre la seconda modifica il web.config in modo di inserire l'error module ma io vi consiglio di inserire a mano questa riga nel web.config o se proprio volete usare la feature di farvi un backup del web.config (non dovrebbe succedere niente ma non si sa mai! meglio un backup!)
Questa va sotto
del web. config
Invece questa è la chiamata per scrivere i log

void WriteLogWithException(Exception Ex,string list,string fromPage,string ErrorType)

i parametri più importanti sono l'exception e la lista che corrisponde alla lista dove scrivere i log all'installazione della feature viene creata la seguente lista

LogForSharepoint - LastLogs

Questo è un esempio di chiamata

WriteLog.WriteLogWithException(exception, "LogForSharepoint - LastLogs", HttpModule-" + pageUrl, "Application Error HttpModule Intercept");

se il parametro list è uguale a string.empty o null viene usata la lista di default per scrivere i log

Ora vi spiego in breve come funziona la feature.

Dunque all'installazione vengono create 2 liste e una document library.

Le 2 liste sono

LogForSharepoint - LastLogs : Dove vengono salvati i log è possibile creare anche altre liste per scrivere i log utilizzando il list template "LogForSharepoint - ListLogs" in modo che possiamo dedicare magari ogni lista ad un area del sito oppure inserirli tutti nella stessa lista come preferiamo.

Poi c' è la lista

LogForSharepointConfiguration che come dice il nome stesso non è nient'altro che una lista di configurazione per la feature e sono presenti questi 3 item

<Row>

<Field Name="Title" >MaxNumberItem</Field> Il numero massimo di Item prima che i log vengono archiviati nell'histoty

<Field Name="Value" >3</Field>

</Row>

<Row>

<Field Name="Title" >DefaultSharepointLogList</Field>

<Field Name="Value" >LogForSharepoint - LastLogs</Field> La lista di default dove scrivere i Log quella che viene usata dall'httpmodule

Row>

<Row>

<Field Name="Title" >DefaultSharepointHistoryList</Field>

<Field Name="Value" >HistoryLog</Field> La lista per l'history

</Row>

Poi è presente una document library chiamata history log

Dove ogni X(MaxNumberItem + 1) record tramite un event handler presente nella lista dei log.. tutti i log tranne l'ultimo vengono spostati in un file di testo che viene archiviato nella lista Historylog.

L'httpmodule naturalmente, si occupa di catturare tutti gli errori che non vengono gestiti, e scriverli nella lista di default.

Dovrebbe essere tutto

Resto a disposizione per chiarimenti e suggerimenti


martedì 17 maggio 2011

Overflow Sharepoint Scroolbar

Ciao,

A quanti di voi non è mai capitato che su sharepoint vengono fuori sempre quelle fastidiose scrollbar interne all'interno del div s4-workspace b'è forse finalmente sono riuscito a liberarmene forse in modo definitivo.

Mi è bastato inserire questo all'interno del css

#s4-workspace {
overflow:inherit !important;
}

mercoledì 13 aprile 2011

giovedì 30 settembre 2010

Excel Library

Sorgenti

Su un progetto c’è stata la necessità di creare una dll che
permette la lettura di un file excel utilizzando dot.net


La libreria è composta da 2 costruttori

Il primo prende in input il path del file e se la libreria è
usata sotto sharepoint (visto che in questo caso usa un provider differente e
quindi la connection string cambia)


public ReadExcel(string
FileName ,bool useInSharepoint)



Mentre il secondo prende in input solo la connection string.

public ReadExcel(string
connectionString)

Ci sono diversi metodi


Il primo ci permette di tirare fuori dal nostro documento
excel i vari fogli e non ha parametri di imput. E restituira in output una
lista di stringhe contenente l’elenco dei fogli del nostro elenco.


public List<string>
GetExcelSheet()


Poi c’ è un metodo che ci tira fuori dall’excel tutte le
colonne e vuole in input il nome del foglio su cui si vogliono prendere le
colonne

Questo metodo restituisce in output una lista di stringhe
con tutte le colonne del nostro foglio excel


Public List<string> GetExcelFields(string
Sheet)


Poi c’è il metodo che ci tira fuori tutti i valori presenti
sull’excel . questo prende in input il nome del foglio e una lista di stringhe
contenente l’elenco dei campi che verranno selezionati dall’excel. Se questa
lista ha valore null verranno selezionati tutti i campi

public List<ExcelRowItem> readExcelForField(List<string>
selectedItem,string sheet)



In oput avremmo una lista di elementi di tipo ExcelRowItem
anche questo oggetto è definite all’interno della libreria

L’oggetto ExcelRowItem rappresenta una collection di righe
dell’excel ognuna delle quali è composta da N Colonne queste sono rappresentate
con l’elemento ExcelField
il quale ha 2 proprietà Titolo e Valore



Per recuperare un Field da una riga basta chiamare
il metodo questo dato il titolo ci restituisce il valore del campo

public string GetFieldValue(string title)




Per
qualsiasi chiarimento poteti chiedere senza problemi allego anche i sorgenti
naturalmente









Sorgenti

Ciao a Tutti

Benvenuti Nel mio Blog !