SharePoint Saturday Edmonton 2015

On November 14th I had the pleasure of presenting as part of the SharePoint Saturday event in Edmonton. My presentation was on migrating from path-based site collections to host-named site collections and I was surprised at how many people were interested in the topic.

It was the first time I presented at a public event outside of Regina and I enjoyed the discussions that came up during the presentation and shortly after, as well as hearing about the scenarios people were encountering and how they were thinking of tacking the topic on their own.

A colleague of mine, Richard  Egleston, presented in the same room after my presentation and he was talking about creating a SharePoint development environment in Azure. Richard mentioned that he had taken the scripts I had created for my own purposes and modified them a bit in creating his own environment. People that attended that session expressed interest in the scripts and related files, so I am linking to them here.

The scripts were built quickly after I had finished reading Automating Microsoft Azure Infrastructure Services, an excellent book by Michael Washam, and I used some of the PowerShell snippets from the book plus some additional logic to fit my purposes.

There are some enhancements that can be made to the scripts, such as extracting some of the variables and defining them as parameters to the script with default values. I plan on creating a new SharePoint development environment in Azure over the winter holidays and I will likely update the scripts at that time.

The environment that both Richard and I built consists of one AD controller (also DNS server), a SQL server and a SharePoint 2013 server.

The first file is NewVirtualNetworkConfig.xml and its purpose is to define the configuration for a virtual network in Azure. Each of the three servers is given a static IP address on the virtual network so that the servers can talk to each other. The XML file also configures what is the IP address of the DNS server on the network.

The second file is the AddVirtualNetwork.ps1 and it uses what is defined in the NewVirtualNetworkConfig.xml file to create any new virtual networks that do not already exist. The script is called from the third file I will be linking to, so it doesn’t need to be run on its own.

The third file is CreateSharePointDevVMs.ps1 and it has most of the logic for creating the environment. The script does the following:

  • Creates an Azure cloud service in the East US region if it doesn’t already exist.
  • Creates a locally redundant storage account, also in the East US region. Locally redundant storage helps cut the costs of running the environment.
  • Creates the virtual network mentioned previously
  • Creates three virtual machines using the newest image available in the “Windows Server 2012 R2 Datacenter” image family.

For each of the virtual machines it also defines how many disks to create. Depending on the VM size you choose, you can add anywhere from 1 to 16 additional data disks to the VM.

After the VMs are created, there is still work to be done, and that is to:

  • Create storage spaces to span all of the additional disks added to each of the servers. From that storage space you’d create a single disk that spans the entire disk space available. What that does is pool the IOPS from all the disks together, achieving something similar to a software-based RAID 0 configuration.
  • Configure the first server as a domain controller in a new domain
  • Add the SQL and SharePoint servers to the same domain
  • Create the service accounts and user accounts you’ll need on the AD server
  • Install SQL server and configure it appropriately for SharePoint installations
  • Install and configure SharePoint 2013. I personally used AutoSPInstaller for that, plus some custom scripts to install Workflow Manager and do some other setup to my liking.

Do you need a three server environment for SharePoint development? You could argue that you do not, and you could deploy everything on a single VM. I’ve done that before and I will probably do it again. Having said that, I do prefer to separate the AD, SQL and SharePoint services, each to its own VM as that is a closer setup to what you would have on a client deployment. Ultimately, it  depends on what type of work you need to perform and test prior to deploying to non-development environments.

 

 

Presentation slides

Thank you to the people that attended my presentation on November 17, as well as the people that provided feedback after the presentation.

The slides for the “SharePoint 2010 – Managed Metadata and Search” presentation can be found here.

As I mentioned during the presentation, there is an article on how to add the search suggestions you desire, without having to wait for the user behaviour to build it. The article can be found here.

New home setup

Shortly before Christmas, Dell had an amazing deal on a Studio XPS 9100. For $1370.99, you could get a system with an Intel i7 930 processor, 12 GB 1333MHz RAM (6 DIMMs), ATI Radeon HD 5870, 1 TB drive and a Blu-ray Combo Drive.

Because I had some issues with my virtualization rig that left it in an unusable state for at least two months, I decided to buy this second desktop as a backup. I can’t really afford to be down for the count weeks at a time whenever a major component fails.

At the same time as the Dell desktop, I bought a Netgear WNDR 3700, which is their high end wireless N router. It is dual-band wireless N and it also acts as a gigabit switch. I’m very impressed with the throughput of the device, but I am not impressed with its ability to keep track of what devices are connected to it and their names. Because of that, I had to assign a static IP to one of the network cards on the server, and add a hosts entry on my desktop pointing to the server.

The WNDR came with firmware version 1.0.4.68, which was really buggy. If you looked at the Attached Devices list, it would only show two of the six or so devices connected to it. Also, when you log in to the admin console, it automatically checks for updates. It was saying it doesn’t have an internet connection, when I could access the internet just fine from my desktops.

I checked on the Netgear site and .68 was the latest version of the firmware publicly available. After some research, I decided to give the OpenWRT firmware a try. That worked OK at the beginning, it kept track of the devices connected to it and I didn’t need to add any hosts entries. However, with this firmware I lost the internet connection a couple of times and I had to reboot the router to fix it. When I had to reboot the router I had some issues, as it couldn’t find the devices by name. I either had to connect a monitor to my second desktop and release and renew the IP, or wait until the initial DHCP lease would expire, which was clearly not ideal.

In addition to that, the OpenWRT firmware I installed didn’t allow you to control the settings for the 5 GHz band and you didn’t have the option to set up guest networks.

After these symptoms, I decided to search and see if there is some newer Netgear firmware available for the router, even if it isn’t publicly released. I came across version 1.0.4.75 and I installed it. The firmware is working better than the .68, it populates the list of attached devices, but it doesn’t always gather the proper name for each of the devices. Oftentimes some of the device names show up as “<Unknown>”.

Connected to the Dell desktop, I have two 24″ monitors. As every developer knows, they make it a lot easier to work. I use the Dell desktop for day to day work, and I RDP into the server when I need to work in my virtual environment. I use the Dell for gaming as well, currently just for Civilizations V.

At work I have been working with SharePoint Server 2010 and its deployment. I read most of “Professional SharePoint 2010 Administration” which has helped, but I do find the books doesn’t give enough detail on some areas. However, taking into account how broad the scope of SharePoint Server 2010, that is to be understood.

Currently I am reading “Professional SharePoint 2010 Development” and setting up a virtual environment with a medium farm and a development farm to use for my development and testing. The small farm is made of two web front-end servers, one application server, and a database server, while the development server has everything on one machine, but it is a farm deployment.

I am excited about working with SharePoint 2010 and I am glad to see Microsoft has listened to its customers and addresses a lot of the issues experienced with SharePoint 2007.

This year I plan to get at least a Microsoft certification in SharePoint 2010 and I plan to do more work in ASP.NET 4.0 and Silverlight. Because of that, this year will be really busy and will require a lot dedication, but I am up for the task.

Virtualization rig troubles and GoDaddy hosting issues

After a few months of using my new rig, the machine suddenly stopped working. After some troubleshooting, I determined the issue is likely due to the motherboard. I have sent the motherboard back to Gigabyte and I am waiting for them to fix it/send a new board. It has been about a week since they have received it and one of their tech support people called, but no resolution as of yet.

In other news, I convinced my dad to switch his hosting to GoDaddy.com to save about $50/year, but I see that has proven to be a bad decision, as the performance of their hosting is terrible in comparison to the old provider. There are times when the load times for pages goes above 10 seconds, sometimes even above 20 seconds.

Taking into account the site is based on WordPress and it doesn’t receive more than a couple dozen visits a week, that is very concerning. Sure, GoDaddy hosting is shared hosting, but so was the old provider. After a quick search, there were lots of posts I have found complaining about performance issues on GoDaddy.

I am currently upgrading my dad’s site to WordPress 3.0.2 and it has been more than 15 minutes it has been going at it without finishing. On this site, it took about 3 minutes to do the upgrade.

This makes me seriously consider switching to a different hosting provider for his site and another site I am hosting with them (also using WordPress).

Have you hosted any site with GoDaddy? What was your experience with them? What kind of technology have you been using with them?

New virtualization, gaming and media rig

Today I bought the components for my next rig. It’s been 7 years since I have put together a PC for myself and 3 years since I have put on together for some friends.

Most of the components were bought from NewEgg and some components from NCIX.

I bought the last three items the day after I ordered the other components, realizing that I wouldn’t want a long cable stretching across the floor, and that I do not have where to mount the 2.5 inch SSD drives.

I got the hard drives delivered the day after I ordered them, with the remaining items hopefully making it by the end of the week.

The total for the machine got to about $2,700, which is less than half what I initially (a few months ago) planned to spend on it.

I’ll use the PC mostly for virtualization, to help me in increasing my technical skills and for the occasional game or two. I should have all the components by next week and I’ll post on how the new system is working out.

Back from Vegas

My wife and I have spent a week in Las Vegas and the surrounding area. The vacation was long overdue, so thankfully it was a very good and relaxing vacation.

We spent four nights at the Trump hotel, just next to the Strip. During the day, we visited various hotels, saw a few shows and did lots of shopping. I was amazed at the sheer size of most of the hotels on the Strip, especially compared to the hotels on the Old Strip. It makes you wonder how much money was/is spent on them and how much money people lose gambling to facilitate such amazing constructions.

The three shows we saw were the Blue Man group, Zumanity and Jubilee. Each show is excellent, but I particularly liked the Blue Man show. They are amazing percussionists and they can express so much without using words; just using body language.

For the last three nights, we got away from the madness of the Strip and stayed at the MonteLago resort,  driving to a few locations around Las Vegas. We visited the Red Rock Canyon, Valley of Fire, Hoover Dam and the Grand Canyon. All of them are locations I think everybody has to see at least once in their life.

During our stay at the MonteLago, we came across an amazing restaurant. The restaurant’s name is Bernard’s Bistro, and the address is 15 Via Bel Canto, Henderson, Nevada, 89011. The master chef is a sweet French cook, probably in his 70’s, who comes and checks with each customer that the meals are good. We dined there a couple of nights, each night having completely different meals. Each and every one of the bites we had was exquisite. The prices were also very reasonable, costing less than an equivalent meal in Regina, even though the quality at Bernard’s surpasses that of every restaurant I’ve been to in Regina.

We’ll definitely visit again Las Vegas and the surrounding area at some point in the future. For now, it is back to Regina, back to work, and back to the day-to-day life.

World Cup draw

The draw for the World Cup groups that will be held in Regina was held last night. This is the first year I am participating and I will be playing for team Scotland. The groups are listed below.

Group A Group B Group C Group D
Ireland El Salvador Portugal Laos
Columbia Germany Nigeria Ukraine
Chile Scotland England France
Bostwana Afganistan Serbia Austria
Canada Norway N. Ireland Greece
Jamaica Poland Italy

The games will run from April 13th to May 1st. I’m looking forward to playing in the cup.

Switched to WordPress

Since I first set up my own domain, I had it be my playground for ASP.NET. Recently I decided for the main part of the site to make the switch to an open source content management solution. I have seen some of the technology professionals, whose blogs I follow, make the switch to WordPress; I have also done some reading about WordPress and I decided it was the right choice for me.

For those that do not know much about WordPress, it is an open source solution based on PHP and MySQL. While it is not in the technology area I want to focus on (ASP.NET and Microsoft-centric technologies), it is a great software solution and I would recommend it to anybody trying to set up their own site. The setup is very easy and it does take only 5 minutes, as it is mentioned in their readme file.

You can then customize the look of your site by choosing one of the many themes out there, add plugins to add functionality, and you can even customize everything by changing the source files. Changing the source files should be done only if you are a developer, or if you’re feeling adventurous.