Tuesday 6 November 2012

Prerequisites for SP2013 Offline Install

RE: http://autospsourcebuilder.codeplex.com/

Background: This is a codeplex project that will slipstream SharePoint 2013 & SP2010.  It flattens out the binary install files, gets the latest CU, language packs & pre-requisites.  This will then allow you to install SharePoint to the latest build pref using AutoSPInstaller.

Doing an Offline install is useful as most production environments don't allow internet access to download the pre-requisites.  It's also useful as you don't need to wait for the download on each server.  In my current scenario it's useful as I am building over 100 VM's in My DTAP environment and a lot of these are full CI daily rebuilds.

Overview:  I have been doing SP2013 installs using AutoSPInstaller and I have put this post together to help people use Bian Lalancette's (@brianlala) AutoSPInstaller tool. Pretty obvious but AutoSPInstaller is a great tool so use it or Gary Lapointe install scripts to automate SharePoint installations.  I have been using the tool to install 2013 and this post shows all the pre-requisites to SP2013 RTM for an offline install.

Findings:  There are 13 files I am downloading to install SP2013 without an Internet connection.  Brian Lalancette has a codeplex project that you should checkout, I hadn't seen it until today.
It helps build the slipstreamed images for SharePoint both 2010 and 2013 so you have a full patched version of binaries to run offline installs.
Add the prerequisites to "C:\Software\SP\SharePoint\PrerequisiteInstallerFiles"
List of Files to download for SP2013 RTM prerequisites:
  1. http://hotfixv4.microsoft.com/Windows%207/Windows%20Server2008%20R2%20SP1/sp2/Fix354400/7600/free/427087_intl_x64_zip.exe
  2. http://hotfixv4.microsoft.com/Windows%207/Windows%20Server2008%20R2%20SP1/sp2/Fix402568/7600/free/447698_intl_x64_zip.exe
  3. http://hotfixv4.microsoft.com/Windows%207/Windows%20Server2008%20R2%20SP1/sp2/Fix368051/7600/free/433385_intl_x64_zip.exe
  4. http://download.microsoft.com/download/9/1/3/9138773A-505D-43E2-AC08-9A77E1E0490B/1033/x64/sqlncli.msi (http://go.microsoft.com/fwlink/?LinkId=228086)
  5. http://download.microsoft.com/download/E/7/6/E76850B8-DA6E-4FF5-8CCE-A24FC513FD16/Windows6.1-KB2506143-x64.msu (http://go.microsoft.com/fwlink/?LinkId=233187)
  6. http://download.microsoft.com/download/b/a/4/ba4a7e71-2906-4b2d-a0e1-80cf16844f5f/dotnetfx45_full_x86_x64.exe (http://go.microsoft.com/fwlink/?LinkId=225702)
  7. http://download.microsoft.com/download/D/7/2/D72FD747-69B6-40B7-875B-C2B40A6B2BDD/Windows6.1-KB974405-x64.msu (http://go.microsoft.com/fwlink/?LinkId=226830)
  8. http://download.microsoft.com/download/0/1/D/01D06854-CA0C-46F1-ADBA-EBF86010DCC6/rtm/MicrosoftIdentityExtensions-64.msi (http://go.microsoft.com/fwlink/?LinkId=252368)
  9. http://download.microsoft.com/download/E/0/0/E0060D8F-2354-4871-9596-DC78538799CC/Synchronization.msi (http://go.microsoft.com/fwlink/?LinkId=224449)
  10. http://download.microsoft.com/download/A/6/7/A678AB47-496B-4907-B3D4-0A2D280A13C0/WindowsServerAppFabricSetup_x64.exe (http://go.microsoft.com/fwlink/?LinkId=235496)
  11. http://download.microsoft.com/download/7/B/5/7B51D8D1-20FD-4BF0-87C7-4714F5A1C313/AppFabric1.1-RTM-KB2671763-x64-ENU.exe (http://go.microsoft.com/fwlink/?LinkId=251471)
  12. http://download.microsoft.com/download/9/1/D/91DA8796-BE1D-46AF-8489-663AB7811517/setup_msipc_x64.msi (http://go.microsoft.com/fwlink/?LinkId=219568)
  13. http://download.microsoft.com/download/8/F/9/8F93DBBD-896B-4760-AC81-646F61363A6D/WcfDataServices.exe (http://go.microsoft.com/fwlink/?LinkId=247921)

Files I add to my SP2013 binaries for an Offline install

Rather use the new tool "AutoSourceCodeBuilder"

My slipstreamed SharePoint 2013 binaries
 Update 07 November 2012: For my Windows 2008 R2 SP1 OS installation, the WCFDataServices.exe prerequisite will look for trusted certificates on the Server, if it can't find them it will try get them from the Internet.  I downloaded "Rootsupd.exe" (I'm not sure about support for "Update for Root Certificates For Windows XP [April 2012] (KB931125)" for my Windows 2008R2 SP1OS install from Microsoft).
The PowerShell to install the certificates is (this can be incorprated into your autobuild scripts if you need it or just run it (be warned there is not feedback on the install)):
PS> & "c:\rootsupd.exe"

Update 15 July 2013: Below are the latest pre-requisites I downloaded for SP2013 using AutoSPSourceBuilder.


Note:  I like to have a large disk for my c rive for the system files and also the Windows "page file", when calculating my disk space for my c drive assuming my page file is going to my c drive, I add 3 times the possible memort upgrade per machine.  So it is common to start with 32GB on a SQL box, when their is a bottleneck, it is often SQL and memory is key to SQL performance.  So my page file portion of my c drive would by on 64 GB multiplied by 3.  So My c drive in this case would be 64GM x3 plus program files, so at least 250 GB.  I'd probably go for 300GB.  this is my preference and I'm sure I'm going overkill but in controlled wel managed environments this will aloow for growth.

More Info:
WCFDataService install issue: http://schoennie.blogspot.co.uk/2012/10/installing-sharepoint-2013-preview.html

Friday 26 October 2012

SQL 2012 Slipstreamed Installation

Overview:  I like automation.  I use AutoSPInstaller for SharePoint even on developer VM's and taking this further I want to automated SQL installations.  This post explains how to installed SQL Server 2012 on a domain controller.  Sure it's not a good idea but I want a standalone development machine for SharePoint 2013 Preview.

 Once SQL Server 2012 is installed via the PowerShell completing, verify SQL is accessible.
 Thanks to Wayne Senior for the PowerShell scripts.

Thursday 25 October 2012

Installing SharePoint 2013 RTM - a first look

Overview: I'm installing SharePoint 2013 for a developer machine, more precisely I'm using 2 virtual machines as I want AD off my development Virtual Machine (VM) (also Azure Workflows can't be installed on the DC). This is a basic developer machine and in this post I stop once SP2013 is installed.  My setup is: SharePoint 2013 logo

  • Laptop: 32GB RAM running Windows 8 Enterprise.  I am using VMware workstation 9 for virtualisation.
  • Virtualisation: VMware workstation 9 that will host 2 VM's.  Both VM's run on Windows 2008 R2 x64.  They are fully patched/updated to today 24 Oct 2012.
  • VM1:  This is my domain controller (DC), gave the VM a static IP and performed dcpromo. Installed ADFS and rebooted the VM.  Assign 1GB RAM & 1 CPU to the VM. 
  • VM2: Created a new machine based on my patched VM windows 2008 R2image.  Renamed the VM and joined the VM onto my domain (my domain is demo.dev, I also made the IP address static).  Checked the VM can connect to the Internet.  16GB RAM 4 virtual CPU's.  100GB c drive.  BGInfo for VM2 is shown below:

Preparation for SP2013 Install:
  1. Install SQL Server 2012 on VM2 I slipstreamed with #CU2 but the current version today is #CU4.  I manual full install of SQL 2012 is perfect.  As the Cumulative Updates (CU) are aggregated/cumulative and large, only install the latest 1 that covers all the previous CU fixes
  2. Download SharePoint 2013 from TechNet or MSDN to your laptop/host.  Load the iso image for installation (includes SP1 that is needed for SP2013).  .

SharePoint 2013 Prerequisites:
1.> Run the SharePoint 2013 Enterprise RTM by running "splash.hta" to run the install wizards.
2.> On the Splash screen >Click on "Install software prerequisites".  This installs the 11 prerequisites, reboot to complete the SP2013 prerequisites install.

3.> After a reboot, you will continue to complete the SP2013 prerequisite install.  Once the install is complete you will see the confirmation shown below:
4.> Click "Finish" and allow the VM to reboot.

SP2013 Installation:

1.> On the Splash installation screen click > "Install SharePoint Server".  You will be prompted to enter SharePoint's licence key.
2.> Accept Microsoft's terms and conditions.  And Choose to perform the "complete" install (As per SP2010 don't install the standalone version - it's too restrictive).
3.> Close the installation wizard once the install is completed.  Select the check box "Run the SharePoint Products Configuration Wizard now" (default).

Run the SharePoint 2013 Configuration Wizard:
Follow the screen shots below through to configure the SP2013 farm on the VM.







Initial Farm Config Wizard:
1.> Select the services you want.  I took the default services which is nearly all of them so it takes awhile to provision.
2.> Ensure the Central Administration (CA) portal is accessible.
3.> Create a Site Collection (I create a Team Site on the default Web Application created during the configuration setup).

4.> Ensure the site is working.

Fin.

Summary:
This machine is perfect for looking at SP2013 features or continue building into a fully fledged developer rig (Add VS2010 and tools to build an ideal dev VM rig).  This is a simple install to get you going, for production or DTAP, you need to plan your builds to meet your needs, use multiple managed accounts and preferably script your install (gives you a documented, repeatable system setup, databases can be named clearly, far greater install control.  I'd wait for Brian Lala AutoSPInstaller to build DTAP environments if possible - AutoSPInstaller is awesome as lots of SP2010 bruised folks know.)

More Info:
Hardware & Software requirements for SP2013: http://technet.microsoft.com/en-us/library/cc262485(v=office.15).aspx
How to: Set up an on-premises development environment for apps for SharePoint: http://msdn.microsoft.com/en-us/library/fp179923(v=office.15).aspx
Must read: http://www.microsoft.com/en-us/download/details.aspx?id=30384
SP2013 Prerequisites

 

Wednesday 24 October 2012

SharePoint 2013 release on MSDN


SharePoint 2013 Enterprise edition is available to download through MSDN.  I was not expecting the release but on my MSDN Subscription is SharePoint 2013 for download.


All the Office 2013 products are also available.

I created a post documenting setting up SharePoint 2013 for dev/play.  This is a very basic install but shows the screens and a very simple easy setup.

Thursday 4 October 2012

VMWare workstation setup

Problem:  Occasionally I need to setup VM's on VMware workstation for development environments and I always forget the steps so this post aims to record a basic set of steps to get multiple VM's on VMware workstation 7 on a corporate network.  It works the same way for VMware 8.  This is not my area of expertise but it will hopefully help me in future and any other SharePoint dev.  This post expinas the networking when using VMware workstation 7.

Architecture Overview:  I have Windows 7 x64 on my host physical workstation with 16 GB of RAM.  I have 3 VM's in my dev environment to host VS, SP2010 & FAST.
VM1: Windows 2008 R2 that is my domain controller (1 CPU & 1GB RAM)
VM2:  Windows 2008 R2 with SQL Server 2012 Developer edition, VS 2010 SP1 Ultimate with VS SP SDK, Azure tools version 1.7, SP2010 SP1 with CU's (4 CPU's & 10 GB RAM)
VM3: Windows 2008 R2 with FAST (2 CPU's & 3GB RAM).
This architecture is good as all dev can use the clones and merely need the PC/laptop making them agnostic of the clients architecture.

Networking Summary:
(The internal networked VM's work together in a private network, the VM's can reach out to the Internet & the last step is to add access to the SharePoint websites via the network editor.

Steps:
1.> Install VMware 8 I am using version 7 as that is what my licence is (about £150) on the host.  I then built the machines explained in my "Architecture Overview" section. 
2.> Edit the network setting on VM1 (My DC).  Set the networking to NAT.
3.> Open the "Virtual Network Editor" (Hint: this is in you program files under the VMware folder).
Select the NAT networking type and click the "NAT Settings.." button.
4.> In the "NAT Settings" dialog popup window record the Gateway IP (you will use this on the VM network card IP4 network settings to give you Internet access).
5.> Power up the VM (in my scenario this is VM1 - DC) from the VMware Workstation client console.
6.> Remote into VM1.  Edit the network adaptor settings as shown below (note: that the Default gateway is the ip adr stored from the look at the "VMware network editor" in step 4.  (Hint: I use the 192.168.1.* for my IP numbers but use as you see appropriate).
7.> Open IE on VM1 and check networking is working.
8.> Optional hint:  You may need to enter proxy details on the VM.  To do this get you proxy setting from IE on the host machine.  Check you can ping the proxy (if you can't you'll need to add a hosts entry on VM1).  Open IE > Internet options > Connections tab >Lan Setting > add the proxy details.  At this powering also bypass the local urls for the proxy server (Advanced button), this allows you to access the local web sites.
9.> Repeat the same steps on the other VM's.

Setup http & rdp access fromt he corprate network.
1.> Open the "Virtual Network Editor" on the host machine.
2.> Select the NAT networking type and click the "NAT Settings.." Button.
3.> Add "Port Forwarding" setting.  The entry highlighted does http passthru to VM2 (my SharePoint VM).  You will need to also add port forward for rdp access (also ensure the VM allows remote access).

4.> Open the RDP client tool and enter the IP of the host machine and the port number you will be going to the host on (editor with translate the port)

Note: Only 1 port can be used on the host, so if you have multiple IIS instances on different VM's you can't access them simultaneously.

Wednesday 12 September 2012

Switching version settings in a document library

Overview:  I got asked a question on Document libraries which is rather obvious but I needed to check this out.  If a Document Library is set to use "Major and Minor Versions" what happens to the minor versions when you set it to only use "Major Versions".  And the answer is... Nothing.  The historic versions work as they previously did (while under the minor and major verions), when the documents are edited they will automatically now only use major versions in SharePoint.

 

Monday 10 September 2012

Scrum for SharePoint - Part 2

See Part 1

Technology: I am using Team Foundation Server 2012 Release Candidate.  I believe the best tools for the scrum team are offered through Visual Studio. VS 2012 has all the features and VS2010 can't do specific tasks such as create projects however I've found using VS2010 to work well.  The template used in TFS is the Visual Studio Scrum 2.0 template.   Also see http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/DEV212

Ways to work for TFS:  VS has the most comprehensive feature set for working with TFS 2012.  You can also use the TFS web UI, the SharePoint Foundation UI that is hooked up to TFS or excel and then import the data.


Creating PBI's: The screen shots use TFS2012 RC & VS2010.  I have annotated the screenshot to help with input of PBI's.  Not the priority is set from 1-1000 (default is 1000 which is the lowest priority).  I like to use Mike Cohan's planning poker (uses a relative Fibonacci sequence number to assign relative effort weight).  The scrum team vote on estimated effort after an understanding of the user story is complete.  Optional. Free tool to use for planning poker   Try this, a friend of mine built this while playing around for Scrum Poker Planning. 

The scrum master has to accept the PBI and for me to do this I need 3 pieces of information namely: the user story, acceptance criteria & additional detail short clear information such as an annotated Balsamiq mock-up.  Obviously the product owner  may negate the need for additional information but often they need to get this information from someone else in the business and I find mock-ups invaluable for clarifying to all people visual requirements.  Lastly, ensure that the team understand INVEST principles for  (Independent, Negotiable, Valuable, Estimat-able, Small, and Testable) for each User Story/Requirement.

Acceptance criteria is needed for each PBI.  This would be good to have in the Sprint planning meetings.  This is the format I recommend (gherkin language).
Scenario:
  Given
  When
  Then

An example I have is
Scenario: Employee requests leave
  Given an employee has sufficient leave available in the year
  When the employee schedules leave (holiday)
  Then the employee is informed his request is valid and his manager is informed of the request.

Acceptance Criteria – “What is Acceptance Criteria? Put simply, it's the criteria that defines what "Done" means for each PBI. Acceptance Criteria is critical to the success of a Scrum team, as it becomes the handshake between the Product Owner and the team -- it helps define what the team is committing to.”  http://www.nomad8.com/files/acceptance_criteria.php
"Pre-established standards or requirements a product or project must meet" Google's definition of acceptance criteria.
Normally acceptance criteria focuses on functional user stories but you also need to cover NFR's such as performance.  Negative acceptance criteria is often overlooked when creating AC's and do the AC's before development starts, you can always change them later.
An alternative to Gherkin for writing the acceptance criteria is to use checklists to ensure the User Story does what the business stakeholder wants and the developer has developed it correctly.

(Story Board)

The TFS 2012 Scrum template provides a good overview of the current sprint.  Team favorites are dropped from TFS queries to provide useful insights into the project.


Key Meetings:

1. Daily Stand-up (max 15 minutes):  I like to perform these at about 10:00 every day in the morning.  Each person tells the group: done/achieved in the past 24 hrs, what they are doing in the next 24 hours and brings up any blockers/obstacles/impediments.  I like to take notes as the scrum master and as the team falls into place.  I let team members run the daily stand-up scrum meeting in random turns once we all know how to do them and it seems to work well with communications in the team and I take summarized notes and I use the format:  Date, Time, Attendees, Each attendee summary & general meeting notes:  e.g. Adam and Paul were late for the meeting, blockers were not recorded, Kanban board was not updated....
Rules: Start at 10:00, be concise (part items that are taking to long and get the people to talk after the meeting), all participants to stick to the format: last day, today and blockers.  It always ends at 10:15 and leave the area.  Listen to the appoint meeting scrum master and they need to stop ongoing discussions.

2. Demo Meetings:  Date, time, attendees & roles, problems & suggestions.  Do at the end of sprint, tend to be 30 minutes to 90 minutes per demo each sprint. 

3. Sprint Review Meeting: Done at the end of a sprint cycle after the sprint is over.  Ensure each PBI is reviewed.  Often used with demos to validate each PBI and this allows the Product Owner to evaluate the PBI's fulfillment and make changes if necessary.  Important but can be skipped by the whole team as long as the PO does it and is happy.

4. Sprint Retrospective Meeting: Optional meeting to identify improvements that can be made.  I use this meeting after the Sprint Review at the end of the 1st 2 or 3 sprints and then only periodically as the project progresses.  Tip: Use the format: Glad, sad, bad game.  https://app.scatterspoke.com for managing Retrospectives.  An alternative is to the approach: What went well, What didn't and What needs to happen.


I've seen many different formats for running retrospectives, and a good default option for me is "mad, glad, sad". I also like the Danish baking Retrospective that I saw recently.  
Azure Devops Danish Baking Retrospective Board

A nice feature I was shown recently was to "Include a Team Assessment".  I'd use it every 3-4 sprints assuming we are using 2 week sprints, the results are a great indicator of confidence and the teams position.
Team Assessment in DevOps Retro board 

5. Sprint Planning Meeting:  Have a sprint goal.  Done at the start of the sprint cycle.  The scrum team and the product owner identify items from the product backlog to go into the sprint.  The last part of the meeting is to create a sprint backlog to implement each item selected from the product backlog.  I also like to have a grooming of stories in the previous sprint to ensure the whole team know what is likely to come along and tech can feedback to the PO/stakeholders.

Agile for SharePoint
Scrum for SharePoint - Part 1
Scrum for SharePoint - Part 2 (This Post)
Scrum - Part 3 - Scaling Scrum
Scrum - Part 4 - Kanban and Scrum
Scrum - Part 5 - Certification PSM 1