Add About Me Page

Dec 10, 2008 at 1:08 AM
Edited Dec 10, 2008 at 4:21 AM
Hi,

A newbie, I'm continuing to try to set up a new blog, and have some basic components installed (http://eLearningprojects.com/blogs).

If I click on the "About Me" page link in the front/home page, I don't link to an "about me" page in the Curiously Green theme that I am currently using. I get a server error message instead. I added an "About Me"page in the admin>pages. Although an About-Me.aspx page then displayed after I saved the page I created, it would not link to the "about me" link on the home page. I also could not find it in my site's file content.

If I enter the absolute URL of the page that was created (http://eLearningprojects.com/blogs/page/About-Me.aspx) in an external browser, the page displays.

If I try to re-configure the page's path in the current theme's site.master file (currently the "About Me" path is as follows in site.master: <li><asp:HyperLink ID="HyperLink2" NavigateUrl="#" runat="server">About Me<span></span></asp:HyperLink></li>), nothing I use (tried many combinations like ~/About-Me.aspx) works to correctly link to the file.  I checked the documentation and this discussion board but could not find a way to create and link to the "about me" page.

Any help would be much apreciated.

If I click on the "subscribe" link on the home page, I get a configuration error message. Reading in this board (http://www.codeplex.com/blogengine/Thread/View.aspx?ThreadId=39300), I noticed that if the server time is set to "0" (I have it set to -2 to compensate for the difference between my time zone and the server's time zone), the "subscribe" link works OK. But setting the server time to "0" leaves all of my posts displaying the wrong time. Ugh! I'm using 1.4.5, just set up on a quick, one-step install by the ISP hosting service. I suspect I am using the latest build (the discussion topic mentions that the latest source has a fix for this issue.)

I would also appreciate any help to fix the subscribe link while maintaining the correct time offset for my time zone, if possible.

Thanks for any suggestions, leads.

Kind Regards,

saratogacoach


Coordinator
Dec 10, 2008 at 4:34 AM
For an about me page, you're on the right track by going to Admin -> Pages.  You create a new page and you can give it a custom slug, for example "about".  When you click the "Save Page" button, you'll be taken to the page.  The Url should look something like:

http://elearningprojects.com/blogs/page/about.aspx

You then just need to modify your site.master file in the Curiously Green folder under themes.  You'll want the About Me link in the Curiously Green page to look something like:

<asp:HyperLink ID="HyperLink2" NavigateUrl="~/page/about.aspx" runat="server">About Me</asp:HyperLink>
Dec 10, 2008 at 5:11 AM
Edited Dec 10, 2008 at 5:17 AM
Hi Ben,

Thanks. That works.

The old link was:

<asp:HyperLink ID="HyperLink2" NavigateUrl="="~/page/about.aspx" runat="server">About Me<span></span></asp:HyperLink>

The new link (which works) is:

<asp:HyperLink ID="HyperLink2" NavigateUrl="~/page/about.aspx" runat="server">About Me</asp:HyperLink>

The new one leaves out <span></span>. Unfortunately, with my limited skills, I'm not sure what these left-out tags do. But, when they are left in, the link does not work. Omitted, and the link works OK.

The other isue:

The "subscribe" link still creates an error unless I change the server offset time in settings to 0. If I set it at 0, the "subscribe" link works OK, but all my posts are off by 2 hours (I think the GoDaddy ISP's the server is in Arizona, I'm in New York, which is 2 hours earlier). So, currently, my choices are error message or wrong time.

Currently, I've left the 2 hours offset in, so the link http://www.elearningprojects.com/blogs/syndication.axd causes an error.

Any way to fix this so I can both have a working "subscribe" link plus the correct time zone?

I appreciate your help. :)

Kind Regards,

saratogacoach
Coordinator
Dec 10, 2008 at 5:38 AM
Those <span> tags don't seem to really do anything.  The link to the About Me page should still work with the <span> tags in there.  But if it's working now, then I'd probably not worry about it.

By the way, if you're in New York, then you'd want the server offset to be 2, not -2.

Actually, the error on your RSS page is:

Specified argument was out of the range of valid values.
Parameter name: utcDate

This error is different than the one in http://www.codeplex.com/blogengine/Thread/View.aspx?ThreadId=39300.  That error was:

The added or subtracted value results in an un-representable DateTime.
Parameter name: value

I've actually seen the error you're getting.  This error happens if the last modified date of a post is greater (i.e. later) than the current server time.  Did you recently add or edit a post on your local machine and upload it to your server in Arizona?  This is the only scenario I could imagine this happening.  Because if you edit (or add) a post on your live web server, regardless of the server offset, BE will use the server time when saving the last modified date for the post.

As an example, if it's 8:00 pm in AZ and 10:00 pm in NY and the server offset is set at 2, if you add a new post on your live website (not your local machine), the post will get a last modified date of 8:00 pm -- even though your server offset is at 2.  But the publish date will be at 10:00 pm.  Blog Engine uses the last modified date when setting Response headers for the RSS feed.  .NET will throw an error if the date set in the SetLastModified() function is greater than the server time.

At least this is how I've this error occur before.  If you only add/edit posts on the live server, rather than upload posts you created on your development machine to the live server, than you shouldn't get this error.  You should be able to keep the server offset at 2.  I'd imagine the error will disappear in the next couple of hours.  You could try fixing the error now by editing any posts you've recently modified, make a small change and save the post to update the last modified date so it uses AZ time.
Dec 10, 2008 at 1:15 PM
Hi Ben,

Thanks again for the suggestions and explanations.

I tried the <span> tags agian, just to see if they would work and got an error message. Not sure why, but for now, best solution is to omit them so that the "about" page can display.

I left the +2 hour offset, and it seems OK now. Another mystery. But, again, as long as it works.

I am trying to use Microsoft Live Writer to blog from my desktop. Live Writer works well with BE. However, maybe this is causing the time synchronization problem and error message display for the "subscribe" syndication feeds. I would prefer to use Live Writer, but maybe, in light of this problem, I will not be able to use it.

Any further thoughts about using a tool like Live Writer?

Kind Regards,

saratogacoach
Coordinator
Dec 10, 2008 at 4:51 PM
I have a 1.4.5.12 blog engine instance setup in a different time zone, and it's using SQL Server storage.  If I add a post using Live Writer, the DateModified column in the SQL table shows the server time, not my local time.  So no problem there.  I'm not sure about the version you're using, though.

If you get that error again, you can check the DateModified column of each of your posts to see which one is the offender.  With that error, I'm thinking at least one of your posts will have a DateModified value later than the current date/time on the AZ server.  In SQL, this value is in the DateModified column in the Posts table.  If you're using XML storage, in the App_Data\Posts folder, this value is the <lastModified> value.
Dec 10, 2008 at 5:52 PM
Edited Dec 10, 2008 at 6:21 PM
Hi Ben,

Thanks for the continued help.

I'm not sure where to look for the BE version. I installed it from GoDaddy a few days ago and am hoping it is the latest. All that shows about version is 1.4.5. Not sure which 1.4.5 it actually is.
Where can I look?

It looks like this problem was resolved in version 1.4.5.10 and above: http://www.codeplex.com/blogengine/WorkItem/View.aspx?WorkItemId=7166

GoDaddy may still be using an older version.

I've got the DB open: one of the 4 posts has a time modified earlier than created, so I think this may be the one.

I deleted that post, changed the offset to +2. Subscribe still works.

But failed the Live Writer test: used Live Writer to publish a new post with the +2 offset time. Caused the server error as before. So, I don't think I will be able to use Live Writer.

Is there a way to find out which version I am using? If below 1.4.5.10 or .12, then may be I can update (not as easy as it sounds, since I've done some customizations like adding printing.)

Kind Regards,

saratogacoach
Coordinator
Dec 10, 2008 at 6:23 PM
It looks like your blog is using 1.4.5.0.  At the bottom of your blog, the version number is there.  The version number gets dynamically set based on the version of the BE core files.

I'm not sure, but I'm guessing this error could have been fixed in a post 1.4.5 update.  Version 1.4.5 is the latest official release, but a number of features and bug fixes have been done since then.  This error may have been fixed around version 1.4.5.2 on August 9th:

http://www.codeplex.com/blogengine/WorkItem/View.aspx?WorkItemId=7251

You can check the DateModified values of your posts in the SQL database with this query:

select DateModified, *
from be_Posts
order by 1 desc

This will show the posts ordered so the posts with later DateModified posts come first.  If any of the posts have a DateModified value later than the AZ server time, than that error will occur.

I manually updated my blog to 1.4.5.12.  If GoDaddy did the install for you, you may still be able to upgrade yourself to the latest, but I'm not sure.
Dec 10, 2008 at 6:51 PM
Hi Ben,

Upgrading is not an issue for GoDaddy. I would simply FTP upload the 1.4.5.12 files and either over-write the old ones or delete first, then add them new.

Where would I get 1.4.5.12? Is it stable enough?

Is it possible to just over-write with the files that have the fix? The less I replace, the better.

Kind Regards,

saratogacoach
Coordinator
Dec 10, 2008 at 7:10 PM
Version 1.4.5.12 seems pretty stable.  It includes many bug fixes since 1.4.5.  You can download it at:

http://www.codeplex.com/blogengine/SourceControl/ListDownloadableCommits.aspx

It's Change Set 20362 from Nov 22nd.  Just click the Download button.  When you get it, I don't think the DLL core files will be compiled.  If you have Visual Studio, you can compile the core files.  I could email them to you if you aren't able to do that.

The ZIP file contains two basic folders, (a) the Core project (foldername = DotNetSlave.BusinessLogic) and (b) the files you FTP to your website (foldername = BlogEngine.NET).  You would just copy the Core DLLs you compile into your BIN folder on the website and then copy all the files in the BlogEngine.NET folder to your website.

You should definitely make a backup of your files before doing this, just in case.  It should be a pretty straightforward upgrade though.  

Do you know if your BE user accounts are stored in the database or in the App_Data folder?  If it's in the database, you'll have a be_Users table, otherwise they're being stored in App_Data\users.xml.  You might want to not upload the users.xml file from 1.4.5.12 to your website and just leave the one you have there now.  Same with some of the other App_Data files like settings.xml.  If you make a backup, then you can always just copy the 1.4.5.12 files up to the website and then copy back some of the files in the App_Data folder if you need to.
Dec 10, 2008 at 7:40 PM
Edited Dec 10, 2008 at 8:22 PM
Hi Ben,

Yes, I downloaded 1.4.5.12, and the bin is empty: so no DLL's. I don't have a working copy of VS to compile them.

I'm wondering, having re-read the posting above about the script fix, whether replacing just the BlogEngine Core items with the SyndicationHandler.cs inside would do the job for this specific problem. Might be worth a try if you send the items needed.

I can use my FTP manager to rename the current files that will be replaced and save them where they are. Then, I could upload the replacement files, see if everything still works. If not, I could delete the new files, rename the replaced files back to their original names.
 
The problem may come from the SQL server with the DB. (by the way: user settings are in the SQL Server DB, not in a users.xml on my site.) If those links are changed in the new files, I wouldn't have a clue as to how to get the DB re-connected to get it to work. (But deleting the replacment files and rolling back to the previous files should still work to undo any mess. Hopefully.)

May be worth a try. What do you think?

I hope this all works.

Kind Regards,

saratogacoach
Coordinator
Dec 10, 2008 at 7:59 PM
So I emailed you a ZIP of the three 1.4.5.12 files for your BIN folder.

SyndicationHandler.cs is one of the files in the core that gets compiled into the DLL.

There's many files in the BlogEngine.NET folder that you'll want to upload to your web server.  For a backup, you can either backup all the files in your current Blog folder to your local computer.  Or you could rename your "blogs" folder to "blogs_backup", and create a new "blogs" folder to upload the files into.

For your settings, the Web.Config file in the root of your blog is actually very important.  It has the connection string information to your database.  You can probably overwrite the Web.Config file in the 1.4.5.12 files with your current Web.Config file.  Or you could try adding your settings in your current Web.Config file into the Web.Config file in the 1.4.5.12 download.  I think your existing Web.Config file will work with 1.4.5.12 without any problems.
Dec 10, 2008 at 8:21 PM
Hi Ben,

Which files in the BlogEngine.net 1.4.5.12 folder (these are source and not compiled) would I upload?

Maybe I should just back-up by current folder, upload everything except Web.Config, the Curiously Green theme I added? Then re-script the items added for printing, etc.?

Not sure how to proceed.

saratogacoach
Coordinator
Dec 10, 2008 at 8:31 PM
If possible, I'd first download all the files in your blog folder to your local computer as a backup.  It shouldn't take that long.

In the 1.4.5.12 BlogEngine.NET folder you downloaded, there are folders named admin, api, App_Code, App_Data, etc.  You can overwrite the Web.Config file in that BlogEngine.NET folder with your existing Web.Config file.  You should be able to also overwrite the files in the 1.4.5.12 App_Data folder with the files in your existing App_Data folder.

Once you overwrite these files with your existing files, I would just upload the entire contents of the BlogEngine.NET folder to your website, overwriting your current files.  The 1.4.5.12 files you'll be uploading won't include the Curiously Green folder, so you won't be overwriting any changes you made to that theme.

If you backup all the files ahead of time to your local computer, if something goes wrong, you can always delete all the files in the blog folder on your website and upload your backed up files to the webserver.
Dec 10, 2008 at 9:44 PM
Hi Ben,

Going slowly. Noticed, for example, there are 2 "web" config files: one "Web" in the admin folder and one "web" in the main folder. Not sure which to over-write.

I'll do some more online documentation reading on upgrading first.

Copies on my desktop are completed, so I have back-up, plus an extra for the modifications, then upload.

Challenging!

Kind Regards,

saratogacoach

Coordinator
Dec 10, 2008 at 9:54 PM
Yeah, it's never a bad idea to get a feel for what you're doing first.

There's actually 4 different web.config files in the 1.4.5.12 zip you downloaded.  One in the main folder and three others in various subfolders.  You only need to replace the web.config file in the main, root folder.  You shouldn't have any customizations in the other web.config files on your website, so you won't need to touch these other web.config files.
Coordinator
Dec 10, 2008 at 11:49 PM
It turns out those <span> tags in site.master for the link to your About page are there for a reason.  CSS is being applied to the span tags for the "x" graphic to show up on the right side of the menu link.  Your About link doesn't have the "x" there now.  I guess you're probably working on the 1.4.5.12 upgrade, but when you have a chance, this line of code for your site.master should work:

<li><asp:HyperLink ID="HyperLink2" NavigateUrl="~/page/About.aspx" runat="server">about<span></span></asp:HyperLink></li>

Try replacing your line of code with the one above.  If you still get an error, let me know what error it is.