Learn how to use conditional formatting to customize SharePoint or Microsoft List forms. Bascially you can show or hide columns based on conditional values of other columns.
Check the video below to understand how it works, you can also read the transcript below
Hello and welcome all to this new series and also first video of the series where we will go through a Microsoft 365 topic. Today’s topic is related to Microsoft Lists and specifically how to show or hide columns based on conditional formatting.
Conditional formatting is a concept which has been introduce recently in Lists and has gained lot of popularity for formatting list column, views, coloring, text formatting etc. Microsoft recently has added lot of options around this but the I will be showing today how to hide or show columns in forms based on value of other columns.
For this example I have created a “Content scheduler” Microsoft list where I am storing when to publish content for my YouTube videos, I have added two items and my objective is to show column “Published Link” when status is “Ready to publish” OR “Published” because the link is not yet ready in other cases, very simple.
So let’s start with this. The same formula works in all 3 forms that is new , edit and view =if([$Status]==’Ready to publish’ ||[$Status]==’Published’,’true’, ‘false’)
You can see that I have here used OR parameter and similarly you can also use AND or NOT operator. It is important to put a logic which is applicable of handling all forms. It took sometime for me to get the OR operator right but finally it worked.
There are certain limitations such as below column types cannot be used in conditional formatting
Person columns with multiple selections
Multiple choice column
Time calculations in DateTime column
Managed Metadata columns
Before this feature was added in SharePoint online we had to rely on Power Apps or SPFx development which I think was an over kill for such a thing but now this is available OOB and this really adds value to Microsoft Lists.
So ya that’s it in this video if you have any questions or suggestions please reach out to me in Twitter, Linked in or in YouTube comments, please share the video and subscribe the channel if you like it.
4.Cross platform PnP PowerShell preview version released by Erwin
5.App capabilities of Teams 6.Project Nucleus teaser
Transcript of the video:
Hello and Welcome everyone to very first Vlog of ”Last week in Microsoft 365”, since this is the first VLog ever I want to tell you what it is? In this series of videos I will be picking some of things I read or liked in Microsoft 365 area during last week and I will be telling you about in brief and if you like it you can find more about in the link pasted in YouTube video or in my blog post. So let’s gets started
1. First up is of course the champions of the community or I should say leaders of the community @vesajuvonen and @waldekm who finished 100th episode of their PnP weekly which was SP Dev Weekly when it started actually, If you would like to know the story of how it started you should listed or view the video (hint it points to one and only Chris Kent). They also discussed what is the purpose of these videos and it is very encouraging to know that they do this for the community to amplify their reach and also develop a bridge between community members and Microsoft. Do listen to this video highly recommended. Here is a link to it https://www.youtube.com/watch?v=Vs_8b…
2. Number second is that Scottish Summit has been announced and call for speakers expires on 31st Oct so if you have a nice cool topic please submit it, most amazing thing about this summit is that it will have 250 sessions and that too in different languages such as English, Spanish, German, French, Mandarin and my own Hindi. Plus they also have a program for new speaker like me so if you are going to speak for the first time they will help you out. So what is that you are waiting for either send a session or buy the tickets? Register here: https://sessionize.com/ss2021
3. Next up is the a Twitter announcement which I believe is important that there will be one admin center for SharePoint and OneDrive which of course make sense as both of them are so tied up so get ready for that one. Link: https://twitter.com/SharePoint/status…
4. Next up is announcement by father of PnP PowerShell @erwinvanhunen, that is preview version of cross platform PnP PowerShell has been released. In his blog post he explains why it took so long and what are the key changes coming up. So if you are using PnP PowerShell for your work or you rely it on running scripts this is an important information, please reach out to him on Twitter or read the blog. Blog: https://www.erwinmcm.com/cross-platfo…
5. Next one is something which widened my eyes when I looked into this on my Twitter feed, the picture. It shows all he App Capabilities of Teams which is fascinating as you can see it can do almost everything, right from embedded tabs, Bots, Messaging extensions, WebHooks and connectors as well so if you are planning to create an App for Teams do read this and understand what all can be achieved. All thanks to Bill Bliss (@bill_bliss ) for sharing this. Link to docs: https://docs.microsoft.com/en-us/micr… Tweet: https://twitter.com/bill_bliss/status…
6. Ok so the last one, and it is related to one of the big announcements which was mentioned in the Microsoft Ignite this year, that is Project Nucleus , as you are aware we got SharePoint Syntex out of Project Cortex and Nucleus was announced this year. A teaser of this was shown in SharePoint monthly community call – October 2020 at the end so if you would like to see just that part then find the link in YouTube video description or on my blog. So biggest thing you need to know that it allows web apps such as List to be available offline for browsing and editing capabilities. This teaser explains how it works and how they are doing it. It demonstrates a List with 100,000 items and also shows what happens in the backend and also how you can join Project Nucleus.
Firstly why create the wheel again! Portal which your developers might take few months to create is easily available at free of cost. Of course it will not suffice all your needs or requirements but it can be a great starting point, I am very sure 50% of the work is already done.
What templates are available?
Templates have been categorized and Microsoft keeps on adding new templates keep an eye of the web site URL shared before and Twitter handle of Microsoft SharePoint https://twitter.com/SharePoint
As of 29th August these templates are available
Organization based: Leadership connection, The Perspective, Crisis Communications, News site, The Landing and Benefits
Department based: Global sales hub, Fly Safe Conference, Retail Operations, Human resources hub, Global marketing hub, Workshop training site
Team based: Team communication site, Product Support Collaboration team site, Mark8 Project Team
Community based: Charitable site, Branding site
Solutions based: Microsoft 365 learning pathways, Microsoft 365 freelance communications site, New Employee Onboarding Hub
Schools: School home page, Class home page and Staff home page
We will look into the new “New Employee Onboarding Hub” template in detail.
How to create “New Employee Onboarding Hub” sites using the template?
Interestingly Microsoft has made it very easy to try out any templates, you just to have visit the page of the template and go through an online form to install it.
Click on the “Add to your tenant” button to start the process but make sure that account you are using is a “Tenant Administrator”.
This will take you to page in which site urls needs to be decided, it will automatically pick name and URL but you can modify it, it will also validate if those URLs are valid or not.
An email is sent once the provisioning finishes so make sure email address given is correct.
This should start the process and usually will take 15-20 minutes to finish.
It’s important that till all 4 sites are created and you get an email you don’t access the sites else it create issues, first time when I did this I did not read the message properly and it actually created the issue and I never got an email.
If all goes well you should get an email like below
Here is a video of the process applying the template “New Employee Onboarding Hub” in your tenant.
What do you get once installation is finished?
So once this is done, it creates 4 site collections and 1 site is set a hub site.
Pre-Onboarding site: A start up site for new hires which can be accessed before starting with the company.
OnBoarding site: Main site which provides access to information related to onboarding.
Department based Onboarding sites: As a sample Engineering and Sales departmental OnBoarding sites are created which will hold departmemt level onboarding information.
Look at these videos to get an overview of what we have.
What can we do after installation?
As you can understand from the videos the sites created are like sample sites, the content needs to be added, replaced to make it work in your environment but it is a great inspiration for creating such sites as it has covered all the basics needed to create sites such like this. The sites have been created based on research done. You can read more here on how to customize sites but if you know how to handle a SharePoint sites it is not that difficult.
Once you have created and customized sites you can always use Site Usage features for SharePoint how it has been doing it.
How to use PowerShell to install New Employee OnBoarding Hub Template?
You will be happy to know that you can use PowerShell to install the sites which were described if you do not want to use the user interface based Provisioning.
These steps will do the same as User Interface that is create four sites as described.
You can also look at this video to view complete process
How to extend this further?
Since we the source code we should be able to make changes to NEO.XML file from the path “yourpath\provisioningtemp\sp-dev-provisioning-templates-master\tenant\NEO\source”.
I did a small change that added an extra navigation on Pre-Boarding site, similar to that you should be able to add new pages, change existing pages, update with your own images or create more sites etc.
Once you have done changes to NEO.XML file use below command to create a new PNP file which will provision the site according to changes you have made.
But before you run commands make sure you change your working folder in PowerShell and go to “YOURPATH\provisioningtemp\sp-dev-provisioning-templates-master\tenant\NEO\source” else the Save.PnPTemplate command will fail with below error as it looks for the SiteAssets folder just under the working folder
Once the New PnP File is created use Apply-PnPTenantTemplate -Path .\NEONew.pnp to install the sites.
If you are interested in understanding how the User Interface provisioning service works, source code for that is also available but I am will not go into details as I will save it for another blog but you can refer this link https://github.com/SharePoint/sp-provisioning-service
This is the source code used for lookbook.micrsoft.com.
So that is all about New Employee OnBoarding Hub from Microsoft SharePoint look book.
Summary: The templates provided by Microsoft as part of look book are quite useful and also the source code is available to extend it further. It has also been announced in Microsoft Ignite 2020 that new Site Templates will be available from End of 2020 which are based on look book but has been polished and more value has been added by Product team.
Finally on 28th July 2020 Microsoft Lists have arrived in our tenants (10% targeted release), here is the icon and just click on it to access the Lists page.
What are the ways to create lists?
You can create a blank list as we use to do like custom list in SharePoint.
You can start with an existing excel which means that if you have excel you can use that create a list with same set of columns etc
You can pick any one of the templates to create a list.
You can also use an existing list of create a list which means you don’t have to start from scratch and any existing list can be used as template.
We will have a look at all these one by one but first let’s discuss templates.
What are the templates available and their usages?
Issue Tracker: This to track issues, similar template is available in SharePoint as well, look at the video below how to create and what are the columns etc. You will notice that the interface is same as SharePoint Lists and also settings page is same so the learning curve is pretty small.
2. Employee OnBoarding Template: Look at the video to understand what columns it has, this can be used for onboarding new employees or onboarding emoloyee transfers from one location to another or department
3. Event Itinerary template demo: A lists to track series of events such as who is the speaker, location, number of people allowed etc, look at the video for more details
4. Asset Manager Template: This template can be used to manage assets if new assets needs to be assigned, transferred or an inventory of existing assets. All required columns like Serial number, manufacturer etc are already available, look at the video for more details
5. Recruitment Tracker: This template can be used to track recruitment candidates, has all options to store candidate information, who is the requester, for what role etc., look at the video to understand more.
6. Travel Request Tracker: This can be used to track travel requests, it has all the columns you need, workflow of course can be created using Power Automate, good use of the “Location” column as users can enter location where they are travelling so you don’t need to maintain a list, flight cost, hotel cost etc, look at the video for details
7. Work Progress Tracker: This template can be handy if you are managing a team or you are tracking different tasks, this template has all the columns you need such categorization, priority, start date , end date etc, look at the video for more details
8. Content Scheduler: This template can be used to track launch of content in your organization, it has all the columns you need such as Content type, author, publish date, content link etc, view the video to get more details
Create a blank list: Use the same steps as before just use the option, blank list, it is more like a custom list we have in SharePoint and we can create columns as we wish. View the video for more details.
As you can see the experience is very similar as before and we have both modern way of creating ways also classic experience available with us, if you want to use metadata type it is also available.
Create a List using an existing list: Use the same options as before just use the option existing list and you will be able to create a list out of an existing list. Benefit of this is that whatever customization with respect to columns, formatting and views you have done will be copied over. View the video for more details.
Create a List using an excel: If you have data in existing excel and you would like to turn it into Microsoft Lists then it can be easily done, view the video below.
Some points before you do this:
There is a limit of number of rows for which data can be uploaded
Your excel sheet needs to have data in “Table” format else it will not work and will give a message for the same.
You can select multiple type of column type while uploading such as Single text, Multi text, Choice , Date time, Number , Currency depending on what data resides in the column or you can select not to upload data
When you upload the excel it will be first uploaded to OneDrive and then list will be created, later it can be found in OneDrive.
You have the ability to upload an excel from OneDrive as well.
I also encountered an issue while uploading, I was not abe to save List under “My Lists” as it gave me this error “The Site does now allow Site Designs” so I had to share it in one of the SharePoint sites and then it worked.
Your data along with columns will also be uploaded.
What happens when you create a list and how to create under SharePoint Site ?
If you will notice the List URL you will understand that the List App is actually running from your SharePoint My Site as we have our “OneDrive” running, a sample URL below so I believe all Lists are being created under your My Site. Check below URLs and you will understand. Anyhow our my sites are nothing but a SharePoint site so it makes sense to utilize them.
You have the ability to save list under a SharePoint site when you create a list, instead of My Lists select SharePoint Site this will create the List under SharePoint site, a link will be added in menu automatically and also you can find under the Site Contents.
Create a List from existing SharePoint List: Yes this is true you can create Microsoft Lists using existing SharePoint List, check the below video for details. Basically you will have to use “From existing list” option and you can select SharePoint sites and it will show compatible Lists whuch can be used.
How to create a Rule in Microsoft Lists: Rule is a great idea introduced by Microsoft which works similar to List formatting but has much more, check the video below in which I highlight a column and also add an exclaimation icon based on specific condition and that too only via few clicks.
How to access Microsoft Lists via PowerShell?
You can access Microsoft Lists just like any other list and I hope all kind of commands work, check below the screenshot to believe it
Sharing options in Microsoft Lists: When you create Microsoft Lists under My Lists it is accessible only by you so if you want to share with others you need to share with other persons. When you create under a SharePoint site then it will be accessible by SharePoint site users as well.
You can also share individual items as well.
Integration options: This is a big topic so I just want to say few lines as it has all the abilities for extending the functionality using Microsoft Graph, Power Automate, PowerApps
How to access normal SharePoint List in Microsoft Lists way:
If you want to see the new Microsoft Lists experience in any modern SharePoint list, go to the URL and append this query string after AllItems.aspx like this. AllItems.aspx?env=WebViewList
Credit goes to this tweet:
If you want to see the new Microsoft Lists experience in any modern @SharePoint list, go to the URL and append this query string after AllItems.aspx
Summary: This is a great decision from Microsoft to introduce Lists as a standalone App, it will provide a great value. It has huge capabilities which I have not been able to cover all things but I will do this in subsequent blogs.
A comprehensive solution showcasing packaging, solution deployment, provisioning and SPFx web parts to inspire and guide developers, business users and SharePoint Admins to create solutions on similar lines.
Why you should have a look at this?
This has been created by best people in this field (SharePoint, Microsoft 365) which means that code, design and relevance of the web parts are extremely good, all the web parts can be used in your tenant as is. You can learn and create your own ways to
Coding guidelines, standards
Build modern portals
How to get started?
If you want to install everything at one shot the steps are simple. I suggest to have a look first install it on development tenant and not the Production tenant, as it will upload lot of SPFx solutions and make changes so best is that you review it in a developer tenant. Based on your understanding you can plan to deploy it in Production.
Prerequisites: There are some preparation steps which you need to before you install it as follows
Account used to deploy this solution should be a tenant administrator
Works with English tenants, all solutions are in English
Connect-PnPOnline -Url https://tenant-admin.sharepoint.com/ -PnPO365ManagementShell , this will open a window in browser for device login in which you should enter a code specified, make it is succcessful.
Till then you can deploy individual apps in SharePoint 2019 farm and use the apps. Following apps will work in SharePoint 2019 as well
To deploy the apps you can copy the package from source code you downloaded before from this location “sp-starter-kit-master\source\<<solution-name>>\sharepoint\solution” and upload it to App Catalog of your farm.
There is no need to build the solution and can be directly deployed but in case you face issues you can build it using
gulp bundle --ship
gulp package-solution --ship
Once deployed you can add it on a page, in this case I am showing Tiles app.
This issue might occcur in SharePoint on premise versions 2013, 2016 and 2019.
Images do not load properly or load with full size that is without rendition. This can happen if Blob Cache is corrupted on one of the Web Front end or web front ends are not synced between each other.
The default max size for an image when using Image Renditions is 40 mega pixels. Should you want to modify this value you will need to add the imageRenditionMaxSourcePixels parameter. For example: <BlobCache location="C:\BlobCache\14" path="\.(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|themedbmp|themedcss|themedgif|themedjpg|themedpng|ico|png|wdp|hdp|css|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|wmv|ogg|ogv|oga|webm|xap)$" maxSize="10" imageRenditionMaxSourcePixels="100000000" enabled="true" />
Error message: I was not able to identify an error message but users complained that intranet page seems weird and images are displaying over text and etc
How to fix:
Try flushing blob cache with below PowerShell command , this will not recycle the IIS so you can do it during day as well but always good to do it outside office hours.
2. It is not necessary that above will fix the issue, in our case we identified that this did not fix the issue because cache was not getting updated in one of the web front end and time stamp was quite old.
How can you check if it is old and it’s not getting updated?
Visit the folder location of Blob cache on Web front end and each web app will have it’s own folder, check last modified date, you can also compare with other web front ends.
If your issue as explained below then do like this but make sure you have web front end outside of load balancer or you are doing in outside of office hours.
Disable blob cache temporarily: You can make the flag false in web.config file of the IIS which has issues, the line in web.conifg looks like below
Before you start reading this I would like to mention that steps mentioned here are to create a Virtual Machine in Azure for demo, development or labs purpose.
I decided to write this blog as I faced some difficulties while installing SharePoint 2019 on Azure Virtual Machine, I never faced these while installing it on Physical machines or company provided Virtual Machines.
Click on the menu and select “Virtual Machines” and then click Add from top
2. Once you get to the page you will have lots of tabs to filled in, I have highlighted few fields which are required and needs to be filled in, rest of it can be left as is.
Important field which we need to select is “Image” that is we need a Windows Server etc, for easy installation I will be selecting a Windows server with SQL Server 2016 already installed in it so that we don’t have to do that manually.
3. Select “Browse all public and private images” and search for SQL server 2016 and select Standard SP 2 version, for size I recommend 4 CPU and 16 GB memory else the server runs very slow as SQL and SharePoint both are running on the same server.
4. Next step is to create an Admin account so pick a name and password which you can remember. After that you can click “Review + Create”, although there are lot of other things which can be filled in but sake of simplicity I will just leave them as is.
5. Once on the Review tab, click “Create” to create the Virtual Machine. It will start the deployment process and might take 10 minutes. You can check the progress while it deploys.
6. After creation you can check the Virtual Machine in the list, click on the name to access it.
7. Click on the name and you will get to a window as show below, to connect to the machine we should RDP it, so click Connect and chose RDP. It will download a file which can be used to connect to machine using the Admin account you have created. This finishes step for creating Virtual Machine.
Add domain servcies to Virtual Machine
Initially I had thought that this steps is not needed but it does not work if Virtual Machine is not connected to a domain, you will get an error at the end of SharePoint 2019 installation that is Search Service Application will not be created successfully. You may get errors like below
The SDDL string contains an invalid sid or a sid that cannot be translated.Parameter name: sddlFormSystem.ArgumentException: The SDDL string contains an invalid sid or a sid that cannot be translated.Parameter name: sddlForm at System.Security.AccessControl.RawSecurityDescriptor.BinaryFormFromSddlForm(String sddlForm) at System.Security.AccessControl.RawSecurityDescriptor..ctor(String sddlForm) at
Errors were encountered during the configuration of the Search Service Application. System.ArgumentException: The SDDL string contains an invalid sid or a sid that cannot be translated. Parameter name: sddlForm at System.Security.AccessControl.RawSecurityDescriptor.BinaryFormFromSddlForm(String sddlForm) at Microsoft.SharePoint.Win32.SPNetApi32.CreateFileShareWithSecurity(String name, String description, String path, String sddl) at Microsoft.Office.Server.Search.Admi.nistration.AnalyticsAdministration.CreateAnalyticsUNCShare(String dirParentLocation, String shareName) at Microsoft.Office.Server.Search.Administration.AnalyticsAdministration.ProvisionAnalyticsShare(SearchServiceApplication serviceApplication) at Microsoft.Office.Server.Search.Administration.AnalyticsAdministration.CreateDefaultStoreLocation(SearchServiceApplication serviceApplication) at Microsoft.Office.Server.Search.Administration.AnalyticsAdministration.ProvisionRawEventStore(SearchServiceApplication serviceApplication) at Microsoft.Office.Server.Search.Administration.AnalyticsServiceAdministration.Provision() at Microsoft.Office.Server.Search.Administration.SearchServiceApplication.Provision() at Microsoft.Office.Server.Search.Administration.SearchAdminUtils.UpdateIgnoreSPUpdatedConcurrencyException(String description, SearchAdminUtilsUpdateDelegate updateDelegate, SearchAdminUtilsRefreshObjectDelegate refreshObjectDelegate) at Microsoft.Office.Server.Search.Administration.SearchConfigWizard.CreateSearchApp() at Microsoft.Office.Server.Search.Administration.SearchConfigWizard.ProvisionSearchServiceApplication() at Microsoft.Office.Server.Search.Administration.SearchConfigurationJobDefinition.ExecuteTimerJob()
Once that is done you have got rid of other error which will come as now you will be using a domain account and not local account to install SharePoint 2019.
The specified user “username” is a local account. Local accounts should only be used in standalone mode.
Check SQL Server settings :
Open SQL Server Management Studio which should be installed already as we had got server with SQL server already installed.
The account which will install SharePoint 2019 should have required access like below, this account is same as what you had created while creatin Virtual Machine. You can find it under Logins and make sure you have selected “dbcreator” and “securityadmin”. This will make sure the account has correct access to create databases while installing SharePoint 2019.
3. Another thing we need to do is to make sure the account which you updated above has name as “domain\username”, initially it will have name as “computername\username”, since we when we created Virtual Machine with SQL server there was no domain it will remain as is. If you miss this step then you will have issues while creating Search Service Application. So remember to change name as suggested by right clicking and rename. Error message while installing SharePoint 2019 will be like below
The service application “Search Service Application” could not be created because of the following error: System.Data.SqlClient.SqlException (0x80131904): Windows NT user or group
Once downloaded first step is to install pre-requisites, make sure you have an internet connection else it will not work. Click on “Pre-Requisites”, you will the installation happening
4. Once that is done successfully double click “setup” to installing SharePoint 2019, it will start the installation, check pictures below to understand the steps, in the step 2 make sure you use the same account you had created before with format as “domain\username”, in step 3 select “Single Farm”.
Once the above steps are done a IE window will open to configure further, you can chose to perform rest of the steps manually or run the wizard, I chose to run wizard.
So this should finish your SharePoint 2019 installation and you are ready to use it.
This based on my experience with a customer I have worked with for many years.
I would like to create “Product Catalog” to display 3D images for the product and display relevant documents related to the Product.
To set some context: Large product / euiqpment manufacturing comapanies such as mining, construction or vechiles upload there marketing material for sales people to be accessed internally and share externally for sales pitch when needed on portal sites.
In general in these portal sites you will find images of the product and documents related to it in OOB user interface or custom user interface.
Companies also have product 3D images but they don’t show on intranet as SharePoint Spaces was not available so not so practical I would say.
Now we have set the context let’s check how easy is to use SharePoint Spaces.
First of all you need a SharePoint Site preferably a Communication site as it will give you more space in screen to create SharePoint Spaces.
Spaces is not available automatically and feature needs to be enabled in “Manage Site Features” called “Spaces”.
Once you have enabled it you will see below option in “New”
Select a structure , input a name to create a Space Design page which will look like below depending on which structure you have selected
Click on “+” to add 360 degree image, video etc shown as below
I will be adding a two Product groups like Trucks and Cars, which will take user to two different Spaces page which will contain different Trucks and Cars, you can imagine this as Product group and when you click you go to different Products available under that group.
I will add a 3D Object with Podium , please check below screen shots
The properties which I have used are “Podium”, “Link to another space” , “Alternate text” and “Description”.
The “Link to another space or link” is great option as you can hierarchy and structure around Spaces.
I will be adding another Space which display multiple Products and then each product will also link to another Space which will have a Document Library attached
This will complete our Product Catalog so it works like this Product Group –> Products –> Document Library (Space)
Now let’s see the whole set up in action
During the process of creating this I found some improvement areas or issues
If you have only folders in a document library then the SharePoint Spaces cannot load it
If you want to connect a object to a folder in library you have to use a “Link” option and the link to Folder will not be recognized which you get from “Copy Link” option so you have to construct on your own which will also be not recognized but it will work
If you have done connections using SharePoint Spaces then the page does not reload but Space area reloads which is good but it will be good to have some kind of hirearchy navigation which can help in contructing structures
Another thing I would like to add is that it works in Microsoft Teams as well
I think SharePoint Space has lot of practical usage you just need to think in different way and visualize.
Let me know what you think and what pratical usages to you can see.
If your organization has decided to split your company or rename or for any other reason domain needs to be changed then SharePoint will be impacted. In the first part I had explained how to do user migration from SharePoint point of view.
Next step is to do Server Migration of SharePoints in new domain.
What is the recommended way to do this?
Note that Microsoft does not support chaning domain in same existing servers. It means you have to create a new farm in new domain with new service accounts and then do a data migration.
Broadly these are the steps to do it
Create a new farm same as previous one or an upgraded one(scale) if needed.
Create new service accounts in new domain to be used in new farm. Use these accounts to create and configure new farm.
Migrate all Service Applications like Managed metadata service, Search service, User profile service, Workflow manager etc
Create web applications same as previous farm
Deloy any custom code WSP from the previous farm to new one
Use database attach upgrade process to migrate content databases and attach to newly created web applications.
Configure any SharePoint hosted app or provider hosted app
Test and verify that all data has been migrated and also custom code as working as expected
Above are very broad steps, if you have done any upgrade such as SharePoint 2010 to 2013 or SharePoint 2013 to 2016 then you will find the steps familiar.
Although you always expect these steps to be done smoothly you know it will never be like this.
Below are some things you might experience or not experience but I am listing then down from our experience