31 August, 2012

Outlining Improvements in SharePoint 2010

Microsoft has spent considerable time gathering input from customers on previous versions of SharePoint. This input was directly used by the development team to create new functionality and features in this version of SharePoint. The product team delivered a huge range of services and functionality. For SharePoint administrators familiar with SharePoint 2007, it is important to gain a better understanding of what those changes are and how they can be used to build a better collaboration environment for your organization.
Understanding the Scalable Service Application Model in SharePoint 2010
One of the most significant architectural changes in SharePoint 2010 is the change to service application architecture from the shared services provider architecture of SharePoint 2007. Service applications in SharePoint 2010 are independent services that can be shared across web applications or across farms.  Service applications in SharePoint 2010 include the Business Data Connectivity Service, which allows for connection to an external data source, the Managed Metadata Service, which enforces common metadata across a farm, and the Search Service, which is critical for Enterprise Search functionality. In total, there are more than a dozen service applications available out-of-the-box in SharePoint 2010 and Microsoft enables third-party service applications to be created as well. Service applications enable a SharePoint 2010 environment to be more scalable because they can be easily shared across multiple servers. SharePoint architects can define which servers run which service applications, and which service applications apply to what farms. By separating the functionality in SharePoint onto this highly flexible service application tier, it becomes easier to scale up the environment with the needs of the individual environment.
Outlining Search Improvements in SharePoint 2010

Another area of significant improvement in SharePoint 2010 is SharePoint’s built-in Enterprise Search functionality. Rebuilt as a service application, SharePoint’s native search tool has been rearchitected to enable the following:
·         Redundant index functionality, now providing for index redundancy and high availability, something not possible in SharePoint 2007.
·         Content sources can now be divided among multiple index partitions, such as what In addition to improvements in SharePoint 2010’s native search, Microsoft also offers a different tool for SharePoint search: FAST Search Server 2010. FAST Search has all of the improvements available with the native SharePoint 2010 search but adds additional features, such as thumbnail previews, click-through relevance, and automatic metadata tagging.

Accessing the Improved Administration, Monitoring, and Backup Tools
There are two major improvements in the area of administration for SharePoint. The first comes in a revamped SharePoint Central Administration tool and the second comes with the addition of Microsoft PowerShell as a scripting administration interface. Administrators familiar with SharePoint 2007 will recall the SharePoint Central Admin tool, a web-based interface used to administer SharePoint functionality.
The addition of Microsoft Power Shell as a SharePoint administration tool enables administrators to have a robust and comprehensive scripting interface that allows for automation of manual tasks, scripted installations, and remote administration support. Microsoft created more than 500 commandlets for Power Shell specific to SharePoint.

30 August, 2012

Lync Server 2013

Lync Server 2013 Preview: New High Availability and Disaster Recovery Features

Lync Server 2013 Preview features and how to configure them

Download Microsoft Lync Server 2013 Preview

Lync Server 2013 for IT pros

Microsoft's Lync Server 2013: Skype federation, hybrid voice and more

New Features in Lync Server 2013 Get Detailed

Lync Server 2013 Preview – 5 Feature Changes Coming

Lync Server 2010/2013 and Cisco/Nortel/Avaya integration

Microsoft Lync Server 2013 Adds Touch Support - Killer Enterprise Tablet UC!

Lync Server 2013 Preview features and how to configure them « msunified.net

Step by Step Enabling Lync Server 2013 Enterprise Voice Features, Response Groups and Managers – Part 5

Install Lync Server 2013 prerequisites on Windows Server 2008R2

Downloads for Lync 2010

Find links below to the most current downloads for Lync 2010 products.

Downloadable documentation

Primary collections

  • Lync Server 2010 Documentation Help File - A Microsoft Help (CHM) file that contains all Lync Server 2010 topics that appear in the TechNet online library.
  • Lync Server 2010 welcome page - A library topic that contains lists of individually downloadable server documentation topics (organized by deployment lifecycle stage).

Additional documents

29 August, 2012

Full Text Search in SQL: Error Full-text catalog ('Catalog Name') in database ('DBNAME') is low on disk space. Pausing all populations in progress until more space becomes available. Reason code: 1. Error: 0x80041828(The disk has reached its configured space limit.). To resume populations, free up disk space.

We all know our server systems are highly alerted with all different kind of alerts. Today we got an LMS alert (configured with the low disk space counter).  Whistle looking at the disk space it was the SQL Log file which used almost 98 % if the disk space. 
On further investigating we got to know it was SQL FULL Text search log file 'SQLFTXXXXXX.LOG'.

Now the next question click to the mind is what Full Text Search is:
Full-Text Search in SQL Server lets users and applications run full-text queries against character-based data in SQL Server tables. Before you can run full-text queries on a table, the database administrator must create a full-text index on the table. The full-text index includes one or more character-based columns in the table. These columns can have any of the following data types: char, varchar, nchar, nvarchar, text, ntext, image, xml, or varbinary(max) and FILESTREAM.

We were unable to check what is logged in the file due to heavy size. While working in troubleshooting with further on this we decided to check which data base is configured to use the Full Text Search.

How to check which DB is using the Full Text Search:

Log on to SQL Management console -> Expand Databases -> Go into the Database properties of the  database -> Select File -> and check if ‘Use full-text indexing  box is checked which is related to full text indexing.
We decided to turn off- the full text indexing, however needed it to validate if this is the same setting used in other SharePoint Environment.   After validation, we decided that we need to have this enabled to have the events logged. 

If you decide to turn off the full text indexing you can enable and disable the Full Text Search on the a database. 

We decided to delete the file by creating a new reference with the same name and have the logs generated from the starting.
One issue was resolved to clear up the space on the SQL Server drive. It leads to another issue of indexing not happening.

We noticed that File Size (SQLFTXXXXXX.LOG) again started to grow with the Error message.
Full-text catalog ('Catalog Name') in database ('DBNAME') is low on disk space. Pausing all populations in progress until more space becomes available. Reason code: 1. Error: 0x80041828(The disk has reached its configured space limit.). To resume populations, free up disk space.

Tried to run the different catalogs views to check the missing file reference from the Full-text index file.

On checking the event viewer logs, the below event was recorded in the logs after every 10 min. This seems to be a serious problem.
Event Type: Error
Event Source: MSSQLSERVER
Event Category: (2)
Event ID: 9901
Date:  8/29/2012
Time:  3:28:53 PM
User:  N/A
Computer: WHGVSQL1
Description:
Full-text catalog ('Catalog Name') in database ('DBNAME') is low on disk space. Pausing all populations in progress until more space becomes available. Reason code: 1. Error: 0x80041828(The disk has reached its configured space limit.). To resume populations, free up disk space.

Checking further on the error message, we found that this error message is related to Log file not available.

Whereas on finding reference to the error message. Error: 0x80041828(The disk has reached its configured space limit.) This was pointing to the low space on the disk.


All disks were having enough disk and we did check the DB automatic growth from DB properties. It was set to unrestricted. 

The first reference article was pointing to the situation similar of us as log file is not available. So concentrated the search with one point in mind. As you all know Microsoft is only own of their kind, we found explanation on the occurrence of the error message, which explains:

An I/O error related to data integrity has occurred for the specified database. Either the log or data portion of the database could be damaged. SQL Server has made the log for that database unavailable to prevent further data integrity problems. The I/O error that led to the 9001 message should be reported in the SQL Server error log and/or the Windows event logs.
This error could occur because of a failed ROLLBACK operation. In rare circumstances, the ROLLBACK could fail because of the server is completely out of memory, out of buffer pages, or out of log space.

 further details.

Hope this piece of information help you all in troubleshooting issue with Full- Text Search. 

.NET Interview Questions


What is .NET?
.NET is essentially a framework for software development. It is similar in nature to any other software development framework (J2EE etc) in that it provides a set of runtime containers/capabilities, and a rich set of pre-built functionality in the form of class libraries and APIs
The .NET Framework is an environment for building, deploying, and running Web Services and other applications. It consists of three main parts: the Common Language Runtime, the Framework classes, and ASP.NET.

How many languages .NET is supporting now?
When .NET was introduced it came with several languages. VB.NET, C#, COBOL and Perl, etc. The site DotNetLanguages.Net says 44 languages are supported.

How is .NET able to support multiple languages?
A language should comply with the Common Language Runtime standard to become a .NET language. In .NET, code is compiled to Microsoft Intermediate Language (MSIL for short). This is called as Managed Code. This Managed code is run in .NET environment. So after compilation to this IL the language is not a barrier. A code can call or use a function written in another language.

How ASP .NET different from ASP?
Scripting is separated from the HTML, Code is compiled as a DLL, these DLLs can be executed on the server.

What is smart navigation?
The cursor position is maintained when the page gets refreshed due to the server side validation and the page gets refreshed.

What is view state?
The web is stateless. But in ASP.NET, the state of a page is maintained in the in the page itself automatically. How? The values are encrypted and saved in hidden controls. this is done automatically by the ASP.NET. This can be switched off / on for a single control

How do you validate the controls in an ASP .NET page?
Using special validation controls that are meant for this. We have Range Validator, Email Validator.

Can the validation be done in the server side? Or this can be done only in the Client side?

Client side is done by default. Server side validation is also possible. We can switch off the client side and server side can be done.

How to manage pagination in a page?
Using pagination option in DataGrid control. We have to set the number of records for a page, then it takes care of pagination by itself.

What is ADO .NET and what is difference between ADO and ADO.NET?
ADO.NET is stateless mechanism. I can treat the ADO.Net as a separate in-memory database where in I can use relationships between the tables and select insert and updates to the database. I can update the actual database as a batch.

What is an application server?
As defined in Wikipedia, an application server is a software engine that delivers applications to client computers or devices. The application server runs your server code. Some well known application servers are IIS (Microsoft), WebLogic Server (BEA), JBoss (Red Hat), WebSphere (IBM).
Compare C# and VB.NET
A detailed comparison can be found over here.

What is a base class and derived class?
A class is a template for creating an object. The class from which other classes derive fundamental functionality is called a base class. For e.g. If Class Y derives from Class X, then Class X is a base class.

The class which derives functionality from a base class is called a derived class. If Class Y derives from Class X, then Class Y is a derived class.
What is an extender class?
An extender class allows you to extend the functionality of an existing control. It is used in Windows forms applications to add properties to controls.
A demonstration of extender classes can be found over here.

What is inheritance?
Inheritance represents the relationship between two classes where one type derives functionality from a second type and then extends it by adding new methods, properties, events, fields and constants.

C# support two types of inheritance:
§  Implementation inheritance
§  Interface inheritance

What is implementation and interface inheritance?
When a class (type) is derived from another class(type) such that it inherits all the members of the base type it is Implementation Inheritance.
When a type (class or a struct) inherits only the signatures of the functions from another type it is Interface Inheritance.
In general Classes can be derived from another class, hence support Implementation inheritance. At the same time Classes can also be derived from one or more interfaces. Hence they support Interface inheritance.

Can you use multiple inheritance in .NET?
.NET supports only single inheritance. However the purpose is accomplished using multiple interfaces.

Why don’t we have multiple inheritance in .NET?
There are several reasons for this. In simple words, the efforts are more, benefits are less. Different languages have different implementation requirements of multiple inheritance. So in order to implement multiple inheritance, we need to study the implementation aspects of all the languages that are CLR compliant and then implement a common methodology of implementing it. This is too much of efforts. Moreover multiple interface inheritance very much covers the benefits that multiple inheritance has.

What is an Interface?
An interface is a standard or contract that contains only the signatures of methods or events. The implementation is done in the class that inherits from this interface. Interfaces are primarily used to set a common standard or contract.

When should you use abstract class vs interface or What is the difference between an abstract class and interface?
I would suggest you to read this. There is a good comparison given over here.

What are events and delegates?
An event is a message sent by a control to notify the occurrence of an action. However it is not known which object receives the event. For this reason, .NET provides a special type called Delegate which acts as an intermediary between the sender object and receiver object.

What is business logic?
It is the functionality which handles the exchange of information between database and a user interface.