Wednesday, July 10, 2013

ShortNotes

Sites : Decision is based on the requirement of your business while decide wheather you choose sites collection or site you should keep in mind following things.

1. Security boundary
2. Administrative priviligis
3. Site Design
4. backup and restore
5. Queries Data
 




The Windows PowerShell Integrated Scripting
Environment (ISE)
Although you can use any text editor you’d like to write Windows PowerShell scripts, you 


should prefer to use a powerful new utility, the

Windows PowerShell Integrated Scripting


Environment (ISE)

which is included with the Windows operating system. The Windows
PowerShell ISE is shown in Figure 1-14.


Developer Dashboard

$sp2010 = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings;
$sp2010.DisplayLevel = [Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::OnDemand;
$sp2010.RequiredPermissions = 'EmptyMask';
$sp2010.TraceEnabled = $true;
$sp2010.Update();

 

Feature:

A feature definition provides a mechanism for adding elements to a target site or site collection through a process known as feature activation

The types of elements that can be added to a site include menu commands,link commands, page templates, page instances, list definitions, list instances, event handlers, and workflows.
Controls which could be add using feature elememnt.xml
 
ListInstance,CustomActionGroup,
CustomAction,HideCustomAction,menu command
Module Provisions,Field, Creates a site column
ContentType,SharePoint Foundation Development,
Element Type Description
ContentTypeBinding Adds a content type to a list
ListTemplate,Control,
Workflow Creates a workflow template
WorkflowActions Creates declarative workflows
WorkflowAssociation Associates a workflow template with a list
Activation Dependency

Therefore, you should define an activation dependency on WingtipUtilities.wsp by modifying

the manifest.xml file inside WingtipDevProject2.wsp.

<ActivationDependencies>
<ActivationDependency
SolutionId="0cee8f44-4892-4a01-b8f4-b07aa21e1ef1"
SolutionName="WingtipUtilities.wsp"
/>
</ActivationDependencies>

 Feature upgrade is new

SharePoint 2010 Developer Roadmap 1

      SharePoint Foundation 2

      SharePoint Foundation Architecture 3

      SharePoint Farms . 5

      Web Applications . 8

     Service Applications 10

     SharePoint Server 2010 . 13

     Sites 14

     Customizing Sites . 17

     SharePoint Designer 2010 20

     Site Customization vs. SharePoint Development . 22

     Windows PowerShell Boot Camp for SharePoint Professionals . 23

     Learn Windows PowerShell in 21 Minutes 24

    The Windows PowerShell Integrated Scripting Environment (ISE) . 28

    The SharePoint PowerShell Snap-in 30

    Conclusion . 33

 

SharePoint Foundation Development . 35

The Server-Side Object Model . 35

Creating the Hello World Console Application 36

Enabling the SharePoint Developer Dashboard . 39

Developing SharePoint Solutions 40

Developing a SharePoint Solution Using a Class Library Project 41

The SharePoint Root Directory 42

Creating a Feature Definition 44

Creating a Solution Package 50

Feature Upgrade Enhancements in SharePoint 2010 61

Conclusion . 68

 









3 SharePoint Developer Tools in Microsoft Visual Studio 2010 69

Life Before SharePoint Developer Tools . 69

Getting Started with the SharePoint Developer Tools . 71

Using SharePoint Explorer 71

Adding a Feature Receiver 76

Adding a SharePoint Project Item . 78

Deployment and Testing . 82

Working with Mapped Folders 84

Conclusion . 87

 






4


Sandboxed Solutions . 89






Understanding the Sandbox . 90
Building a Basic Sandboxed Solution . 91
Understanding the Architecture . 95
Understanding Solution Restrictions 97
Designing a Sandboxed Solution 100
Understanding Full-Trust Proxies 104
Administrating Sandboxed Solutions . 108
Using Central Administration Tools 108
Validating Sandboxed Solutions 111
Using Windows PowerShell for Administration 114
Using Site Collection Tools . 115
Conclusion . 116









5


Pages and Navigation 117







SharePoint Foundation Integration with ASP.NET 117
ASP.NET Fundamentals 118
SharePoint Web Applications . 121
Web Application Configuration Files 123
The Virtual File System of a Site . 125
Page Templates and Ghosting 128
Application Pages . 130
Master Pages . 133
Creating Site Page Templates . 138
Creating Pages in Sandboxed Solutions . 141
The Module SharePoint Project Item Type 141
The SandboxedSolutionPages Sample Project 145
Creating Web Part Pages 147
Creating Output References to Integrate Silverlight Applications 149
Creating Pages in Farm Solutions 151
Navigation Support for Application Pages 156
Custom Breadcrumb Navigation Using a Site Map 157
Creating a Reusable Branding Solution 159
Deploying a Custom Master Page . 160
Deploying CSS Files and Images to the Style Library . 162
Conclusion . 166


Controls and Web Parts . 169

Developing with Controls . 169

The WingtipControls Sample Project . 170

Safe Mode Processing and Safe Controls 172

Using a Custom Control to Create a Menu 175

User Controls 178

Delegate Controls 182

Developing Web Parts . 186

Web Part Fundamentals 187

Web Part Output Rendering 196

Persistent Properties . 203

Custom Editor Parts . 206

Web Part Verbs . 208

Web Parts Connections . 211

Asynchronous Processing . 216

Conclusion




Lists and Events 225

Creating Lists . 225

Fields and Field Types 229

Views 235

Site Columns . 236

Content Types . 241

Working with Document Libraries 248

Creating a Document Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

Adding a Custom Document Template 250

Creating Document-Based Content Types 252

Programming with Documents . 254

Creating Documents with Code 255

Creating and Registering Event Handlers 258

Event Receiver Classes . 260

Registering Event Handlers 261

Programming Before Events 268

Programming After Events . 273

Conclusion




Templates and Type Definitions . 277

Field Type Definitions 277

Creating Custom Field Types . 278

Creating a Custom Field Control . 284

List Definitions 292

Creating Site Column Definitions 294

Creating Content Type Definitions . 296

Creating List Definitions . 298

Feature Activation Dependencies . 302

book.




Site Definitions 304

Configurations and Web Templates . 305

ONET.XML: The Site Definition Manifest . 306

The Global Site Definition 310

Creating and Initializing Sites 312

Creating a Site Provisioning Provider . 314

Conclusion . 318

9

Accessing Data in Lists 319

Using the Basic List Object Model . 319

Querying Lists with CAML 321

Querying Joined Lists 323

Querying Multiple Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

Throttling Queries 327

Introducing LINQ 329

LINQ Overview . 330

Understanding LINQ Language Elements . 331

Working with LINQ to SharePoint . 335

Generating Entities with

SPMetal 335

Querying with LINQ to SharePoint . 340

Adding, Deleting, and Updating with LINQ to SharePoint . 342

Working with Document Libraries 344

Using the Basic Library Object Model 344

Working with Open XML 347

Conclusion . 352

10

Client-Side Programming 353

Understanding Client Object Model Fundamentals 353

Understanding Contexts . 355

Loading and Executing Operations 356

Working with the Managed Client Object Model 359

Handling Errors 359

Understanding Authentication and Authorization 362

Creating, Updating, and Deleting . 364

Working Asynchronously . 367

Working with the Silverlight Client Object Model . 368

Introducing Silverlight Development . 368

Asynchronous Programming with Silverlight . 371

Error Handling in Silverlight . 374

Passing Parameters to Silverlight 374

Creating a Custom Silverlight Host . 376

Working with the JavaScript Client Object Model . 378

Setting Up a Basic Page 378

Handling Errors in the JavaScript Client Object Model . 380

Running Code on Page Load 382

Debugging JavaScript . 382

Working with AJAX 382

Using Object-Oriented JavaScript . 384

Working with jQuery . 387

Working with WCF Data Services 388

Getting Started with WCF Data Services . 389

Using WCF Data Services in Visual Studio . 390

Conclusion . 391

11

Creating and Developing Workflows 393

What Is Workflow? . 393

SharePoint Workflow Fundamentals 395

The User Experience in a SharePoint Workflow . 397

Creating Custom Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

SharePoint Designer 2010 399

Getting Started . 400

Creating a Workflow with Visio and SharePoint Designer . 409

Developing Custom Workflow Components . 417

Developing Custom Actions . 419

Developing Custom Workflow Templates . 426

Conclusion . 453

12

SharePoint Security 455

Authentication, Authorization, and Identities . 455

User Information List . 458

Users and Groups . 459

Application Pool Identities . 462

SHAREPOINT\SYSTEM Account . 462

Delegating User Credentials 466

User Impersonation with the User Token . 467

Securing Objects with SharePoint . 468

Rights and Permission Levels . 469

Handling Authorization Failures with

SPUtility 472

Claims-Based Security . 473

Claims Architecture . 475

User Claims 476

Custom Claims Providers 479

Conclusion . 484

13

Business Connectivity Services . 485

Introducing Business Connectivity Services 486

Creating Simple BCS Solutions . 488

Creating External Content Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488

Creating External Lists 491

Understanding External List Limitations 493

book.


Understanding the BDC Server Runtime . 500

Understanding the Client Cache . 500

Understanding the BDC Client Runtime 501

Introducing the Secure Store Service . 501

Understanding Package Deployment 504

Understanding Authentication Scenarios 504

Configuring Authentication Models . 504

Accessing Claims-Based Systems 508

Accessing Token-Based Systems . 509

Managing Client Authentication . 509

Creating External Content Types . 510

Creating Operations 511

Creating Relationships 513

Defining Filters . 515

Using ECTs in SharePoint 2010 . 516

Creating Custom Forms 516

Using External Data Columns 517

External Data Web Parts . 518

Creating a Profile Page 519

Searching External Systems 520

Supplementing User Profiles . 521

Using ECTs in Office 2010 522

Using the SharePoint Workspace 522

Understanding Outlook Integration . 523

Using Word Quick Parts 524

Creating Custom BCS Solutions . 525

Using the BDC Runtime Object Models . 525

Using the Administration Object Model 528

Creating .NET Assembly Connectors 531

Conclusion . 534

14

Enterprise Content Management 535

ECM in SharePoint Server 2010 535

“Featurization” of ECM Capabilities for Wide Use . 536

ECM Site Templates . 536

Document Management . 537

Large Lists 537

Check-in/Checkout 539

Document Sets . 540

Document IDs . 547

book.
Records Management 550
Declaring Records 550
Content Organizer . 551
Web Content Management 552
Page Rendering Process 552
Creating New Page Types . 554
Content Aggregation with the Content Query Web Part . 557
Managed Metadata 559
Term Sets . 560
Enterprise Content Types 567
Conclusion . 568
15

SharePoint Search . 569
Introducing Search-Based Applications . 570
Understanding Search Architecture 571
Understanding the Search Service Application 572
Understanding the Indexing Process . 573
Understanding the Query Process 574
Introducing Search Web Parts . 574
Introducing the Search Object Models 575
Creating Ranking Models 575
Creating a Custom Ranking Model . 577
Using a Custom Ranking Model 580
Customizing Search Centers . 581
Adding New Tabs . 582
Customizing Search Core Results 583
Working with Keyword Query Syntax 588
Working with SQL Full-Text Search . 589
Creating .NET Assembly Connectors for Search . 590
Search-Enabling a Model 590
Implementing Security in Search Results 593
Crawling the .NET Assembly Connector 596
Conclusion . 596

Friday, July 5, 2013

Accessing Data in Lists

Overview
As a typical .net developer I have used SQL table join operation frequently. SQL gave us very rich way of manipulating data and we felt the luxury of it. The real fun happened when we where dealing with SharePoint 2007. In SharePoint 2007 we didn’t have direct way to join list and filter data programmatically. Link list concept was there but we need to use SharePoint designer to do it. Basically CAML query didn’t support list join operation (SharePoint 2007). In SharePoint 2007 my desired way of doing list join operation was through LINQ . But we had some performance issues with it. At some point we used third party tool to do the join operation for us. E.g. Bamboo List Roll-up web part
But thanks to Microsoft in 2010 release of SharePoint, it supports CAML query list join operations with the help of SPQuery class.
Recently I came across a customer requirement where I need to bring three lists information to a single view and present it to user in SharePoint 2010.I knew SharePoint 2010 supports list join operations so I started researching on how we join SharePoint lists using CAML query.
In My example I have employee List and department list. Employee list has lookup column to department list.
Department List

Employee List


Solution
In SharePoint 2010 Use CAML query and SPQuery class for list join operation.
SPQuery object
QueryFiltering , order by commands
JoinsInner Join or Left join commands
ProjectedFieldsLookup list fields
ViewFieldsAvailable fields in result SPListItem
Code:

Output :

Monday, July 1, 2013

Intro


I have been working in Information technology since over 7 years and had worked on each phase of software development cycle including Requirements Gathering, Analysis, Design, Development, unit testing. I have worked on many technologies in my career which includes WSS, SharePoint 2010 and 2007, ASP.Net, C#, SQL Server.

a support lead I was responsible to handle multiple projects which were Docflow,ECF Site, Safety Analytical Portal, Visualization and signal identification.  A Complex document management system used to create and manage document during drug invention process.
Reduced work load for scientist and regulatory authorities.

As a technical lead my primary role was

1.       Resolve critical production issues, assign appx 20-30 tickets in team members and monitor till finish.

2.       I was responsible to requirement gathering using predefined Pfizer & HCL standards and check for compatibility.

3.       Have exposure to work on Functional requirement specification and write Functional requirement points to convert rough information from customer.

4.       Worked on estimations using standard HCL and manual techniques recent estimation done for (SharePoint 2007 to SharePoint 2010 migration, Create timer job to synch GDMS with Docflow system) which were delivered on time?  

5.       Performing daily status update call with client and end customers.

6.       Apart of primary role I was also involved in major development of modules like Data Synch utility to export bulk records on several parameters, Design SQL layer to play on external databases, Design error handling and event logging of each module (used audit trail and text formation logs on date basis). Worked on creating timer jobs to synch status from GDMS. Resolved critical production issues via setting up identical dev, test, stage , servers.

Worked on application performance and scalability such as implement list throttling, SPDisposechecker and code reviews using Microsoft guidelines.