Posts

Showing posts from 2014

SharePoint 2013 - Filtrare per Eventi Ricorrenti senza i duplicati

La creazione di un evento ricorrente genera tante istanze dell'evento creato, quante sono le date configurate per la ricorrenza. Esiste la possibilità di visualizzare tutti gli eventi, con le ricorrenze, tramite la vista Calendario e la vista Eventi Correnti. La vista Tutti gli Eventi mostra invece gli eventi ricorrenti "Parent", quindi i soli item effettivamente inseriti, con la regola di ricorrenza. Quando modifichiamo una istanza di una ricorrenza, possiamo decidere se modificare tutta la serie o il singolo elemento: scegliendo l'ultima opzione, viene creato un nuovo item (evento), con un suo id, con le stesse regole della ricorrenza, ma "slegato" dalla ricorrenza "Parent" originaria (pur mantenendo un collegamento interno). Se vogliamo visualizzare solo gli eventi "Parent" originali, senza gli eventi modificati a partire dalla serie (come descritto sopra), dobbiamo filtrare la web part modifiicando, tramite il Designer, la CAM...

SharePoint - Spostare Document Set di grandi dimensioni

Per lo spostamento di Document Set da una libreria ad un'altra occorre tenere conto del contesto in cui si implementa la procedura di spostamento, in particolare se esiste la possibilità che i Document Set contengano documenti di dimensioni superiori ai 10 Mb. Export/Import In rete è la soluzione più consigliata, ma  attenzione: per file di grandi dimensioni (superiori a 10Mb) , funziona solo nel caso di Event Receiver (o Console Application). Utilizzato in un Timer Job si riceve un errore decisamente incomprensibile, in fase di Export: " Unable to determine the identity of domain ". Questo messaggio ci ha fatto penare un bel po' ed è riferito ad una classe utilizzata dal package di gestione dello stream in fase di esportazione del Document Set (class IsolatedStorage). //get Document Set Source DocumentSet documentSet = DocumentSet.GetDocumentSet(itemToMove.Folder); //get Target List SPList targetList = web.Lists[docSetListTargetName]; //get content type i...

SharePoint - Il Check-Out e i Documenti Fantasma!

Image
Lo scenario spettrale nel quale i Documenti scompaiono alla vista di tutti, compreso il System Account, ha una spiegazione (quasi logica) e anche una soluzione! Il Cliente segnala l'impossibilità di salvare un nuovo Documento (nuovo), creato con Word, con un dato nome. L'utente X accede alla Document Library su cui è impostato check-in/out per modifica. Clicca su Nuovo Documento, apre Word, modifica il file e, per qualche ragione, NON esegue Check-in. Chiude Word, oppure si pianta (non raro), o il browser va in errore (ancora meno raro), o qualsiasi altro motivo per cui non viene archiviato il file. In questo scenario, gli altri utenti non vedono il documento. Nessuno. Solo l'utente X. L'utente Y crea un nuovo file e lo vuole salvare, chiamandolo come il file creato (e non archiviato) dall'utente X. MA riceve un messaggio: Non è possibile salvare il file perché l'utente X sta già modificando un documento con quel nome. Il sistema dice che c'è que...

SharePoint - Usare Information Management Policy per l'invio di Notifiche di Scadenza

Image
Definiamo un campo di tipo Date Time per immagazzinare il giorno per l’invio dell’alert, ad es “AlertDate” Definire da SharePoint Designer, un Workflow, in creazione/modifica, denominato “Set Alert Date” che aggiorna il campo AlertDate con la scadenza desiderata. Ad es, si vuole essere avvisati 7 giorni prima della scadenza (EndDate)? Impostiamo AlerDate = EndDate – 8 giorni (poi vediamo perché 8 e non 7) Definire un secondo Workflow, senza nessuna spunta (no manuale, no automatico) così non verrà visto da nessuno, se non l’admin Chiamiamolo “Send Alert For End Date” Il Worflow invia una mail ai destinatari da avvisare. Eventualmente, possiamo fare in modo, dopo l'invio, di impostare AlertDate = AlertDate+1 (se AlertDate < EndDate), così da inviare mail anche nei giorni successivi fino alla scadenza. Ora, navigare sulla lista/library interessata dall’alert ed entrare in List Settings > Information Management Policy. Definiamo una Policy per l’Expira...

SharePoint 2010 - Target Audience non funzionante? Un semplice flag che risolve..

Image
Diventare matti per la funzionalità di Target Audience su web part, navigation... Il problema è che la Target Audience è correttamente configurata in ogni sua parte, vedo la possibilità di usarla ovunque, nella navigazione, ad esempio. Inserisco un Gruppo di SharePoint, salvo e verifico.. Verifico che non funziona e continua ad ignorare i miei settings. Da Site Collection Administration, tutte le configurazioni erano corrette. Allora ci siamo spostati sulla Central Administration, e abbiamo verificato che lo User Profile Service funzionasse correttamente. Siamo andati in Application Management > Manage Web Applications, selezioniamo la Web Application in cui non funziona la Target Audience e clicchiamo su Service Connections. Abbiamo trovato che era impostata a [custom], ma soprattutto che il check su User Profile Service Application era a false... Lo abbiamo messo a true, flaggandolo. Poi, andiamo in Application Management > Manager Service Applications e clic...

SharePoint 2007 - Modificare il Subject delle mail di Notifica/Alert con proprietà dell'item con AlertTemplate.xml

Il Cliente chiede di modificare il Subject delle mail di Alert che vengono inviate alla modifica di item di lista, in particolare di Task list personalizzate. La modifica dei template è "semplice", secondo quanto si legge in giro, ma non è per nulla ben documentata. In particolare per l'utilizzo di campi dell'item da utilizzare al di fuori del corpo della mail. Per modificare il template, occorre andare sul server nella cartella C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML. Eseguire una copia del file alerttemplates.xml : questo XML definisce tutti i template delle mail inviate alla sottoscrizione del servizio di Alert di liste e library. Creare un nuovo file XML con un nome diverso, ad es, custom_alerttemplates.xml . Nota : non modificate il file originale, ma solo questo. Ora, apriamo il nuovo XML e cerchiamo il template da modificare, nel nostro caso devo cercare il blocco: <AlertTemplate Type="List...

SharePoint - Check People Picker con jQuery

Se si vuol controllare il valore inserito in un People Picker utilizzando jQuery, facciamo così! Controllando l'HTML source della pagina, vediamo che al People Picker corrispondono molto elementi, ma quando l'utente scrive il nome per inserire l'utente, non scrive in un input o in una textarea, ma... in un DIV con l'attributo contentEditable = true. Possiamo quindi controllare il dato in un New/Edit form prima di salvare l'item tramite la funzione js PreSaveAction(). Prima di tutto, creiamo un custom form (new o edit) e cerchiamo la riga corrispondente alla colonna People da controllare. Nell'HTML, individuiamo la TD che contiene il controllo SharePoint e aggiungiamo all'attributo "class" un nome che ci aiuterà ad identificare il campo desiderato (ad es "check-this-pp"). Se abbiamo da controllare più People Picker, usiamo classi diverse. Ora, aggiungiamo i riferimenti a jQuery e il codice seguente, in fondo alla pagina: functio...

SharePoint - Check File Name in Upload form in Document Library con Javascript

Image
Se si desidera controllare il nome del file di un nuovo documento in un Upload form, possiamo farlo con del buon Javascript ! Ho creato una funzione che controlla il nome del file e poi disattiva il bottone OK se la condizione non è verificata Ho eseguito un override della funzione CheckAssetLibMediaExtension sull'evento "onchange" del controllo input file nel file Upload.aspx. Se vediamo il codice HTML del file Upload.aspx (da browser), troviamo: <input name="ctl00$PlaceHolderMain$UploadDocumentSection$ctl05$InputFile" type="file" id="ctl00_PlaceHolderMain_UploadDocumentSection_ctl05_InputFile" class="ms-fileinput ms-fullWidth" size="35" onfocus="ResetSpFormOnSubmitCalled();"  onchange="CheckAssetLibMediaExtension()"  title="Scegliere un file" /> Cercando la funzione, troviamo: function CheckAssetLibMediaExtension() { } Così, possiamo farne l'override! Creiamo...

SharePoint - Check File Name in Upload form in Document Library with Javascript

Image
If you want to check file name of new document in Upload form, you can do with Javascript! I created a custom js that check filename then disables button OK if condition is not verified. I override the function CheckAssetLibMediaExtension on event "onchange" of input file control in Upload.aspx. If you see HTML Source of Upload.aspx (rendered by browser) you see: <input name="ctl00$PlaceHolderMain$UploadDocumentSection$ctl05$InputFile" type="file" id="ctl00_PlaceHolderMain_UploadDocumentSection_ctl05_InputFile" class="ms-fileinput ms-fullWidth" size="35" onfocus="ResetSpFormOnSubmitCalled();" onchange="CheckAssetLibMediaExtension()" title="Scegliere un file" /> Search for function in HTML Source, you find: function CheckAssetLibMediaExtension() { } So, you can override it! Create in masterpage reference to jQuery and add function below : function CheckAssetLibMediaEx...

SharePoint - Aggiungere un bottone Applica al form di Edit di un List Item per salvare senza chiudere il form

Questo articolo descrive come creare un bottone "Applica" in un edit form per un list item, in modo da salvare i dati e ricaricare il form stesso, senza essere reindirizzati alla lista (o al Source indicato nel querystring). Creare un edit form personalizzato con SharePoint Designer. Aprire in modifica il form. Creare un nuovo parametro di tipo QueryString per il Source, chiamiamolo Source: quando la pagine viene ricaricata dopo aver salvato i dati, l'url nel Source viene mantenuto (ad es, per essere reindirizzati correttamente quando si clicca su Salva o Annulla). Quindi, cercare nel codice i tag seguenti: <xsl:param name="dvt_apos">&apos;</xsl:param> <xsl:variable name="dvt_1_automode">0</xsl:variable> E aggiungere sotto il codice seguente: <xsl:param name="ListItemId">0</xsl:param> <xsl:param name="Source"></xsl:param> Cercare il bottone Salva (o Annulla) nell...

SharePoint - Add button Apply to List Item Edit Form for Saving Item without closing form

This post describes how to create an Apply button in list item edit form, to save data and reload form, without redirect to list (or Source). Create a custom edit form with SharePoint Designer. Open form in edit mode. Create new parameter of type QueryString for Source, named Source: when page refresh after saving data, url maintains Source (i.e. for redirect to list when you click on Save or Cancel). Then, search for this code <xsl:param name="dvt_apos">&apos;</xsl:param> <xsl:variable name="dvt_1_automode">0</xsl:variable> And add code below: <xsl:param name="ListItemId">0</xsl:param> <xsl:param name="Source"></xsl:param> Search for button save/cancel in xslt, find this code: <SharePoint:SaveButton runat="server" ControlMode="Edit" id="savebutton2"/> Add code below (the button): <input type="button" value="Applica...