Thursday, December 01, 2011

How to create test accounts in Facebook

Hi All,

Facebook now doesn't allow you to test your facebook application without creating test accounts. When you try to test your non published Facebook application and try to post any update you will get this error message:

oAuthException #100 can only call this method on valid test users for your app

To create a test account in Facebook, here is the steps:
1) Copy and paste the following url in your browser:


https://graph.facebook.com/151284171604933/accounts/test-users?
  installed=true
  &name=MYNAME
  &permissions=read_stream
  &method=post
  &access_token=YOUR_FB_APP_ACCESS_TOKEN

Before hit enter, do the following:
a) Get the access token for your facebook application, to get it paste the following url in the browser:



b) Permissions: To grant certain permissions to the test account, read the full extended permissions from below link:

https://developers.facebook.com/docs/reference/api/permissions/

If you get an error when you specify a name, you can omit the name parameters and in this case FB will create a name for your test account.

Once you edit above parameters and hit enter in the browser, you will get a message like this showing that your test account has been created successfully.

{
   "id": "XXXXXXXXXXX",
   "access_token": "XCEWWEE#######EEEEEU8ffOT3VYD70ld0nYCiNlZB5Flmh59yfPksO5XfUdVxnZAhi0oEKvpJxACywhxsNgwGWfe6gH2B1DaxVUSXy2mCfo1jzf3TUk7",
   "login_url": "https://www.facebook.com/platform/test_account_login.php?user_id=3232334444444449&n=oWKUdwdw5xdLx0a2CBW",
   "email": "cqszpqv_smithwwwqitz_133222765997\u0040tfbnw.net",
   "password": "211212121233"
}

Try to log in with the username and password before run your application.




Hope this helps.

* References:
- How to create test users in Facebook:
https://developers.facebook.com/docs/test_users/



Wednesday, November 30, 2011

Change Sql Azure DB Size

Hi All,

I was trying to change my business edition DB to web edition in SQL Azure and i didn't find a sample TSQL to run to shrink the DB file size from 20 GB (Business) to 1 GB (Web) Edition.

Here is the TSQL you want to run after deleting the unnecessary data in your DB and make sure its size under the required new DB size.



Alter database YOURDBNAME

 modify (          
           maxsize=1 GB,
           Edition='Web'
        )

Hope this helps.

Thursday, November 10, 2011

SharePoint Restore Error: Your backup is from a different version of Microsoft SharePoint Foundation and cannot be restored to a server running the current version. The backup file should be restored to a server with version '14.0.0.5050' or later

Hi Folks,

I was deploying a new release for a SharePoint project that i'm working on with my team, when i was try to backup and restore a site collection from my development to staging environment, I got this error:


SharePoint Restore Error: Your backup is from a different version of Microsoft SharePoint Foundation and cannot be restored to a server running the current version. The backup file should be restored to a server with version '14.0.0.5050' or later.


To fix this problem, follow these steps:

1) Make sure that both environments have the same updates and CUs. To do so, Open Central Administration and click on Upgrade and Migration link and click on "Check product and patch installation  status".
You will have list of updates and CUs that have been installed on your environment, make sure those updates are identical. Any missing updates, download and install it on the new environment if you haven't document this as a part of your release process that you have in place.

2) Then click on "Review database status" under upgrade and migration section and make sure you don't have "need upgrade" to any of your content databases.The status should be "No action required". If you have any upgrade required and specially if you have SP1 installed, this means you didn't run the SPConfig command post to your SP1 installation. To do so, follow these steps:

a) Launch an elevated (Run as Administrator) SharePoint 2010 Management shell :
(get-spserver $env:computername).NeedsUpgrade
If the result of this command is True, then you need to complete step (b) below. If the result is False then no further action (b) is needed.
b) In order to update the SharePoint databases, you must manually run the PSconfig utility. To run the utility:

  - Open an Administrative command prompt. 
  - Change directory to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN 
  - Run:
    PSConfig.exe -cmd upgrade -inplace b2b -force -cmd applicationcontent -install -cmd installfeatures

Wait till the configuration wizard finishes all updates and then you will be able to backup and restore your site collection with no issues...


Hope this helps.

Wednesday, November 02, 2011

Secure Store Service Error in SharePoint 2010 : Secure Store Service is not accessible

Hi All,

I have been noticed that one of our SharePoint 2010 installation has a problem when trying to click on Secure Store Service in central administration.

The problem is : Try to click on SSS service in Central Administration and you will get an error page.

How to check the exact problem: I checked the event log in my server and i found the following error:

The Secure Store Service application Secure Store Service is not accessible. The full exception text is: The HTTP service located at https://PORTALURL/b04c52908ae5479596745e86b13875d4/SecureStoreService.svc/https is too busy.

To cause of the problem: the SSS service is not provisioned correctly, and to fix it:
Select the secure store service and from the ribbon click on properties. Verify the information that you have and click on OK. this action will provision the required DB and other service application configuration for this service.

This action will take around 5 minutes or depends on the performance of your server.

You don't need to re-install or run the configuration wizard for this fix.

Hope this helps :) Happy SharePointing...


User Profile Synchronization in SharePoint 2010 Facts

Hi Folks,

I'd like to share with you some important facts about User Profile synchronization in SharePoint 2010. SharePoint 2010 has User Profile Service application which provides a two-way synchronization for users/groups from your directory services or any external system in sync with SharePoint 2010 users and groups profiles.

Terms used in this post:
* UP: User Profile.
* UPSSA: User Profile Synchronization Service Application.
* UPSS: User Profile Synchronization Service.

Here are some facts you should be aware when you start planning for user profiles in SharePoint:
1) SharePoint 2010 has User Profile Service Application which manage the synchronization process between SP and AD or any external system that contains users & groups.

2) SP 2010 provisions a version of Microsoft Forefront Identity Manager to participate in synchronization.

3) UPSSA can only have one user profile synchronization service.

4) A UPSS is associated with connections and mappings.

5) We divide connections in UPSS into two types: connections to directory services, and connections to business systems.

6) When you setup a connection in UPSS to connect to directory services, You specify which containers to be included in the synchronization. You can specify filters to exclude service or disabled accounts.

7) Mapping is a step to map SharePoint user profile fields to directory services/external system user profile master data fields.

8) Upon each synchronization, SharePoint deletes SP users who have been deleted from Directory services.

9) Upon each synchronization, SharePoint add and updates SP user profile's fields as configured in the UPSS.

10) IMPORTANT: If you have multiple directory services, each directory services MUST provide unique users. You can't synchronize a single user with multiple directory services.

11) IMPORTANT: You can populate properties from any existing business system. You can't create new user profiles from an external system, and you can't write data back to a business system.

12) To synchronize properties from external system, First you should create an external content type to bring data from the business system into SP 2010. Then you will be able to synchronize these users into SP.

13) You should have a key field to be used for mapping between SP user profiles and your external system. You can use employee's work email as the identifier of your external content type. In this case, SP will synchronize information which matches employee's email to be captured in your synchronization records.

14) You can build a custom solution using SP object model to create user profiles in SharePoint.

Hope this helps.


References:
1) Profile Synchronization overview in SP 2010:
http://technet.microsoft.com/en-us/library/gg188041.aspx
2) BCS Overview in SP 2010:
http://technet.microsoft.com/en-us/library/ee661740.aspx



Unable to use SQL Server because ASP.NET version 2.0 Session State is not installed on the SQL server. Please install ASP.NET Session State SQL Server version 2.0 or above.

Hi Folks,

I was deploying an asp.net website which configured to store session data in a custom databases in SQL Server 2008. After i scripted the whole DB and moved it to a new server and after deploying the website and try to run the application, I was getting this error:


Unable to use SQL Server because ASP.NET version 2.0 Session State is not installed on the SQL server. Please install ASP.NET Session State SQL Server version 2.0 or above.


My web.config configurations:

 <system.web>
 
      
      <sessionState
       mode="SQLServer"
       cookieless="false"
       timeout="20"
       sqlConnectionString="data source=SERVERNAME; initial catalog=MYDB; user id=mostafa; password=mostafaelzoghbi" 
       allowCustomSqlDatabase="true"
      />
      
       system.web> 


Since this error message is misleading, you don't need to run aspnet_regsql command since i was using a custom database and all stored procedures, tables, custom user data types and DB objects have been scripted and deployed too. the cause of this error if you didn't give enough permission to the user that accesses the database. User should have execute permissions or grant dbo.owner to it.

Hope this helps.

Friday, October 28, 2011

Best Practices for SQL 2008 in SharePoint 2010 Farm

Hi All,


In this post i'd like to share with you best practices for SQL 2008 R2 in SharePoint 2010 farm and the operations and configuration that need to be taken in place when installing, configuring and administrating SharePoint 2010.


1) Designing SQL 2008 servers in your SharePoint 2010 farm: When you decide which topology you will have in your SharePoint 2010 farm, the SQL Server 2008 should be in a dedicated server and shouldn't be having any other role in your SP 2010 farm.


2) After installing SQL 2008 R2, you shouldn't go and start SP 2010 installation with SQL 2008 R2 Default configuration, here is what you need to revise:
    a) Don't enable auto-create statistics on SQL Server that's supporting SharePoint farm. You can enable/disable this feature on the DB level, here is the command you need to execute in your DB:



ALTER DATABASE dbname SET AUTO_CREATE_STATISTICS OFF

     b) Set Maximum degree of parallelism to 1 for all SQL server instances that host SP 2010 DBs. The value behind this is that each request is served by a single SQL Server Process.

sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'max degree of parallelism', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO

3) Secure and harden your SQL 2008 server DB by blocking the default ports and block default SQL server default ports. Check Out ref #3.

4) Use SQL Server 2008 backup compression feature to speed up the SharePoint backup. This feature is available in SQL 2008 Ent. edition and SQL 2008 R2 standard edition too. This feature significantly reduces the backup file size and shipped logs. The only consideration you should know that this feature consumes more processing time that might affect the performance of your DB server if the server doesn't properly planned to have enough processing power. This feature you enable it on the server level under Database settings, you will find a check box to use DB compression.



Hope this helps and let me know if you have any additional notes or concerns.


Refereces:
1) Auto-Create Feature in SQL 2008:
http://blogs.technet.com/b/rob/archive/2008/05/16/sql-server-statistics.aspx
2) Set the maximum degree of parallelism in SQL 2008:
http://msdn.microsoft.com/en-us/library/ms181007.aspx
3) Harden & Secure SQL 2008 server DBs:
http://technet.microsoft.com/en-us/library/ff607733.aspx
http://technet.microsoft.com/en-us/library/cc262849.aspx
5) SQL 2008 Best practices in SharePoint 2010 Farm:
http://technet.microsoft.com/en-us/library/hh292622.aspx


Regards,
Mostafa Arafa
http://twitter.com/mostafaelzoghbi

Wednesday, October 05, 2011

Fix it: IIS Manager doesn't update web.config when you add HTTP Response headers in Azure

Hi All,

I was trying to disable Silverlight caching in IIS 7, and when i deployed my solution to Windows 2008 Ent. in Windows Azure. Every time you click on the xap file that i need to disable caching on it by checking expire web content immediately after i clicked on Set Common Headers link on the right pane, the web.config is not being updated at all. but this works on my local IIS.

I ended up with adding this attribute that has been added my local IIS to web.config and deploy it so i don't need to do this every time i perform a deployment.

<system.webServer> 
     <staticContent> 
      <clientCache cacheControlMode="DisableCache" /> 
    <staticContent>       
<system.webServer>


To disable caching in Silverlight "xap" file from IIS, Here is the article that i'm referring to:



Hope this tip helps.

Regards,Mostafa Arafatwitter.com/mostafaelzoghbi

Friday, August 26, 2011

Error occurred in deployment step 'Activate Features': 0x800700570 0

Hi Folks,

While i was developing a feature receiver in SharePoint 2010, I was trying to deploy my solution using VS 2010 and i was getting this error:

Error occurred in deployment step 'Activate Features': 0x800700570 0

And this happens actually when VS 2010 was trying to activate the feature, So i expected the problem from the Feature receiver i have that has code in "FeatureActivated" method. so, to be able to debug your feature receiver and exactly point the problem which throws the error while activating your feature, Do the following:

On your SharePoint Project, From Solution Explorer, Open project properties and change the following:
Active Deployment Configuration from Default to No Activation.

The point behind this, the feature will be deployed but not activated. So, you will be able to deploy and the debugger process is attached in VS then when you start activating the feature you will start debugging your feature receiver and fix the issue that you have in your code.

Hope this helps.


Regards,
Mostafa Arafatwitter.com/mostafaelzoghbi