Product Review – Stellar Phoenix SQL Database Repair

Microsoft has marketed several versions of SQL Server, which is its proprietary relational database management system (RDBMS) until now. All the available versions are aimed at satisfying audiences from different backgrounds and with different workloads that can range from a small single-machine to large Internet-based applications, with a lot of concurrent users.

Although built with enhanced internal underlying technology with its each new version coming into being, they do get corrupt making the objects in the database inaccessible. This brings in the requirement of not just any, but an MS SQL Repair software that has the capability to restore the SQL Server database saved as MDF and NDF format.

A tried and tested software for repairing the corrupt database files of MS SQL Server and making the stored objects accessible once again is Stellar Phoenix SQL Database Repair. The SQL Database Repair utility by Stellar, a leading Data Recovery company, can resolve all corruption issues of SQL Server database by fixing the errors that one encounters while working with it. Following that, it can retrieve all data objects from the primary MDF and secondary NDF files that became inaccessible due to the damage caused.

The software is devised with multiple features so as to repair the server’s database files. They have been found to be powerful enough to recover data objects without data loss while maintaining the database integrity. Additionally, it promises MS SQL repair irrespective of the severity of corruption, and in maximum cases has been found to achieve what it assures. However, one needs to configure and run the software to experience what it offers. Listed below are some of its significant features:

  • It can repair all the MDF and NDF files of your damaged SQL Server database.
  • It has a fast scan feature so that the issues can be identified and fixed quickly, leading to the recovery of the stored objects.
  • It can retrieve the database components: tables, triggers, views, keys, rules, indexes, and defaults
    • Keys – Primary Keys, Foreign Keys, Unique Keys, and Identity.
    • Indexes – Clustered and Non-clustered indexes
  • It can recover even the ROW and PAGE compressed data
  • It allows you to preview the recoverable objects post scanning
  • It permits you to search for MDF files on the PC as well as specific objects and recovers them.
  • It reconnects to the server automatically when disrupted so as to complete the repair process

Here a review of Stellar Phoenix SQL Database Repair 6.0 is presented which is its latest released version. It was released for use in October last i.e., 2015. Devised to repair corrupt Microsoft SQL Server database MDF and NDF files, its latest version of the software provides enhanced features which have increased its capabilities to the next level. In addition to the above-stated benefits, this particular version offers several new and advanced features which is listed below:

  • It provides support for the 2016 release of MS SQL Server which is the latest available version in addition to SQL Server 2014, 2012, 2008, and all other lower versions.
  • It offers to recover deleted records with the help of an extraordinary feature embedded in the software.
  • It provides the option to move and save database files to Live SQL database post repair.
  • It gives you the option to save the fixed database files in XLS, CSV, and HTML formats in addition to MS SQL.

However, to be able to achieve what the software is devised for, you need to fulfill certain system requirements which are as follows:

  • The system must run on only a Pentium Class processor.
  • The Operating System can be any of the following: Windows Server 2008 or 2003, and Windows 10, 8, 8.1, 7, Vista, and XP.
  • The memory should be at least 1 GB; however, the recommended is 2 GB.
  • Lastly, the hard disk in the system must contain at least 50 MB of free space so as to have the software installed.

Note – The system requirements are easy to achieve and are present in almost all Windows systems.

Steps to Repair Damaged MS SQL Server MDF & NDF File

This SQL database repair software has three simple steps to repair the damaged SQL Server database files and recover its data items. They are Select, Repair, and Save.

  • Select – You can select the corrupt database with the ‘Select Database’ tab present in the interface, provided you know the location. But if the location is unknown, you should look for ‘Find Database’ section and click on the tab ‘Search in folder’ followed by a click on the tab ‘Find.’ If you want the software to find the database file in sub-folders as well, you should check the option ‘Search in sub-folders.’ Also, place a check mark in the checkbox ‘Include deleted record’ to scan for and recover the deleted records.

Main Interface

  • Repair – Once the MDF file is selected, click on the ‘Repair’ tab to begin the scanning process. With this, over some time a preview of the database objects that can be recovered is prompted on the screen. After that, a message will appear on the screen of your system that the selected MS SQL database has been successfully repaired, and then click on ‘OK’ to save the file in a new database. The screenshot below showcases the repair and preview step.

Preview

  • Save – To save, you have to complete the software registration process by entering the serial number sent through email. Then, you can save the recovered items in MS SQL, CSV, HTML, and XLS formats. You get the option of saving in the new database and live database that can be selected as per want. Finally, the repaired file and the retrieved objects are saved. The screen shots below display the ‘saving’ step.

Saving Options

 

Save Formats

Inference Drawn

Stellar Phoenix SQL Database Repair 6.0 is an ideal MS SQL 2016 Repair software. This is because it accomplishes almost all the guaranteed benefits without fail. Moreover, the interface is easy-to-use and can even be understood by a lay person as well. All you need to do is install it properly on your system to repair the damaged SQL database file. The software is available only in English for now; hence, only the English-speaking populace can leverage it meanwhile.

 

PowerShell script to download all Farm solutions

MSTechTalk PowerShell

Some time we got requirement to download farm solutions and it is specially required in migrations. Below I am sharing a simple PowerShell script which can download all solutions deployed on the SharePoint Farm. You need to execute  this script on SharePoint Farm with SPFarm account as this script need SharePoint Farm administrative access to execute.

[void][System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”)
[void][System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint.Administration”)

function DownloadAllFarmSolutions()
{
#Get reference to SharePoint farm
$farm = [Microsoft.SharePoint.Administration.SPFarm]::get_Local()

#Path to save the solution files, Create the folder before executing script
$path = “C:\SPSolutions”

#Download all the farm solutions

foreach($spSolution in $farm.Solutions){

$spSolution = $farm.Solutions[$spSolution.Name]
$file = $solution.SolutionFile
$file.SaveAs($path + ‘\’ + $spSolution.Name)
}
}

Execute the script on PowerShell and then call the function DownloadAllFarmSolutions which will save Farm solutions on specified path.

This script has been tested on SharePoint 2010, SharePoint 2013 and SharePoint 2016.

Beta Exam for SharePoint 2016 is now available (Exam 70-339)

Microsoft has announced Beta exam 70-339 for SharePoint 2016 , there are 350 beta seats allocated for the exam.

You can register for exam through exam link page and use code  BETA339MCP, this code is only for exam dates till July 11, 2016.

You can check BorntoLean post for more details :https://borntolearn.mslearn.net/b/weblog/posts/beta-exam-for-70-339-managing-microsoft-sharepoint-server-2016-now-available

Exam Link: https://www.microsoft.com/en-us/learning/exam-70-339.aspx

Preperation Matrial:

You need to take below two instructor led training for exam preparation:

Restricted Countries:

The beta code will not work in few countries which include Turkey, Pakistan, India, China, Vietnam.

Migrating to Exchange 2016 using the Exchange Admin Center

MS Exchange Server 2016 comes with advanced facilities that enterprises can’t wait to benefit from. Architecture simplicity, reliability, improved email-client features and cloud readiness are the hallmarks of this version. But when it’s time to upgrade to this new Exchange version, the existing Exchange data needs to be moved to it. So let’s go through the options available for mailbox migration, especially from Exchange 2010.

Is direct migration to Exchange 2016 possible from all previous versions?

Exchange 2016 supports direct migration from Exchange 2010 and Exchange 2013 only. Direct migration is not possible from Exchange 2007 and previous versions unless you use third-party migration solutions.

Why migrate from Exchange 2010 to Exchange 2016 now?

Exchange 2016 will possibly be the last Exchange version to which Exchange 2010 mailboxes can be migrated directly using the built-in features of Exchange.

What are the requirements for successful Exchange 2010 to Exchange 2016 migration?

Apart from hardware, OS, and email client requirements, co-existence between Exchange 2010 and 2016 Exchange versions is required for the migration. For co-existence with Exchange 2016, you should have Exchange 2010 RU11 or later (in all servers). You can get updates from Microsoft sites to fulfill these minimum criteria.

How to move mailboxes from Exchange 2010 to Exchange 2016 using Exchange Admin Center

You can use the Exchange admin center (EAC) as well as Exchange Management Shell (EMS) to move mailboxes from the Exchange 2010 database to Exchange 2016 database. Here we will show you the migration steps using EAC:

  1. Open Exchange admin center and sign in.
  2. Go to recipients>migration and click; select Move to a different database.
Move to a different database

Move to a different database

  1. Select the option, Select the users that you want to move; click  and add users (you can add users in the Select Mailbox window).
New Migration Batch

New Migration Batch

Note: Users can be added using CSV file option too.

  1. Click Next when mailboxes are listed.
New Migration Batch

New Migration Batch

  1. Enter a name to the mailbox move. Under Archive, select the option Move the primary mailbox and the archive mailbox if one exists. Provide the target database name and bad item limit (ideally you can give bad item limit as 10). Click Next.
Migration Batch

Migration Batch

Note: The Browse button opens up the Select Mailbox Database window where you can select and add an Exchange 2016 server mailbox database.

  1. Enter the user to whom mailbox move reports are to be sent (the default entry can be modified using the Browse button); keep the option Automatically start the batch If you want to complete the migration automatically, keep the option Automatically complete the migration batch selected. Finally click New.
Migrating to Exchange 2016

Migrating to Exchange 2016

Note: To manually complete the mailbox move

In recipients>migration, select the mailbox migration batch that is to be moved; click Complete this migration batch in the details pane (available only when batch is ready for completion).

  1. Now in recipients>migration, you can check the mailbox migration status in the details pane by selecting the migration batch. Click View details to get more details.
Exchange 2016 Admin Center

Exchange 2016 Admin Center

Are there simpler ways to migrate Exchange 2010 to Exchange 2016?

Professional Exchange migration solutions make Exchange/Office 365 to Exchange/Office much simpler and easier. They support the latest as well as all popular versions of Exchange for migration. LepideMigrator for Exchange is a reliable and trusted solution used by many organizations across the world.

Blog Summary

After the successful deployment of Exchange 2016, organizations have to move their Exchange 2010 mailboxes to the new Exchange. You can use EAC or EMS to accomplish this migration. However, because of the complexities involved, most of the organizations rely on Exchange migration tools.

SharePoint Server 2016 Hardware and Software Requirements

SharePoint Server 2016 release candidate patch has been released few days back which need to be applied on SharePoint Server 2016 Beta 2. In this post I just summarized the hardware & software requirements and Installation prerequisites which are already listed on different sites, at the end of this article you can the listing of few important links which give you more details on below listed information and also helpful how you can apply Release Candidate patch on SharePoint Server Beta 2.

Operating System

  • Windows Server 2012 R2
  • Windows Server 2016 Technical Preview 4

Software Requirements:

  • Microsoft SQL Server 2014 Service Pack 1– (64-Bit)
  • SharePoint Server 2016 Beta 2
  • SharePoint Server 2016 Release Candidate Patch

Hardware Requirements:

Below table shows the standard hardware requirement for Single Server installation or Multi-server installation.

SharePoint Server 2016 Hardware Requirements

SharePoint Server 2016 Hardware Requirements

Deployment Type:

  1. Two computer farm with:
  •      One SharePoint server that uses the Single-Server role.
  •      One SQL Server
  1. Four or five computer farm with:
  •      One SQL Server
  •      One Front-end web server.
  •      One Application server.
  •      One Distributed Cache server.
  •      One Search server.

SharePoint Server 2016 installation Pprerequisites

  • Windows Identity Foundation
  • SQL Client
  • Microsoft Identity Extension
  • Microsoft Sync Framework 1.0 SP1
  • Windows Server App Fabric
  • AppFabric 1.1 Cummulative Update
  • Active Directory Rights Management Services Client 2.1
  • Windows Communications Framework Data Services 5.6.0
  • .NET Framework 4.6
  • Visual C++ 2013 Redistributable Package
  • Security Update for .NET 4.5.2

Some important links are listed below:

Disassociating InfoPath Forms from list in Office 365

Scenario:

We did migration of SharePoint 2010 from SharePoint online using a 3rd party migration tool. Content migrated successfully but with time we got some issues from the users regarding the behavior of the new environment and issues after migration

Issue:

SharePoint list view is showing data in the list but view/edit forms got corrupted after migration.

Solution:

We have gone through the requirement, there were InfoPath forms used with the SharePoint List which are migrated to SharePoint online but were not associated properly. There were no business rules in the InfoPath which means those were basic view and edit forms. So we decided to disassociate the InfoPath forms from list. The basic steps are:

Go to List settings and under General click on Form Settings (option only working in IE), where you can get the option to disassociate the InfoPath form. But things are not quite lucky for us here because we can’t see the option to dissociate InfoPath form. Check below screen for reference:

Form setting not showing Default Sharepoint form option

Form setting not showing Default Sharepoint form option

It is not showing the option “Use the default SharePoint form” which I can see in SharePoint 2010.

Now open the SharePoint online site in SharePoint Designer 2013 to disassociate it in Office 365. Go to your SharePoint List through List and Libraries, and click on Item under the Content Type section which will take you to the item content type detail page.

SharePoint Designer List and libraries

SharePoint Designer List and libraries

In Forms section in above picture, you can see the associated InfoPath forms with the item content type. Click on the form path and remove it, this is how you can disassociate InfoPath forms from list manually.

disassociate InfoPath forms from list manually

disassociate InfoPath forms from list manually

The other solution is that you from list ribbon, click on the InfoPath form settings and publish the InfoPath form, if there any were any rules which are not showing up then you have to create them again.

List Fields not showing in Add, Edit and display forms after migration

Background:

We have completed a tool based SharePoint migration for a client which was from SharePoint 2010 to SharePoint online, during the migration we got some hurdles which is because of custom features, custom list columns, deprecated list & site templates and invalid data but at the we were good to migrate all the content to SharePoint Online which also involved some manual effort.

Issue:

Users started using SharePoint online portal and also have reported some issues which we resolved. We have been reported an issue by end users for task list where having 15 custom columns and are shown in all default forms (Add/Edit/View) in SharePoint 2010. All data is migrated to the list and users can view them through list views but when they click any of them to View details or Edit they can’t see all the columns as they can see in SharePoint 2010 environment. They reported that they can’t see all fields in any of the three forms (Add/Edit/View).

Solution:

At first this looks to be the content type issue which is not set default but there was not content type included, only default task content type was used. I can see all the custom fields the task list through list settings. Then I have tried adding columns to forms using SharePoint designer but no success and I do not want to create custom views.

Then I come to the list settings again, enabled Content type on the list and I can see that custom fields are not bind with or Used in the Task content type, and this was the point why custom fields are not showing up in all three forms.

Whenever you create a new custom field to a list, it also get added to the default content type, but now we already have the custom fields which are not part of the  default content type (i.e. Task content type).

The steps to add them to the default content type are quite easy, click on the default content type and it will take you the content type detail page or content type setting  page (for current list only), below the fields there is a link with text “Add from existing site or list columns”. This link will lead you to the add columns page of list content type, Select columns from List Columns and you can see listing of all custom columns. Add them to the content type and now you can see them in all three forms.

I set the ordering of fields similar to SharePoint 2010 list and now things are working fine. J

List Fields not showing default forms

List Fields not showing default forms

In below image, you can see list of columns but these are not part of default content type.

List Columns

List Columns

Add columns to task list content type through below link, and this will start showing columns in all forms. Click on the “Add from existing site or list settings”

Add columns to default content type

Add columns to default content type

SharePoint Error: Access Denied

The problem starts when Microsoft SharePoint Online site enables full access permissions to some users, but when they have tried to access the site settings, following error message occurred.

Error: ‘Access Denied.’

Access Denied
In order to resolve this issue when the users browse to the Access Requests list and select Approve or Decline for a pending request, then again a new error message occurred:
‘Sending approval’
‘Request approval failed’

Causes
In order to describe the problem, first you need to figure out the symptoms. Following are the scenario you can consider that leads the above explained share point error:

If you are using the following version of Microsoft SharePoint

  • Microsoft SharePoint Server 2010
  • Microsoft SharePoint Foundation 2010
  • Microsoft Office SharePoint Server 2007

You have re-created a user account in Active Directory Domain Services after delete and then again add the newly created user account to the SharePoint server.

Description:
Basically error: ‘Access Denied’ occurs, when you add an existing user’s information inthe SharePoint and it updates the existing entry in the UserInfo table instead of creating a new entry. Where the user security identifier (SID) in the old entry has already updated and is no longer correct for that particular user.

Solution:

  1. In order to resolve this issue, you can use an inbuilt tool named as ‘MigrateUser’ tool that is used to add the new user account to SharePoint. Follow the below mentioned steps to complete this process:
  2. Go to the server that is running SharePoint, Select Start -> All Programs, and then Accessories.
  3. Now, right-click Command Prompt, select Run as Administrator from the available options. Now, click ‘Yes’.
  4. Type the below mentioned command in the command prompt, and press ENTER:
    ‘stsadm.exe -o migrateuser -oldlogin Domain name\Old user name -newlogin Domain name\New user name –ignoresidhistory’

Note:This command can be used only on user accounts that are in the same domain elseit might create permission issues. MigrateUser command will automatically update the account name and also maintains the appropriate permissions for the targeted account.

Some other solutions:

  • Possibly some of the services on your server are shut down, which are causingissues with the Search index distribution. Check out all the server permissions and enable the required one if needed.
  • If someone has changed the permissions on the site assets library then also such kind of errors occurs. To resolve this you can check the permissions on Document library, “Site Pages” library or something similar on the same site that might create such type of trouble. As at times,due to broken inheritance on the Doc Library become the root cause of the error.

In case while trying the above explained processes your SharePoint data got corrupt and become inaccessible then instead of trying manual methods, it is better to go with professional software as these tools are dedicatedly designed to repair SharePoint data without any risk of data loss. Stellar Phoenix SharePoint Recovery is a reliable example of professional SharePoint Server Recovery software that repairs you corrupt and damaged SharePoint databases or SQL Server files and restores all the important information from SharePoint Server.

Office 365 Session Timeout Configuration

Office 365 session timeout configuration helps you control the behavior of a session when a user is accessing services. When a user is authenticated to Office 365 app, a session is established. During the session, user don’t have to re-authenticate to the app. Session can only expire when you’re either inactive, closed the browser/tab, token expires or a password has been reset. Office 365 support different timeout settings for each web app as shown below.

Office 365 Session Timeout Configuration 2

These are the default timeout settings of office 365 taken from Office 365 support website.

Office 365 Session Timeout Configuration

Below are the steps to modify the office 365 OWA session timeout configuration.

  • Connect with exchange online using Global Admin credentials. You can use PowerShell function to connect with Exchange online found at TechNet Gallery.
  • Once you’re connected with Exchange online powershell, run Get-OrganizationConfig > OrgConfig.txt to backup your existing OrganizationConfigurations in a TXT file.

2

  • Once you’ve the backup of your existing configuration, Run Set-OrganizationConfig -ActivityBasedAuthenticationTimeoutInterval 00:45:00

Office 365 Session Timeout Configuration

We’ve now successfully configured the session timeout settings to 45 minutes. For more information on Set-OrganizationConfig cmdlet can be found on MSDN.

Creating a Display Form / Data View Web Part in SharePoint Online

I had a requirement to display a custom view for a list interface instead of the default list view in SharePoint online, I know couple of jQuery and css scripts which made life quite easier in these scenarios but still I have seen people asking how they can edit page using SharePoint Designer and how can they work on XSLT web part.

In this post, I am using a publishing site where I will not only show how to detach and reattach a page from page layout and how to edit them and will show an example to how we can create a customize interface using a XSLT web part (also called Display form or Data View web parts). These web parts are bit different from Content Query Web Part (CQWP) but both use XSLTand this can be a good example to understand a little XSLT.

XSLT web part custom view - cssWe will be achieving above UI at the end of this post, so now follow below steps to achieve this.

Open a SharePoint site in SharePoint Designer and go to pages library under All files –> Pages.

Now select the page on which you want to drop the List View web part. Write click on it and click the Detach from Page Layout. You need to detach the page to open it in designer. Check below image for reference.

detach file

It will also show you a warning messaging that you are detaching the page from page layout, say yes to it.

Detach from pagelaout

If file is not checked out then you will also get a message to check out the file. Once you are done with detaching the page, click on the page to edit it, It will take you the manage settings page where you have to click on the edit file link to do the customization.

Edit Detach page

I have created page using blank web part page layout, you can choose any of the page layout at the time of creation as per your requirement.

Now when you clicked edit page in above file, you can see a markup page is showing up with content disabled and you can also view the markup of web part zones tag.

<WebPartPages:WebPartZone runat="server" Title="<%$Resources:cms,WebPartZoneTitle_TopLeft%>" ID="TopLeftRow">
        <ZoneTemplate></ZoneTemplate>
     </WebPartPages:WebPartZone>

Default page markup

Here Id and title can be different, in SharePoint Designer 2013 you cannot view the design view of the markup, all you have to do is with the markup only. Now place your cursor in between the <ZoneTemplate></ZoneTemplate>.

Now click on the insert tab on the ribbon and click on the Display Item Form button which will show you the listing of lists and libraries for the current site. This can take some time to load the listing in drop down, for me sometime it has taken 10 minutes and sometime it have shown me the listing without any wait. It will show you the option to add Custom List form so just wait for the system to respond on it J.

This will add the XSLT template for the list view which you can modify as per your requirement. I have to display multiple items listing in the web part in as customized way like a grid view control means with custom display.

Now click on the generated template from ribbon you can see the Data View Tools are available which you can use to modify to add more columns, multiple rows, filtering and sorting data etc. You can view the below picture for reference.

XSLT - Dataform web part

Now I will add my required columns and will remove all extra columns to have the required fields only and for this click on Add/Remove column button. I am sharing screen shots of all these steps which can be helpful for you that how I am making changes.

XSLT - Add columns

Click OK to add those fields on the page. Now I am adding paging up-to 30 items so that I can have more then one item and paging is enabled if count goes over 30, below is image for reference.

XSLT - Add paging

Now I have to filter the items on a specific criteria. For this I will add a parameter and then will add the filter.

Click on Parameters button which will popup a new window where you can create up-to five types of parameter, most common are Query string and Form as shown below.

xslt - add parameter

I have created the Form based parameter with name paramDepartment and Form field named “Department” with default value of “Sales Engineers”. Department is the name of a custom filed in the list.

XSLT -Add parameter vlaue

We have created the custom parameter with a default value, now create a filter for filtering data on a specific criteria, I have created the parameter to pass value by filter instead of inline value.

Click on the filter button from ribbon which will open a dialog, select field under Field name column and select comparison type equal, Not equal, contains or begins with. In value column, you can directly enter a value or can select a parameter, so here select the paramDepartment parameter.

xslt  - Add filter

You can also apply more filters through the filter dialog.

We have completed the information fetching criteria by applying filters, selected custom columns and selected multiple records, now we have to create a custom template or can also modify the existing template which will make it easier to show a custom view.

Save the changes, and view this page in browser to verify that data is showing properly based on the given filters.

XSLT Default view

You can see the default view is quite, it showing the multiple items but the view is not interactive, now here comes why I was going to write this complete post, we need to modify this view. For this you have to explore the xslt now, search for the “dvt_1.body” template name which is the default name template which displays data.

Below are the two areas in xslt where we are going to make changes, let’s have a look on the xslt content which is showing and iterating the items.

<xsl:choose>
      <xsl:when test="$dvt_IsEmpty">
        <xsl:call-template name="dvt_1.empty"/>
      </xsl:when>
      <xsl:otherwise>
        <table border="0" width="100%">
          <xsl:call-template name="dvt_1.body">
            <xsl:with-param name="Rows" select="$Rows"/>
            <xsl:with-param name="FirstRow" select="1" />
            <xsl:with-param name="LastRow" select="$LastRow - $FirstRow + 1" />
          </xsl:call-template>
        </table>
      </xsl:otherwise>
    </xsl:choose>

This show the basic structure which we will change a little for the customized view. Above xslt template is iterating items to default view. We need to modify it a little as below:

<xsl:choose>
      <xsl:when test="$dvt_IsEmpty">
        <xsl:call-template name="dvt_1.empty"/>
      </xsl:when>
      <xsl:otherwise>
        <table border="0" width="100%">
          <tr>
            <td>
            <table border="0" cellspacing="0" width="100%" class="zContacts">
              <tr>
              <th ></th>
              <th>Full Name</th>
              <th>Email</th>
              <th>Office</th>
              <th>Region</th>
              <th>Specialty</th>
            </tr>
              <xsl:call-template name="dvt_1.body">
              <xsl:with-param name="Rows" select="$Rows"/>
              <xsl:with-param name="FirstRow" select="1" />
              <xsl:with-param name="LastRow" select="$LastRow - $FirstRow + 1" />
            </xsl:call-template>
            </table>
          </td>
          </tr>        
        </table>
      </xsl:otherwise>
    </xsl:choose>

We just added a new table with custom css and table headers which you can see in bold text above, now we to go to the other part of xslt which is listing the items. Scroll down to dvt_1.rowview template, here you can see the html markups with some xlst fields which are showing items in the default content.
<xsl:template name="dvt_1.rowview">
    <tr>
      <td>
        <table border="0" cellspacing="0" width="100%">
          <tr>
            <td width="25%" class="ms-vb">
              <b>Full Name:</b>
            </td>
            <td width="75%" class="ms-vb">
              <xsl:value-of select="@Title"/>
            </td>
          </tr><tr>
            <td width="25%" class="ms-vb">
              <b>Image:</b>
            </td>
            <td width="75%" class="ms-vb">
              <img border="0" src="{@Image}" alt="{@Image.desc}" /></td></tr><tr>
            <td width="25%" class="ms-vb">
              <b>Email:</b>
            </td>
            <td width="75%" class="ms-vb">
              <xsl:value-of select="@Email" />
            </td></tr><tr>
            <td width="25%" class="ms-vb">
              <b>Office:</b>
            </td>
            <td width="75%" class="ms-vb">
              <xsl:value-of select="@Office" />
            </td></tr><tr>
            <td width="25%" class="ms-vb">
              <b>Region:</b>
            </td>
            <td width="75%" class="ms-vb">
              <xsl:value-of select="@Region" />
            </td></tr><tr>
            <td width="25%" class="ms-vb">
              <b>Speciality:</b>
            </td>
            <td width="75%" class="ms-vb">
              <xsl:value-of select="@Speciality" />
            </td></tr>
          <xsl:if test="$dvt_1_automode = '1'" ddwrt:cf_ignore="1">
            <tr>
              <td colspan="99" class="ms-vb">
                <span ddwrt:amkeyfield="ID" ddwrt:amkeyvalue="ddwrt:EscapeDelims(string(@ID))" ddwrt:ammode="view"></span>
              </td>
            </tr>
          </xsl:if>
        </table>
      </td>
    </tr>
  </xsl:template>

You can see this is quite much markup for small task, so we totally change this content to achieve our required output, modify this content.
<xsl:template name="dvt_1.rowview">
    <tr>
      <td > <img border="0" src="{@Image}" alt="{@Image.desc}" /></td> 
      <td> <xsl:value-of select="@Title"/> </td>
      <td > <xsl:value-of select="@Email" /> </td>
      <td > <xsl:value-of select="@Office" />  </td>
      <td > <xsl:value-of select="@Region" /> </td>
      <td > <xsl:value-of select="@Speciality" />  </td>
    </tr>
  </xsl:template>

Now here you can see the difference, this is just a little but smart modification in XSLT Data View web part. Save the page and open in browser to see the changes.

XSLT Custom view

I also remove the title appearance to none for this web part properties through browser. The view is changed and you can see it now showing up in a grid or listing view, now itjust need to apply a small css to do the branding. There are many good examples of css and javascript shared by different sites, I copied a simple css and just changed the color scheme for my view.

table.zContacts {
  font-family: verdana,arial,sans-serif;
  font-size:11px;
  color:#333333;
  border-width: 1px;
  border-color: #C1C8D5;
  border-collapse: collapse;
}
table.zContacts th {
  background:#7caeff;
  border-width: 1px;
  padding: 8px;
  border-style: solid;
  border-color: #C1C8D5;
}

/* provide some minimal visual accomodation for IE8 and below */
table.zContacts tr{
    background: #c9ddff;
  }
  /*  Define the background color for all the ODD background rows  */
table.zContacts tr:nth-child(odd){ 
    background: #c9ddff;
  }
  /*  Define the background color for all the EVEN background rows  */
table.zContacts tr:nth-child(even){
    background: #eff5ff;
  }
table.zContacts td {
  /*background:#dcddc0 url('cell-grey.jpg'); */
  border-width: 1px;
  padding: 8px;
  border-style: solid;
  border-color: #C1C8D5;
}

This css will show alternate rows for the custom view. You need to save it in your custom css file. I always create a custom css file in my sharepoint site where I can include the custom css content. Below is the output after adding Css.

XSLT web part custom view - css

After making all the changes, go to the pages library from SharePoint Designer (similar steps as I have mentioned at start of this article) and reattach it to pagelayout and then checkIn the file.

This is how we can add and customize DataView web part (or XSLT Web part) using SharePoint designer.