Introduction to Office365 by Palestinian SharePoint User Group

June 3, 2011 at 12:14 AM | Posted in Office, Office365, Palestine, Palestine SharePoint User Group, SharePoint, SharePoint 2010 | Leave a comment
Tags: , , , ,


Wed 1,6,2011 Palestinian SharePoint User Group organized an event about the new cloud product introduced by Microsoft lately Office 365 . I was honored to give that session and present an  introduction to Office 365. The event was hosted in Experts Training Center at Ramallah , and sponsored by SteadyPoint Company .


I spoke about the value of Office365 , including SharePoint Online , Lync Online , Exchange Online , and Office Pro Online value in the cloud and how can it help organization improve their work and save cost as well. Then jumped to speaking about Why should I move to cloud , put the pros and cons for such decision. Moved then to the subscriptions , features , and implementations cycle for Office 365.

The number of attendance attended the event are about 35 people , as the lab was pretty full. The audience were very excited about such product.

The event slides are shared at slideshare site . Download here

Some links and resources about Office 365 that could be useful :

Pictures that were taken by the amazing Rand Khalaf :

 253863_215678545129061_100000607508528_702653_61093_n 250063_215678565129059_100000607508528_702654_373784_n 247001_215678595129056_100000607508528_702655_5753139_n 255011_215678608462388_100000607508528_702656_1614751_n 249873_215678615129054_100000607508528_702657_3018042_n 250829_215678628462386_100000607508528_702658_7605557_n 250778_215678648462384_100000607508528_702659_6367384_n 251653_215678678462381_100000607508528_702660_3202751_n 248065_215678711795711_100000607508528_702661_5456516_n 248642_215678721795710_100000607508528_702662_3797261_n  248578_215678751795707_100000607508528_702664_3023623_n


How to enable anonymous access to InfoPath Forms Library SharePoint 2010

May 13, 2011 at 6:49 PM | Posted in SharePoint | 9 Comments


First of all the idea of enabling anonymous access to infopath forms on Internet sites  is not recommended at all , as it produce security risks. The anonymous access for infopath forms libraries in SharePoint 2010 is disabled by design of Microsoft SharePoint team , thus it’s not a bug it’s the correct behavior. But as you know sometimes requirements can be pain in the ass.  Don’t say I didn’t warn you.

First you need to follow more two steps to make this happen , first you need to change or let’s workaround the permissions of the library , then you need to add custom code to the infopath form submit button and deployment to InfoPath Services on central administration .

Change the permissions of anonymous users on InfoPath Forms Library :

If you go to the infopath forms library permissions and press on the anonymous ribbon button above you will see the following :



As you see that the delete, add , and edit checkboxes are grey and disabled. Thus first you need to copy the url of the popup page like this


Copy the url and paste it on new tab in your browser and change the DOCLIB word with LIST like this



Now the add ,edit , and delete items will be available for checking . Check on add checkbox or/and edit .


NOTE : if you go back to the library and click permissions and anonymous button you will still see the add, edit , and delete items grey and disabled and unchecked although you have checked them. That’s ok , as if you change the DOCLIB with LIST you will see you changes. No worries here.

Preparing you InfoPath form to write custom code with Server Administration :

Open you infopath form that will be available to anonymous users , go to options of the form.



Then select the “Secuirty and Trust” tab on the dialog , and uncheck the “Automatically determines Security Level “ and chose the last option “Full Trust”



Then go to the compatibility tab on the same dialog and make sure that the “Form Type” is Web Browser Form  then  enter your site url on the box of server validation and check the checkbox under it


The press ok for the dialog . Now we finished preparing the infopath for programming and custom code .

Write Custom code for the Submit button of InfoPath Form

Find your submit button and right click on it . Click the properties .


The button properties dialog will show up that contains several tabs . Make sure that you are under general tab , and the action selected is “Rules and Custom Code” . Then click on “Edit Form Code”  ( Please note that you need “Visual Studio toots for Applications” to be installed)



Then Visual Studio project will open for you and it will add the submit button event handler automatically. Your code will be added there but before this we need to add the SharePoint dll as reference to the project . Go to references of the project right click and add reference , popup will show up .Browse your files to the SharePoint Server 14 folder , and then go to BIN and chose the “Microsoft.SharePoint.dll” and add it to the project.



Now refrence the SharePoint dll on the above side of the class and put “using Microsoft.SharePoint;” . Now let’s go to the button event handler and write our code there , we need to add two lines of code

SPSecurity.RunWithElevatedPrivileges(delegate(){ this.Submit(); });

Now we added our code to the form it’s time to build our solution or visual studio project then close it.



Now we are done with the custom code . Go back to the form and publish it to the Central Administration and activate it to your site collection and use the Form content type added and add the form to the library.

Note : Please make sure that the submit button have no “Sumit “ on it’s rules as the code will do the submit instead. If there is rule named “Submit” the custom code will not be executed.

You can go now and try the infopath form for anonymous users. It should work.


Don’t say anything to me if you have been hacked through this form , I warned you that it will introduce security risk .




Microsoft PalTech Days 2010

January 21, 2011 at 3:41 PM | Posted in SharePoint | Leave a comment


2 May 2010 till 5 May 2010 – From my old blog

For the first time in the West Bank, Microsoft, brought together over 650 university students, entrepreneurs and IT specialists in government and the private sector to gain access to and exchange knowledge with international speakers and experts in the latest Microsoft technologies. The Palestine Technology (PalTech) Days took place respectively at the Grand Park Hotel in Ramallah, the Arab-American University in Jenin, and the Palestine Polytechnic University in Hebron.
A team of eight experts from Microsoft/Jordan and two experts from the United States and United Kingdom traveled to the West Bank to provide training and advice on the latest Microsoft software. The director of Micro-soft’s Business and Marketing Organization in the Middle East and Africa, Naseem Tuffaha, conducted a Cloud Computing session. His training was followed by other sessions on SharePoint and Silverlight. “I am excited about the Palestinian ICT sector because IT is a game of intellectual property, and the skills and capabilities of the population are quite high. I see a lot of energy, people determined to make better use of their skills,” said Tuffaha.
SharePoint expert and strategist, Paul Swider from the Microsoft Partner Alliance, On-Click Solutions, was pleasantly surprised by the Palestinian outsourcing sector. “I am excited to share this information with my colleagues and clients in the United States and will look forward to any opportunity to work with the Palestinian community on software outsourcing opportunities,” confirmed Swider.


Organizing such event was not easy for the Palestinian Community members , as it took allot of effort to bring this up and get it off the ground. Palestinian SharePoint User Group was launched by the help of Microsoft , Paul Swider , and Soud Eirqat. We started the launching by Introducing the SharePoint and communities through group session conducted by Paul , Soud and myself , we discussed the importance of SharePoint and communities in the first day in Ramallah. The second day in Jenin , we also had the same sessions for the students . The launching for the Palestinian SharePoint User Group was great in Jenin , as we explained communities and SharePoint .



Here are some pictures :


30963_426478107316_308896577316_5853853_5910001_n 30963_426478147316_308896577316_5853860_1441140_n 30963_426482487316_308896577316_5853941_1364744_n 30963_426482492316_308896577316_5853942_7796989_n 30963_426482597316_308896577316_5853955_3928518_n

Assign Permissions Programmatically to SharePoint List Folder or item

November 5, 2010 at 5:19 PM | Posted in Development, Security, SharePoint, SharePoint 2010 | Leave a comment
Tags: , , , ,


Sometimes when you are writing migration code or custom webpart or maybe integrating SharePoint sites with external LOBS , you will need to assign permissions programmatically through accessing the Site users and assign some pre-defined permissions level to specific users.

The below code will get the Users of the SharePoint site and break the inheritance from the parent  :

Note : “CurSpFolder is the SPFolder object that I want to assign the permission to it, it can be library or folder . If you want to assign to item level e.g Document in document library you can use the SPFile object instead of SPFolder”


   2:  //Get the User to assign thier permissions 

   3:  SPUserCollection SpUsers = spWeb.SiteUsers;

   4:  SPUser sPUser = SpUsers[DomainUser]//DomainUser is the AD user you want to assign;

   5:  SPRoleAssignment SpRoleAss = new SPRoleAssignment((SPPrincipal)sPUser);

   6:  //Break the permission inheritance from the parent to have unique permissions                   

   7:  CurSpFolder.Item.BreakRoleInheritance(true);

Now assign specific user (that exist in the SP Site) to custom permission level

   1: //"PermAll" is custom Permission Level that I created before

   2: SpRoleAss.RoleDefinitionBindings.Add(spWeb.RoleDefinitions["PermAll"]);

   3: CurSpFolder.Item.RoleAssignments.Add(SpRoleAss);

Get the site collection size

November 5, 2010 at 3:40 PM | Posted in Development, SharePoint, SharePoint 2010 | Leave a comment
Tags: , ,


I thought that something like getting the size can be out of the box in SharePoint 2010 , but unfortunately it’s not . So I wrote a small block of code to get the whole size of the site collection including lists, libraries , sites , items and documents . This code gets you the size of everything as it goes through all the levels.



   2: /// <summary>

   3: /// Get the Site size including all the lists

   4: /// </summary>

   5: /// <param name="web">Site Object</param>

   6: /// <returns></returns>

   7: private static long GetWebSize(SPWeb web)

   8: {

   9:     long total = 0;


  11:     foreach (SPFolder folder in web.Folders)

  12:     {

  13:         total += GetSubFoldersSize(folder);

  14:         total += GetFolderSize(folder);

  15:     }


  17:     foreach (SPWeb subweb in web.Webs)

  18:     {

  19:         total += GetWebSize(subweb);

  20:         subweb.Dispose();

  21:     }


  23:     return total;

  24: }


  26: /// <summary>

  27: /// Get the list folder Size (including items)

  28: /// </summary>

  29: /// <param name="Folder">Folder Object</param>

  30: /// <returns></returns>

  31: private static long GetFolderSize(SPFolder Folder)

  32: {

  33:     long total = 0;


  35:     foreach (SPFile File in Folder.Files)

  36:     {

  37:         total += File.Length;

  38:     }

  39:     return total;

  40: }


  42: /// <summary>

  43: /// Get the sub folders size including the items inside

  44: /// </summary>

  45: /// <param name="SubFolders">SubFolder object </param>

  46: /// <returns></returns>

  47: private static long GetSubFoldersSize(SPFolder SubFolders)

  48: {

  49:     long total = 0;

  50:     foreach (SPFolder SubFolder in SubFolders.SubFolders)

  51:     {

  52:         total += GetFolderSize(SubFolder);

  53:     }

  54:     return total;

  55: }

Hope it helps.

SharePoint Saturday Palestine : Huge Community Success

October 16, 2010 at 12:44 AM | Posted in Palestine, Palestine SharePoint User Group, SharePoint Saturday | 1 Comment
Tags: , ,


Before three weeks the Palestinian SharePoint User Group organized the first ever SharePoint Saturday in Palestine and second in the Middle East. The idea started in late April before  the Microsoft PalTech Days Conference , the conference where we launched the Palestinian SharePoint User Group, this SPSPal was in the PSUG plans for year 2010 and in the launching ceremony we discussed SharePoint Saturday Palestine .

First challenge was having good Speaker Panel, so we started contacting Paul Swider , Joel Olsen , Michael Noel ,Mohuand Omar,Michael Lotter  and Mohammed Saleh and other 5 speakers to come here to Palestine. But the guys were fantastic as they were more than excited to come to Palestine and share their SharePoint knowledge and helping the SharePoint community out . We agreed on 25 Spet as the date of the event. The second challenge was sponsorship, we started contacting several international foundations in Palestine to sponsor an event with several tracks and good venue , but unfortunately we didn’t succeed with them. The second option was targeting the Private companies in the ICT sector , I contacted about 25 companies (SharePoint interested companies  ) some of them sent deny email and other didn’t respond at all and the little started asking and expressing some interest.  First company that we agreed with on sponsorship was Business Intelligence Technologies Co the biggest SharePoint team is in this company , and they agreed to pay the Platinum Sponsor package , that was great step for us , as the hope is bigger now . By this sponsorship , we covered the Marketing Material , and paying part of the speakers Travel Accommodation , and the speaker dinner. The now we need the launch and venue as least to get this event off the ground . NIIT and PECDAR was very interesting in helping us in this event , as they are conducting 22 day SharePoint 2010 Training the biggest SharePoint training ever. They offered the venue sponsorship and we it was the launch sponsorship , and we agreed with Mrecy Corps about sponsoring the launch just a week before the event ( I know , that was close ) .


In the Palestinian SharePoint Community we struggled to make this event happens and made it real , and many people in Palestine was doubting that we can make it . Even in the world SharePoint community was surprised that country like Palestine having SharePoint Saturday. We are happy that such event was reflecting very good image about the ICT sector in Palestine .

Actually when we open the registration three weeks before the event , we were so surprised that 240 registered in 36 hours and yeah it was sold out so early .In addition to 100 in the waiting list, the people that showed up was 200 .  Such thing has reflect how much the people here are interested in such an event , it increased the challenges that people was expecting so much from this event . The surprising number that about 80 % of the people registered are from the ICT sector in Palestine and the other was students.  Full Report


We started the with Speaker Panel discussion , introducing SharePoint 2010 to the people specially the new ones to SharePoint every speaker was asked 2 questions .


The event was fantastic the speakers have done a great sessions , the people was amazed by the sessions and the information they gained .Maybe the venue was a little bit hot , well next time will make sure to have it in Winter or with AC. Something worth mentioning is Michael Lotter and myself made interview with the Palestinian TV about SPSPal.

61733_449929873408_652448408_5326589_1840284_n IMG_0535

My session went great , as I presented the Business Intelligence in SharePoint 2010 . The beginners was not expecting that SharePoint has such BI capabilities like the PerformancePoint services , Excel Services , and Reporting services. People was asking allot about reporting and KPIs.

62719_130879143627349_115104495204814_164256_724257_n IMG_0555

Saturday night we went to Tropicana Restaurant  and the food was very very good . We really enjoyed and had fun with the 25 people in the dinner from the ICT sector and SharePoint Community and PalDev as well.

IMG_0561 IMG_0563

In Sunday we went with Paul Swider, MO, Michael Noel , Joel Olsen ,Michael Lotter  and Huthaifa  to Jericho (Dead Sea) , Bethlehem (Church ) , and Hebron. That day was amazing day , the guys enjoyed traveling through Palestine , as I enjoyed it .

IMG_0582 33458_436171392913_719377913_5310560_6512195_n


Finally I would like to thanks the wonderful community in Palestine for making such an event huge success . And also all the sponsors , people and speakers that made this dream true.

SharePoint 2010 Service Applications Architecture Tips and Details

August 27, 2010 at 2:37 AM | Posted in Uncategorized | 2 Comments

The last days I have been working on some new SharePoint 2010 project , and as you know that one of the first steps in the SharePoint project you need to design and architect farm topology and it’s configuration. One very important stage at the project architecture is the Service Applications Architecture , I finished working on it and I had discovered some details that can be considered as limitations and other as cool features and I will share it here with you. And as always in Service Applications Architecture IT DEPENDS !


So Service Applications ‘provides a resource that can be shared across sites within a farm or, in some cases, across multiple farms.’ as TechNet define it , the architecture is summarized above. Here are the some details and tips that can help you in architecting and configuring  the Service Applications :

  1. The services that can be shared amongst multiple farms  are User Profile , Search , Managed Metadata , Business Data Connectivity ,Secure Store Services and Web Analytics. The other services  like Excel Service , Access Service , Project Server , Performance Point Service … etc cannot be shared.
  2. You can configure your Web Application to consume services from different applications and also you can configure the service to be used locally.
  3. Deploying multiple farm services can be done using three steps , first exchange the trust between the farms , second publish your service , and third create connection to remote farm then service.
  4. Although you create different instances of the same service using different names if that suites your architecture .
  5. Services that access external data need to have special consideration. The services are Excel Services , PreformancePoint Services , InfoPath Services and Visio Services . The considerations are the external data need to be within the same domain if the access is done by delegated Windows identity ,and  as alternative you can use Secure Store Service stores . there is no third option here.
  6. The service applications are deployed within single IIS WebSite , you cannot change such thing . But the good thing that you can customize the configuration of  groups for it and the association of web applications with groups.
  7. Creating multiple groups within your Service Applications can make it complex and hard to manage , you should plan and architect it carefully in the enterprise farms.
  8. Service Groups can be used to logically scale for performance, security and scalability. if it’s planned and architected  in appropriate way .
  9. Architecting service farms has some consideration , If it’s required to have Multi-Tenancy , you should think about creating custom groups that serve your need. For example you can create custom group for publishing portals Application pools and web application that use Managed Metadata , Search , User Profile,  Business Data Connectivity and Secure Store service.  Other issue can be data sharing amongst farms (Centralized based) , this way is easiest way to manage and implement ,also the resources can be used more efficiently in the farm.
  10. You can isolate service applications by deploying them to separate application pools to achieve process isolation. (Multi-Tenancy)
  11. You can isolate the service data by using the partitioned mode using PowerShell in hosted environments. And not all the services support  partitioning.
  12. You can develop your own Service in Service Applications , it has built in support for building applications using WCF .
  13. Enough today , or you can add it by posting your feedback.



My session for PSUG – Enterprise Document Management in SharePoint 2010

August 6, 2010 at 3:26 PM | Posted in Uncategorized | 3 Comments

Last week I presented a session for the Palestinian SharePoint User Group about Enterprise Document management in SharePoint 2010 ,the session went amazing , allot of discussions and the attendance was amazed by the new features of SharePoint 2010 in EDM , specially the Content Organizer , Document Sets , and Metadata services. The session attendance were about 50 people from Information workers , Developers , IT Pros , Students , and project managers.
I uploaded my slides on , you can download it here. Enterprise Document Management Sharepoint2010 – PSUG
As I promised here are some useful links for topics that I represented in my session .
SharePoint 2010 Content Organizer Part 1 – A Cool New Feature for Managing Your Content
SharePoint 2010 Content Organizer Part 2 – The Rules Engine
SharePoint 2010 Content Organizer Part 3 – The Drop Off
How Do I: Use the SharePoint 2010 Managed MetaData Service?
Managed metadata service application overview
Plan your SharePoint 2010 Content Type Hub carefully
SharePoint 2010 Document Sets: Organize Related Documents for Project Based Work



39501_418607312475_514872475_5007391_2435001_n 40336_418605462475_514872475_5007371_1101176_n 40582_418605372475_514872475_5007366_3725938_n 40582_418605377475_514872475_5007367_2359216_n

Publishing Portal Site Collection SharePoint 2010 by default has two templates for subsites. How to show all the templates ?

July 23, 2010 at 2:34 PM | Posted in Uncategorized | 3 Comments

I was creating Site collection with the Publishing site template , and everything was going alright until I needed to create a site under this site collection with Document center template , and I was surprised that the only templates available for new sites are only two : Publishing Portal & Enterprise Wiki .

Thus first thing I did was checking the site admin settings looking for making the sites available.  Looked for the Look and Feel settings , and then clicked on Site Templates & Page Layouts . Then changed the Sub Sites Templates section setting there to enable showing all the site templates and using them. Down is screen shot of this setting . In MOSS 2007 that wasn’t like this as the defaults was enabling all the templates , still wondering why Microsoft did this .


Hope that helps.

Downloadable SharePoint 2010 Papers for July 2010

July 18, 2010 at 12:21 AM | Posted in SharePoint 2010, SharePoint Training | 3 Comments

This month Microsoft has released allot of documents that is related to SharePoint 2010 from Development , Administration , and Architecture perspectives . BI , Governance  , Upgrade , Deployment , Administration kit , and development guidance papers.  I have collect all of these papers with the download URLS .

Must read documents and papers by Microsoft for SharePoint 2010 .



Next Page »

Create a free website or blog at
Entries and comments feeds.