Check empty fields before Submit

Some of you might shiver now, but this blog post is about InfoPath! Yes! That old form application 

I still think it’s good though for on-prem customers who don’t have PowerApps available.

I built a form that I needed to validate before the user press “Submit” and the validation is to check if mandatory fields has a value. So simply put: check for empty strings before Submit. I tried using Rules but you can only have up to 5 conditions, and I have 8 fields that must be checked. So that did not cover all fields of the form. Here is a screen shot of all fields in the form that are mandatory:

So how do you validate if fields are empty on a web enabled form?

You can not use the Validation rules that are built in, because they will only work when you fill in the form in InfoPath client. But, we can check if the field has any text in it.

The solution:

I added a text field that I called “AllEmptyFields”, that will be hidden on the form. And in that field I added the following formula:

string-length(YourFieldName) * string-length(YourNextFieldName) * …  add all the fields you want to check!

So what you are doing is counting if there are any strings inside the field, and if they don’t it gets the value 0. Now add all the fields that you want to check, and separate them by the * sign. Which means that this field will default have the value 0 and then, when you have filled in all fields in the form, it will calculate a number that simply counts and sums all the characters in those fields. (The screen shot shows the formula in Swedish – sorry. But you get the point, right?)

Then on the Submit button you add a Formatting rule. The rule is to hide the Submit button if the calculated field “AllEmptyFields” contains 0:

If “AllEmptyFields” = 0 then Hide the control (and the control in this case is the Submit button):

Now when I fill in the form, the Submit button will not be visible until all mandatory fields are filled in! Very nice and no risk of empty forms being submitted.

Easy ways to change the look in SharePoint online

Are you using modern team sites or communication sites in SharePoint online? Then there are some good news for you when it comes to changing the look on them. Some of the news are easy to change in the UI and others you must use PnP Powershell to enable.

Change the theme on a modern site

There is a new setting called “Change the look” on the wheel menu.

This will open a pane where you can choose what theme you want for your site. If you don’t see a list of different themes, then the tenant Administrator might have prevented users from changing themes. Read more here. Select a theme:

When you select the theme a new link “Customize” will appear that let’s you do further customizations. The “Header emphasis” controls the background color of the site header. Default it is set to “None”:

Change the header of a site

Here are screen shots of how the different header emphasis looks like:

Neutral

Soft

Strong

Change the look on a hub site

If you have a hub site then you can change the theme and all the connected sites will inherit the same theme.

Change the look on a classic site

You have the same option “Change the look” on classic sites, but then you come to this old familiar page:

Mega Menu – is it coming or just a rumour??

This is something that I have read about but not been able to activate on my sites. Not sure it has been released yet, or if it’s just a rumour… Or I just don’t know how to enable it 🙂 Anyway, when you enable levels in the navigation then you get that “fly-out” effect, which is annoying because if you click outside it the menu disappears:

I would like to use the mega menu instead to make the menu larger, more informative and easier to use. Now there’s supposed to be a PnP cmdlet (you cannot do this in the UI) called MegaMenuEnabled that you can set to True or False, that should control if you want to enable or disable a mega menu. But when I run that in PnP PowerShell I get the following error “The property ‘MegaMenuEnabled’ cannot be found on this object. Verify that the property exists and can be set”:

No luck finding it on this command either: Get-Command -Module *PnP* 

Guess I have to be patient, not my strongest side though! I will update this post after Microsoft Ignite, maybe that is something that will be launched there! Exciting!

Cheers!

Delete and Rename channels in Teams

“I have renamed a channel in Teams, and now the files are gone, help!”

That was the reason why I am writing this blog post. To start with, the connection between the Files tab in Teams and SharePoint works like this: when you add a new Teams team and a channel, a SharePoint site collection will be added (unless of course you choose to add a team based on an existing site). They are then connected and you can see this by going to the “Files” tab in Teams. Let’s say you add a new Team that is called “O365Projects”. Now this will generate a site collection with the URL “https://yoursite.sharepoint.com/sites/O365projects”. On that site a folder will be added into the Documents library, and it’s called “General”:

That connected SharePoint folder is then displayed on the “Files” tab of your team in Teams and the files within it, the “General” folder in example here:

When you then add another channel in that same Teams group, let’s call it “Instructions”:

Then a new folder called “Instructions” will be added in the Documents library in SharePoint:

So what happens if someone either Rename or Delete these folders? Because they are connected now. I will describe four scenarios, what the effects are if you do any of the following actions. An important note: while I was testing this I did not close Teams in between and sometimes it looked like renaming worked, but when I restarted Teams it updated and then it was not working, so it may look like it works in Teams and that is just because it did not refresh properly so be sure to restart Teams when you rename or delete channels!v

Scenario 1: Rename a channel in Teams

If you click the three dots after a channel, and then select “Edit this channel” then you can rename the channel.

I changed the name to “Trainings”. The effect was that the channel was renamed, of course, but the folder in my SharePoint documents library did not change name – it was still called “Instructions”. But.. the connection still works. If I upload documents into either Teams or SharePoint to that channel, the files are visible on both places. But of course, this could end up in confusion when you go to the SharePoint site and look for documents connected to that channel and the name is totally different. Anyway, this works, but not recommended. The natural step would be to change the name in the document library to the same, what happens then? That is in our next scenario!

Scenario 2: Rename a folder connected to a channel in SharePoint

So we changed the name of our channel in Teams to “Trainings”. Now we want to change the folder name in the SharePoint document library to the same, to avoid confusion, right. Okey here we go, in SharePoint on the folder, click the vertical dots and select “Rename”:

Go back into Teams, what happens there? The Files area is emtpy! And the reference on Files is still pointing to “Instructions”. So that will break the connection. As you can see the channel is “Trainings” but it wants to find files in a folder called “Instructions”, so if you are uncertain on what folder the channel is connected to, then you will see that in the top of the Files tab in Teams (here the yellow mark is on the “Trainings” channel which is connected to the “Instructions” folder):

And now what happens in SharePoint is that it will automatically add back a new folder in the library called “Instructions”! So SharePoint will automatically match the channels, if they do not exist in there. Now I both have my new “Trainings” and the old “Instructions” folder. And this is where it could get confusing, because now you have a channel called “Trainings”, which points to the “Instructions” folder which is empty because your files are stored in the “Trainings” folder…. :

Recommended solution: Move the files out of the channel (example: move all files from “Instructions” folder) to a temporary folder in SharePoint. Then delete the channel and folder, and in Teams create a new channel with the name you want. Then move the files back from the temporary folder into that new channel’s folder.

Scenario 3: Delete a channel in Teams

Okey let’s delete a channel in Teams and see what happens in SharePoint. I will delete the channel “Trainings”. Note the message that the files will still be available (it means now on SharePoint) and you can copy that link to go to the connected folder:

And yes, after deletion the folder is still on SharePoint. So that worked. What if I then want to restore the channel? You will find it on the Teams settings tab and Channels, there is section called “Deleted”. Choose to restore the channel there:

That worked because the connected folder was still on SharePoint.

What if we had deleted the folder in SharePoint also, and tried to restore the channel? Then it will restore the channel, and as soon as you click on the “Files” tab it will add back that folder to the library on SharePoint BUT the folder is… EMPTY!! So your files are gone! Teams will not restore your files. I looked in the recycle bin on SharePoint and you can restore the files from there, but it gets stuck on Restoring so not sure that will work. You cannot access the files inside folders from the recycle bin, so that may not work.

Recommended solution: For governance and traceability, do not delete the folders from SharePoint! Then you know you can always restore a channel after it is deleted and the channel will connect back to the original folder.

Scenario 4: Delete a folder connected to a channel in SharePoint

Let’s find out what happens if you delete a channel folder from SharePoint while the channel is still in Teams. I deleted the folder “Presentations” in SharePoint:

Went into Teams and the Files tab and it is empty, as expected:

Go back into SharePoint to find a new folder added called “Presentations”. So SharePoint will add a new folder automatically. What if we want to restore the deleted folder and files then? We did delete this by mistake! Well, that restore does not seem to work, it is stuck on “Restoring”.. So these files are probably gone!

Scenario 5: Delete a channel and add a new with the same name

What if we delete a channel in Teams, the folder and files are still available in SharePoint, and then we do not use the “Restore” but instead try to add a new channel with the same name? That will not be possible,  and you will get a message saying that the channel name is already taken:

Recommended solution: Go into the tab “Channels” and restore the deleted channel. Then the connection to the folder will work and you will get back the conversations etc.

13 SharePoint Saturday Stockholm

First half of this episode it’s Lise and Christina talking about news from the Office365 world. The other half is interviews with some of the speakers at the SharePoint Saturday conference that took part at World Trade Center in Stockholm. A fantastic venue and we felt so inspired and happy to meet all the great people there. Visit http://www.spssthlm.org/ for more information. You will find the minutes into the show where each interview starts if you wish to ff 🙂
Thank you for listening!
Cheers from Lise and Christina

Interview 1 Sofia Edholm 23:25
We meet one of the keynote speakers Sofia Edholm from Microsoft. She talks about her role and also shows us the brand new Surface Go!

Interview 2 Wictor Wilén 30:25
We meet Wictor Wilén from Avanade and talk about his brilliant session “Building apps for Microsoft Teams like a boss”! He talks about bots, Teams App Studio, news in Teams and more!

Interview 3 Göran Husman 43:40
We meet Göran Husman, our favorite tutor! His session was about better collaboration with Office365 and we loved his presentation! He talks about his current role and how he helps the customer to adapt the new collaboration tools.

Interview 4 Sandy Ussia 55:10
Our favorite guest Sandy Ussia is back in the show! Her session was PowerApps Jump Stsrt, where she demoed how t get started building appps. and the presentation was built with on Powerapps and you could download it afterwards. She talks about a new user forums, link is https://www.powerappsug.com/

Interview 5 Christian Ståhl/Gentrit Sahiti 1:04:20
We meet Christian Ståhl and one of his students, Gentrit Sahiti, who just graduated and they talk about the EC Education programme and what happens afterwards. Christian has been a teacher there since the start in 2012 and Christina has also attended that training! After this interview, at the raffle from the sponsors, Gentrit won Rencore’s price which is a ticket to Collaboration Summit in Germany next year!! A great prize and we were so happy for Gentrit, congratulations and good luck in the future!!

Interiew 6 Jens Weil 1:13:10
Last interview for the day is with Jens Weil who is the organizer of SharePoint Saturday in Stockholm. Hear about his work with the preparations of this conference and how it went today. We want to thank Jens for an excellent conference and look forward to the next!

12 Daily life as a SharePoint Consultant

We got a mail from a listener who asked if we could interview a SharePoint consultant to hear about their daily work and challenges. And your wish is our command so I asked a very cool and sharp woman, Jenny Hedin, to come to the show and share her story with us. Thank you for listening and please subscribe and rate our podcast if you like us! Cheers!

You do not have permission to run the RECONFIGURE statement

After the SharePoint Server 2013 version was patched last night (Windows patches, about 150 ones!!), of course – as expected – the databases were in upgrade mode on SharePoint. So I started SharePoint Config Wizard (not through Powershell) and on step 2 I got the message as follows:

Exception: System.Data.SqlClient.SqlException (0x80131904): User does not have permission to perform this action. You do not have permission to run the RECONFIGURE statement.

Checked first that all services ran with correct accounts, had to change two where Local System was set (why?? do not know), checked that the SQL services service was running on the SQL server, checked that the farm account still had DB_Creator rights on the content db’s, and all seemed correct.

I have never seen this error before so I went to Google of course. Found an article (cannot remember where unfortunately) that said to add the farm account as a SysAdmin on the SQL server. And after that I could proceed with Config Wizard. But it ended with a failure. See below message (it is me who has added the X’s in the text below):

An exception of type Microsoft.SharePoint.PostSetupConfiguration.PostSetupConfigurationTaskException was thrown. Additional exception information:
Database [WSS_Content_MySites] contains a site (Id = [7e9181b9-ef7a-452c-a2ae-fxxxxxxx], Url = [/personal/xxxx]) that is not found in the site map. Consider detach and reattach the database. (EventID:ajxkz)

Feature (Id = [367b94a9-4a15-42ba-b4a2-324xxxxxx]) is referenced in database [WSS_Content_XXX], but isn’t installed on the current farm. The missing feature might cause upgrade to fail. If necessary, please install any solution that contains the feature and restart upgrade. (EventID:ajxkh)

And etc….

So I started Powershell and ran this command:

psconfig.exe -cmd helpcollections -installall -cmd secureresources -cmd services -install -cmd installfeatures -cmd applicationcontent -install -cmd upgrade -inplace b2b -force -wait

And that fixed it. As usual, make sure to go into Central Administration and start the User Profile Synchronization service as that rarely starts after upgrades like this.

Also checked the Health Analyzer and got rid of all messages regarding upgrade needed.

Checked all services and last thing, click on “Upgrade and Migration” link in CA to see that the messages about Incompatibiliy range were reset to “No action needed”.

CHECK!

Not sure what effects it will have to keep the farm account as SysAdmin at the SQL server but I will keep it for now!

Not too bad from having an emergency errand at 07.30 and be ready by 9 😉

Time for breakfast… 🙂

Episode 9 Hub Sites, Teams & More!

It’s been a while since our last episode so this is a longer one, and we have lots of things to talk about. We are talking Hub sites, Teams, SPfx, SPO, powershell and other topics!

Link to Vesa Juvonen’s tutorials on YouTube is here.

Hope you enjoy it and please rate our podcast if you like it, we would be very grateful for your feedback.

Cheers from Lise & Christina and hey, follow us on Insta @witgirlspod