Wednesday, September 10, 2008

TS 70-630: Microsoft Office SharePoint Server 2007, Application Development

Best way to prepare for this exam is by taking one of the available practice tests. One good one I have tried is the practice test from MeasureUP.com. One thing I like about the MeasureUP exams that cannot be done with Transcender is that you can review your answer as you go through the questions. You don’t have to wait until the exam is completed. Relative to the WSS 3.0 Application Development exam this exam is not hard to pass. From my experience, the one subject to focus on the most is the Business Data Catalog (BDC). You have to be familiar with BDC Application Definitions. Make sure you understand all the questions about the BDC.

Monday, July 14, 2008

Sharepoint Server and WSS Certificates

I have posted before general Sharepoint resources that are relevant to certain Microsoft certificates. However, in the next few posts I want to talk specifically about four Sharepoint exams that I passed not long ago and give some pointers.

Before I get into that, I want to mention what happened with the 2 beta exams I was supposed to take and then my testing center canceled. Essentially, I ended up getting 2 free exams from Prometric to make up for them. But since the day I was scheduled was the last day for the beta exams I couldn't register for them then. So I took a couple Sharepoint exams instead. Here it is.

In general, a very good resource for all four exams and especially the Windows Sharepoint Services (WSS) ones is the Inside Microsoft® Windows® SharePoint® Services 3.0 book from the Microsoft Press by Ted Pattison and Daniel Larson. If you have access to books24x7.com, an online version of it is available there. Today I am going to talk about the 70-630 exam.

Inside Microsoft® Windows® SharePoint® Services 3.0 book


TS 70-630: Microsoft Office SharePoint Server 2007, Configuring


The fastest way to learn the material for this exam is to take a practice test and study its answer explanations. The following test providers have practice tests for this exam, Transcender, MeasureUp, and Self Test Software.
The test should not have any development questions so focus on configuration, things you can do by moving and clicking the mouse around with very little typing. Here are more specific tips:
  • Familiarize yourself with the administrative console features.

  • Get familiar with the site and other settings pages.

  • Know how to do simple settings tasks like adding an item to a menu and changing the site logo.

  • Understand Groups and Audiences.

  • Know the basics of using the STSADM and Prescan tools.

  • Understand the different connection files, UDC and ODC.

  • Know what Restrictive Read is.

  • Know how to see the servers running in a web farm and what services they are running.

  • Understand Quiescing.

For more information visit the Microsoft page for the exam.

Please leave a comment and let me know what you think!

Monday, June 16, 2008

HTML/Div Layering over Flash and Transparent Background with Windowless Mode

To lay HTML elements such as a DIV over a Flash object, the Flash object must be embedded with windowless mode. Setting the mode to windowless also allows the web page to show an image or a background through the Flash object embedded on the page. The only drawback with using windowless mode is performance. Most of the time the difference in performance would not be noticeable. However, if performance was a top concern then alternate designs should be considered.

To set the mode to windowless or transparent, the "wmode" parameter should be set to "transparent" as follows. The way the mode is changed depends on the browser. On IE the OBJECT tag is used. On Firefox the EMBED tag is used instead. To accommodate for all browsers use SWFObject or put the EMBED tag inside the OBJECT tag right before "</OBJECT>".

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
WIDTH="550" HEIGHT="400" id="objectId">
<PARAM NAME=movie VALUE="flashfile.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<param name="wmode" value="transparent">
</OBJECT>


<EMBED src="/support/flash/ts/documents/myFlashMovie.swf"
quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="400"
NAME="embedId" ALIGN="" TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"
wmode="transparent"></EMBED>


Using my favorite way of embedding flash, SWFObject:
<script type="text/javascript">
var so = new SWFObject("flashfile.swf", "objectId", "400", "100%", "8", "#336699");
so.addParam("quality", "high");
so.addParam("wmode", "transparent");
so.write("flashelement");
</script>

For more information there is a TechNote about this from Adobe.

Monday, June 2, 2008

Internet Explorer (IE) Conditional Comments

It's rather common that the same CSS styles are rendered differently among different browsers. Many times there is a difference between the way Netscape/Mozilla/Firefox browsers interpret CSS code and the way IE does. Opera seems to fall on either side depending on the property. Another problem that often arises is that different Javascript code must be written for different browsers.

Now with Javascript, unlike CSS, it's easy to check the type of browser and execute different code accordingly as I've explained before. However, it's sometimes more desirable to include different Javascript files depending on the browser especially when there is code that is specific to only IE. One viable solution for this is using the IE conditional comments.

Using IE conditional comments, one can include Javascript, CSS, and HTML that is only parsed if the user browser is IE or if it's not IE. If it is IE, you check even further and include the code if browser is a specific version of IE.

There are two types of conditional comments. One is called "downlevel-hidden," which is only parsed by IE because it uses special IE syntax. The second is called "downlevel-revealed," which is ignored by IE and parsed by everything else because it's not a standard HTML comment.

The downlevel-hidden syntax is as follows:
<!--[if IE]> Javascript/CSS/HTML <![endif]-->

As you can see the downlevel-hidden syntax uses standard "<!-- ... -->" HTML comment syntax.

Now the downlevel-revealed syntax is:
<![if !IE]> Javascript/CSS/HTML <![endif]>

Here we don't have the two dashes "--" after the "!" and before the ">".

The difference between downlevel-hidden and downlevel-revealed is that downlevel-hidden is parsed by IE when the condition is true and is never parsed by other browsers. Downlevel-revealed is always parsed by other browsers and is parsed by IE only when the condition is satisfied. So in both cases IE selectively executes but in downlevel-hidden other browsers never see the code and in downlevel-revealed they always parse it.

Here are some examples of what can be done with conditional comments from MSDN
<!--[if IE]><p>You are using Internet Explorer.</p><![endif]-->
<![if !IE]><p>You are not using Internet Explorer.</p><![endif]>

<!--[if IE 7]><p>Welcome to Internet Explorer 7!</p><![endif]-->
<!--[if !(IE 7)]><p>You are not using version 7.</p><![endif]-->

<!--[if gte IE 7]><p>You are using IE 7 or greater.</p><![endif]-->
<!--[if (IE 5)]><p>You are using IE 5 (any version).</p><![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]><p>You are using IE 5.5 or IE 6.</p><![endif]-->
<!--[if lt IE 5.5]><p>Please upgrade your version of Internet Explorer.</p><![endif]-->

<!--[if true]>You are using an <em>uplevel</em> browser.<![endif]-->
<![if false]>You are using a <em>downlevel</em> browser.<![endif]>

<!--[if true]><![if IE 7]><p>This nested comment is displayed in IE 7.</p><![endif]><![endif]-->

Some of the CSS differences I've noticed is that the opacity property has no effect in IE but it works in Firefox and Opera. When word-wrap property with value of "break-word" is applied to hyperlinks (anchors) in Firefox, it does nothing but it works on IE and Opera.

Saturday, May 24, 2008

Don't Abuse Anchors -- Use CSS

Many web developers use anchors "<a...>" to suround texts and images simply to change the cursor. This usually involves setting the href property to "#" and possibly using the onclick event to execute some JavaScript code and then adding "return false;" at the end so that the page doesn't jump to top every time a user clicks the link.

This might have been the right way to do things at some point. However, after introducing the CSS element "cursor," there is no reason to use all that mess. Simply set the cursor property of the HTML element in question to "pointer" and add the onclick event code to the element itself if needed.

So for example:

.button {
cursor: pointer;
}


This makes code look so much cleaner and it would prevent the URL in the browser from changing to something with an "#" at the end. Moreover, it would also prevent the status of the window shown usually at the bottom of the browser from changing when hovering over the element.