SharePoint Hosted App - Ribbon Custom Action Icons

Dovendo realizzare una ribbon custom action su uno SharePoint online ho dovuto affrontare il problema di come caricare l'icona da mostrare sul bottone.

Chiaramente si può caricare sulla hosted app e far puntare il ribbon alla nostra immagine esterna, ma era una soluzione che non mi piaceva molto.

Ho trovato così un articolo che mostrava una soluzione più interessante, che sfruttava sostanzialmente la tecnica del Data Uri

Technorati Tags:

[OT] - Le 17 comparse che non avranno mai più un contratto cinematografico

Notevole l'impegno chi è riuscito a notare questi particolari: link

[OT] - La professione del programmatore in 16 gif animate

Batta un colpo chi non si ritrova nelle gif di questo post.

 

SharePoint 2013 - "Search Results WebPart" e "Content Search WebPart"

Un interessante articolo che propone di utilizzare la "Search Results WebPart" al posto della "Content Search WebPart" quando questa non è disponibile (ad esempio perché si utilizza la versione standard di SharePoint 2013).

Technorati Tags:

SharePoint 2013 - Lync Presence Indicators

Con SharePoint 2013 abbiamo a disposizione diverse tipologie di “Lync presence indicators”, che ci permettono di visualizzare la presenza “on-line” di un contatto, il nome utente o la foto.

La tabella seguente mostra un riepilogo delle possibilità che abbiamo:

Render Mode

User status

User name

User picture

DefaultRender

Si

Si

No

WithPicture

Si

Si

Si

WithPictureDetails

Si

Si

Si

PictureOnly

Si

No

Si

PresenceOnly

Si

No

No

 

Se vogliamo inserire un “Lync presence indicator” in una nostra web-part, possiamo inserire questi “snippets” in base al tipo di “render” che vogliamo mostrare:

DefaultRender

<span>

    <span class='ms-imnSpan'>

        <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink ms-spimn-presenceLink' >

        <span class='ms-spimn-presenceWrapper ms-imnImg ms-spimn-imgSize-10x10'>

            <img name='imnmark' title='' ShowOfflinePawn='1' class='ms-spimn-img ms-spimn-presence-disconnected-10x10x32' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' sip='dptest@live.it' id='imn_1,type=sip' />

        </span>

        </a>

    </span>

    <span>

        <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink' tabIndex='-1'>

        <img name='imnmark' title='' ShowOfflinePawn='1' class=' ms-hide' src='/_layouts/15/images/spimn.png?rev=23' alt='Us  er Presence' sip='dptest@live.it' id='imn_2,type=sip' /></a>Daniele Proietti

    </span>

</span>

 

WithPicture

<div>

    <div>

        <span>

            <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink' tabIndex='-1'><img name='imnmark' title='' ShowOfflinePawn='1' class=' ms-hide' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' sip='dptest@live.it' id='Img1' /></a>

            <span>

                <img style="width:62px; height:62px; border:none" src="http://blogs.ugidotnet.org/dproietti" alt="dp" />

            </span>

        </span>

    </div>

    <div class="ms-floatLeft ms-descriptiontext">

        <span class="ms-verticalAlignTop ms-noWrap ms-displayInlineBlock">

            <span class='ms-imnSpan'>

                <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink ms-spimn-presenceLink' >

                    <span class='ms-spimn-presenceWrapper ms-imnImg ms-spimn-imgSize-10x10'>

                        <img name='imnmark' title='' ShowOfflinePawn='1' class='ms-spimn-img ms-spimn-presence-disconnected-10x10x32' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' sip='dptest@live.it' id='Img2' />

                    </span>

                </a>

            </span>

            <span class="ms-noWrap ms-imnSpan">

                <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink' tabIndex='-1'>

                    <img name='imnmark' title='' ShowOfflinePawn='1' class=' ms-hide' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' sip='dptest@live.it' id='imn_3,type=sip' />

                </a>Daniele Proietti

            </span>

        </span>

    </div>

</div>

 

WithPictureDetails

<div>

    <div class="ms-tableRow">

        <div>

            <span class='ms-imnSpan'>

                <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink ms-spimn-presenceLink' >

                    <span class='ms-spimn-presenceWrapper ms-imnImg ms-spimn-imgSize-10x10'><img name='imnmark' title='' ShowOfflinePawn='1' class='ms-spimn-img ms-spimn-presence-disconnected-10x10x32' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' sip='dptest@live.it' id='imn_661,type=sip' /></span>

                </a>

            </span>

        </div>

        <div class="ms-tableCell ms-verticalAlignTop">

            <div class="ms-peopleux-userImgDiv">

                <span class="ms-imnSpan">

                    <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink' tabIndex='-1'>

                        <img name='imnmark' title='' ShowOfflinePawn='1' class='ms-hide' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' sip='dptest@live.it' id='imn_3452,type=sip' />

                    </a>

                    <span>

                        <img style="width:62px; height:62px; border:none" src="http://blogs.ugidotnet.org/dproietti" alt="dp" />

                    </span>

                </span>

            </div>

        </div>

        <div class="ms-tableCell ms-peopleux-userdetails ms-noList">

            <ul style="max-width:150px">

                <li>

                    <div class="ms-noWrap">

                        <span>

                            <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink' tabIndex='-1'>

                                <img name='imnmark' title='' ShowOfflinePawn='1' class=' ms-hide' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' sip='dptest@live.it' id='imn_34523,type=sip' />

                            </a>Daniele Proietti

                        </span>

                    </div>

                </li>

            </ul>

        </div>

    </div>

</div>

 

PictureOnly

<div>

    <div>

        <div class="ms-tableCell">

            <span class='ms-imnSpan'>

                <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink ms-spimn-prese  nceLink' >

                    <span class='ms-spimn-presenceWrapper ms-spimn-imgSize-8x72'>

                        <img name='imnmark' title='' ShowOfflinePawn='1' class='ms-spimn-img ms-spimn-presence-disconnected-8x72x32' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' sip='dptest@live.it' id='Img4' />

                    </span>

                </a>

            </span>

        </div>

        <div class="ms-tableCell ms-verticalAlignTop">

            <div class="ms-peopleux-userImgDiv">

                <span class="ms-imnSpan">

                    <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink' tabIndex='-1'>

                        <img name='imnmark' title='' ShowOfflinePawn='1' class=' ms-hide' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' sip='dptest@live.it' id='Img5' />

                    </a>

                    <span class="ms-peopleux-imgUserLink">

                        <span class="ms-peopleux-userImgWrapper" style="width:72px; height:72px">

                            <img style="min-width:72px; min-height:72px; clip:rect(0px, 72px, 72px, 0px); max-width:72px" src="http://blogs.ugidotnet.org/dproietti" alt="dp" />

                        </span>

                    </span>

                </span>

            </div>

        </div>

    </div>

</div>

 

PresenceOnly

<span class='ms-imnSpan'>

    <a href='#' onclick='IMNImageOnClick(event);return false;' class='ms-imnlink ms-spimn-presenceLink' >

        <span class='ms-spimn-presenceWrapper ms-imnImg ms-spimn-imgSize-10x10'>

            <img name='imnmark' title='' ShowOfflinePawn='1' class='ms-spimn-img ms-spimn-presence-disconnected-10x10x32' src='/_layouts/15/images/spimn.png?rev=23' alt='User Presence' sip='dptest@live.it' id='Img3' />

        </span>

    </a>

</span>

  

Technorati Tags:

eBooks FREE

A questo link è possibile scaricare una serie di eBook Microsoft su Office, Office 365, SharePoint, SQL Server, System Center, Visual Studio, Web Development, Windows, Windows Azure, e Windows Server; il tutto assolutamente FREE.

Technorati Tags:

SharePoint 2010 - Creazione dinamica del Ribbon in un'Application Page

E’ possibile, in SharePoint, inserire un Ribbon “custom” in modo dinamico all’interno di una “application page” (ad esempio vincolandolo al verificarsi di una certa condizione).

 

Per farlo è necessario eseguire tre semplici passi:

 

Il primo consiste nel definire il nostro Ribbon all’interno di una feature. La particolarità da tener presente consiste nel fatto che il ribbon non va associato a nessun “template” di lista e a nessun “content-type” (parametri del Tag “CustomAction”).

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <CustomAction Id="Siva.Ribbon.TabCustom" Location="CommandUI.Ribbon">

    <CommandUIExtension>

      <CommandUIDefinitions>

        <CommandUIDefinition Location="Ribbon.Tabs._children">

          <Tab Id="Ribbon.TabCustom"

            Sequence="1101"

            Description="My description"

            Title="My title">

 

Il secondo consiste nell’inserire all’interno della nostra “allication page” (o se serve all’interno della “master page”) il controllo SPRibbon.

    <SharePoint:SPRibbon ID="SPRibbonVC" runat="server" PlaceholderElementId="RibbonContainer" CssFile="" >

    <SharePoint:SPRibbonPeripheralContent runat="server" Location="TabRowRight" ID="RibbonTabRowRight" CssClass="s4-trc-container s4-notdlg"></SharePoint:SPRibbonPeripheralContent>

    </SharePoint:SPRibbon>

 

Il terzo, ed ultimo, passo, consiste nell’associare al controllo SPRibbon il nostro Ribbon “custom”, all’interno dell’evento “OnPreRender”.

if (myContition == true)

{

       SPRibbon current = SPRibbon.GetCurrent(this);

       if (current != null)

       {

             current.CommandUIVisible = true;

             current.MakeTabAvailable("Ribbon.TabCustom");

             current.InitialTabId = "Ribbon.TabCustom";

             current.Minimized = false;

       }

}

  

Technorati Tags:

70-480 Esame "Programming in HTML5 with JavaScript and CSS3" superato!!

Ho avuto un voucher per questo esame e così ho deciso di spostarmi un po' dai classici esami SharePoint che sto dando ultimamente.

Devo dire che, per chi ha già lavorato su questo tipo di argomenti, l'esame non è particolarmente difficle.

Per chi desiderasse provare il codice del voucher è ancora disponibile fino al 31/3

Technorati Tags:

SharePoint 2013 - Shredded Storage

Un'interessante funzionalità della nuova versione di SharePoint che permette di risparmiare spazio su database e traffico di rete.

 

Technorati Tags:

SharePoint 2013 - Certificazioni

Cominciano ad arrivare delle informazioni sulle certificazioni relative a SharePoint 2013:

Ed anche su qualche percorso formativo:

Technorati Tags:
«September»
SunMonTueWedThuFriSat
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567