Custom control scripts for Nintex Forms

Handy scripts to get custom display value in a field based on the value submitted by the user.

To get login id of the user in a label control without

  • Set the control’s CSS style value to a custom style name. (.my-custom-label in this example)
  • Include an empty style in the Custom CSS section in form settings (.my-custom-lable{}; for this example)
  • Set controls
  • NWF$(document).ready(function(){
    var ppl= NWF$(‘#’ + varEmployeeName);
    if(this.value == “”){
    NWF$(“.my-custom-label label”).text(”);
    var name = this.value.split(‘|’)[2].split(‘@’)[0];
    NWF$(“.my-custom-label label”).text(name);

To get custom formatted telephone(or fax) number in a label.

  • Set the control’s CSS to a custom style
  • Include empty style in the Custom CSS section in form settingsCustom CSS section in form settings (.my-custom-phone in this sample)
  • NWF$(document).ready(function() {
    var tel=NWF$(‘#’+telephoneVar);
    tel.change(function() {
    var telephone = this.value.replace(/(\d\d\d)(\d\d\d)(\d\d\d\d)/, “Tel – ($1) $2-$3”);
    To set maxlength of telephone/fax you can set variable.prop(‘maxlength’,10)

Store the client id of the control in a JavaScript variable. This is what you use to get the input value from the control prior to calculating the value for display purposes.



Office 365 -SharePoint Online Administration – How Tos – Part 1 (Connection, Site collection cmdlets)

So, sites, collections, apps and workflows galore. What now? Administration!

When there are a lot of workflows in a site associated with site contents(list/library) it becomes difficult to manage the site(collections). You as an administrator will NEED a quick and automated way to find out what is going on with your site contents. Check the status of your workflows without having to do the click, click, click and click some more! UI is great but not when you are handling a big collection and want to get results quickly on what list/library item workflows are successfully completed and which ones were suspended/terminated in your collection, PowerShell and SPOnline cmdlets is your friend.

You can definitely look at individual item > … > Workflows > Click on Status and if you are diligently logging help texts to your workflow history list upon completion of an action block in your workflow, you can troubleshoot there. But imagine a list with 100’s of items in it. Its a waste of resource and time to go through it all manually. In comes SP Online Management Shell and CSOM to rescue.

Intro to SP Online Management for Office 365:
There are around 42 windows PowerShell for SharePoint Online cmdlets. To get a list of ALL the SPOnline Powershell commands Select SharePoint Online Management  Shell(a tool that has Windows PowerShell Module to manage your SharePoint Online tenant. You MUST have SPOnline admin credentials to use the tool)

In addition to this tool to enable development against your SharePoint online sites you can get SharePoint Online Client Components SDK This installs a list of dlls to your C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI directory. You can use these to talk to your subsite contents and manage the sites via a combination of PowerShell and CSOM commands.


To export any of the outputs of the cmdlets to a .csv file simply add | Export-CSV –path MyReport.csv  to the command and result set will be exported to csv file. You can open the same in Excel.

Connection Cmdlets: Two commands that manage your connections to SharePoint Online tenant are
1. Connect-SPOService
    Enter your administrator login/password and sign in. This cmdlet stores Microsoft.SharePoint.Client.ClientContext object in an internal variable.
2. Disconnect-SPOService (disconnects previously created sharepoint online service connection)
Get-Command Module Microsoft.Online.SharePoint.Powershell (to retrieve list of ALL SPOnline cmdlets you have)

Note: Once in  your SPOnline management shell to change directory eg. c:\powershell\scripts type
Set-Location c:\powershell\scripts (this changes your location as desired. If your folder has blank spaces in between like C:\this or that then type Set-Location C:\this` or` that)
dir (shows all the files in the directory)

Site Collection cmdlets:
Noun: Site
Available Verbs: Get, New, Set, Test, Upgrade, Repair, Remove
3. Get-SPOSite -Limit ALL -Detailed (lists all site collections in your tenant. By default Get-SPOSite returns up to only 200 sites. Using -Limit All gets us all of them. -Detailed shows ALL values in properties)
4. New-SPOSite -Url -owner -storagequota 100 -nowait – resourcequota 50 -template STS#0 -timezone 10 -compatibilitylevel 15(creates a new SharePoint online site collection with storage quota 100MB, resource quota 50MB without any delay. Time zone 10 stands for EST, compatibility level is set for SharePoint 2013(15),  If there is a deleted site with the same name in recycle bin, this command will fail)
Checkout list of all MS SharePoint available options for properties in links/lists below:
ID Time Zone
2 (GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London
3 (GMT+01:00) Brussels, Copenhagen, Madrid, Paris
4 (GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
5 (GMT+02:00) Athens, Bucharest, Istanbul
6 (GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague
7 (GMT+02:00) Minsk
8 (GMT-03:00) Brasilia
9 (GMT-04:00) Atlantic Time (Canada)
10 (GMT-05:00) Eastern Time (US and Canada)
11 (GMT-06:00) Central Time (US and Canada)
12 (GMT-07:00) Mountain Time (US and Canada)
13 (GMT-08:00) Pacific Time (US and Canada)
14 (GMT-09:00) Alaska
15 (GMT-10:00) Hawaii
16 (GMT-11:00) Midway Island, Samoa
17 (GMT+12:00) Auckland, Wellington
18 (GMT+10:00) Brisbane
19 (GMT+09:30) Adelaide
20 (GMT+09:00) Osaka, Sapporo, Tokyo
21 (GMT+08:00) Kuala Lumpur, Singapore
22 (GMT+07:00) Bangkok, Hanoi, Jakarta
23 (GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi
24 (GMT+04:00) Abu Dhabi, Muscat
25 (GMT+03:30) Tehran
26 (GMT+03:00) Baghdad
27 (GMT+02:00) Jerusalem
28 (GMT-03:30) Newfoundland
29 (GMT-01:00) Azores
30 (GMT-02:00) Mid-Atlantic
31 (GMT) Casablanca, Monrovia, Reykjavik
32 (GMT-03:00) Buenos Aires, Georgetown
33 (GMT-04:00) Caracas, La Paz
34 (GMT-05:00) Indiana (East)
35 (GMT-05:00) Bogota, Lima, Quito, Rio Branco
36 (GMT-06:00) Saskatchewan
37 (GMT-06:00) Guadalajara, Mexico City, Monterrey
38 (GMT-07:00) Arizona
39 (GMT-12:00) International Date Line West
40 (GMT+12:00) Fiji Is., Kamchatka, Marshall Is.
41 (GMT+11:00) Magadan, Solomon Is., New Caledonia
42c(GMT+10:00) Hobart
43 (GMT+10:00) Guam, Port Moresby
44 (GMT+09:30) Darwin
45 (GMT+08:00) Beijing, Chongqing, Hong Kong S.A.R., Urumqi
46 (GMT+06:00) Almaty, Novosibirsk
47 (GMT+05:00) Islamabad, Karachi, Tashkent
48 (GMT+04:30) Kabul
49 (GMT+02:00) Cairo
50 (GMT+02:00) Harare, Pretoria
51 (GMT+03:00) Moscow, St. Petersburg, Volgograd
53 (GMT-01:00) Cape Verde Is.
54 (GMT+04:00) Baku
55 (GMT-06:00) Central America
56 (GMT+03:00) Nairobi
57 (GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb
58 (GMT+05:00) Ekaterinburg
59 (GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius
60 (GMT-03:00) Greenland
61 (GMT+06:30) Yangon (Rangoon)
62 (GMT+05:45) Kathmandu
63 (GMT+08:00) Irkutsk, Ulaan Bataar
64 (GMT+07:00) Krasnoyarsk
65 (GMT-04:00) Santiago
66 (GMT+05:30) Sri Jayawardenepura
67 (GMT+13:00) Nuku’alofa
68 (GMT+10:00) Vladivostok
69 (GMT+01:00) West Central Africa
70 (GMT+09:00) Yakutsk
71 (GMT+06:00) Astana, Dhaka
72 (GMT+09:00) Seoul
73 (GMT+08:00) Perth
74 (GMT+03:00) Kuwait, Riyadh
75 (GMT+08:00) Taipei
76 (GMT+10:00) Canberra, Melbourne, Sydney
77 (GMT-07:00) Chihuahua, La Paz, Mazatlan
78 (GMT-08:00) Tijuana, Baja California
79 (GMT+02:00) Amman
80 (GMT+02:00) Beirut
81 (GMT-04:00) Manaus
82 (GMT+03:00) Tbilisi
83 (GMT+02:00) Windhoek
84 (GMT+04:00) Yerevan
ID TimeZone


  • STS#0   Team Site
  • STS#1   Blank Site
  • STS#2   Document Workspace
  • MPS#0   Basic Meeting Workspace
  • MPS#1   Blank Meeting Workspace
  • MPS#2   Decision Meeting Workspace
  • MPS#3   Social Meeting Workspace
  • MPS#4   Multipage Meeting Workspace
  • BLOG#0   Blog
  • SGS#0   Basic Group Work Site
  • SGS#1   Blank Group Work Site
  • WIKI#0   Wiki

5. Set-SPOsite -Identity -ResourceQuota 100 -StorageQuota 200 -DisableSharingForNonOwners
To update/set a site based on various properties use Set verb followed by required properties. The above command updates the resource, storage quotas and disables sharing by users who are NOT owners of the site acollection.

6. Test the site by using the command Test-sposite


7.Repair the site by using Repair -SPOSite

8. Remove-SPOSite Note, I was not the owner of the site, so this failed initially. Once I made admin account owner of the site collection, this command worked
9. Restore-SPODeletedSite restores deleted site from recyclebin.
10. Remove-SPODeletedSite‘ removes the deleted site from Recycle Bin.
11. Get-SPODeletedSite -IncludePersonalSite gets the list of all deleted sites including personal sites.
12. Request SPOPersonalSite requests personal site be created for user with given email ids. These are queued and will be created by timer job later. Limits: 1-200
Request-SPOPersonalSite -UserEmails $emails -NoWait
12. Upgrade-SPOSite -Identity -VersionUpgrade command upgrades the version of the SharePoint Online site collection to SP 2013
13. Request-SPOUpgradeEvaluationSite requests that a SPOnline gloabal admin request a copy of the site collection for validation post upgrade.
Following posts in the make as part of this how-to series:
– Remaining cmdlets
– Workflow Status check scripts

Office 365 Forms App Preview

New FORMS app for #Office365 for Education is easy to setup survey/quiz tool that comes with few reporting/analytics built in and available immediately on response submit.


It is pretty intuitive and did not take much time to figure out, especially if its a power user setting up quick quizzes/surveys. What I found useful was also the feature to export the results to excel for analysis.  All in all I think it will be very useful for staff to create quizzes, surveys, registration forms etc., for power-users/teacher/team alike, who are tasked with gathering data from users.

Few advantages I observed with this app:

  • Quick view of the # of response submitted in the ‘Responses’ tab
  • Option to download barcode and instantly access the form
  • Metadata details: Date submitted, who submitted it, date modified etc., when responses are exported to Excel so form authors can track the results.
  • Ability to embed the form in any external site/CMS via embed code
  • Responses dashboard(or what I call it as, its pretty cool with dynamic pretty charts. #winning)



Authors can view results in real-time via built-in analytics and data can be easily exported to Excel for additional analysis. Teachers can create quizzes, including defining the right answers and students get real-time feedback.

Office 365 experience is getting better and better! Great collaboration option and lots to choose from.

#Nintex Forms magic with panels for Office 365

This post is about multiple panel buttoned forms layout to traverse through various sections of Nintex forms for #Office365 in #SharePoint Online lists.

Create a completely customized Nintex forms for Office 365 SharePoint Online list. The home panel has button interface to traverse through different sections of the forms as required. Customization include switching the panels with button click in the home panel, custom control designs and scripts. You can download this for reusable script & css in form settings.

Dependencies: Nintex forms for Office 365, Script, CSS Supporting browsers.

Compatibility: Nintex Forms for Office 365

Platform: SharePoint Online

List with three columns: Title, JavaScript and CSS(No, you don’t need those three for this to be fancy )PM1

When you click + New Item > Home PanelPM2

When you click the 1st button:PM3

When you click the 2nd button:PM4

When you click the 3rd button:PM5

Clicking save will submit the entered data to your SharePoint online list.
Here is the sample rule for the panel:PM6


VideoBe warned, I type like its my 1958 mechanical typewriter and conveniently forgot to turn off the microphone while recording,
Oops! But you get to watch fun forms in action, so its all cool!Scripts & CSSfunction fnJumpToPanel(panelNo)
var txtBoxNumber= NWF$(“#”+txtBoxNumberID);
NWF.FormFiller.Functions.ProcessOnChange(txtBoxNumber); //alert(panelNo);
}/*Custom form CSS*/
.btn {
padding: 0 5px 0 5px !important;
border-color: #2e6da4 !important;
border: 1px solid transparent;
border-radius: 4px;   font-weight: 400;
line-height: 1.4285;
text-align: center;text-shadow:1px 1px 2px black, 0 0 25px, blue, 0 0 6 darkblue;}
border: 1px solid #dfdfdf;
border-radius: 10px;
-moz-border-radius: 5px;
-moz-box-shadow: 5px 5px 5px #888888;
-webkit-box-shadow: 5px 5px 5px #888888;
box-shadow: 5px 5px 5px #888888;

Here is the link to the article’s Nintex Xchange Community Connect post:

Good luck!

Missing Nintex Forms Icon – Fix

One of our SharePoint Online site was missing the following Nintex forms items this morning –

  1. Nintex Forms Icon in the SharePoint List ribbon
  2. Nintex List Forms Online webpartNF2
  3. Missing new form webpart in the SharePoint page. The page was just blank.NF3

-I had not made any changes to the site and permissions of the site did NOT allow for modifications to pages for other users.
-I WAS the owner of the site with FULL CONTROL
-Behavior was the same on ALL browsers

Having ruled the above out, I went on to research the reason for this behavior. #Nintex Connect always has useful resources and found that there were a couple other who had the issue.


Solution was straight forward, remove Nintex Forms app and reinstall it. It does NOT modify the form design in your list. ALL customization stays intact, so no big deal. Below image shows the steps I had to unistall and reinstall the app


Now that we have removed and reinstalled Nintex Forms for Office 365 app in our “SITE”, missing Nintex forms elements reappear in their corresponding sections.


While Nintex Forms items are restored, you still need to:

  • Customize the List form in Nintex and publish it once again. You will notice that all your custom designs are intact.
  • Open your Nintex List Workflow and republish it. (Especially if you have task forms that are customized.)
  • Re-add the webpart in your SharePoint page and set the required webpart properties.

If they aren’t done, then SharePoint smartly users its OOTB form to display custom list and Task list items. Not the pretty Nintex. 🙂

Items to also keep in mind:

This happens in specific site, NOT the entire site collection/tenant. So NO need to fret/worry about OTHER site Nintex Forms.  They remain unaffected.

While I could not pin point to find out what caused this, I am happy the fix was easy enough to implement and NO loss of data/time or even energy.

And thats why I love the simplicity of Nintex and cloud collaboration.

Good luck!

Hide site settings contents in #Office365 #SharePoint

There are times when you want to empower your end users and enable them to do it all and there are times, when want to simplify work for your end-users and unclutter their views.

Once such time is when you want to hide site settings contents from your SharePoint site. Be it online or on premise, it easy for your users to just login to the site, do their task and out, without looking at all the wondrous options and SP offerings. 🙂

Every site owner goes through this at some point. Every site owner also bings(or google or yahoo or  it at some point and I did too.

While there are umpteen number of ways to accomplish this via script/css or xslt update. My favorite option by far is changing the PermissionsStrings for items based on user roles.

Oslo template: Change the PermissionString below for site contents from ViewFormPages to ManageWeb.

PermissionMode=”Any” />
PermissionMode=”Any” />


SharePoint Fest and May the 4th be with you- THE FUTURE OF #SHAREPOINT #ONEDRIVE

What an amazing set of training sessions it was at SharePoint Fest DC 2016 at Walter E. Washington Convention Center from April 27-29th.

It wouldn’t be exaggerating to say that it was a training heaven of sorts for any Office 365/ SharePoint geek. Be it a curious user, an inquisitive beginner or a passionate proponent of Office 365 SharePoint, there were boat loads to learn from the various tracks offered in the conference.

Governance, Security, Development, Search and MUCH MUCH MORE taught by none other than the most respected MVP SMEs of Microsoft and Microsoft product leaders themselves.

What more could an attendee ask for? Wait…what? Training materials from the sessions, as well?
Oh! no worries…you got those too AND ALL of them sesssions, immaterial of which track you chose to attend. You get ’em all thanks to the smart planning and generosity of SharePoint Fest conference planners! WOOT! You guys rock!
I got them ALL, therefore, my team & organization gets them all as well. DOUBLE WOOT!

So much to adapt and implement and its all for the better.

BIGGEST TAKEAWAY for me personally were two things

  1. This line by Mr. Benjamin NiaulinMe/ We and WE+Process is OneDrive/Office365 Groups and Team Sites” This explanation, answered a lot of questions I had.
  2. Info about the upcoming webinar on “FUTURE OF SHAREPOINT & ONEDRIVE”.
    ANY organization public, private or in-between, that is doing ANYTHING, cloud(Office 365), Hybrid(On Prem & O365) or On-Premise SharePoint, MUST attend this FREE webinar on May 4th.
    May the 4th better be with you if you want to know what is coming your cloud way, so you can better plan and implement several features and support your end-users with their Office 365 and SharePoint implementations.

What if you can’t attend this session you ask?
No-worries, you can always watch the recorded video of the event later.

What if you refuse to watch the video too you ask?
Well, then you’ll just be left behind. 🙂 And no one wants that for oneself or their environments. Well all know that second and third hand news becomes diluted. Hearing for ourselves from the ones who ARE the masters of the topic is the best way to stay in the lead.

So, without further ado and after all that build up: Here is what Microsoft has to say about the event-

“Come celebrate SharePoint and see

Keynote speaker: Jeff Teper-CVP OneDrive, SharePoint
Keynote speaker: Jeff Teper-CVP OneDrive, SharePoint

unveil our new vision and roadmap for SharePoint and OneDrive for Business, both on-premises and in the cloud with Office 365.

Following the live keynote from San Francisco there will be a number of on-demand sessions detailing our upcoming innovations. Whether you’re a user, IT pro, or developer, we’ll have a lot to share as part of this historic moment.”

If this LANDING THE FUTURE OF SHAREPOINT keynote is anything like the keynotes from SharePoint Fest DC Conference, then we all are in for a treat. CLICK ON THE IMAGE BELOW TO REGISTER FOR THE SESSION- NOW

May the 4th be with you!

@Nintex Workflow Professional Certificate

Today I took an exam and added Nintex Workflow Professional Certificate to my list of official certifications. Target audience for the certification are experienced forms and workflow creators. Questions covered designing, creating and debuggins Nintex workflows and forms concepts. #Excited to have taken the test as it was the high point of my day!

Nintex tells me I am skilled at creating Workflows and Forms! WOOT!!


PowerShell for for #Office365 #SharePoint Online Administration

First things first, we need to be SharePoint Online Administrators to be able to manage the site collections in our Office 365 tenant using both SharePoint Online Admin Center as well as SharePoint Online Management Shell.

This blog is about the ABCs of connecting to SharePoint Online Management Shell so you can start administering your sites without having to go through GUI. Personally, I like this quite a bit and pretty excitedly PowerShelling(It really doesn’t take much to get me excited, but thats beside the point…so, powerhsell)

To connect to your SharePoint online service using SharePoint Online management shell follow the steps

Start > SharePoint Online Management Shell (PS C:\Windows\system32>)

Script to create new site collection:
New-SPOSite -Url
-StorageQuota 500 (quota for all the sites in this collection)
-CompatibilityLevel 15 (SharePoint 2013)
-LocaleID 1033
-ResourceQuota 100
-Template “STS#0” (team site template)
-TimeZoneId 13 (pacific timezone code)
-Title “Shell Site”

This creates a new team site collection with title “Shell Site” with all the default settings in it.

Get-SPOSite you can see that your new site collection is ready with the requested owner and storage quota


Get-SPOSite | fl shows the properties formatted as list as seen below



External Sharing of Site Collections in #Office365 #SharePoint

Who is an external user in Office 365 SharePoint Online environment?

“An external user is someone ‘outside’ of your organization who can access SharePoint Online sites and documents but does not have a license for your SharePoint Online or Microsoft Office 365 subscription. External users are NOT employees, contractors, or onsite agents for you/ your affiliates.”

Types of External Users:

  1. Microsoft Office 365 User (Different Tenant)
  2. Microsoft Account(Live, Hotmail, Outlook etc.,)
  3. Guest users/Anonymous users(Accessing individual documents via guest link)

How to enable External Sharing feature in Office 365 SharePoint Online:

  1. Via SharePoint Online Admin Center or
  2. SharePoint Online Management Shell

External Sharing via SharePoint Online Admin Center

  1. Turn ON External sharing GLOBALLY in the TENANT via SharePoint admin Center > settings > External sharing



  1. Turn ON External sharing for that INDIVIDUAL site collection.

External Sharing Options:

  1. Don’t allow sharing outside the organization
    1. Users will NOT be able to share sites or content with users who do NOT have LICENSES to your Office 365 subscription.
    2. External sharing CANNOT be turned on for ANY site collection
  2. Allow external users who accept sharing invitations and sign in as authenticated users
    1. Users with FULL CONTROL permission CAN share sites with external users
    2. ALL external users will be required to sign-in ONLY with a MICROSOFT ACCOUNT before they can view content
    3. Invitations for content share once accepted CANNOT be shared/used by others to gain access. It’s very specific to account that got the invitation.
  3. Allow both external users who accept sharing invitations AND guest links
    1. External users required to sign in before viewing content on a shared site
    2. Full Control users of a site can choose to require Sign-in/ share via guest link for anonymous document access.
    3. Users who are sharing a document in the site can grant permission to view/edit based on their permission level
    4. Guest Links: (PUBLIC documents).Allows external users to view or edit content WITHOUT SIGNING-IN. CAN be shared/ invitation forwarded to ANYONE with the link to access the document

Turn ON External sharing in the tenant DOES NOT MEAN that site collections underneath are automatically shared. We NEED to enable PER site collection as required.

External Sharing via SharePoint Online Management Shell

SharingOptions in Command Line corresponding to GUI options of SP Online Admin Center:

  1. Disabled
  2. ExternalUserSharingOnly
  3. ExternalUserAndGuestSharing

To GET and SET the External sharing options via PowerShell:

  1. Connect-SPOService https://xyz-admin.sharepoint.comES1
  2. GET the site collection and assign it in a variable and verify the Sharing capability$SC=Get-SPOSite (root collection)$SC.SharingCapability


  3. SET external sharing for site collections viaSet-SPOSite -Identity -SharingCapability ExternalUserAndGuestSharing
  1. Get ExternalUsers for the site collection and filter them as well as export to .csv/.txt file
    1. Get-SPOExternalUser -SiteUrl -Filter > ExternalUsers.CSV
      Get-SPOExternalUser gets ALL external users in the tenant.
    2. Get-SPOExternalUser -SiteUrl

Once we enable External Sharing using either one of the above mentioned methods, we can share our sites with users outside of our organization.

Sharing a site with non microsoft/ external organization account like will

Send site invitation to xyz@qwe.comES5

Upon clicking the URL for the shared site, we get redirected to
es8Although External Sharing seemed to work with ANY email account, we require either

  • Office 365 Account (or)
  • Microsoft Account(Hotmail, live, outlook) Accounts work
    for sharing Site with external users.

What to do if we don’t have either? Stay tuned for update! 🙂