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 @organizationname.org

  • 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);
    ppl.change(function(){
    if(this.value == “”){
    NWF$(“.my-custom-label label”).text(”);
    }
    else{
    var name = this.value.split(‘|’)[2].split(‘@’)[0];
    NWF$(“.my-custom-label label”).text(name);
    alert(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”);
    NWF$(“.my-custom-phone”).text(telephone);
    alert(telephone);
    tel.prop(‘maxlength’,10); 
    });
    telephone.png
    To set maxlength of telephone/fax you can set variable.prop(‘maxlength’,10)

Note: 
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.

dlls

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 https://xyz-admin.sharepoint.com
    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 https://xyz.sharepoint.com/sites/swenewsite0 -owner bblah@xyz.org -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:
-timezone
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

-templates 

  • 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 https://xyz.sharepoint.com/sites/swenewsite0 -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 https://xyz.sharepoint.com/sites/Forms

TestSPOSite.png

7.Repair the site by using Repair -SPOSite https://xyz.sharepoint.com/sites/test

8. Remove-SPOSite https://xyz.sharepoint.com/sites/swenewsite0. 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 https://xyz.sharepoint.com/sites/swenewsite0 restores deleted site from recyclebin.
10. Remove-SPODeletedSite https://xyz.sharepoint.com/sites/swenewsite0permanently‘ 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
$emails=”xyz@abc.org,cyz@abc.org” 
Request-SPOPersonalSite -UserEmails $emails -NoWait
12. Upgrade-SPOSite -Identity https://abc.sharepoint.com/sites/swenewsite0 -VersionUpgrade command upgrades the version of the SharePoint Online site collection to SP 2013
13. Request-SPOUpgradeEvaluationSite https://abc.sharepoint.com/sites/swenewsite0 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.

O365Forms

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)

responses

 

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);
txtBoxNumber.val(panelNo);
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;}
.panelCustom{
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: https://community.nintex.com/docs/DOC-4060

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
    NF1
  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.

Ref:
https://community.nintex.com/thread/9810,
https://community.nintex.com/thread/9931

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

NF4.png

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.

NOTE:

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.

Text=”<%$Resources:wss,quiklnch_allcontent_15%>”
Description=”<%$Resources:wss,siteactions_allcontentdescription%>”
ImageUrl=”/_layouts/15/images/allcontent32.png?rev=43″
MenuGroupId=”200″
Sequence=”240″
UseShortId=”true”
ClientOnClickNavigateUrl=”~siteLayouts/viewlsts.aspx”
PermissionsString=”ViewFormPages
PermissionMode=”Any” />
Text=”<%$Resources:wss,quiklnch_allcontent_15%>”
Description=”<%$Resources:wss,siteactions_allcontentdescription%>”
ImageUrl=”/_layouts/15/images/allcontent32.png?rev=43″
MenuGroupId=”200″
Sequence=”240″
UseShortId=”true”
ClientOnClickNavigateUrl=”~siteLayouts/viewlsts.aspx”
PermissionsString=”ManageWeb
PermissionMode=”Any” />

o365Test

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 4th-FUTURE OF SHAREPOINT
May the 4th be with you!