Skip to main content

Mohamed Yehia - SharePoint Matters

Go Search
Home
Ayman El-Hattab's Blog
Marwan Tarek's Blog
Mohamed Yehia's Blog
  

SharePoint 4 Arabs - Online SharePoint Training, Video Tutorials and Webcasts in Arabic > Mohamed Yehia - SharePoint Matters
Matters is see for SharePoint
EGYSUG January Gathering

I am more than glad to invite you to our first 2010 gathering, in January the 30th.

Event Details:

Date: January 30th 2010

Venue: Dar Al Deyafa - Ain Shams University

 

Time

Topic

Speaker

11:00am – 12:00 pm

Approaches and best practices : Deploying SharePoint sites through multiple environments

Mohamed Khalil

12:00pm- 12:15 pm

Break

12:15pm – 1:15 pm

How to build Advanced Web Sites using SharePoint 2010

Shady Korshed

1:15pm- 2:00 pm

Ask the Experts

 

About the Speakers

Mohamed Khalil (MCSD.Net, MCTS) is Technology Expert at OMS with over 6 years experience working with complex projects on Microsoft technologies. Mohamed is still very much a hands-on developer, and has participated in several large-scale web initiatives including e-commerce, WCM, intranet, back-end integration and workflow projects. Past client engagements include Bank of Scotland Plc, Microsoft Technology Center-UK, Kaplan Financial, AMCOR Artenius , and Bunzel Chemical. With a background in ASP.Net/Content Management Server/Corporate Portals, Mohamed’s current main area of focus is building public websites on MOSS and he continues to learn with every project.

Shady Korshed is a SharePoint MVP who has participated and joined huge successful projects in Microsoft Content Management Server 2002 and MOSS 2007.  Shady is into research, investigation in technologies and he is also ready for a challenging game in chess.

Please Register here

What’s After SPSEMEA?

SPSEMEA was fantastic event. No, it was phenomenal. No, it was perfect. I could not imagined it better.

Everything was considered, starting from the chat rooms, the different channels, the log in info, the support of the moderators, the schedule, the diversity of the topics and speakers, it was global.

SPSEMEA

The day was exciting from the beginning. Starting off with the Keynote speech, where Joel was conferenced via a black berry attached to a microphone. He could not log in because of a firewall issue in MS. Everybody was moving in and out of the channels, logging in to different chat rooms. Ayman and I had two computers running two different channels watching them as the same time!!. Our Hyper-V server restarted twice for 10 mins before each of our sessions. We had to move quickly and we found a blank spot we were rescheduled Ayman's session. I was going live without the demos but that was saved as the server went live again

image

The feedback and buzz around the vent in the SharePoint community is amazing. I am not sure Microsoft would have done it better. This is definitely a job made well.

I had to think and stop for a while, what does this really mean? I had a big smile on my face to not only because I attended the event but also to participate in it. It made me proud. It makes stop and think of the power and momentum of the community. What the community can really do? What is it capable of? The SharePoint community is not only getting bigger but also more mature, responsive and agile. Everybody is communicating together. Everybody is sharing there knowledge. This definitely raises the bar for the rest of SharePoint event, online or offline. I think this event should recurrent, for example every quarter. I will definitely attend.

 

I just wonder, what's after SPSEMEA? How will the rest of the events be? How will the community react?

Special thanks goes to Mark Miller, the moderators, the rest of the SharePoint Saturday team and the sponsors for settings up such an event.

BR,

Mohamed Yehia

Connect to Hyper-V from a workgroup Windows 7

Situation

I am working on a Windows 7 x64 machine and I need to manage my virtual machines on a Hyper-V server that is part of a domain.

Problem

You can connect to a Hyper-V server using the Hyper-V manager, but you have to be part of the server’s domain.

Solution

After Bing-ing and Google-ing, (I don’t know why I still have to use both) I found the magic by John Howard, Hyper-V Remote Management Configuration Utility (a.k.a HVRemote). On the page you have a 10-guide that suits everybody's situation.

  1. Download Remote Server Administration Tools for Windows 7
  2. Download Hyper-V Remote Management Configuration Utility
  3. Add your domain account to the Hyper-V server
  4. Run the following scripts (from HVRemote 10 second guide)

    Where Purpose Command
    Server Grant domain account access cscript hvremote.wsf /add:domain\account
    Restart server if this is the first time an account has been added
    Client Set credentials for domain account cmdkey /add:servername /user:domain\account /pass
    Client Set firewall exception cscript hvremote.wsf /mmc:enable
    Both Verify configuration for errors cscript hvremote.wsf /show /target:othercomputername
     

Don’t forget to update the account credentials when its password expires.

Virtualize Remotely!

Mohamed Yehia

Updating UserPrincipalName on Active Directory for a specific OU

I needed to update userprinicipalname attribute for users on Active Directory for a specific OU using Powershell.

In order to do that you need to (details below):

  1. Add alternative UPN suffixes on the Domain
  2. Execute PowerShell script that retrieves the users and update their UPN

Add Alternative UPN Suffix

  1. Log on to Domain Controller
  2. Administrative Tools > Domains and Trusts
  3. Right on the domain > Properties
  4. UPN, Add your entries.

Update UPN using Powershell

Luckily, Hesham Amin has written Working with Active Directory using PowerShell.  I used that and modified that code a bit to fit my needs.  Remember to change the OU LDAP path and the suffix.

#Set-ExecutionPolicy RemoteSigned

$rootOU=[ADSI]LDAP://ou=childOU,ou=parentOU,dc=demo,dc=com
$suffix="customdomain.com"

$searcher= New-Object System.DirectoryServices.DirectorySearcher

$searcher.searchroot=$rootOU
$searcher.Filter = "objectclass=user"
$searcher.SearchScope=[System.DirectoryServices.SearchScope]::Subtree

$res=$searcher.FindAll()

foreach($u in $res)
{
$user = $u.GetDirectoryEntry()

$name=$user.sAMAccountname
$user.userPrincipalName="$name@$suffix"
$user.SetInfo()

$user.psbase.Dispose()

}
$rootOU.psbase.Dispose()
$res.Dispose()
$searcher.Dispose()

Thanks Hesham

 Think Powershell!!

Mohamed Yehia

Technorati Tags: ,

Presenting @ SPSEMEA

I will be presenting at SharePoint Saturday EMEA (SPSEMEA).  Check me out.

SPSEMEA-Logo

SharePoint Saturday EMEA is a loosely knit group of SharePoint evangelists from around the world. We are working together, using SharePoint as a collaboration tool to sponsor live, online global events

It is On January 23rd, 2010, if you haven’t yet registered, it is a must, its free - Registration Form.

There is also a Time Zone Chart for Live Online SharePoint Saturday EMEA

Happy New Year!  I wish all a good start of a good year.

See you all @ SPSEMEA!

Mohamed Yehia

Technorati Tags: ,,

Access & SharePoint – EGYSUG Dec ‘09

This time it was really different.  Not only the attendees were interactive and craving for the technology, but they deep down into the details and lots of attendees want to participate in the next session.  I think this is the real success of the group.

Mohamed Mossad presented the different SharePoint topologies, installation and configuration.

DSC03460

Second was myself, I presented the amazing integration of Access 2010 and the marvelous Access Services.

DSC03472

Ayman El Hattab presented Data-Centric Composites (Mashups) in SharePoint 2010

DSC03475

 

Access & SharePoint Presentation

You can find the presentation uploaded on EGYSUG site and on slideshare.net.

 

A marvelous way to end the year.  Happy New Year EGYSUG.

 

BR,
Mohamed Yehia

SharePoint Starters: To MOSS 2007 or SharePoint 2010?

Lately I have been asked this question several times:

  • I am a SharePoint beginner, which technology should I learn?
  • I am eager to learn SharePoint?  Shall I waste my time in MOSS 2007 or invest in SharePoint 2010?
  • Most SharePoint 2010 videos, how to’s target audience with previous MOSS 2007 knowledge, Shall I learn MOSS 2007 then switch to SP2010 in a couple of months?

That is a very good question and a tough one as well.  However I will give a shot at it.

To answer the question, we need to consider some factors such as:

  • What is Microsoft’s vision for SharePoint 2010?

“SharePoint 2010 is the biggest and most important release of SharePoint to date” -Microsoft CEO, Steve Ballmer

SharePoint 2010 brand "The Business Collaboration Platform for the Enterprise and the Web” – SharePoint 2010 Official Site

Enough said?!! There is more;Microsoft has released two beta versions of the product since October 19th 2009, almost eight months of the announced release date.  Eight whole months!! MVPs had even access in the Tech Preview.  Not only the very active community of SharePoint is already building tools and solutions on top of the technology, but there are learn nuggets and how to published on Microsoft.  I would not be surprised that there would be MVPs awarded for their efforts for SharePoint 2010.

  • When is the release date of SharePoint 2010?
    It has been announced that SharePoint 2010 release to manufacturing (RTM) would in H1 2010, that’s maximum by June almost six months from now.  Typically MSDN subscribers and Microsoft Gold Partners have access to binaries before that by 2 or 3 months.  So we should expect SharePoint 2010 to come somewhere between April and June.  It should be announced in  SharePointPro Summit & Expo March 16-19 2010, Las Vegas
  • Is the market ready for SharePoint 2010?!!

    Microsoft not only invested in facilitating the adoption by the technical community as I have said earlier, but also it invested in supporting a non IE browsers including Firefox and Safari.  Microsoft promises smoother upgrade and migration scenarios.  


    On the other hand,
    Gartner recommendations are:

      “Enterprises with specific immediate requirements aligned to these enhancements:

          -Plan to deploy MSS 2010 during 2H10.

     Mainstream enterprises:
           -
Stay on Microsoft Office SharePoint Server 2007 through mid-2011, when the first service pack should be available for MSS 2010.
         -
If you are seeking synchronization between server farms, integration with other leading content management systems, and flexible storage options other than SQL, evaluate third-party tools as supplements."

Of course with the current economical conditions everybody is watching their budgets, so if current SharePoint customers or even new ones do not have cash to spend in 64-bit hardware or Windows license, things might be a bit slower for SharePoint 2010.  Although I would not worry about that as I presume that most of the servers lately are deployed with 64 bit hardware and OS.

Conclusion

Since we are in a transitional phase and customers might agree with Gartner and wait for SharePoint 2010 Service Pack 1.  It seems that MOSS 2007 is going to live for a while.  Since SharePoint 2010 is based on similar concepts of MOSS 2007 it is good to know both.  My advice would be:

  1. Learn the basics of MOSS 2007, don’t go too deep though.  The basics will help you in working with customers with MOSS 2007 and learning SharePoint 2010 quicker.
  2. When you think you are established, invest in learning SharePoint 2010.  That’s the future : keep an eye on the blogs, learning snacks, Twitter traffic (#SP2010)
  3. Also check with your company’s strategy are they aiming for SharePoint 2010 or MOSS 2007? Nowadays, it is always good to keep the paycheck flowing.

To Ali from the Web,

I hope I have answered your question,

To SharePoint Starters,

Welcome to the SharePoint club and good luck in your SharePoint journey!

Fellow SharePointers,

Good luck in the new journey, specially in the migration projects ;)

Please share your thoughts.

Recommended Reading

SharePoint 2007 Resources

SharePoint 2010 Resources

(from Microsoft SharePoint Team Blog)

For SharePoint Resources in Arabic

 

Mohamed Yehia

,
SharePoint Configuration Failed : SharePoint Search Service

I was trying to setup up a new virtual machine for SP2010 based on VMWare.  I followed the steps as described by Jie Li's on Installation Notice for SharePoint 2010 Public Beta 

Just a quick summary:

  1. Windows 2008 R2
  2. Dot Net Framework 3.5 Service Pack 1
  3. WCF Roll up Fix
  4. SQL Server Express 2008 SP1
  5. SQL Server Express 2008 SP1 Cumulative Update 2
  6. Promote server to domain controller
  7. Run SharePoint Installation
  8. Run and install the prerequisites
  9. Install SharePoint
  10. Run SharePoint Configuration Wizard

The SharePoint configuration wizard is a 10 step process.  In step number 5, the wizard tries to register the various SharePoint services.  You get the exception below when it comes to register SharePoint Search service:

An exception of type System.ServiceProcess.TimeOutException was thrown

even when you try to run the SharePoint Search Service you get the following error:

Windows could not start the SharePoint Server Search 14 service on Local Computer. Error 6: The handle is invalid.

Most internet resources will guide to either:

  1. Redo everything and follow Jie Li’s instructions.
  2. Delete relevant registry files

I recommend that you try them out as they could work you.  Unfortunately they did not. 

Inspired from John Rayner's - MOSS: Error "The handle is invalid" when starting Windows SharePoint Services (WSS) Search service, I tried the following:

  1. While the configuration wizard is running, after it successfully provisions SharePoint Search Service
  2. Open the services management console (from Run command type services.msc)
  3. Locate SharePoint Search Service
  4. Change the logon type to LocalSystem
  5. Restart the service
  6. Do the same for SharePoint Foundation Search.

I have also posted my findings on SharePoint 2010 Forums

BR,

Mohamed Yehia

Sandbox Solutions FAQ
  1. What are SharePoint Sandbox Solutions? And How can I benefit from it?
    SharePoint Sandbox solutions is one of the cool and innovative features of SharePoint 2010. Basically it :
    • Ensures that developers write safe SharePoint code. (No elevated privileges and such)
    • Allows users to deploy custom SP solutions in form of WSP package to their site collections. To make
    • Provides administrators with the ability to monitor resources used by Sandbox solutions -  Less fights between users or devs and the IT department. (Hopefully!!)
    • Provides more business to SharePoint hosting companies.
  2. How are Sandbox solutions restricted?
    Sandbox solutions run in a separate process SPUCWorkerProcess with restricted CAS policy to ensure isolation.
  3. Can I use custom code access security (CAS) policy with Sandbox solutions?
    Nope. Sandbox solutions run under the CAS policy defined in wss_usercode.config it contains:
    • SharePointPermission.ObjectModel
    • SecurityPermission.Execution
    • AspNetHostingPermission.Level = Minimal
  4. What is the architecture of Sandbox solutions? 
    Image Source :
    Developing with SharePoint 2010 Sandboxed Solutions – SPC 2009 Presentation Highlights
    image_thumb[9]
  5. What can I do with Sandbox solutions?
    Anything on the site collection level.
      • Web Parts
      • Features
      • Site templates
      • List templates and Instances
      • Event receivers
      • Content Types
      • Custom solution validators
      • Full trusted proxies
    • Developers can use anything under SPSite
    • Developers cannot:
      • Create site collections
      • Develop visual web parts as user controls (.ascx) files need to be deployed on the front end
  6. When to develop sandbox solutions?
    Always, well at least try to make it a habit. Not only this ensures that the code is safe and can be used in a hosting environment but also it it can be monitored, has no performance bottlenecks, etc..
  7. Can SharePoint Designer export Sandbox solutions?
    No. Only Visual Studio.
  8. Can I write to ULS logs in Sandbox solutions?
    Yes. Use
    SharePoint Logger
  9. Are there ready made Sandbox solutions?
    Yes.
    http://sandbox.codeplex.com/
  10. How to debug Sandbox solutions?
    Attach to SPUCWorkerProcess and refresh the page.
  11. Can I used AJAX with Sandbox solutions?
    Yes.
    Add javascript files once to a page - SharePoint Sandbox Solutions
  12. How can I upgrade my Sandbox solution package on all site collections?
    Write a powershell script.
  13. What are the resources monitored in Sandbox solutions?
    Here is the list (self explanatory I guess)
    1. AbnormalProcessTerminationCount
    2. CPUExecutionTime
    3. CriticalExceptionCount
    4. InvocationCount
    5. PercentProcessorTime
    6. ProcessCPUCycles
    7. ProcessHandleCount
    8. ProcessIOBytes
    9. ProcessThreadCount
    10. ProcessVirtualBytes
    11. SharePointDatabaseQueryCount
    12. SharePointDatabaseQueryTime
    13. UnhandledExceptionCount
    14. UnresponsiveprocessCount
  14. What is a good number for UserCode quota?
    It should depend on what the solution does and how is the environment being utilized. Let's wait and see I think these metrics will pop out with actual implementations of SharePoint 2010.
  15. Where can I learn about Sandbox solutions?
    This is what I found:

Think Sandbox,

Mohamed Yehia

SP2010 Accessibility Findings : Invalid Markup Validation

First step, Reality Check!

Currently I am working on several solutions on top of SP2010 that aim to conform with WCAG 2.0 AA. First step , a reality check to see how far SharePoint has confirmed to the guidelines specially after Ballmer's keynote and several important blog posts

See:

Steps:

  1. Open an out of the box team site
  2. View page source
  3. Open W3C Validation Service
  4. Choose Validate by Direct Input
  5. Copy the page source and paste in the markup textbox in the validation service page.
  6. Click Check
  7. Wait for the results!!

Results

280 Errors, 38 Warnings

clip_image001

 

Concerns?!!

WCAG 2.0 AA is divided in four principles Perceivable, Operable, Understand and Robust (POUR) and three levels of conformance

  • A - lowest
  • AA
  • AAA - highest

Principle 4: Robust - Content must be robust enough that it can be interpreted reliably by a wide variety of user agents, including assistive technologies.

Guideline 4.1 Compatible: Maximize compatibility with current and future user agents, including assistive technologies.

Understanding Guideline 4.1

4.1.1 Parsing: In content implemented using markup languages, elements have complete start and end tags, elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where the specifications allow these features. (Level A)

Note: Start and end tags that are missing a critical character in their formation, such as a closing angle bracket or a mismatched attribute value quotation mark are not complete.”

Pasted from <http://www.w3.org/TR/WCAG/>

As you can see this is a level A requirement which is very basic.

  • Scanning through the errors we is what you can find:
    • Line 18, Column 207: document type does not allow element "script" here
    • Line 22, Column 32: document type does not allow element "script" here
    • Line 35, Column 14: Attribute "scroll" is not a valid attribute. Did you mean "scrolling" or "scope"?
    • Line 205, Column 193: Attribute "aria-describedby" is not a valid attribute
    • Line 205, Column 248: Attribute "role" is not a valid attribute. Did you mean "frameborder" or "scrolling"?
    • Line 209, Column 405: element "ie:menuitem" undefined
    • Line 228, Column 287: required attribute "alt" not specified
    • Line 237, Column 825: duplicate specification of attribute "unselectable
    • Line 916, Column 5830: end tag for "table" which is not finished
    • Line 975, Column 116: element "font" undefined. Did you mean "font" or "basefont"?
    • Line 237, Column > 80: XML Parsing Error: xmlParseEntityRef: no nam
    • Line 916, Column > 80: XML Parsing Error: Specification mandate value for attribute nowrap
    • Line 916, Column > 80: XML Parsing Error: Opening and ending tag mismatch: div line 851 and tr

I think I have did what any customer /client would have done. Test the output with a validation service, in specific the official W3C validation service.

With that number and type of errors , it should raise some concerns about SharePoint 2010 conformance with WCAG 2.0 AA. Rendering HTML that conforms to XHTML 1.0 is very basic if you want to support WCAG and specially cross platform browses.  How so you expect Safari, Firefox or a mobile browser render an “ie:menuitem element”?  Perhaps there is a different rendering to each browser!!…Hope not.

Next Steps

  • SharePoint 2010 is still Beta 2, I assume/ hope that this gets enhanced in the release.
  • Need to experiment more with SharePoint against WCAG 2.0 AA.
  • Test with industry recommended ATs such as JAWs and Web Eyes.

 

Get Involved

 

What are your Accessibility Findings?

Mohamed Yehia

 

Technorati Tags: ,,
Bookmark and Share
1 - 10 Next
RSS Follow Me on Twitter