PnP Partner Pack v. 2.0

%3CLINGO-SUB%20id%3D%22lingo-sub-35404%22%20slang%3D%22en-US%22%3EPnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-35404%22%20slang%3D%22en-US%22%3E%3CP%3E%3CSPAN%3EHere's%20a%20reusable%20starter%20kit%20for%20site%20provisioning%20solution%20for%20SharePoint%20Online!%20Get%20it%20on%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FSharePoint%2FPnP-Partner-Pack%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%22%3EGitHub%3C%2FA%3E.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F9308i2466825AC8523E82%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20alt%3D%22SharePoint%206%20440x220.jpg%22%20title%3D%22SharePoint%206%20440x220.jpg%22%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-48473%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-48473%22%20slang%3D%22en-US%22%3E%3CP%3EPlease%20see%20the%20above%20reply.%20Thanks.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-48472%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-48472%22%20slang%3D%22en-US%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3EWe've%20just%20released%20a%20new%20Setup%20Wizard%20tool%20for%20the%20PnP%20Partner%20Pack.%20You%20can%20find%20it%20in%20%22preview%22%20in%20the%20DEV%20branch%20of%20the%20PnP%20Partner%20Pack.%20Maybe%20you%20want%20to%20setup%20the%20project%20using%20that%20tool%2C%20instead%20of%20doing%20a%20manual%20setup.%20JFYI.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-47759%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-47759%22%20slang%3D%22en-US%22%3E%3CP%3EHey%20Paolo%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI'm%20having%20some%20issues%20creating%20the%20Scheduler%20Job%20Collection%20(instructions%2Fscreenshot%20pasted%20below%20assume%20it%20already%20existed%2C%20but%20in%20all%20the%20tests%20I've%20done%20it%20never%20was)%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ENot%20sure%20about%20some%20of%20the%20settings%20not%20shown%20in%20the%20screenshot%26nbsp%3B(method%2C%20action%2C%20etc).%20Can%20you%20throw%20me%20a%20screenshot%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-39533%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-39533%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F127%22%20target%3D%22_blank%22%3E%40Paolo%20Pialorsi%3C%2FA%3E%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3Ethank%20you%20very%20much%20again.%3C%2FP%3E%3CP%3ELong%20story%20short%2C%20it%20was%20something%20with%20my%20VM%20and%20it's%20Visual%20Studio.%20I%20kept%20building%20%22funny%22%20builds%20that%20would%20throw%20errors%20left%20and%20right%20primarily%20due%20to%20wrong%20references%20in%20the%20build.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EEventually%20I%20tried%20on%20a%20different%20machine%20and%20simply%20by%20restoring%20the%20nuget%20packages%2C%20I%20got%20it%20all%20working%20properly.%20So%20yes%2C%20the%20provisioning%20process%20now%20works%3A)%3C%2FP%3E%3CP%3EThanks%20again.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EOne%20small%20note%2C%20in%20your%20Youtube%20guide%20you%20don't%20mention%20the%20scheduler%20job%20part%20that%20you%20wrote%20above%2C%20so%20previously%20I%20didn't%20do%20that%20(however%20I%20had%20other%20bigger%20issues).%20Now%20I've%20completed%20that%20too%20and%20all%20seems%20shiny.%20Now%20I%20need%20to%20start%20customizing%20and%20figuring%20out%20what%20the%20options%20are%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-39466%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-39466%22%20slang%3D%22en-US%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3EThe%20ScheduledJob%20have%20to%20be%20scheduled%20following%20the%20instructions%20provided%20here%20(%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FSharePoint%2FPnP-Partner-Pack%2Fblob%2Fmaster%2FDocumentation%2FManual-Setup-Guide.md%23publishing-the-scheduledjob-using-a-minute-schedule%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2FSharePoint%2FPnP-Partner-Pack%2Fblob%2Fmaster%2FDocumentation%2FManual-Setup-Guide.md%23publishing-the-scheduledjob-using-a-minute-schedule%3C%2FA%3E).%20Have%20you%20done%20that%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAbout%20the%20ContinuosJob%2C%20it%20works%20based%20on%20messages%20queued%20in%20the%20blob%20storage%20queue%20that%20you%20create%20following%20this%20step%20(%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FSharePoint%2FPnP-Partner-Pack%2Fblob%2Fmaster%2FDocumentation%2FManual-Setup-Guide.md%23azureblob%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2FSharePoint%2FPnP-Partner-Pack%2Fblob%2Fmaster%2FDocumentation%2FManual-Setup-Guide.md%23azureblob%3C%2FA%3E).%20Can%20you%20see%20the%20queue%3F%20Can%20you%20see%20any%20pending%20message%20in%20the%20queue%3F%20You%20can%20use%20tools%20like%20Microsoft%20Azure%20Storage%20Explorer%20(%3CA%20href%3D%22http%3A%2F%2Fstorageexplorer.com%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttp%3A%2F%2Fstorageexplorer.com%2F%3C%2FA%3E)%20to%20inspect%20the%20queue.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-39194%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-39194%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F36226%22%20target%3D%22_blank%22%3E%40Eric%20Halsey%3C%2FA%3E%2C%20while%20I'm%20far%20from%20a%20Visual%20Studio%20expert%2C%20try%20installing%20the%20package%20from%20NuGet%20in%20Visual%20studio's%20console.%3C%2FP%3E%3CP%3EWith%20the%20solution%20open%2C%20click%20on%20the%20console%20and%20type%20this%20in%3A%3C%2FP%3E%3CP%3E%3CSPAN%3EInstall-Package%20Microsoft.IdentityModel%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3Eref%3A%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nuget.org%2Fpackages%2FMicrosoft.IdentityModel%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nuget.org%2Fpackages%2FMicrosoft.IdentityModel%2F%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-39184%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-39184%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F6492%22%20target%3D%22_blank%22%3E%40Harris%20Medovi%C4%87%3C%2FA%3E%26nbsp%3BI'm%20having%20the%20same%20issue%20(see%20attached)%20but%20I%20don't%20have%20a%20Microsoft.IdentityModel.dll%20in%20packages%20or%20any%20other%20folder.%20%26nbsp%3BI%20see%20a%20bunch%20of%20other%20Microsoft.IdentityModel.*.dll's%20but%20no%26nbsp%3B%3CSPAN%3EMicrosoft.IdentityModel.Claims.%20%26nbsp%3BAny%20help%20much%20appreciated.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3E-Eric%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-38415%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-38415%22%20slang%3D%22en-US%22%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ETante%20grazie%2C%20di%20fatti%20ho%20un%20problema%20adesso%20-%20continuo%20in%20Inglese%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ESo%2C%20my%20issue%20right%20now%20is%20that%20I%20do%20have%20the%20UI%20and%20all%20seems%20alright%2C%20but%20nothing%20is%20happening.%3C%2FP%3E%3CP%3EFor%20example%2C%20when%20I%20try%20to%20provision%20an%20empty%20site%20collection%20the%20job's%20status%20is%20pending%20the%20icon%20is%20spinning%2C%20but%20no%20site%20collections%20are%20being%20created%20if%20I%20check%20the%20site%20collection%20admin%20portal.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20did%20publish%20the%202%20remaining%20webjobs%20and%20made%20sure%20that%20he%20app.config%20is%20reflecting%20the%20configuration%20from%20the%20web.config%20from%20the%20siteprovisionig%20project%20(I%20updated%20the%20configs%20manually%20in%20VisualStudio).%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20was%20about%20to%20check%20the%20webapp%20logs%20to%20check%20for%20errors%2C%20but%20didn't%20have%20the%20time%20yet.%3C%2FP%3E%3CP%3EBefore%20I%20do%20so%2C%20do%20you%20have%20some%20quick%20tips%20that%20I%20should%20verify%20before%20checking%20the%20logs%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-38407%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-38407%22%20slang%3D%22en-US%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3Ein%20case%20of%20need%20feel%20free%20to%20ask%20here%20or%20to%20fire%20an%20issue%20request%20on%20GitHub.%3C%2FP%3E%3CP%3EEnjoy%2C%3C%2FP%3E%3CP%3EPaolo%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-38343%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-38343%22%20slang%3D%22en-US%22%3E%3CP%3EThank%20you%20Michael!%3C%2FP%3E%3CP%3EHowever%2C%20just%20as%20you've%20posted%20here%20I%20have%20found%20my%20problem.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F127%22%20target%3D%22_blank%22%3E%40Paolo%20Pialorsi%3C%2FA%3E%26nbsp%3B-%20FYI%20my%20Virtual%20machine%20did%20not%20have%20some%20libraries%20(%3CSPAN%3EMicrosoft.IdentityModel)%20and%20another%20dependency.%20Eventually%20I've%20fixed%20it%20by%20some%20further%20googling%20%3A)%3C%2Fimg%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EEven%20thought%20I%20found%20out%20that%20the%20.dll%20is%20included%20in%20the%20github%20repo%2C%20for%20whatever%20reason%20Visual%20Studio%20didn't%20%22see%22%20it%3F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EObviously%20it's%20just%20me%20not%20being%20Visual%20Studio%20savvy.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ENow%20I'm%20stuck%20on%20another%20problem%20with%20Azure's%20webapp%2C%20but%20haven't%20had%20the%20time%20yet%20to%20trouble%20shoot%20it.%3C%2FP%3E%3CP%3EAnyways%20-%20thank%20you%20so%20much%20for%20both%20the%20partner%20pack%20and%20the%20great%20tutorials!%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-38330%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-38330%22%20slang%3D%22en-US%22%3E%3CP%3EAdding%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F127%22%20target%3D%22_blank%22%3E%40Paolo%20Pialorsi%3C%2FA%3E%26nbsp%3Bwho%20might%20be%20able%20to%20provide%20some%20additional%20guidance.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-38140%22%20slang%3D%22en-US%22%3ERe%3A%20PnP%20Partner%20Pack%20v.%202.0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-38140%22%20slang%3D%22en-US%22%3E%3CP%3EHi%20guys%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3Ethank%20you%20so%20much%20for%20this%20great%20starter%20pack.%3C%2FP%3E%3CP%3EI'm%20stumbilng%20into%20an%20odd%20issue%20though%20and%20it%20might%20be%20just%20me%20not%20being%20Visual%20Studio%20savvy.%20Long%20story%20short%20I%20have%20followed%20the%20great%20guide%20made%20by%20Paolo%2C%20however%20when%20I%20try%20to%20build%2Fpublish%20the%20solution%20from%20within%20Visual%20Studio%20I'm%20seeing%20several%20errors%20and%20then%20the%20build%20stops.%3C%2FP%3E%3CP%3EWhat%20am%20I%20doing%20wrong%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI've%20downloaded%20the%20partner%20pack%20from%20github%20and%20haven't%20touched%20anythinb%20but%20the%20webconfig%20file%20(via%20the%20provided%20powershell).%20Should%20work%20straight%20out%2C%20shouldn't%20it%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
Microsoft

Here's a reusable starter kit for site provisioning solution for SharePoint Online! Get it on GitHub.

 

SharePoint 6 440x220.jpg

12 Replies
Highlighted

Hi guys,

 

thank you so much for this great starter pack.

I'm stumbilng into an odd issue though and it might be just me not being Visual Studio savvy. Long story short I have followed the great guide made by Paolo, however when I try to build/publish the solution from within Visual Studio I'm seeing several errors and then the build stops.

What am I doing wrong?

 

I've downloaded the partner pack from github and haven't touched anythinb but the webconfig file (via the provided powershell). Should work straight out, shouldn't it?

Highlighted

Adding @Paolo Pialorsi who might be able to provide some additional guidance. 

Highlighted

Thank you Michael!

However, just as you've posted here I have found my problem.

 

@Paolo Pialorsi - FYI my Virtual machine did not have some libraries (Microsoft.IdentityModel) and another dependency. Eventually I've fixed it by some further googling :)

Even thought I found out that the .dll is included in the github repo, for whatever reason Visual Studio didn't "see" it?

 

 

Obviously it's just me not being Visual Studio savvy.

 

Now I'm stuck on another problem with Azure's webapp, but haven't had the time yet to trouble shoot it.

Anyways - thank you so much for both the partner pack and the great tutorials! :)

 

Highlighted

Hi,

in case of need feel free to ask here or to fire an issue request on GitHub.

Enjoy,

Paolo

Highlighted

 

Tante grazie, di fatti ho un problema adesso - continuo in Inglese :)

 

So, my issue right now is that I do have the UI and all seems alright, but nothing is happening.

For example, when I try to provision an empty site collection the job's status is pending the icon is spinning, but no site collections are being created if I check the site collection admin portal.

 

I did publish the 2 remaining webjobs and made sure that he app.config is reflecting the configuration from the web.config from the siteprovisionig project (I updated the configs manually in VisualStudio).

 

I was about to check the webapp logs to check for errors, but didn't have the time yet.

Before I do so, do you have some quick tips that I should verify before checking the logs?

 

Highlighted

@Harris Medović I'm having the same issue (see attached) but I don't have a Microsoft.IdentityModel.dll in packages or any other folder.  I see a bunch of other Microsoft.IdentityModel.*.dll's but no Microsoft.IdentityModel.Claims.  Any help much appreciated.

 

-Eric

Highlighted

Hi @Eric Halsey, while I'm far from a Visual Studio expert, try installing the package from NuGet in Visual studio's console.

With the solution open, click on the console and type this in:

Install-Package Microsoft.IdentityModel

 

ref:

https://www.nuget.org/packages/Microsoft.IdentityModel/

 

 

 

Highlighted

Hi,

The ScheduledJob have to be scheduled following the instructions provided here (https://github.com/SharePoint/PnP-Partner-Pack/blob/master/Documentation/Manual-Setup-Guide.md#publi...). Have you done that?

 

About the ContinuosJob, it works based on messages queued in the blob storage queue that you create following this step (https://github.com/SharePoint/PnP-Partner-Pack/blob/master/Documentation/Manual-Setup-Guide.md#azure...). Can you see the queue? Can you see any pending message in the queue? You can use tools like Microsoft Azure Storage Explorer (http://storageexplorer.com/) to inspect the queue.

Highlighted

Hi @Paolo Pialorsi,

 

thank you very much again.

Long story short, it was something with my VM and it's Visual Studio. I kept building "funny" builds that would throw errors left and right primarily due to wrong references in the build.

 

Eventually I tried on a different machine and simply by restoring the nuget packages, I got it all working properly. So yes, the provisioning process now works:)

Thanks again.

 

One small note, in your Youtube guide you don't mention the scheduler job part that you wrote above, so previously I didn't do that (however I had other bigger issues). Now I've completed that too and all seems shiny. Now I need to start customizing and figuring out what the options are :)

 

 

Highlighted

Hey Paolo,

 

I'm having some issues creating the Scheduler Job Collection (instructions/screenshot pasted below assume it already existed, but in all the tests I've done it never was)

 

Not sure about some of the settings not shown in the screenshot (method, action, etc). Can you throw me a screenshot?

Highlighted

Hi,

We've just released a new Setup Wizard tool for the PnP Partner Pack. You can find it in "preview" in the DEV branch of the PnP Partner Pack. Maybe you want to setup the project using that tool, instead of doing a manual setup. JFYI.

Highlighted

Please see the above reply. Thanks.