FrontPage Server Extensions
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)).

Also,
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.




Godaddy and Frontpage Forms
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.




Check to See If ASP Is Supported
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.




Starting with CSS
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.




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.




Downloading a Website Using Expression Web and FTP
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.

First,
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.




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.

One
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.




Building a Site with Frames
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.




Redirecting a URL
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.




Certified FrontPage Expression Web Sage

Taking 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.



