Sharing the experience search

Search sharing-the-experience.blogspot.com

Wednesday, February 29, 2012

WANTED: Senior SharePoint developer/Administrator interview

I moved on from SharePoint developer and became a team lead.

But still I will be around SharePoint issues plus more issues from other IT products!

This post is a quick note for those who may want to be a developer instead of me.

Here is the list of questions that I am going to ask a future Senior SharePoint developer\Architect in my wonderful team of professionals:


Does WSP deployment resets IIS?
http://sharing-the-experience.blogspot.com/2012/02/simple-concept-does-wsp-deployment.html

When to use an timer job rather than a Workflow?
http://sharing-the-experience.blogspot.com/2012/02/when-to-use-timer-job-rather-than.html

How do you set permissions to External Content Types (what about - not manually)?
http://sharing-the-experience.blogspot.com/2011/10/bdcm-how-to-set-permissions-through.html

What permissions should I have to run PowerShell against SharePoint 2010?
http://sharing-the-experience.blogspot.com/2011/12/simple-concept-powershell-local-farm-is.html

How many dbs you think SP2010 uses and what for?
http://sharing-the-experience.blogspot.com/2011/12/2010-sharepoint-databases-purposes-and.html

Can we have a mirror for SP2010 dbs?
http://sharing-the-experience.blogspot.com/2011/12/2010-sharepoint-databases-purposes-and.html

Can we change a db name after they have been used by SP2010 farm?
http://sharing-the-experience.blogspot.com/search?updated-max=2011-12-09T06:41:00-08:00&max-results=7&start=6&by-date=false

How restore a SharePoint 2010 content database on the different farm?
http://sharing-the-experience.blogspot.com/2011/12/simple-concept-how-restore-sharepoint.html

what's your favorite sharepoint tools?
http://sharing-the-experience.blogspot.com/2011/11/sharepoint-2010-gentelmans-tool-set.html

What's you understanding of Service Application architecture in SharePoint 2010?
http://sharing-the-experience.blogspot.com/2011/11/service-application-architecture-in-one.html

How do you perform BDC (SP2007) to BDCM (SP2010) conversion?
http://sharing-the-experience.blogspot.com/2011/10/sharepoint-2007-to-2010-upgrade-online.html

What it is Managed Paths? What the difference between Wildcard and Explicit?
http://sharing-the-experience.blogspot.com/2011/10/simple-concept-managed-paths-wildcard.html

Do you prefer to use stsadm or PowerShell in SP2010?
http://sharing-the-experience.blogspot.com/2011/08/sharepoint-2010-powershell-and-stsadm.html

What's your backup strategy for SP2010\2007?
http://sharing-the-experience.blogspot.com/2011/07/sharepoint-2007-to-2010-upgrade-online_08.html

When do you think it's neccessary to split site collections and how do you approach this tasks? What are the considerations?
http://sharing-the-experience.blogspot.com/2011/05/architecture-different-site-collections.html
http://sharing-the-experience.blogspot.com/2010/12/sharepoint-content-database-and-site.html

And more general without answers), but you will know the answers if you have experienced the SharePoint at work and got the understanding of the fundamental difference between asp.net and SharePoint SLDC (System Life Development Cycle)

How do you see SharePoint wsp develoment\testing\deployment cycle?

How do you ship Release and how do you ship the following release?

How do you change in existing site, list structure in the project that follows system developemnt life-cycle?

p.s. Interested in getting the position? Post a reply








Lesson learned: list corruption after stsadm -o import


The case:
The site is created from STP template with some data included. The additional data imported through stsadm –o import

The result:
       List corruption on the site.

The recommendation:

Don’t combine 2 approaches: STP with data and stsadm –o import.
Either go with:
-           STP with fresh data ;
-          Stsadm –o import on the blank site template.

Consideration:

 STSADM.EXE -O EXPORT:
It exports data using Object Model and generated new GUID for every object.
It doesn't copy workflow history and tasks lists. 

This means that you have some hard-coded logic in the site it will be broken after stsadm.exe export.

(for further analysis, you welcome to read my blog entry - Sharepoint: How to backup site: stsadm export and SPD backup)

P.S.
Some of the errors that you find in the import log that will wreck the havoc:


Importing File Version 1.0
Invalid file name. The file name you specified could not be used



Item does not exist. It may have been deleted by another user.
   at Microsoft.SharePoint.SPListItem.EnsureItemIsValid()

SSRS: How to troubleshoot?



Got weird errors on SSRS?: 
such as below:

  • An error occurred during client rendering.
    • Too many automatic redirections were attempted. 

The good place to start is:

1.

SSRS logs

C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\LogFiles
(assuming that you have C:\ as a system drive)
2.
Find error and google it.

P.S.
In case you have found this post by searching:

  • An error occurred during client rendering.
    • Too many automatic redirections were attempted. 
You may have problem with HTTPS communication.

Check the config file for SSRS:

C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config

If you need to have HTTP connection: set


<Add Key="SecureConnectionLevel" Value="0"/> instead of 2

Friday, February 17, 2012

Simple concept: Does WSP deployment(retraction) resets IIS?


[Question]: 
Does WSP deployment triggers IISRESET?

[Answer]:
Depends on type of deployment. There are 2 kinds: Local and Timer Service deployments
(Deploying a Solution). BE AWARE that WSP solution retractions causes IISRESET too.

Local WSP deployment -  stsadm -o deploysolution -local .Deploys the solution synchronously on the local computer only. The timer service is not used.  . It will call IISRESET but locally on the WFE, not in all WFEs in the farm.

Farm solution deployment with no downtime. Update-SPSolution -local

Timer Service Deployment -  stsadm -o deploysolution -immeidate (or -time)
(Deploysolution: Stsadm operation) . Uses a timer job and triggers IISRESET.

The deployment step for a farm solution creates a timer job. This timer job is used by the timer service on each web server in the server farm. The timer job also uses the SharePoint Foundation Administrative web service to access appropriate privileges to deploy solution files to each computer, so both services must be running on all servers for the deployment to succeed.

Initially, the package manifest is parsed to find assemblies, application pages, JavaScript, and other files that are not part of a Feature. These are copied to the locations specified in the manifest. All files contained within a Feature are copied to the Feature directory, a subdirectory of %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES. After solution files are copied to the target computers, a configuration reset is scheduled for all front-end web servers; the reset then deploys the files and restarts Internet Information Services (IIS). Farm administrators can specify when this occurs.

More detail coverage on the topic: SharePoint Solution Deploy, retract, upgrade – What causes your SharePoint farm to go offline IISRESET (web server outage).

Wednesday, February 15, 2012

When to use an timer job rather than a Workflow

A time ago a I have put short and useful note :When to use an Event Handler rather than a Workflow

Now, I want to create another "copy-paste" from one of the book that I m reading (Microsoft SharePoint 2010 Administrator's ) on the topic " Workflow and timer job when to use it":

Timer jobs can be used instead of so called "system" workflow ( that automate processes  that interact with the content and data stored in SharePoint). The major differences between timer job and system workflow:
 - Timer jobs can be activated and managed by farm administrators only;
 - End users can't control execution;

So rule of thumb: If the end users do not need to control the process, then choose timer jobs; otherwise, choose system workflow



  • Does any user interaction occur?
  • Will the process run for a long time (more than a second or two)?
  • Will the process need to pause to wait for another process to complete a task?
  • Will the process be run many times (more than 25 or 30) concurrently?
If the answer is "Yes" for any of these questions, you should build a workflow; if "No" for all, consider an event receiver. There are certainly some exceptions, but in general these rules apply. (Workflow Scalability and Performance in Windows SharePoint Services 3.0)

Friday, February 10, 2012

layouts/inplview.js? access is denied

[Question]:
layouts/inplview.js? access is denied


In SharePoint 2010 when I am trying to get a item menu by right clicking on the item I am having a javascript error:
layouts/inplview.js? access is denied
How can I fix it?


[Answer]:


I have resolved this error by correcting AAM (Alternate Access Mapping) records.


 My issue was that I have configured HTTPS between user and ISA, but set HTTP between ISA and the SharePoint server. ISA: How to redirect HTTP to HTTPS, How to set SSL Certificate


Such configuration is called "off-box SSL termination." But, I have setup AAM in incorrect way.


The correct AAM for "off-box SSL termination" is to use HTTP and HTTPS urls as Internal URLS for one default HTTPS Public URL(in case public and internal hostname are equal in ISA):






P.S. In case you haven't setup SSL certificate on the web server and you want to request site locally avoiding trip to ISA, add to local host file as an example perimiter.portal2010.local with IP of the server; and then add AAM for this hostname. It will do the trick.







Wednesday, February 8, 2012

ISA: How to redirect HTTPS to HTTP, How to set SSL Certificate

One of the task while building SharePoint farm ( in my case 2010) is to set Load Balancing. The common approach for this is to make use of ISA.

My prod SharePoint portal needs to use SSL connection. Plus, I love simplicity. So, I have decided to use ISA
to set SSL connection for users.

Traffic between users and ISA are HTTPS, but traffic between ISA and SharePoint portal is HTTP. 
The beautiful name for such connection is off-box SSL termination.

 To implement it, we need to have:
1. SSL certificate issued for the portal host name;
2. ISA

That's it)

How to do it:

1. Setup a  SSL certificate that been issued for your portal host name on ISA
Simple concept: How to add SSL certificate

2. Create a Server Farm object in ISA , create Firewall Policy with this object.

Set Internal site name that been send to WFE, In the farm object add WFE server IPs

Server Farm is TO where the requested will be redirected

3.Create a Listener
Listener is FROM where the requested will be redirected
The specified IPs are IPs of ISA that been used specifically for redirection users. DNS server administrator should create a DNS entry with public DNS host (ex. portal2010.local) that is been pointed to the IP on ISA.

In the connection tab check HTTP and HTTPS. This way you allow a user to type HTTP, but eventually his request will be converted into HTTPS (that is achieved through other option which will be shown in a few sec)

4. Add certificate to the listener
Simple concept: How to add SSL certificate

5. Add to the rule on the tab "Public name" , the public name of the portal

6. And this is the crucial, juicy and last step.
Bridging - How the request will be redirected

Notice that "Redirect" goes to HTTP, not to SSL.
This way you don't have to install SSL certificate on WFE itself, just on ISA. But the user still get HTTPS connection between him and ISA.

P.S.
Test Rule shows you HTTP connection, because it shows the communication between ISA and WFE.
The user will see a different picture. he will see HTTPS since he's been served by ISA.

P.S.S.
Remember to configure AAM appropriatelly. Also, my advice is to configure WFE the way you can test the sites without load- balancing on the box itself:

SharePoint Load balancing:local settings for a web server


Tuesday, February 7, 2012

Networking: essential commands

I am getting deeper in networking while building topology for SharePoint 2010.
Here is a quick reminder for everyone who is not a network savy but has to survive.


The following list of the network commands will help to understand where you machine is and how it's routed.
So, run MS-Dos window and enjoy:


1. notorious   - ping sends out a packet to a designated internet host or network computer and measures its response time. The target computer will return (hopefully) a signal. 


2.  ipconfig  (add /all to get a full picture) -  It is used to display the TCP/IP network configuration values (assigned IP, gateway and DNS server)


3.  tracert - The actual path between two computers on the Internet is not a straight line but consists of numerous segments or "hops" from one intermediate computer to another. Tracert shows each step of the path taken. 

4. pathping -   this command combines functions of Ping and TracertPathping will first list the number of hops required to reach the address you are testing and then send multiple pings to each router between you and the destination. 

5. netstat - displays the active TCP connections and ports on which the computer is listening, Ethernet statistics, the IP routing table, statistics for the IP, ICMP, TCP, and UDP protocols. 
The command "netstat -a" will display all your connections. The command "netstat -b" will show the executable files involved in creating a connection. A figure showing all the switches and syntax is given below

5. nslookupThis command helps diagnose the Domain Name System (DNS) infrastructure.

For more detailed info, TCP/IP and Networking Tools