SharePoint Server MVP Renewal – 2012



It’s an honor that I have been selected again for the fifth year by Microsoft to receive the MVP award for 2012 in SharePoint competency.

Yesterday, I also received a mail from my MVP lead saying that I’ve been awarded with a custom disk to add to the MVP Crystal Wedge Award, this milestone disk was provided for achieving the MVP award for 5 years straight.

I would like to thank Microsoft and all the community fellows.

If you are interested in learning more about the MVP Award Program, check the following program links:

  1. Microsoft MVP Award Program.
  2. About MVP.
  3. How to become an MVP.

And finally congratulation for all the new and renewed MVPs for this year.


I’m speaking at Microsoft TechDays 2012 in Gaza










I’m very excited that I have been invited to speak at Microsoft TechDays 2012 in Gaza.

It’s the first official Microsoft event ever in Gaza, I’ll deliver a couple of sessions at two universities.

The first topic is my favorite cloud computing session “Understanding Cloud Platforms: A Rational Comparison” , and the second topic is “Composite Development: A New Paradigm in Software Development Productivity” which is about composing software’s using the modern tools in SharePoint Development Platform, Visual Studio 2010, and Visual Studio Light-Switch.

This Two-Days event will be launched on the 14th of March at Islamic University of Gaza (IUG), and the next day will be at Al-Azhar University, 4 More speakers will be there:

Naseem Tuffaha: General Manager for Microsoft MEA Business Marketing Organization.

Ayman Al-Dahleh: Senior Development Manager at Office Team.

Husni Khuffash: Microsoft Jordan Country Manager

Ali Nimer: Windows Phone and SharePoint Products Unit Lead at MASADER Technologies – Jordan.

I’ve never been to Gaza before and I can’t wait to meet everyone there!

SharePoint 2010 For Students–Baby Steps(6)


Click here for the complete series

<Update 8/5/2011> Just added more tutorials and links to the post </Update>

SharePoint Installation

In previous posts, hardware and software pre-requisites were explained in addition to illustrating some basic concepts such as: What is SharePoint? and the SharePoint Wheel.

Now it’s time to do the installation and configuration, and believe me it’s a very important phase of your journey, if you are planning to become a solid SharePoint Administrator, you should know a lot of stuff in this field; The Administration and Configuration.

Anyway, Before starting with the installation, in our case: the baby steps, we need to take some decisions based on your hardware specifications and specifically the RAM availability because you know what? SharePoint is a huge product, it could be installed on a PC with decent CPU and 3.0 G.B of RAM, and it may need 16 G.B of RAM. in this post, I will talk about the choices you have and how to determine the best option for you.

RAM Availability and OS selection:

In the first post, I’ve mentioned the supporting Operating systems, here below you will find a matrix that would help you in taking the decision:


Considering the following:

  1. 2.0 G.B and 3.0 G.B of RAM is not officially supported by Microsoft, 4.0 G.B of RAM is the minimal requirement to run SharePoint Server 2010 For Development, and in Production, you will need more (8.0 G.B of RAM is the minimum).
  2. If you decided to go with Windows Vista/ Windows 7, you will loose the functionality of the Server edition, because There are two versions of SharePoint, the SharePoint Foundation, and the SharePoint Server. SharePoint Foundation is the free version of SharePoint, and you can start your journey using it, it’s the base of the main product, and in both cases you are going to learn the foundation.
  3. If you decided to install SharePoint over 2.0/ 3.0 G.B of RAM then you have to optimize SharePoint in order not to take so much of the memory and the processing power, we will talk about that later.
Official SharePoint Requirements:

Here is the links for the SharePoint official requirements from Microsoft:

  1. Microsoft SharePoint Foundation 2010.
  2. Microsoft SharePoint Server 2010.

It’s always good to keep in mind these links, they are very accurate, and helpful, so mark them in your favorites list.

Installing SharePoint on Windows Vista and Windows Server 2008:

As I mentioned on the first post, and I will repeat it again, I prefer you to start your learning journey with Windows Server 2008 R2, which is the latest version of Windows Server Operating system from Microsoft, but just in case if you want to try Vista or Windows Server 2008  Here are the complete instructions to do that:

Setting Up the Development Environment for SharePoint 2010 on Windows Vista Article from MSDN Library.

Installing SharePoint on Windows 7:

When it comes to Windows 7, Microsoft guys made our life easier by developing this tool “SharePoint 2010 Easy Setup” basically this tool is like a wizard, that will do everything automatically, you don’t need to worry about any thing in the installation, all you have to do, is just to download this tool, and run it, and it will take care of everything including the downloading of all the needed software’s!

If you’d like to read the steps of downloading and running the script go here, if you don’t like to read, just watch this video it will walk you through all the required steps.

It’s a perfect tool, just download it from here and start the installation process.

Installing SharePoint in Windows Server 2008 R2:

I would recommend to watch this video by Todd Klindt, SharePoint MVP fellow, he is illustrating the installation process in a very simple way.

And here is another blog posts series about the installation process only.

I can’t install SharePoint, and I really need to start learning it:

Well, don’t worry in this case, all you have to do is to have a decent internet connection (More than 1.0 Mb) and Microsoft will provide you with an online Virtual Machine with a pre-installed SharePoint Server, that you can access it anytimeSmile:

Microsoft Virtual Labs: SharePoint Server 2010.

More tutorials on SharePoint Installation:

Here below some additional perfect tutorials that will help you a lot in the installation process:

Understanding ALM – Session Recap


First, thanks to everyone who attended Jordev session about “Understanding ALM And Custom Development”, here are some links and resources that will help you get along with this subject:

  1. David Chappell White Paper : “What is ALM ?”
  2. JordanRuns Central Site.
  3. Microsoft ALM Tools Site.
  4. Microsoft Jordan Tech Blog.
  5. How Do I? Videos for Visual Studio 2010.

SharePoint Server MVP Renewal For 2011


It’s an honor that I have been selected again by Microsoft to receive the MVP award for 2011 for the fourth time.

I would like to thank Microsoft and all the community fellows.

If you are interested in learning more about the MVP Award Program, check the following program links:

  1. Microsoft MVP Award Program.
  2. About MVP.
  3. How to become an MVP.

And finally congratulation for all the new and renewed MVPs for this year.

SharePoint 2010 For Students–Baby Steps(4)


If you find this post useful, check out the other parts here.

SharePoint Technologies Dependencies

In previous posts, we explained how to determine the hardware pre-requisites of SharePoint installation, in addition to some fundamental concepts about SharePoint and the SharePoint workloads (Wheel).

In this post I am going to explain the software pre-requisites, concepts, components and how it’s related to the process of building experimental environment that you will start journey from. SharePoint installation is confusing somehow, especially for the beginners because it requires a good understanding of some networking, infrastructure components and concepts that SharePoint really depends on.

Software and Concepts Pre-requisites:

I am going to explain some of the basic concepts that every SharePoint engineer need to have a background about, but without digging in details, in order not to loose the purpose of this series.

  • Microsoft Windows Server: Windows Server is Microsoft’s operating system for Servers, – That doesn’t mean you cannot install it into a PC/laptop hardware – and it consists of various services and components that provide advanced networking features. Read More

  • Windows Domain and Domain Controller (DC): Imagine Windows Domain as a group of computers and devices (printer, scanner,etc.) that’s may operate on Windows OS, grouped together, managed by a central place which is called Domain Controller (DC), usually the network administrator is responsible of setup, configure, and administer the DC, but in our case you have to do it by yourself. Read More
  • Active Directory (AD): AD acts as a data repository that the domain controller registers the information inside, it’s simply a database that the administrator and other network components can store information inside; such as: user names and password, IP addresses, Organizational structure of the company (Departments, Who’s the manager of who), etc., This technology is very huge, and there is some experts that have dedicated their career for Active Directory. SharePoint Installation may use Active Directory, so you have to read some information about it. Read More 
  • image
  • Internet Information Services (IIS):IIS is a Web Server application developed by Microsoft, and it comes as a part of Windows Server Components, IIS is responsible for hosting the web sites, managing the requests and responses from and to the clients (I mean by client here browsers), in order to get a clear idea of web server, you need to get familiar with the concepts of HTTP protocol. Read more about HTTP here, Web Server, and IIS.

  • Windows Registry(regedit): Win Registry is representing the database that Windows and other software’s depend on to store configuration and some settings that may include the drivers Setting, personalized settings, etc. Read more here about windows registry definition, and here is a tutorial that teaches you how to deal with it.

  • .NET Framework (DotNet Framework):  a large group of libraries that every Desktop/Web Developer needs in order to develop applications that are running over Windows Technologies. Read More

  • Microsoft SQL Server: The competing Microsoft Database technologies against Oracle Database, IBM DB2 Database, and MySQL. SharePoint is very dependent on SQL Server and it stores almost every thing including contents and some customizations, so you need to have an idea about it. Read More

  • Microsoft Visual Studio 2010 (VS2010): VS is the development environment for .NET platform, you can imagine that VS is like editor tool for .NET developers, and SharePoint – as you can guess – is built on top of .NET Technologies, so if you are planning to become a SharePoint developer, you will definitely need to play with Visual Studio. Read More
  • Intranet: Intranet is the opposite of internet, which means private network instead of public network, you can use the term Intranet for the internal network inside your university, or the private network inside companies and organizations that are used to share files and data. Read More
  • Out of the box (OTTB): A term used to describe the ability to use features and/or function in SharePoint without the need to write a single line of code in order to compose a new feature.
  • No-Code Solution: A term used to describe the artifacts of OTTB features combined together to solve a business problem/requirement.


SharePoint Installation Dependencies:

Now after spending sometime in reading about the mentioned technologies, you will be ready to understand what’s going on here and why these components are really important to understand.

To make it simple, I will list the relation between SharePoint and the mentioned technologies into points as the following:

  1. SharePoint is a Server-Based Technology, to be able to use and get benefit from all the features, you must install it over Windows Server. Although you can install it in Windows 7 and Windows Vista, but it’s preferred to start your learning journey from Windows Server.
  2. Creating Intranet sites in SharePoint is as easy as simple clicks, in order to run a SharePoint Intranet site, usually you will need some Windows Server feature such as Domain Controller to control and manage your network, in addition to the Active Directory to store system users’ information and credentials, and to determine the permission for the Intranet users, although you can do this without AD, but it’s preferred to try it out, and get used to it. many SharePoint customers are depending on the Active Directory.
  3. SharePoint is a Web-Based technologies – I mean here it lives in browser – so it needs a web server, which means IIS (the web server component of Windows Server). There is also an IIS component in Windows 7 and Vista, but it doesn’t provides the full functionalities as Windows Server.
  4. SharePoint is built using a web technology called ASP.NET (Active Server Pages) which is dependent on .NET Platform and technologies, without .NET Framework, SharePoint cannot be installed. .NET Framework became part of Windows Server 2008 R2, so you will not need to download the .NET from the web. In order to run ASP.NET you will need a web server technology that can host this technology and allow the applications to get use of it, in our case the IIS is playing this role.
  5. SharePoint is using SQL Server to store the contents and customization, for example; all pages that’s created by the user are stored into the SQL Server in a special database called “Content Database” in addition to that SharePoint is depending on another Database called “Configuration Database”, which is used in storing all the configurations of SharePoint including the email notifications, some security settings, services, and features.
  6. SharePoint is very extensible, it’s like plastic; you can shape a lot of things and  into different forms, Customization of SharePoint can be done with or without code, when we are talking about code, we definitely need a tool that can be used to develop on top of .NET Framework, and in this case: Visual Studio Development Environment, which allows you to do a lot of development very easily using the SharePoint Tools for Visual Studio.

In the next post we are going to talk about the naming of the product and the differences between the free version and the commercial version.

Workflow Actions Titles in Arabic


I can imagine the feeling of SharePoint Developers when they start designing workflows using SharePoint Designer for SharePoint sites using Arabic language pack Open-mouthed smile, they will be confused and lost with these literally weird translated actions!!, some of them will open two designers, one with English site, and the other with Arabic site to compare the actions names and make sure that the action “تعيين سير العمل إلى متغير” is the same action “Set Workflow Variable” , I don’t really know why actions titles have been translated into these weird stuff!! but to be honest, I don’t know what’s the best Arabic translation for these actions, because all of these terms are very technical and unfortunately we don’t have a solid unified technical dictionary in our Arabic language community.

To make it easier for developers including myself, I listed all the SharePoint Designer Workflow Actions and their categories in Arabic and English as a reference for future needs.

Action (English) Action (Arabic)
Add a comment

إضافة تعليق

Add Time to Date

إضافة وقت إلى التاريخ

Do Calculation

تنفيذ للحساب

Log to History List

التسجيل إلى قائمة المحفوظات

Pause for Duration

إيقاف مؤقت للمدة

Pause until Date

إيقاف مؤقت حتى التاريخ

Send an Email

إرسال بريد الكتروني

Set Time Portion of Date/Time Field

تعيين جزء الوقت الخاص بالحقل التاريخ/الوقت

Set Workflow Status

تعيين حالة سير العمل

Set Workflow Variable

تعيين سير العمل إلى متغير

Stop Workflow

إيقاف سير العمل

List Actions

إجراءات القائمة

Core Actions

إجراءات أساسية

Check In Item

إيداع عنصر

Check Out Item

سحب عنصر

Copy List Item

نسخ عنصر قائمة

Create List Item

إنشاء عنصر قائمة

Delete Item

حذف عنصر

Discard Check Out Item

تجاهل عنصر السحب

Set Content Approval Status

تعيين حالة الموافقة على المحتوى

Set Field in Current Item

تعيين حقل داخل العنصر الحالي

Update List Item

تحديث عنصر القائمة

Wait for Field Change in Current Item

انتظار تغيير الحقل في العنصر الحالي

Task Actions

إجراءات المهمة

Assign a Form to a Group

تعيين نموذج إلى مجموعة

Assign a To-do Item

تعيين عنصر مهام

Collect Data from a User

تجميع البيانات من مستخدم

Utility Actions

إجراءات الأداة المساعدة

Extract Substring from End of String

استخراج السلسلة الفرعية من نهاية السلسلة

Extract Substring from Index of String

استخراج السلسلة الفرعية من فهرس السلسلة

Extract Substring from Start of String

استخراج السلسلة الفرعية من بداية السلسلة

Extract Substring of String from Index with Length

استخراج السلسلة الفرعية للسلسلة من الفهرس مع طول

Find Interval Between Dates

البحث عن الفاصل بين التواريخ

Add List Item Permissions

إضافة أذونات عناصر القائمة

Inherit List Item Parent Permissions

توريث الأذونات الأصلية لعناصر القائمة

Remove List Item Permissions

إزالة أذونات عنصر القائمة

Replace List Item Permissions

استبدال أذونات عنصر القائمة

Send Document to Repository

إرسال مستند إلى مستودع

Document Set Actions

إجراءات مجموعة المستندات

List Actions

إجراءات القائمة

Delete Drafts

حذف المسودات

Delete Previous Versions

حذف الإصدارات السابقة

End Task Process

عملية إنهاء مهمة

Set Content Approval Status (as author)

تعيين حالة الموافقة على المحتوى (كمؤلف)

Wait for Change in Task Process Item

انتظار تغيير في عنصر عملية المهمة

Wait for Deletion in Task Process Item

انتظار حذف عنصر عملية المهمة

Set Task Field

تعيين حقل المهمة

Rescind Task

إبطال مهمة

Append Task

إلحاق مهمة

Delegate Task

تفويض مهمة

Escalate Task

تصعيد مهمة

Forward Task

إعادة توجيه المهمة

Insert Task

إدراج مهمة

Reassign Task

إعادة تعيين مهمة

Request a Change

طلب تغيير

Send Task Email

إرسال بريد المهمة الإلكتروني

Document Set Actions

إجراءات مجموعة المستندات

Start Document Set Approval Process

بدء عملية الموافقة على مجموعة المستندات

Capture a version of the Document Set

التقاط إصدار لمجموعة المستندات

Send Document Set to Repository

إرسال مجموعة المستندات إلى المستودع

Set Content Approval Status of the Document Set

تعيين حالة الموافقة على المحتوى لمجموعة المستندات

Task Actions

إجراءات المهمة

Start Approval Process

بدء عملية الموافقة

Start Feedback Process

بدء عملية تقديم الملاحظات

Start Custom Task Process

بدء عملية المهمة المخصصة

List Actions

إجراءات القائمة

Declare Record

إعلان كسجل

Undeclare Record

إلغاء الإعلان كسجل

Relational Actions

إجراءات علائقية

Lookup Manager of a User

مدير بحث مستخدم