X Blogs

who you gonna call?

Basic jQuery Slider

clock August 19, 2015 06:09 by author Robi

 

V zadnjem projektu na katerem delam, je bila zahteva, da je na vstopni strani portala prikazan slider, ki prikazuje zadnjih 5 novic s sliko in naslovom novice pod sliko. Ker sem želel narediti rešitev čim bolj uporabniku prijazno in avtomatizirano sem se odločil uporabiti jQuery slider.

 

Ker je na spletu možno najti kar nekaj že pripravljenih sliderjev imate možnost izbrati tistega, ki vam najbolj ustreza.

Nekaj povezav do različnih sliderjev z različnimi funkcijami in različnimi možnostmi prikaza:

 

V principu vsi sliderji delajo po istem kopitu in če želite slider uporabiti na SharePoint portalu, je vse kar morate narediti, podatke poklicati iz specifičnega seznama in pripraviti HTML v taki obliki, kot jo zahteva slider.

V mojem primeru, sem se odločil uporabiti Basic jQuery Slider http://www.basic-slider.com/. V dokumentaciji na spletni strani je razvidno, da je potrebno vključiti sklice na skripte in CSS datoteke. V mojem primeru, je se datoteke nahajajo v knjižnici Site Assets:

<script src="/en/SiteAssets/banner/bjqs-1.3.min.js" type="text/javascript"></script>

<link rel="stylesheet" href="/SiteAssets/banner/bjqs.css">

<link rel="stylesheet" href="/SiteAssets/banner/style.css">

 

Za delovanje prikaza sliderja, je potem potrebno ustvariti HTML v naslednji obliki:

<div id="my-slideshow">

    <ul class="bjqs">

        <li><!-- Any content you like --></li>

        <li><!-- Can go inside these slides--></li>

    </ul>

</div>

Ker pa bi radi, da se koda ustvari samodejno iz podatkov, ki se nahajajo v SharePoint seznamu, moramo najprej pridobiti podatke iz seznama in jih nato sestaviti v zahtevano obliko. Podatke bomo priklicali s pomočjo SharePoint 2013 javascript.

Za namen priklica podatkov sem nato sestavil nekaj javascript funkcij in na koncu pripravil še klic funkcij, ki se izvede po tistem, ko je celotna stran že naložena.

function retrieveListItems() {

        // Variables

        var siteUrl = '/news';

        var listTitle='Annoncement';

        var rowLimit=5

        // End Variables

        var clientContext = new SP.ClientContext(siteUrl);

        var oList = clientContext.get_web().get_lists().getByTitle(listTitle);

        var camlQuery = new SP.CamlQuery();

        camlQuery.set_viewXml('<View><Query><OrderBy><FieldRef Name=\'ID\' Ascending="FALSE"/></OrderBy></Query><RowLimit>'+rowLimit+'</RowLimit></View>');

        this.collListItem = oList.getItems(camlQuery);

        clientContext.load(collListItem);

        clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));

    }

Funkcija retrieveListItems ima nastavljene spremenljivke, ki definirajo na kateri strani se nahajajo novičke, kako se imenuje seznam v katerem se novice nahajajo in koliko novic naj se prikaže. V tej funkciji tudi sestavim CAML Query in nato pokličem podatke iz seznama.

Ker gre za javascript, se kličeta dva delegata, eden v primeru, da se poizvedba uspešno zaključi in drugi v primeru da pride do napake.

function onQueryFailed(sender, args) {

    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());

    }

Funkcija onQueryFailed se uporabi samo takrat, kadar pride pri klicu podatkov iz SharePoint seznama do napake in kot rezultat na spletni strani pokaže alert, v katerem so zapisani podatki o vzroku napake.

function onQuerySucceeded(sender, args) {

        var listItemInfo = '<ul class="bjqs">';

        var listItemEnumerator = collListItem.getEnumerator();

        while (listItemEnumerator.moveNext()) {

            var oListItem = listItemEnumerator.get_current();

            listItemInfo += "<li>"+                                             "<a href='javascript:OpenPopUpPage(&quot;/News/Lists/Announcement/displayifs.aspx?List=2c638759%2D2023%2D463c%2Da540%2D63bde9b9dce0&ID="+oListItem.get_id()+"&quot;)'>"+                                    "<img src='"+oListItem.get_item('Image').get_url()+"' title='"+oListItem.get_item('Title')+"'/>"+"</a>"    +"</li>"        

        }

        listItemInfo += '</ul>';

        //alert(listItemInfo.toString());

        document.getElementById('banner-slide').innerHTML=listItemInfo;

        RunBanner();    

    }

 

Funkcija onQuerySucceeded je funkcija, v kateri naredimo podatke pridobljene iz SharePoint seznama uporabne in jih na stran dodamo v obliki s katero lahko potem slider operira. Glavni del funkcije je:

listItemInfo += "<li>"+                                             "<a href='javascript:OpenPopUpPage(&quot;/News/Lists/Announcement/displayifs.aspx?List=2c638759%2D2023%2D463c%2Da540%2D63bde9b9dce0&ID="+oListItem.get_id()+"&quot;)'>"+                                    "<img src='"+oListItem.get_item('Image').get_url()+"' title='"+oListItem.get_item('Title')+"'/>"+"</a>"    +"</li>"        

        }

V tem delu skripte, v spremenljivko listeImteInfo dodajamo posamezne elemente pridobljene iz SharePoint seznama in sestavimo HTML v obliki seznama »<li></li>«.

V skripti je, v link element, dodamo še eno SharePoint javascript funkcijo, in sicer, da nas pri kliku na novico ne brskalnik ne preusmeri na drugo stran, glede na URL novice, temveč, da se novica odpre v pogovornem oknu - 'javascript:OpenPopUpPage(&quot;…

Funkcija RunBanner je funkcija, ki požene slider na strani na podlagi podatkov, ki smo jih sestavili v HTML na podlagi podatkov pridobljenih iz SharePoint seznama.

 

function RunBanner(){

        $('#banner-slide').bjqs({

                    animtype : 'slide',

                    height : 320,

                    width : 589,

                    responsive : true,

                    randomstart : true,

                    showmarkers : false

        });

    }

Na koncu moramo dodati še sklic na prvo funkcijo, retrieveListItems. Kar je zelo pomembno v tem delu je, da pri klicu funkcije počakamo, da je SharePoint stran v celoti naložena.

 

    LoadSodByKey('sp.js')

    ExecuteOrDelayUntilScriptLoaded(retrieveListItems,'sp.js');

 

Na koncu lahko skripte shranimo v TXT datoteko in datoteko shranimo v knjižnico. Na strani nato dodamo Content Editor Web Part in v nastavitvah gradnika dodamo link do naše datoteke, ki vsebuje skripte.

Upam, da ste v tem članku dobili idejo, kako bi lahko obogatili izgled vašega SharePoint portala. V primeru, da potrebujete pomoč ali imate dodatna vprašanja mi lahko pišete na naslov: robi@kompas-xnet.si.

Robi Vončina

SharePoint Server MVP

 



SharePoint Online PowerShell - Uvod

clock August 19, 2015 06:08 by author Robi

Ker se v zadnjem času precej srečujem z administracijo SharePoint Online, sem se za to številko Pike odločil, da predstavim SharePoint Online PowerShell. Če pri vašem delu pogosto uporabljate PowerShell, verjetno ta članek ne bo prinesel veliko novega, je pa res da imajo O365 produkti svoje specifike kar se tiče uporabe PowerShell-a.

Za uporabo SharePoint Online PowerShell morate najprej narediti namestitev komponent, ki vključujejo tudi ukaze za upravljanje SharePoint-a v oblaku. Na naslovu Download SharePoint Online Management Shell from Official Microsoft Download Center (http://www.microsoft.com/en-us/download/details.aspx?id=35588) najdete namestitvene datotek. Na voljo imate x86 ali x64 verzijo.

PO končani namestitvi lahko odprete PowerShell in modul za SPO bi moral biti naložen. Moja preferenca je, da vedno uporabljam PowerShell ISE, ki ponuja nekaj več funkcionalnosti za pisanje PowerShell kode kot npr. običajno PowerShell okno. Če vpišete ukaz Get-Module bi morali dobiti naslednji izpis, kjer je med naloženimi moduli tudi Microsoft.Online.SharePoint.PowerShell

Za izpis vseh ukazov, ki so na voljo v tem modulu, lahko uporabite ukaz

Get-Command -Module Microsoft.Online.SharePoint.PowerShell

 

Ukaz vrne naslednje rezultte

CommandType

Name

Cmdlet

Add-SPOUser

Cmdlet

Connect-SPOService

Cmdlet

ConvertTo-SPOMigrationTargetedPackage

Cmdlet

Disconnect-SPOService

Cmdlet

Get-SPOAppErrors

Cmdlet

Get-SPOAppInfo

Cmdlet

Get-SPODeletedSite

Cmdlet

Get-SPOExternalUser

Cmdlet

Get-SPOSite

Cmdlet

Get-SPOSiteGroup

Cmdlet

Get-SPOTenant

Cmdlet

Get-SPOTenantLogEntry

Cmdlet

Get-SPOTenantLogLastAvailableTimeInUtc

Cmdlet

Get-SPOTenantSyncClientRestriction

Cmdlet

Get-SPOUser

Cmdlet

Get-SPOWebTemplate

Cmdlet

New-SPOMigrationPackage

Cmdlet

New-SPOSite

Cmdlet

New-SPOSiteGroup

Cmdlet

Remove-SPODeletedSite

Cmdlet

Remove-SPOExternalUser

Cmdlet

Remove-SPOSite

Cmdlet

Remove-SPOSiteGroup

Cmdlet

Remove-SPOTenantSyncClientRestriction

Cmdlet

Remove-SPOUser

Cmdlet

Repair-SPOSite

Cmdlet

Request-SPOPersonalSite

Cmdlet

Request-SPOUpgradeEvaluationSite

Cmdlet

Restore-SPODeletedSite

Cmdlet

Set-SPOSite

Cmdlet

Set-SPOSiteGroup

Cmdlet

Set-SPOTenant

Cmdlet

Set-SPOTenantSyncClientRestriction

Cmdlet

Set-SPOUser

Cmdlet

Submit-SPOMigration

Cmdlet

Test-SPOSite

Cmdlet

Upgrade-SPOSite

 

Sedaj ko vemo kateri ukazi so na voljo, lahko začnemo PowerShell za SPO tudi uporabljati. Pogoj, da lahko ukaze poganjate proti vaši naročnini O365 je, da se v O365 nastavljeni kot Globalni Administrator.

Torej, prvo kar moramo narediti, da se povežemo z našo naročnino je ukaz, oz. dva:

$cred=Get-Credential

 

Connect-SPOService -Url https://[SPO admin center].sharepoint.com -Credential $cred

 

PowerShell vas najprej vpraša za vaše poverilnice potem pa se s temi poverilnicami poveže na vašo naročnino SharePoint Online. V ukazu Connect-SPOService morate navesti URL do vašega admin SPO admin centra. Če niste čisto prepričani kakšen je URL, predlagam, da se povežete na vašo naročnino O365 in nato odprete SPO admin center. V PowerShell ukazu nato prilepite URL admin centra.

Ko ste se uspešno povezali, lahko začnete izvajati ukaze na vaši naročnini SPO, med drugimi npr. tudi:

Get-SPOSite https://[SPOSite].sharepoint.com/ |gm

 

Ki vam vrne seznam vseh metod in lastnosti, ki jih lahko uporabite v povezavi s SPO zbirko strani.

Name

MemberType

Equals

Method

GetHashCode

Method

GetType

Method

ToString

Method

AllowSelfServiceUpgrade

Property

CompatibilityLevel

Property

DenyAddAndCustomizePages

Property

LastContentModifiedDate

Property

LocaleId

Property

LockIssue

Property

LockState

Property

Owner

Property

PWAEnabled

Property

ResourceQuota

Property

ResourceQuotaWarningLevel

Property

ResourceUsageAverage

Property

ResourceUsageCurrent

Property

SharingCapability

Property

Status

Property

StorageQuota

Property

StorageQuotaWarningLevel

Property

StorageUsageCurrent

Property

Template

Property

Title

Property

Url

Property

WebsCount

Property

 

Kot ste lahko sami opazili lastnosti, ki jih lahko beremo ali nastavimo ni prav veliko, tako da so tudi možnosti uporabe privzetih ukazov omejene.

V tej številki sem vam pokazal kako lahko začnemo z uporabo SharePoint Online PowerShell-a, v naslednji številki bom pa napisal katere razširitve za SPO PowerShell so na voljo in kako si lahko tudi samo pomagamo in napišemo PowerShell ukaze četudi nam jih SPO modul ne ponuja.

Robi Vončina

SharePoint Server MVP

 



Kaj se nam obeta v SharePoint 2016

clock August 19, 2015 06:07 by author Robi

V začetku maja se je v Chicagu odvila Microsoft Ignite konferenca, ki se je na žalost nisem mogel udeležiti. Microsoft je na novi združeni konferenci predstavil kar nekaj novih verzij produktov, med drugim, je bil predstavljen tudi osnutek nove verzije SharePoint-a.

Novosti SharePoint 2016 so razdeljene v 4 sklope:

  • Management
  • Reliability, performance and scale
  • Insight and Data
  • Cloud Accelerated Experiences.

V predstavitvi novosti, se bom dotaknil vsakega sklopa posebej, vendar pa velja opozorilo, da so te novosti šele v povojih in da se do izida nove verzije lahko še marsikaj spremeni.

Management

Z vidika upravljanja nove verzije SharePoint Serverja 2016 bodo stvari ostale dokaj enake, vendar pa so se z novo verzijo spremenile zahteve po minimalni programski opremi. Kar se tiče zahtev po strojni opremi, so te zaenkrat enake kot za SharePoint 2013.

Zahtevana programska oprema

Zahteve za programsko opremo se bodo do neke mere spremenile. Največja sprememba bo, da bo priporočen operacijski sistem novi Windows Server 10 in pa seveda s tem tudi novi :NET Framework različice 4.5.2. Najmanjša verzija Windows Server bo Windows Server 2012 R2, namestitev na Windows Server 2012 ne bo mogoča.

Kar je med zahtevami za programsko opremo še zanimivo je, da bo verjetno edina podprta verzija SQL strežnika, verzija SQL Server 2014 in novejše. Ta informacija sicer še ni potrjena, vendar pa zaradi nekaterih drugih novosti ki se obetajo verjetno pravilna.

Nadgradnja

Kot smo bili navajeni že iz prejšnjih verzij SharePoint strežnika, tudi na to verzijo ne bo mogoč prehod direktno iz verzije 2010, temveč bo potreben vmesen prehod na verzijo 2013. Edini podprt in možen način za nadgradnjo na verzijo 2016 bo iz verzije 2013 in sicer po database attach metodi. Druga opcija seveda obstaja in to je migracija podatkov z orodji za migracijo.

SMTP

V nobeni izmed prejšnjih različic SharePoint strežnika ni bilo mogoče pošiljanje pošte prek zaščitene povezave. V novi verziji se nam obetajo spremembe, kjer naj bi bilo omogočeno pošiljanje pošte prek zaščitene povezave z uporabo StartTLS in tudi prek nestandardnih portov.

Reliability, performance and scale

Na področju zanesljivosti delovanja in razdelitve vlog, se obeta precej novosti, med drugim tudi že v procesu namestitve.

Med namestitvijo produkta bomo dobili novo pogovorno okno, kjer si bomo lahko izbrali za kakšen namen bomo uporabili ta strežnik.

Kratek opis vlog in namena se nahaja v spodnji tabeli

Vloga

Opis

WebFrontEnd

Strežnik za odgovarjanje na zahteve uporabnikov. Ta vloga bo optimizirana za nizek odzivni čas.

Application

Back-end strežnik, ki bo skrbel za izvajanje operacij v ozadju, kot so na primer servisne aplikacije in timer jobi. Strežnik bo optimiziran za velike obremenitve.

Specialized Load

Vloga bo rezervirana za aplikacije in rešitve, ki naj bi bile izolirane od drugih vlog v gruči. Namenjen bo predvsem nameščanju storitev in aplikacij, ki privzeto niso del SharePoint gruče, npr 3rd party produkti.

DistributedCache

Kot poznamo že iz trenutne verzije SharePoint strežnika, je distributed cache precej RAM intenziven servis in ta vloga bo optimizirana za delovanje distributed cache.

 

Popravki

Na področju nameščanja popravkov, nam Microsoft obljublja precej lažje delo, kot je bilo to do sedaj, kjer je nameščanje kumulativnih popravkov lahko prava nočna mora. Najbolj me je fascinirala obljuba, da bo nameščanje popravkov sedaj lahko »Online«, se pravi, brez da bi bila vaša gruča nedosegljiva.

Nove limite

Precej velike spremembe se obetajo pri velikosti SharePoint baz podatkov in zaradi tega tudi druge omejitve velikosti datotek, velikosti zbirk strani,…

Več informacij v spodnji tabeli:

Ime

Limita

Content Database Size

Content database sizing into TB's

Site Collections per Content Database

100,000 site collections per content database

List Threshold

Increased List Threshold >5000

MaxFile Size

MaxFile Size increases to 10GB and removed character restrictions

Indexed Items

2x increase in Search scale to 500 million items

 

Med najbolj vidnimi spremembami je povečana maksimalna velikost baze podatkov, ki naj bi bila sedaj v TB in ne več med 100 in 200 GB kot do sedaj. Tudi maksimalna velikost datotek naj bi bila povečana in sedanjih 2GB na 10GB, kar pomeni, da bodo sedaj zaposleni lahko nalagali precej večje MP3 datoteke ali slike mačk v precej višji kakovosti kot do sedaj.

User Profile Service

V novi verziji ForeFront Identity Manager ne bo več del produkta za sinhronizacijo Active Directory s SharePoint-om, temveč bo OOTB mogoče samo še AD Sync servis. Kar pa bo novost pa je, da bo sedaj mogoče uporabiti eksterni FIM servis in ga integrirati v SharePoint kot zunanjo storitev za sinhronizacijo profilov v SharePoint User profile store.

Project server

Za Project server se sedaj obeta še boljša integracija s SharePoint 2016 serverjem, in sicer Project server ne bo imel več svojih »Project« baz, temveč bo vsa vsebina Project serverja sedaj v SharePoint Content bazah.

Durable links

Čisto nova funkcionalnost v SharePoint 2016 naj bi bli t.i. »Durable links«, ki naj bi precej olajšali delo z dokumenti, ki v življenjskem ciklu doživi preimenovanje, premikanje dokumenta. Durable links naj bi bili torej namenjen povezavam na dokumente, ki ne bo več baziralo na poti in imenu dokumente, temveč na ID-ju dokumenta v SharePoint-u. Na ta način preimenovanje in sprememba lokacije dokumenta ne bo več pokvarila vse povezav na dokument, ki so jih uporabniki uporabili v svojih dokumentih ali dodali kot povezave na SharePoint strani.

Insights and Data

V verziji SharePoint 2013 je nemalo pripomb letelo na precej slabo statistiko obiskov po straneh. V novi verziji naj bi se ta del precej precej izboljšal, kar pomeni, da bomo imeli na voljo precej novih orodij za pregledovanje statistik. Ta orodja naj bi ponujala tudi precejšen vpogled v porabo prostora, po število zbirk mest glede na predlogo, število uporabnikov glede na operacijski sistem…

Upam, da se bodo v tem primeru držali obljub in res ponudili boljšo statistiko kot to, ki je na voljo v trenutni verziji.

Cloud Accelerated Experiences

Ker je zadnja leta Microsoft strategija in filozofija oblak, se seveda tudi pri novostih SharePoint »On-Prem« ne moremo izogniti novostim, ki so vezane na oblak oz. bolj natančno na povezovanje z Office 365. Vedno več se govori v hibridnih rešitvah, kjer naj bi bil del rešitve v oblaku, del pa strežnikih, ki so del naše infrastrukture. V SharePoint 2016 naj bi tako imeli še več možnosti povezovati iskanje s tistim v O365, povezovati LOB podatke,…

 

Zanimivo bo videti, kako se bodo stvari razvijale v naslednjem letu, saj je objava nove različice SharePoint 2016 predvidena šele za drugo četrtletje 2016. Konec leta se obeta že public beta verzija, ki bo idealno za učenje, testiranje in spoznavanje novosti.

 

Robi Vončina

SharePoint Server MVP



SharePoint 2013 Search troubleshooting

clock August 19, 2015 06:06 by author Robi

 

Vsebina

Uvod

Search komponenta v »failed state«

Prikaz novih elementov v rezultatih iskanja

Ogled crawl logov ni na voljo

Zaključek

  1. Uvod

Pri delu s SharePoint strežnikom 2013 vedno bolj do izraza prihaja uporaba Search infrastrukture, saj nam ta omogoča prikaz najrazličnejših podatkov iz različnih virov v različnih oblikah. Vendar pa tudi ta funkcionalnost SharePoint-a lahko, od časa do časa odpove in v tem članku je zbranih nekaj najbolj pogostih napak s katerimi se lahko srečamo in upam, da bodo opisane rešitve delovale tudi v vašem okolju.

Opisane napake in reševanje težav s temi napakami, pridejo v poštev za tista podjetja, ki imajo več strežniško okolje in kjer so search komponente porazdeljene med več strežniki.

Primer postavitve, kjer imamo strežnika WFE1 in WFE2 s komponentami:

  • Query processing
  • Index component
  • Administration component.

Strežnik APP ima v tem primeru postavitve vloge:

  • Crawl component
  • Content processing component
  • Analytics component

  1. Search komponenta v »failed state«

    1. Opis

Na enem izmed strežnikov odpremo Centralno administracijo in navigiramo do:

Service applicationsàSearch_SA in na administrativni strani opazimo, da ima search komponenta rdeč krogec z belim »X«. To pomeni, da je komponenta v failed state in ne deluje.

Primer:

 

  1. Predlagana rešitev:

Predlagana rešitev je restart strežnika za katerega kaže, da je komponenta v failed state.

 

  1. Prikaz novih elementov v rezultatih iskanja

Za težave s prikazom novih elementov v rezultatih iskanja je lahko več vzrokov. Za odkrivanje napake, moramo odpreti crawl log v centralni administraciji na enem od strežnikov

 

Odpremo centralno administracijo à Service applications àSearch_SA àCrawl log (na levi strani) àLocal SharePoint sitesàcrawl history in kliknemo na prvi crawl log.

Pojavi se okno:

V tem oknu lahko izberemo status: »All erros« in omejimo iskanje s »Start Time« in »End time« ter kliknemo »Search«

  1. Search komponente so OK vendar se novi elementi ne prikazujejo v rezultatih iskanja 1

    1. Opis

 

V crawl logih se lahko pojavi napaka:

»The crawler could not communicate with the server. Check that the server is available and that the firewall access is configured correctly. If the repository was temporarily unavailable, an incremental crawl will fix this error«

V tem primeru je odkrivanje napake odvisno od postavitve samega SharePoint okolja. Problem, ki se tukaj pojavi je, da crawl komponenta ne more indeksirati Web strežnikov. Kar lahko naredimo v tem primeru je, da se poskusimo prijaviti na vse web strežnike v naši gruči in poskusimo odpreti portal v brskalniku in preverimo ali se stran pravilno naloži.

Pogosto se na APP strežnikih nastavi tudi, da strežnik indeksira samega sebe, da ne obremenjuje po nepotrebnem ostalih web strežnikov in s tem vpliva na uporabniško izkušnjo. V tem primeru, bi bilo potem potrebno odpreti portal na strežniku APP in preveriti delovanje IIS-ja.

  1. Predlagana rešitev:

Običajno pomaga že restart IIS na strežniku APP. V primeru, da to ne bi pomagalo se naredi restart strežnika APP.

  1. Search komponente so OK vendar se novi elementi ne prikazujejo v rezultatih iskanja 2

    1. Opis

V crawl logs se pojavi napaka:

»The item could not be indexed successfully because the item failed in the indexing subsystem. ( The item could not be indexed successfully because the item failed in the indexing subsystem.«

Za to napako je običajno kriva primarna index komponenta, ki je na enem od strežnikov:

  • WFE1,
  • WFE2.

da bi ugotovili kateri od strežnikov gosti primarno Index ali administrativno komponento, je potrebno prenesti in zagnati skripto za preverjanje stanja Search infrastrukture. Skripto si lahko prenesete z naslednje povezave:

https://goo.gl/3ju4Il

Zagon te skripte izpiše rezultate v obliki:

Search Topology health check

============================

 

 

10. julij 2015 14:25:16

SSA: Search_SA

 

job-application-server-admin-service

-------------------------------------

WFE1: job-application-server-admin-service recently ran 18 seconds ago

WFE2: job-application-server-admin-service recently ran 21 seconds ago

APP: job-application-server-admin-service recently ran 27 seconds ago

 

 

job-application-server

-------------------------------------

WFE1: job-application-server recently ran 25 seconds ago

WFE2: job-application-server recently ran 19 seconds ago

APP: job-application-server recently ran 9 seconds ago

 

 

 

Component Server Partition State

--------- ------ --------- -----

AdminComponent1 (Primary) WFE1 Active

AdminComponent1 WFE2 Active

AnalyticsProcessingComponent1 APP Active

ContentProcessingComponent1 APP Active

CrawlComponent0 APP Active

IndexComponent1 (Primary) WFE1 0 Active

IndexComponent1 WFE2 0 Active

QueryProcessingComponent1 WFE1 Active

QueryProcessingComponent1 WFE2 Active

 

 

 

Analytics Processing Job Status:

SearchAnalytics : Idle

Last successful start time: 10.7.2015 0:00:01

Last completed time: 10.7.2015 0:08:44

Next scheduled run time: 11.7.2015 0:00:00

UsageAnalytics : Idle

Last successful start time: 10.7.2015 1:00:01

Last completed time: 10.7.2015 1:10:03

SearchReports : Idle

Last successful start time: 10.7.2015 3:10:00

Last completed time: 10.7.2015 3:10:11

Next scheduled run time: 11.7.2015 3:01:00

 

Searchable items: 2078

Crawler is idle

 

Search service overall state: OK

 

Pomemben podatek za reševanje težav je, da vidimo na katerem strežniku se nahaja primarna Index komponenta. V primeru izpisa je to strežnik WFE1 à

  1. Predlagana rešitev:

Za odpravo te napake, je potrebno narediti restart na strežniku kjer se nahaja primarna Index komponenta.

  1. Ogled crawl logov ni na voljo

    1. Opis

V Centralni administraciji navigiramo do administracije Search servisne aplikacije in želimo npr. odpreti loge indeksiranja vsebin. Pojavi se nam napaka:

»Retrieving the COM class factory for component with CLSID {0FF1CE15-0005-0000-0000-000000000000} failed due to the following error: 800703fa Illegal operation attempted on a registry key that has been marked for deletion. (Exception from HRESULT: 0x800703FA).«

Razlog napake je, da je na primarni administrativni komponenti ključ v registru označen za brisanje in v primeru, da želimo odpreti Crawl logs na strežniku, na katerem ni primarna administrativna komponenta, nam SharePoint javi to napako.

  1. Predlagana rešitev:

Pri odpravljanju te napake, se moramo prav tako poslužiti skripte, ki je omenjena v točki 3.2. V tem primeru nas zanima kateri od strežnikov gosti primarno Admin komponento. V našem primeru je to strežnik WFE1.

Za odpravo napake, bi morali narediti ponoven zagon strežnika WFE1.

 

  1. Zaključek

Upam, da napotkov za reševanje težav s SharePoint strežniki ne boste nikoli potrebovali, če pa že, pa upam, da vam zgoraj opisani postopki prihranijo marsikatero uro raziskovanja in razbijanja glave.

V primeru, da imate dodatna vprašanja in želite pomoč pri reševanje težav s SharePoint strežniki me vedno lahko kontaktirate po elektronski pošti: robi@kompas-xnet.si.

 

 

Robi Vončina

SharePoint MVP



Azure trjana skladiščenja

clock February 25, 2015 09:35 by author Rok Bermež

Na voljo je javni predogled nove Azure storitve, ki nam omogoča visoko zmogljivi shranjevalni prostor za naše VMje. Tako nam Azure sedaj ponuja dve vrsti trajnega skladiščenja podatkov: Premium Storage in Standard Storage. Premium Storage shranjuje podatke trajno na SSD (Solid State Drives) diske in s tem zagotavlja visoko zmogljivost, nizko latenco ter konsistentnim in predvidljivim delovanjem.

Premium Storage je idealen za I/O občutljive obremenitve in tako super za baze podatkov, ki gostujejo v vaših oblačnih VMjih. Po želji lahko na eno VM pritrdite več Premium Storage diskov in tako povečate kapaciteto prostora namenjenega VMju do 32 TB pri več kot 50.000 IOPS z manj kot 1 milisekundo latence pri bralnih operacijah. Skupaj je to že kar zlobno hitra možnost hranjenja podatkov, ki omogoča delovanje še večih in večjih delovnih obremenitev v oblaku.

V oblak lahko tako sedaj preselimo tudi bolj zahtevne poslovne aplikacije – vključno z SQL Server, Dynamics AX, Dynamics CRM, Exchange Server, MySQL, Oracle Database, IBM DB2, in SAP Business Suite rešitve.

Velikosti in performanse

Premium Storage diski zagotavljajo do 5.000 IOPS in 200 MB / sec pretoka, odvisno od velikosti izbranega diska. Ko ustvarite nov Premium Storage disk dobite možnost izbora velikost diska in ostalih lastnosti, ki jih potrebujete glede na potrebe vaše aplikacije.

V predogledu Premium Storage storitev so na voljo:

Disk Types

P10

P20

P30

Disk Size

128 GB

512 GB

1 TB

IOPS per Disk

500

2300

5000

Throughput per Disk

100 MB/sec

150 MB/sec

200 MB/sec

Učinkovisto pa lahko še povečate z združevanjem večih diskov (do meje pasovne širine omrežj, ki je na voljo VM) . Več o tem pristopu si lahko preberete na https://msdn.microsoft.com/en-us/library/azure/dn197896.aspx .

Trajnost

Stranke Azure oblaka imajo kritične aplikacije, ki so odvisne od trajnosti njihovih podatkov in visoke tolerance do napak, ki se lahko zgodijo pri dostopu do njih. Premium Storage ohranja tri kopije podatkov v isti regiji. Poleg tega lahko tudi po želji izdelate posnetke vaših diskov in kopirate na standardni GRS Storage, ki vam omogoča še dodatno geo-redundanco.

Če se želite prijaviti za uporabo predogled Azure Premium Storage storitve, obiščite Azure Predogled stran na http://azure.microsoft.com/en-us/services/preview/ .



Get data from Folder in Power Query

clock February 10, 2015 22:26 by author gašper

It seems that lately Excel users can be separated into two groups. One group that gets the new Excel (2010 or 2013) but still uses the application as if it's Excel 2003 and those are users that may have heard of the whole Power BI thing but think that the whole Power BI story can only benefit certain people. That is not true. Power BI is all in all a set of brilliant commands. This post will show you only one of them and that is a Get Data From Folder command in Power Query. But it will also show you how Get Data From Folder command in Power Query can make your life easier. Take the time and read this post and think about how to implement this in your work. Trust me, you will not regret it! Here's what this post will talk about.

If you get new data periodically in any form (txt, csv, xlsx…) then you know that what that means is that every time you have to go through the same process to get that data into Excel. Now this will be reduced to copying that file to a certain folder and clicking refresh in Excel. It doesn't get much better than that. But first, let's explain what is Power Query.

Power Query is an Excel Add-In that was created to help you get data into Excel or Power Pivot. It's part of Microsoft Power BI and is even incorporated into the new Microsoft Power BI Designer. Everything you read about in this post refers to Excel 2010 and Excel 2013 for which Power Query is available. And now for the Get data from folder command.

When I first found this command, my enthusiasm about Excel doubled over night (and that is saying a lot). Here's where it can really help you. Working with Excel will sooner or later get you in a position where you will be repeating one and same actions periodically. In the beginning that is great, but in time you would much rather be creating great dashboards and charts and not repeating the same imports or copying over and over again. Before Power Query was "born", the only tool at your disposal for easing of the process was VBA. You could write a macro that did the import and accounted for all specifics in your data. But now, things got even better. What follows is a nice example of that.

Let's say that every month, we get a new txt file that is just an export of data that we want in Excel so we can analyze it. This is how those txt files look like.

So every month we have to remove the top six rows, correctly import the columns and add them to previously imported data and analysis. Here's how you do it with Get data from folder command in Power Query.

On the Power Query tab select From File and then From Folder. This will open a Choose a folder dialog box, where you can choose any folder you like (even folders on SharePoint).

Once you choose the folder, you get what will soon become your favorite window in Excel. It's the Query Editor Window. And here the fun begins.

The above picture also shows two buttons we will use magnified, since one hides the dropdown menu of most used commands in Power Query. And we will use many of them during this process. But the other is even more important in this first stage and that is the double down arrow in the Content column.

The reason we need this button is that at this point, we are seeing the list of files in the folder but not the content of those files. But pressing this button will show exactly that.

Here's what we get after pressing it.

And now the fun begins. We will do some data transforming by mostly using the dropdown menu button we talked about before.

First off, we will delete the top six rows. So from the dropdown menu we choose Remove Top Rows…

As the three dots at the end of the command suggest, you get a dialog box, and all that it needs from you is the number of top rows, you wish to remove (in our case that is 6).

After that we will choose a simple Use First Row As Headers command.

Now if you can imagine, this took care of the first six rows from the first txt file. But the same six rows from other txt files in that folder are still there, appended bellow. So the next step must be removing those. We will be using the filter in the name column to do that. First a little trick. At the beginning, the filter only shows you a limited amount of records and you must use the Load more command shown below.

Now we remove the blanks (since all rows contain the name, than these must be the six rows at the beginning of all txt files)…

…and then remove the rows containing Name (these are the header rows of other txt files)

Now we have the data we need, we just have to tell Excel what that data is. So we set the data types of the columns. So we select the column and go to Home/Data Type and select the appropriate data type.

With that done, we attend to the specifics in our data. In the City column, a question mark has replaced the apostrophe so we should revert those changes. We will use the Transform/Replace Values command.

The dialog box will remind you of a classic Find and Replace Window.

And this is what you get

Now we will use the Close & Load command.

Ok, so now we did all that we do every time we get a txt file. More or less a same amount of work, so the question is, what we have gained or what is so special about this.

First and foremost, at this point we have imported four txt files at once and now have 4000 rows. But now we just got the new txt file with new data.

All we need to do is to copy that file to the same folder as the others.

And just right click the data in Excel and choose Refresh

And right away we get 1000 new rows from the new txt.

So Power Query will take all the files in that folder and repeat all the steps that we have defined before. Brilliant. But there's more. What if we get a txt file that needs a new rule or a change in the old set of rules? All we need to do is to right click the Query on the right and choose Edit and we are back in the Query editor and on the right you can delete or modify any of the steps that we defined in the original query.

 

Pure Brilliance. But if the new txt file would be totally different than the previous ones, you could define a new query for that one and then use the Append command to add the new data to our old Query.

Now do you believe me, that this is truly a game changer. Just imagine. You only do the hard work once and then it's just a matter of refreshing your data. And that is why its called POWER BI and POWER QUERY :)

This is a reposting of the original post from Excel Unplugged which can be found here.

 



NoSql podatkovna baza DocumentDB

clock February 10, 2015 10:40 by author Rok Bermež

Kopici Microsoftovim oblačnim storitev, ki nam omogočajo hranjenje podatkov se je pridružil Azure DocumentDb servis. Kot NoSql podatkovna baza je DocumentDb popolnoma brez sheme in nam tako omogoča shranjevanje kakršnega koli JSON dokumenta in poizvedovanje po njem z znano a vseeno nekoliko bolj dokumentno orientirano SQL sintakso, ki jo lahko tudi opcijsko razširimo s svojimi uporabniško definiranimi funkcijami (UDFs) napisanimi v JavaScript jeziku.

DocumentDb ja ‘designed’ za linearno skaliranje za zagotavljanje potreb vase aplikacije. Kupi se ga v posameznih enotah zmogljivosti (Capacity unit) od katerih vsaka ponuja dedicirane rezervirane visoke performanse hranjenja in pretočnosti. Enote zmogljivosti se lahko enostavno dodaja ali vzema stran preko Azure portal ali REST management APIja glede na trenutne potrebe, kar omogoča elastično skaliranje podatkovne baze po korakih s predvidljivo zmogljivostjo in brez aplikacijskih izpadov.

V zadnjem letu je Microsoft interno uporabljal DocumentDb storitev za kar nekaj svojih bolj odmevnih storitev. Trenutno imajo več DocumentDb baz večjih od par 100 TB, ki procesirajo več milijonov kompleksnih poizvedb na dan s predvidljivo zmogljivostjo nizko enomestno ms latence.

DocumentDB vas omogoča tudi optimizacijo performans s prilagajanjem strategij indeksiranja in konsistentnostih stopenj, ki jih želite za določeno aplikacijo ali scenarij, zaradi česar je izredno prilagodljiva in zmogljiva podatkovna storitev za svoje aplikacije. Za poizvedbe in branje operacij, DocumentDB ponuja štiri različne nivoje doslednosti – Strong’, Bounded Staleness, Session in Eventual. Te ravni doslednosti vam omogočajo, da enostavno naredite kompromis med konsistenco in performančno učinkovitostjo. Vsaka raven konsistentnosti je podprta s predvidljivo stopnjo performanse in zagotavlja doseganje zanesljivih rezultatov za vaše vloge.

DocumentDb stavi na vseprisotne formate kot so JSON, http in REST – kar nam omogoča enostavno koriščenje te storitve s kakršnekoli spletno ali mobilne aplikacije.

Danes imamo na voljo .NET, Node.js, JavaScript in Python SDKje, lahko pa se do DocumentDb storitev dostopa tudi preko RESTful HTTP vmesnikov.

Do DocumentDb storitve lahko pridete preko Azure preview portala (https://portal.azure.com/)

clip_image001

Več o sami uporabi bomo spoznali pa v prihodnji številki.



ASP.NET 5.0 novosti

clock December 27, 2014 09:37 by author Rok Bermež

Prvi predogled ASP.NETa 1.0 je prišel v javnost že skoraj 15 let nazaj. Od takrat smo ga milijoni razvijalcev uporabljali za razvoj in poganjanje fantastičnih spletnih aplikacij in se je preko vseh teh let konstantno razvijal ter dobival nove funkcionalnosti.

Naslednja različica, ki jo predvidoma pričakujemo nekje v zadnji polovici letošnjega leta pa bo ena izmed najpomembnejših arhitekturnih posodobitev, ki jih je ASP.NET platforma kadarkoli doživela. ASP.NET 5.0 bo namreč precej vitkejši, bolj modularen, imel podporo za različna okolja (cross-platform) in na splošno precej bolj optimiziran za delovanje v oblaku. Njegov predogled lahko preizkusite že sedaj, tako da si namestite CTP različico naslednje generacije Visual Studia 2015, ki lahko dobite na spletnem naslovu http://go.microsoft.com/fwlink/?LinkId=521794.

ASP.NET 5.0 bo odprtokodna spletna platforma za izgradnjo modernih spletnih aplikacij, ki bodo lahko tekle na Windows, Linux in Mac operacijskih sistemih. Vsebovala bo novo različico MVC tehnologije (MVC 6), ki združuje funkcionalnosti MVCja in WebAPIja v skupno razvijalno okolje. Prav tako bo ASP.NET 5.0 podlaga za SignalR, ki vam omogoča uporabo realno časnih funkcionalnosti v spletnih aplikacijah. ASP.NET 5 temelji na .NET Core izvajalnem okolju, vendar pa se, za boljšo združljivost, lahko izvaja tudi na polnem .NET ogrodju.

Z novimi arhitekturnimi spremembami, ki naredijo spletno ogrodje precej vitkejšo, vam tako ni več potrebno dodati reference na System.Web ter praktično vse funkcionalnosti so sedaj implementirane kot NuGet moduli, tako da lahko v svojo aplikacijo vključita samo tiste dele ogrodja, ki jih dejansko potrebujete.

Poleg tega, pa pridobite še kar nekaj dodatnih izboljšav:

· ASP.NET aplikacije lahko sedaj razvijate in izvajate na Windows, Mac in Linux platformah

· z uporabo .NET Cora dobite pravo 'side-by-side' verzioniranje

· nova razvojna orodja, ki poenostavljajo sodoben spletni razvoj

· skupno okolje za vse funkcionalnosti Web UIja ter Web APIja

· konfiguracijo bolj primerno oblačnemu okolju

· vgrajeno podporo za ustvarjanje in uporabo NuGet paketov

· vgrajeno podporo za injiciranje odvisnosti (DI)

· zmožnost gostovanja na spletnem strežniku ali pa direktno v svojem procesu

Končni rezultat je tako ASP.NET, ki ga dodobra poznate in ki je sedaj še bolj, kot kadarkoli prej, uglašen za sodobni razvoj spletnih strani.



Create site collection in target content database

clock August 23, 2014 20:02 by author Robi

I get a lot of question from my customers how to create site collection in specific content database. In Central Administration you do not have an option OOTB to create site collection and specify in which content database you would like to create it in.

This is the reason I created script that opens a form where you can select Web application, Managed Path, Content database, language and Template for a site collection.

You must enter data as seen on this screen shot.

Mandatory field are:

  1. managed path
  2. content database
  3. primary site collection admin
  4. site collection title
  5. site collection URL - note that this is just url after managed path
  6. language
  7. web template - it load templates based on language, compatibility level and not hidden.

***Note

This script supports creating site collection only with wildcard managed paths.

You can download a script here:

 

And I published the script to Office downloads and scripts as well.

 

Hope you like it.

CreateSiteCollectionInContentDb.ps1 (16.02 kb)



Poglejmo novi Azure portal

clock August 20, 2014 11:13 by author Rok Bermež

Novi Azure Preview portal smo si lahko prvič ogledali na konferenci // Build letos. Portal združuje vse vaše Azure vire v enotnen portal za upravljanje in omogoča enostavno gradnjo oblačnih aplikacij na Azure platformi z uporabo novega upravitelja 'Azure Resource Manager'ja (ki vam omogoča, da upravljate več Azure virov kot enotno aplikacijo).

Začetni predogled portala je podpiral Web Site, SQL baze, Storage storitve in Visual Studio online vire, v zadnjih mesecih pa se je tej ponudbi pridružila tudi podpora za Virtualizirano računalništvo. Omogoča nam ustvarjanje tako samostojnih VMjev (in PaaS storitev), kot skupine večih virov, ki jih lahko upravljamo kot eno logično enoto.

Prav tako lahko portal uporabimo za vpogled v obračunavanje in spremljanje naših virov ter si ga pri vsem tem lahko popolnoma prilagodimo za hitri ogled tistih podatkov, ki nas najbolj zanimajo.

Če ste obstoječi uporabnik Azure storitev ga lahko začnete uporabljati že danes na naslovu http://portal.azure.com.

Spodaj je slika novega portala v praksi. Armaturna plošča nam kaže stanje storitev v različnih regijah skupaj s podatki za obračun. Na desni pa se nahaja en sam VM imenovan »NTKVM« in s klikom na ploščico se prikaže nov »blade« (termin za poimenovanje stranskih oken, ki se odpirajo na desni strani) z dodatnimi pojasnili v zvezi z njim.

clip_image002



About the author

Rok Bermež is Slovenian Windows Azure MVP, he works as a Software Engineer and Microsoft Certified Trainer at Kompas Xnet. His primary interests include cloud computing and web development. With extensive experience in development and architecture he participated in many projects and since the CTP release of Windows Azure much of those projects are based on Windows Azure platform. Rok has been delivering courses, writing code and speaking at conferences and community events on Microsoft technologies for the last couple of years. You can also find him on Twitter (@Rok_B).

Month List

Sign In