Expression® Web Design

FrontPage Server Extensions

Tuesday, December 30, 2008
I realized that I never spoke too much about FrontPage Server Extensions (FPSE) except in one post (Publishing from Remote Server to Local Computer).  Now, most of what I will say - you can find in the other post.  However, FPSE are really important to users that use Microsoft FrontPage to publish their website, I thought I should have a specific post regarding them.

For some users, FPSE are not even thought about.  The user goes to File - Publish in FrontPage and sets up FrontPage to publish to their server relying on FPSE and http (other webmasters usually use FTP and FrontPage will support FTP, though not as reliably as some other programs (like FileZilla)).  FrontPage _vti_cnf folderAlso, keep in mind that using FTP could corrupt the FPSE, and any of the bots that you have used might not function properly.  FrontPage creates some hidden files and folders.  One of the folders is _vti_cnf - you won't see this folder in FrontPage, but if you look in explorer, you should see the folder (if you have show hidden folders turned on).  In the _vti_cnf folder, you will see the same file name that you created in FrontPage.  For example, if you created index.html, you would see index.html in the _vti_cnf folder.  However, if you open this index.html file via Notepad, you will not see HTML source code, but rather information regarding the specific file.  There will be information that helps FrontPage to manage / maintain the website.  You might see text like vti_timelastmodified, vti_timecreated, vti_author, vti_filesize, vti_extenderversion, etc.  These files should not be edited unless you know exactly what you are editing and what the consequences might be.  Of course, you can always create a backup copy of the website before beginning anything like this.

FrontPage Server Extension Components

Here is a list of components that require FrontPage Server Extensions to be installed on the server:
  • Confirmation Field
  • Discussion Form Handler
  • FrontPage created server-side Image Maps
  • Registration Form Handler
  • Save Results Form Handler
  • Scheduled Image
  • Scheduled Include Page Component
  • Search Form
  • WebBot Registration component
  • WebBot Discussion component
  • WebBot Save Results component
  • WebBot Search component
  • WebBot Scheduled Include component
  • FrontPage created server-side Image Maps
  • WebBot Confirmation Field component
  • WebBot Scheduled Image
  • Nested subwebs
  • Lightweight Source Control (document check-in/check-out without Microsoft Visual SourceSafe for Windows)
  • Categories component
  • StyleSheet links to multiple files or Active Server Pages (ASP) files
  • Hit Counter
  • Guestbook
The version of FPSE that is installed on the server might affect some of the web-bots above since some might require another version of FPSE.  It's not always good, but if a web hosting provider is offering FPSE, you might assume that it is FPSE 2002, since this is the latest (probably last) version of FPSE from Microsoft. 

(You will see that it is a FrontPage Scheduled Include File that requires FPSE, not a FrontPage Include.)

FPSE Versions

Microsoft has several pages that will tell you exactly what component requires what version of FPSE:

Check to See if FrontPage Server Extensions Are Installed and Working

Sometimes, FPSE need to be re-calculated.  You can sign onto the server by going to:
http://www.example.com:port/fpadmdll.dll?page=fpadmin.htm

Replace www.example.com with the domain name.  The port is 80 (or 8080) if I remember correctly - sorry it has been awhile since I used this.  An easier way is to sign onto the server with FrontPage (File - Open Web - http://www.example.com).  Once you have done this, go to Tools - Server.  This will open your default browser and you can easily check the FPSE and repair them.  This is usually one of the things that might need to be done when you are having problems with FPSE web-bots.

To check to see if FPSE are install and what version, go to:
http://www.example.com/_vti_inf.html

If FPSE are installed, you should see something like this:

FrontPage Configuration Information 
In the HTML comments, this page contains configuration information
that the FrontPage Explorer and FrontPage Editor need to communicate
with the FrontPage server extensions installed on this web server. 
Do not delete this page.


If you do not see this information on the _vti_inf.html file, you should contact you webhosting provider to verify FPSE are actually installed.  If this page comes up, you can get a little more information on FPSE and your server if needed.

Reading the _vti_inf.html File

After you have this page opened (in Internet Explorer), go to Tools - View Source.  Now you will be able to get a little more information about the FPSE version and server.  Here is an example:

FrontPage Configuration Information
FPVersion="5.0.2.6790"
FPShtmlScriptUrl="_vti_bin/shtml.dll/_vti_rpc"
FPAuthorScriptUrl="_vti_bin/_vti_aut/author.dll"
FPAdminScriptUrl="_vti_bin/_vti_adm/admin.dll"
TPScriptUrl="_vti_bin/owssvr.dll"


FPVersion of course is the FPSE version.  This server has FPSE version 2002 installed (5 is 2002, 4 is 2000, 3 is 98).  If you look at FPAuthorScriptURL / FPAdminScriptURL, you see author.dll / admin.dll.  This means the FPSE are installed on a Microsoft (IIS) server.  If property is author.exe / admin.exe, it is not a Microsoft (IIS) server, probably (some version of) *NIX server. 

Consider using some type of server side language to accomplishment whatever FrontPage web-bots you are using now.  There is some code available to help you with whatever it is.  You might need to change the file extension (from .html / .htm to something like .asp / .aspx / .php / .phtml / .phtm etc.) unfortunately.  One example - form processing - if you are on a Windows server with the JMail e-mail component installed.

DeliciousDigg This PostNewsvineRedditTechnorati

Godaddy and Frontpage Forms

Friday, December 26, 2008
Since some users are still relying on FrontPage Server Extensions (FPSE) to process their Frontpage form, you might still have problems from time to time.  You might get a specific Frontpage error when you hit submit.

As pointed out earlier when publishing to a Godaddy server, you need to make sure you publish with the www in your domain name (Problems with FrontPage Forms). 

Chances are, you will need to make sure the FrontPage form is also brought up with the www in your domain name as well.   For example, instead of http://example.com/contact.html it should be http://www.example.com/contact.html.  Otherwise the user  might receive an error message
The server example.com at : requires a username and password.

Warning, this server is requesting that your username and password be sent in an unsecure manner (basic authentication without a secure connection).


Once the submit button, you are probably expecting an email to arrive with the information you entered into your FrontPage form.  After a few minutes, it is still not there.  So you try again (and again) with nothing in your email box.  Check the email address that you are using.  Some mail servers (both incoming and outgoing) will require that you use an email address that is attached to your domain name, so that gmail or hotmail address might not work.

A Possible Work Around

One way to maybe get around this is to set up a forwarded email account.  For example, set up expressionweb@example.com to forward to example@gmail.com.  This way, the FrontPage form will send the email to expressionweb@example.com and you should get the email in your gmail account.

DeliciousDigg This PostNewsvineRedditTechnorati

Check to See If ASP Is Supported

Sunday, December 21, 2008
When deciding to switch to a server side language, like CFM, PHP, ASP, .NET, it is always a good thing to check to see what your server supports.  Usually, if you are on a Windows server, ASP and ASP.NET will be supported.  On a *NIX server, PHP is usually supported.  There are always exceptions to this of course, and ways to check what is supported on your server / webhosting account.

The code to use can be something as simple as

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 2</title>
</head>
 
<body>
<%
response.write("If you see this, ASP is probably supported")
%>
</body>
 
</html>


and it is saved with an .asp file extension.  When upload, you should see a page that is similar to this page with the text, if you see this, ASP is probably supported.  (See text and ZIP files for source code.)  If you see just a bunch of the ASP code, your webhosting company might not support ASP or you might need to ask them to activate the server side language on your website.

Using the _vti_inf.html to Determine the Operating System

There is actually another way as well to determine the platform you chose to host your website on using the _vti_inf.html file.  You can consider using this method as well if you are comfortable reviewing the source code from your Internet browser. Remember, if you are on a Windows servers, chances are pretty good that you can run ASP scripts on your website.  You might need to turn on this function in your webhosting control panel.  If you do not see this or you are unable to run ASP, check with your webhosting provider for more information. 

In that support e-mail (ticket), you might see if the Jmail email component from Dundas software is also installed.  If it is, check out Processing the Form with the Jmail Email Component.

DeliciousDigg This PostNewsvineRedditTechnorati

Starting with CSS

Wednesday, December 17, 2008
Hopefully by now, you have started using some cascading style sheets (CSS) in your website development.  Some of it might have some naturally if you are using Expression Web.  In the Tools - Page Editor options, take a glance at the CSS tab.  Here is where you can choose if you would like to use inline styles or an internal style sheet if you have not created an external style sheet.

If you are working with an external style sheet (or internal), there are usually a couple of things that you use.  The first is called a selector.  This can be body, p, div, table, or a td element.  The second part is called the property.  This might be something like color, font, text-align, background, etc. depending on the selector.  And the last part is the value.  This might be something like #000, black, center, no-repeat, etc., once again depending on the property.  An example could be:

body
{
background-color: #fff;
color: #000;
}


This basically helps to have your background color white and the font color black.  The body is the selector, the background-color and color are the properties, and #fff and #000 are the values.  FrontPage would probably create something like:

<body bgcolor="#FFFFFF">


And it would be assumed the font color is white.

You can also use an inline style:

<body style="background-color:#fff; color:#000">


Of course, using an internal or inline style sheet somewhat defeats the purpose of relying on CSS.  For example, if you decided that you wanted the background color black and the font color white, you could easily change it in the external style sheet and all the pages that are attached to that style sheet would be updated.

CSS Shorthand

Another great part with CSS is the shorthand.  For example, you might have something like:

body
{
background-color: #fff;
background-image: url('/images/background.gif');
background-position:left;
background-repeat:no-repeat;
}
You can basically combine most of the selectors into one line:

body
{ 
background: #fff url('/images/background.gif') left no-repeat; 
}


CSS Grouping

Another benefit with CSS is that you can group the selectors together:

body, p, table, td, h1, h2, h3, h4, h5, h6, div
{
color: #000;
}


This style applies the color black to the text in these elements.  And then you can apply more to the elements if needed, for example:

body, p, table, td, h1, h2, h3, h4, h5, h6, div
{
color: #000
}
td
{
font-weight:bold
}


Any text inside the td element will be bold as well.  There are other ways as well to help apply different styles but we can get into that later.

DeliciousDigg This PostNewsvineRedditTechnorati

Vulnerability in Microsoft Internet Explorer

A critical update has been issued from Microsoft for Internet Explorer 7.0 on multiple platforms.  Please see the MS-ISAC Advisory 2008-044 for more information.

To update your system, you can go to the Control Panel - Windows Update.  Or in Internet Explorer, go to Tools - Windows Update to ensure you are protected.  This update is being issued outside Microsoft's normal updates / patches.

DeliciousDigg This PostNewsvineRedditTechnorati

Downloading a Website Using Expression Web and FTP

Saturday, December 13, 2008
If you have just purchased a new computer with Expression Web, you probably want to work on your website.  There are a few ways to get your website to your new computer.  If your website is small enough and does not have any FrontPage webbots that require FrontPage Server Extensions (FPSE) to function, you can use the FTP program built into Expression Web.

New Empty WebsiteFirst, go to File - New - Web Site and choose Empty Web Site in the New dialog box.  You will also have the opportunity to specify the location on your computer.

Once this is done, go to Site - Remote Web Site.  Now you should see Remote Web Site Properties on the right hand.  Click on this and the Remote Web Site Properties dialog box will open.  Choose FTP and enter the FTP location and possibly the folder (check with your hosting company for this information). 

Once this is entered, choose OK.  Another dialog box will come up asking you to enter a user name and password.  If you have Expression Web 2, there is a checkbox asking if you would like Expression Web to remember your password.  You can click this option and it will actually remember your password.  (Expression Web 1 unfortunately would not remember your password.)

Once this is done, you should see the files and folders of your website in the right panel.  The middle panel should be empty.  You can choose to synchronize the files or choose both arrows to synchronize the files.  You can also highlight all the files / folders and hit the arrow that points to the left.  Depending on your connection and how large your site is, it could take a couple of minutes to hours.

There is also the video tutorial of downloading your website from the server to your new computer using Expression Web & FTP or you can also check out the other post titled New Computer and Expression Web.

DeliciousDigg This PostNewsvineRedditTechnorati

New Computer with FrontPage

More and more users are buying a new computer.  Unfortunately there are some hassles that come with this purchase - like moving your data over from your old system to the new system.  If you copied the FrontPage website from one computer to another, you might see a few problems, like FrontPage is not able to open the website or it does not recognize it as a website.

Right Click and PasteOne of the ways to get around this is by creating a new website in FrontPage.  Once this is done, delete the index.htm page (or any page that it might create).  Now locate your "old" website and highlight all the files / folders (CNTL-A).  Then copy or CNTL-C.  Go back into FrontPage and right click on the folder where it says the location of your "new" website.  When you right click on that folder, one of the choices should be Paste as a choice.  Choose this and FrontPage will copy (import) your files and folders to the website. 

You might get an error message about no files to import, choose OK - this is just the meta data that FrontPage uses to help maintain the website.  FrontPage will re-create this data for you on the new website.  When you are finished "importing" the website, go to Tools - Recalculate Hyperlinks in FrontPage.

When you are ready to publish, the time stamps might be incorrect unfortunately and FrontPage might need to overwrite some or all the files on the server.

You can also watch a video tutorial of creating the website and copying the files to your new FrontPage website.

DeliciousDigg This PostNewsvineRedditTechnorati

Building a Site with Frames

Friday, December 12, 2008
I know, people everywhere tell you it is bad to use frames when developing a website.  But you like frames because when you need to add a page to your navigation, you only need to change one page.  (You can do that with server side includes.)

I would just like to show you though one (of many) reasons why it is not a good idea to use frames.  Let's say you are only using a left frame for navigation and then a right frame for the content.  (By the way, if you are using Expression Web, you will need to add your Frameset DOCTYPE:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">


since Microsoft forgot to add this DOCTYPE when you create a new page.)  So you have three pages now: With server side includes, you would only have two pages (nav and home).  This is probably all good and you realize that your website is now in your favorite search engine.  You realize though that it takes the user to the contact page, where all they can do is submit their information and then get a page that suggests they review your website.  What happened to the navigation?  This is one of the bigger problems when using frames - you run the risk of losing visitors because they have nowhere to go. 

Now if you look at your favorite search engine again to see that only your contact page is coming up - you actually see your navigation on the left hand side.  And the user can continue browsing your website.

There are some ways around this, like forcing frames (which uses JavaScript), but that is not reliable. 

There are other reasons why not to use frames, but I am hoping that this example will help you to understand one of the bigger reasons not to use frames.  Watch the video tutorial for a search engine result example on why not to use frame to help you see exactly what would happen when a specific URL / path comes up in a search engine, rather than your domain name.  Hopefully this will help you to understand one of the reasons why not to use frames.

DeliciousDigg This PostNewsvineRedditTechnorati

Redirecting a URL

Wednesday, December 10, 2008
At times, there is a need to redirect users to a new URL.  There are many ways to do this, the better way is doing it via the server or server side language to produce a 301 (permanent redirect) response (more about these later).

After the examples, I have included a link to a text file or zipped text file - depending on the browser, you might need to use the zipped (compressed) link and unzip the file after download.  Also keep in mind that a few of the examples have been split into two lines to ensure the code is seen.  When in doubt, refer to the examples.

ASP, .NET, PHP Permanent Redirect

If your web page is saved with a .asp, .net, or .php extension, you can rely on some server side code to redirect the user to the new web page.

ASP 301 Redirect

For an ASP page, use this code:

 
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location", 
"http://www.loudexpressions.com/sitemap.asp"
%>


Replace the location (http://www.loudexpressions.com/sitemap.asp) with the name of the new web page. 
Text file / Zipped file

.NET 301 Redirect

If your web page is being processed in ASP.NET, you can use this code:

 
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location",
"http://www.loudexpressions.com/sitemap.asp");
}
</script>

Replace the location (http://www.loudexpressions.com/sitemap.asp) with the name of the new web page.
Text file / Zipped file

PHP 301 Redirect

If the web page has a .php extension (or another extension that is being processed as php, like .phtml or .phtm - you will need to contact your hosting provider if you have questions), you can use:

 
<?
Header( "HTTP/1.1 301 Moved Permanently" ); 
Header( "Location: http://www.loudexpressions.
Com/sitemap.asp" ); 
?>


Replace the location (http://www.loudexpressions.com/sitemap.asp) with the name of the new web page.
Text file / Zipped File

Other Server Side Permanent Redirect

There are some other server side languages like ColdFusion (.cfm), JavaServer Pages (.jsp), using .htaccess, or IIS.  You can also download the examples above in a zipped file (and this also includes CFM / JSP and the example below).

Another Redirect Option

However, if you have just relied on simple HTML for your website, or have no access to any of the server side options, you might consider using a JavaScript and a meta tag to redirect the users to the new page:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
<!-- Hide script from non-JS supported Browsers 
function redirect(){ 
window.location.replace ("http://www.loudexpressions.com/
sitemap.asp"); 
} 
setTimeout("redirect()",5000); 
// end hiding 
</script>
<meta http-equiv="Refresh" content="5; url=
http://www.loudexpressions.com/sitemap.asp">
<meta content="text/html; charset=utf-8" http-equiv=
"Content-Type">
<title>No Title</title>
</head>
<body>
You are being redirected to the new web page: 
<a href="http://www.loudexpressions.com/sitemap.asp">
http://www.loudexpressions.com/sitemap.asp</a>
</body>
</html>


Replace the location (http://www.loudexpressions.com/sitemap.asp) with the name of the new web page in both places.
Text file / Zipped File

The JavaScript / Meta Refresh tag should be used only as your last option to ensure your search engine rankings are not affected.

DeliciousDigg This PostNewsvineRedditTechnorati

Certified FrontPage Expression Web Sage

Wednesday, December 03, 2008
Certified FrontPage Expression Web SageTaking a little time, I decided to take a look at my accomplishments over at Experts Exchange.  I remember finding this site after askme.com was done away with.  I think that it was really my first forum / message board that I started in and that was back on 30 Oct 2002.

It is one of the few forums / message boards that give you something for your contributions.  Some think the point system has gone to outrageous limits, but I think that it also helps people to answer questions.  You might only get Certified FrontPage-Expressions Sage certificate, but it is something.  Recognition for your achievements is almost always appreciated in some way, shape, or form.   This certificate was for the FrontPage and Expression Web Zone.

DeliciousDigg This PostNewsvineRedditTechnorati




Join My Community at MyBloglog!



Feeds