Blog version 7.0 ~~~~~~~~~~~~~~~~ Table of Contents ----------------- Part 1 - Introduction Part 2 - What's New Part 3 - Installation Part 4 - Usage Part 5 - Server and Client Modes Part 6 - Problems/Incompatibilities Part 7 - Bug Reports/Suggestions Part 8 - Version History Part 9 - Future Plans Part 10 - Credits/Thanks Part 1 - Introduction Blog is simply an application that I wrote to emulate Blogger (www.blogger.com) locally on my hard disk instead of on a remote server. I wanted to be free of Internet access and maintainance problems at the server end. I had used Blogger for a while and had come to like the service a lot but it was missing a few features that I really wanted and so Blog was born. Blog provides all the functionality of Blogger plus more except in one are - the ability to share the the task/burden of posting with multiple people. While Blog does have rudimentary shared posting capability via it's new Server and Client modes, remote users currently cannot edit or delete posts that they'd already made - this can only be done on the Server. Other than that, Blog is a fairly versatile tool that a lot of users have come to like ... Part 2 - What's New + Added code to detect database corruption on startup and repair the affected tables + Added option to convert carriage returns to paragraphs and line breaks + Added sub-option to convert single carriage returns to paragraphs (for backward compatibility) + Added sub-option to insert two
tags instead of a

tag * Fixed deleting a record causing a DBISAM error * Changed code to not put paragraph tags if a Digest has HTML stripping enabled * Fixed the calendar bold display not getting updated after an entry is deleted * Fixed minor bugs in the purge entries dialog * Changed certain HTML tags generated by Blog to be XHTML 1.1 compliant * Fixed image linking problems when linking to a remote file (when it's a URL of an image file) * Fixed HTML digests not displaying properly on the e-mail client * Changed the behaviour of the Refresh context menu item on the preview pane to reload the entry * Changed the comments display a bit and allowed deleting of comments on pressing DEL Part 3 - Installation If you are doing a completely new install of Blog, all you have to do is run the Blog Setup program and it will install the program, create desktop and Start Menu icons for you and then you can simply run Blog to get started on the task of setting up Blog. If you are doing an upgrade of an existing install and the previous version is 5.0 or later: a) Backup your existing Blog data in the Blog direcotry. b) Download the Blog Installer and run it. Point it to your existing Blog directory. c) Run Blog - that's it :p If you are doing an upgrade of an existing install and previous version is 4.0 or earlier: a) Download the Blog Conversion utility, extract it to the directory where you have Blog installed, Run it and if there are any conversion options since your version, select the appropriate Convert menu option or options - if there are multiple options since your version run all of them. b) Follow the steps above for a 5.0 or later upgrade. Part 4 - Usage Blog is basically a database application which stores all entries you type in and additionally posts the entries to a site (or sites) of your choice. Before you can begin working with Blog however, you must configure a few things such as the FTP site(s) you want to use, the templates to be used to publish your entries and the journal(s) that you will be publishing to as well as the locations of these journals. In order to configure all the above mentioned settings, you must select Journal Management from the Tools menu or the toolbar and you will be presented with a dialog to configure all these settings. The FTP Sites tab allows you to name the FTP sites that you use and to define the login information for each site. Additionally the FTP Sites tab has an FTP Site check box which when unchecked marks that site as a local directory on your hard disk or a shared drive on a network. You then do not have to enter any information for the site besides the site name. The site name is simply a descriptive name for the site which uniquely identifies the site. The FTP Site value is where you identify the URL (but not the directory/path part of the URL) or the IP address for your FTP server. The rest of the values should be fairly self explanatory but if not, you can always refer to the tooltips that popup when you hold your mouse cursor over a certain field for a little while. The Templates tab will already contain several predefined templates for the various types of templates used in Blog. You can customize them to suit your needs or better still make a copy of an existing template and modify it till your journal looks the way you want it to. The Remote Template value allows you you to type in (or browse to) a file on your hard disk which contains the contents for that particular template. Any changes to the file will be reflected in the template when you next publish using Blog. Note that the term "remote template" does not mean you can use a template on an FTP server or a file on the Internet - it has to be a file on your hard disk or a shared drive on the network. The third tab - Journals - allows you to define your journal(s) and to specify certain settings individual to each journal such as the date formats to be displayed for the journal entries and the archive links, the archive type (monthly or weekly), whehther to display entries and archive links in reverse or normal order, the name to be displayed as the author for that particular journal (in case you don't have Use Windows User Name checked under globabl options) and the URL linked to that journal so that you can browse the journal with a click of a button. The More... tag value field defines the text that will be displaed if you were to use the <$BlogMore> tag (the usage of this tag will be explained later on ...) Blog also has the ability to send out a weekly or monthly digest of all entries in the journal via e-mail to subscribed users and you can configure the digest from the Journals tab. Most of the settings for the digest are easy to understand - the Strip HTML setting defines whether all HTML tags in the entries will be removed or not and this setting also controls whether the Digest is sent as plain text or HTML e-mail. The Sites tab allows you to define the site(s) and template(s) used for each of your journals. Using this dialog, you can define multiple sites for the same journal. It is also possible for you to define multiple journals for the same site or to use different templates for each site or each journal. It is as versatile as you need it to be :-) If you are using a local directory simply select the non-FTP site you defined earlier on the FTP Sites tab, give the full path to the directory as the Full Path value and Blog will simply copy over the files when publishing your journal. If you are not publishing to the root directory on your FTP server, then you need to give the absolute path to the directory from the root - when I say absolute path, I mean the path to the directory you want from the root of the FTP server but not the server adddress path. For example, if your journal is in ftp.myftp.com/mylog then you'd put /mylog for the Full Path value but if you are publishing to the root, then you can leave this value blank. You can also specify the Image Directory for that site in case you want any image files you link to from Blog to be placed in a location other than where the journal file itself will be. But be aware that image files will be uploaded to this directory only if you include them via the Image ... right-click link option. Otherwise, image files added to the Upload Manager will be treated as normal files since Blog has no way to differentiate between image files and other files. Note that the Archive Template value actually defines the look of the archive table of contents and not archived entries - archived entries are formatted using the Journal template. In case, you need a different extension for your archived files (such as PHP to allow you to use PHP scripting), you can use the Archvie Extension value to define what the file extension for all archive files should be. In case you are using the built-in comments in Blog, the Comments Template allows you to assign a template which will define how any comments are displayed. Blog also has a feature where you can assign multiple categories to any entry and display all entries per category as part of the category archives. However, a point to be noted is that while normal date-wise archives can be automatically created, category archives aren't automatically created and have to be always explicitly created from the Tools menu's Publish Archives... option. The Category Template value defines how the archive display for each category will look. Active checkbox allows you to deactivate a certain site and stop it from being included in the publish process for a given journal and the Auto-archive checkbox lets you decide whether to automatically create date-wise archives each time you publish or not. Once you have all the configuration done, all that remains is to make your journal entries. To make an entry, select the date of your choice from the calendar control Blog screen and then click the New Entry button on the toolbar or select New Entry from the Journal menu item and you should see that a new entry is created for the selected date and current time in the entry grid in the lower left hand corner of the screen. Now you can simply type whatever you want in the edit control on the top of the screen and click the Save button on the toolbar or the appropriate menu item to save your entry. You can also simply start typing if there are no entries at all for that date and when you click the Save button, the Date and Time will be automatically populated for you. Note that you can have Blog automatically detect carriage returns and insert an HTML paragraph tag and/or line break tag depending on the number of carriage returns. This feature is controlled by the Automatic Spacing checkbox on the Options dialog and it's two sub-options: Paragraph on single CR/LF and Double
for paragraph. The first sub-option lets you choose whether to have all carriage returns identify a new paragraph or to have single carriage returns be treated as line breaks and only double carriage returns to be treated as a new paragraph. The second sub-option allows you to use two line breaks instead of using an explicit paragraph tag, depending on your choice for layout/coding. You can also enter a title for the current entry on the edit line above the entry box. If your entry contained HTML code and you want to make sure that it displays as you intended, you can use the Preview toolbar button or the Preview Entry option on the Journal menu. This will bring forward the preview pane and hide the comments and category displays which are usually to be seen below the entry window. When you click the Preview button again, the preview pane will hide and the comments and category view will be revealed. If you change the current entry and want to refresh the preview, simply use the Refresh option on the right-click context menu of the Preview pane. If you have more than one journal defined, you can select the journal of your choice from the toolbar using the two arrow buttons next to it and so switch journals easily. All publishing of entries will be performed for the currently selected journal. If you have multiple sites, it is possible to have different templates for each site and so have the same entries but with completely different looks at each site. The Blog installation will come with a several templates by default - these are sample templates that I have create to give you an idea of what each type of template should look like. Feel free to modify them or to create your own templates based on them. A template is simply a full HTML file without the journal entries or the archive links to weekly archive files. You simply tell Blog where to insert entries by using a pair of special tags - and . All Blog related stuff has to go within these tags. For a journal, you can use several extra tags: <$BlogDate> - The date of the entry <$BlogTime> - The time of the entry <$BlogAuthor> - The author of the entry <$BlogTitle> - The title for the current entry <$BlogEntry> - The journal entry itself or the comment (if the template is for a comments page) <$BlogID> - A unique identification number for each journal entry <$BlogLink> - The unique URL to the current entry <$BlogExt> - An internal variable (usually) to handle the file extension for the blog <$BlogImgDir> - An internal variable to handle image linking <$BlogMore> - A tag which allows you to put long posts on a different page automatically and create a link to them instead of having the whole thin on your main page. <$BlogComment> - Provide a link to send a comment via e-mail if there are no other comments or provide a link to a page containig already sent comments. <$BlogCommentCount> - The number of comments for the current entry (blank when zero) <$BlogSummary> - Provides the first x (x is defined via the Options dialog) number of characters of each entry. If the entry is shorter than x, then the full entry is provided. The following tags need to be placed outside the and tags for the main journal but the <$BlogArchive> entry can be used in an archive template as well - in which case, it has to be in between the and tags: <$BlogArchive> - This tag returns the archive links as an HTML table - The start of a configurable archive display section - The end of a configurable archive display section <$BlogArcText> - Link text to be displayed for monthly/weekly archives inside a and section <$BlogArcFile> - File name for a monthly/weekly archive file inside a and section <$BlogArcCatText> - Similar to <$BlogArcText> but for categorized archives <$BlogArcCatFile> - Similar to <$BlogArcFile> but for categorized archives <$BlogArchivePrev> - The name of the previous Archive file <$BlogArchiveNext> - The name of the next Archive file <$BlogDigestSubscribe> - Provide the href link for subscribing to the digest version <$BlogDigestUnsubscribe> - Provide the link for unsubscribing from the digest version <$BlogNewComment> - Provide the link for sending a comment (works only from a comments template) <$BlogCookie> - If you have downloaded Cee, the cookie manager, and installed it in the same directory as Blog and loaded some fortune cookies into the database then you can use this tag to display a different fortune cookie each time you publish your journal Blog also has a set of Blog tags named and . These tags have to be placed within the and tags but act as a mechanism for displaying any date specific information that you might want to display for a set of entries for the same date. Basically, anything within the and tags are displayed only once per each date. For an archive table of contents template, there is only one special tag to go within the and tags and that is, <$BlogArchive>. This tag simply tells Blog where to place entries in the Archive table of contents. There is a modifier to the <$BlogArchive> tag which tells Blog how many columns of archival entries to display on the main archive page. You do this simply by adding the modifier cols as in <$BlogArchive cols=3> which would display three columns of archive entries. If no modifier is specified, a single column will be displayed by default. Incidentally, the archive template is used to define the table of contents files. The individual archived entries for each week are created using the same template used for journal entries and the files are automatically named by date. It is not necessary to always have the archive table of contents on a separate file - if you want to display your archives (either date-wise or category-wise) on your main journal itself, you can use the and tags and define the look for the table of contents within these two tags. Refer to the external Blog tags section to see what tags can be used within the and tags. Both the journal publishing and archiving processes upload the created files automatically to your site/s or copy them over to a local directory if you are using a non-FTP site. If you are using an FTP site, you should be connected to the Internet when you select Publish or Archive if you haven't checked the Automatically dial out checkbox on the Options dialog and selected a properly configured dial-up connection from the dropdown list. You should also have one or more active sites defined for your journal. If you check the Automatically Disconnect checkbox on the Options dialog, Blog will terminate your dial-up session once it is done publishing. Part 5 - Server and Client Modes Blog 6.0 added a new configuration option named Mode to Blog under a newly created Mode tab in the Blog Options dialog. Mode can have three different values: Standard, Client and Server. In Standard mode, Blog works just the way it did before version 6.0 whereas Client and Server modes allow multiple users to post to the same journal without the need for an actual server-based system that most users might not be able afford or know how to configure. In order for multiple users to be able to post, one machine will have to run Blog in Server mode whereas all the other machines will run in Client mode. There are however a few caveats, the main one being that the Client and Server machines should have the same journal names (even down to case) since that's the way that Blog identifies which journal a post is intended for - by journal name. The other problem is that while this method allows multiple users to post, there currently is no way for a remote user to edit/delete an entry that they've made. The Server machine allows a user to both post entries of their own and to receive entries from other users via e-mail and incorporate them into the journal before publishing. A machine running Blog in Client mode on the other hand only allows a user to make an entry and send it off via e-mail to the Server. You will have most of the standard functionality of Blog but will be missing a few things such as the ability to link to older entries (since you won't have all the older entries on your machine and even the ones you can link to will probably point to an invalid location) and the ability to upload files. You can even make multiple entries and post them via Client mode but note that in Client mode it is always the currently selected entry which is mailed out. If you select Server mode, you will need to configure Blog to check a specific e-mail address for posts intended for your journal. In order to do this, you'll have to provide your POP server address as well as the login and password for the POP server. The Subject Header value defines how Blog detects a post intended for Blog. It is set to [Blog] by default but you can change this to some other value but in that case, all Clients posting to your journal have to change the Subject Header value so that they all have the same value. Otherwise, Blog will not detect incoming posts intended for Blog. The Delete Mail check box is checked by default and should usually be left that way unless you want to do some debugging. All it does is delete the posts intended for Blog (only those - not all of your unread e-mails ) after Blog has retrieved them. If you do not check this box, Blog will leave those e-mails on the server and it will create a duplicate entry the next time you publish using Blog - and since you can't have two entries for the same journal on the same date and time, this will result in a Blog crash :p If you select Server Mode, you will note that a new Server tab gets added to the Options dialog. This tab contains a few settings specific to Blog Server such as automated publishing and the ability to limit who can (or cannot) post to your journals. The automated publishing option simply allows you to leave your machine on and have Blog automatically check for new posts at a given time interval and update your site with any new posts it finds. The Include/Exclude list allows you to limit the users who post to your journal. If this option is not selected, then anybody can post to your journal as long as they know the correct Subject Header and journal name. But if you enable this option and select Allow, only those people whose e-mail address is on the list are allowed to post to your journal. Similarly, if you select Ban, all people whose e-mail address matches those on the list, are not allowed to post and their posts are simply ignored. There is also a checkbox which says "Publish Only if there are e-mails" - this checkbox can be a bit confusing since this affects the working of Blog depending on the condition. If you check the box and leave blog to publish automatically on timer, then Blog will publish to your site only if there are any Blog related e-mails, otherwise it will do nothing. However, if this checkbox is not checked, then Blog will republish your journal each time the timer goes off, irrespective of whether there are new entries or not. However, if you click the toolbar publish button under Blog Server mode, Blog will always publish whether there are new e-mails with entries or not since Blog assumes that you know what you're doing :p The Client mode settings include mail server settings (SMTP) and a from and to address. Please note the tooltip on the From: address for the from address format. It's important to have the name as well as the e-mail address as in the tooltip example if you want the author to be properly filled out in Blog. The To: address simply specifies who the e-mailed entry is from and can be extremely important if the server at the other end has an Include/Exclude list set up based on e-mail. If you are setting the Client up for your own use on the road, then both the From: and To: addresses probably will be the same one. So why have two different values? Because if you are using a shared journal then the From: address will be different depending on who does the posting. The Authenticate check box is used to force Blog to authenticate with the provided login and password in case your ISP/mail server requires authentication - normally, you should be able to leave this box unchecked. The other value of note is Subject Header, which as mentioned earlier for the Server Mode settings, should be the same on both the Client and Server. Part 6 - Problems/Incompatibilities - None that I'm aware of. Part 7 - Bug Reports/Suggestions There are a couple of ways to get support or to offer suggestions: - You can join the rooksoft@yahoogroups.com list (send mail to rooksoft-subscribe@yahoogroups. com) - You can e-mail me at FahimF@email.com Part 8 - Version History 7.0B6 (03 October 2002) + Added code to remember the Log window size and position + Encrypted passwords saved in the Blog.INI file + Added HTML code stripping capabilities for the digest feature * Fixed deleting an entry causing a database error * Fixed the <$BlogCookie> tag causing an error when Cee is not installed * Fixed not being able to remove all categorizations once you've assigned categorizations to an entry * Fixed a second instance of Blog deleting data files * Fixed the installer appending "Blog" if you want to change the default install directory and browse for it * Fixed the journal file being uploaded to the image directory under certain circumstances 7.0B5 (18 September 2002) + Added option to order archives in reverse either by date or time or by both * Fixed categorized archives not following the order (reverse/normal) used by normal archives * Changed category table of contents listing to be sorted alphabetically * Fixed not being able to use spaces in category descriptions 7.0B3 (16 September 2002) * Fixed the custom snippet buttons disappearing from the toolbar when new ones are defined * Fixed entry deletion not removing categorization associations for that entry * Fixed not being able to make more than one post per day ... * Fixed "Invalid Media" error on Backup on some machines ? 7.0B2 (13 September 2002) + Added the ability to send out a periodic digest of entries via e-mail + Added two new external Blog tags <$BlogDigestSubscribe> and <$BlogDigestUnsubscribe> to handle digest membership + Added the ability to send comments via e-mail + Added a new Blog entry tag named <$BlogComment> to handle the display and entry of new comments + Added a new Blog entry tag, <$BlogCommentCount> to display the number of comments for an entry + Added a new Blog external tag, <$BlogNewComment> to provide a new comment link from the Comments display page + Added a Backup item to the Tools menu to allow the backing up of Blog data + Added a Repair item to the Tools menu to allow users to repair damaged data tables + Added the facility to assign multiple categorizations for each entry and to display these categorizations + Added two new tags - and to enclose an archive entry section to allow better customization + Added <$BlogArcText> and <$BlogArcFile> tags to define by-date archive entries + Added <$BlogArcCatText> and <$BlogArcCatFile> tags to define by category archive entries + Added <$BlogSummary> tag to provide the first few words (length configurable) of an entry + Added saving Blog logging to a text file which is automatically cleared up after 100k + Added code to delete an existing entry if another e-mail for the same date and time, by the same author, is received with an empty body + Added a query to backup data before data conversion for a new version (on upgrading ...) + Added a menu option to trigger the sending out of the digest for the current period (even if it has already been sent) * Changed Server mode behaviour to replace an existing entry if a new one is by the same author and for the same date and time * Changed the firewall configuration to use the new proxy configuration options for the Indy 9.0 components (no explicit SOCKS support) * Fixed the Internet connectivity check to ignore check if posting only to local sites, only for Standard mode 6.10 (16 August 2002) * Fixed changing of journals not updating the calendar bold dates properly * Changed the <$BlogArchivePrev> and <$BlogArchiveNext> tags to return just the file name not HTML code * Fixed the <$BlogArchivePrev> and <$BlogArchiveNext> tags to verify that the archive pointed to actually exists * Fixed the All Journals option for the Find dialog causing an error * Fixed the Link button on the Find dialog causing an error when clicked * Fixed the ability to run more than one instance of Blog * Changed snippet insertion to place the cursor between the tags if no selection is made * Fixed <$BlogImgDir> & <$BlogExt> tags at the end of an entry causing the removal of the last character - Removed all the HTML tag insertion options from the edit right-click context menu + Added a new Custom menu which allows definition of custom code snippets + Added displaying dates on the Link to older entries dialog in bold for dates with entries 6.00 (27 June 2002) * Fixed Blog looking for a Net connection even when only publishing to local sites * Changed the image directory linking to use relative paths if possible 6.0B3 (20 June 2002) + Added option to control whether Blog is minimized to the system tray or not + Compressed the final executable with UPX to get a much smaller EXE file + Added code to attach files and images to the e-mail under Client mode + Added code to upload all attached files to the image directory on the web server under Server Mode + Added Server mode option to not publish if there are no e-mailed entries * Changed Client mode behaviour to link even files to point to the image directory * Fixed the new version numbering causing problems under non-English number formatting * Fixed font type and size settings not taking effect after a restart of Blog * Fixed an AV (Access Violation) error on sending using Client Mode (not fatal) 6.0B2 (10 June 2002) + Added new General option to specify whether the http:// checkbox on the Link dialog is chcked by default or not + Added option to edit entries displayed in the search results dialog + Added option to specify whether to auto-save entries when idle or not + Added options to automatically connect and disconnect from the Internet via dial-up connections + Added three modes to Blog: standard, server & client and options to handle these modes + Added a timed automatic publish option for Blog in Server mode + Added the facility to either allow or disallow posters based on e-mail address in Server mode + Added a new internal variable named <$BlogImgDir> so that image linking works properly + Added option to confirm entry deletes + Added code to display dates with entries in bold on the Blog calendar * Fixed Preview cutting off the first character of the post * Fixed multiple <$BlogExt> tags in one post not being parsed properly * Fixed problem in FTP directory changing - now it should not go beyond virtual root * Fixed the FTP connection not being re-established if the host is the same but the user names are different * Fixed the last characters on the archive table of contents being cut off sometimes. * Added better hints to the Full Path value fields * Fixed the live spell-check option on the Edit menu not working after a restart of Blog 5.0 (22 January 2002) + Added database change detection and conversion to Blog itself instead of an external utility + Added <$BlogSysDate> and <$BlogSysTime> tags to display the system time when publishing + Added idle handling for Blog to write data to disk when Blog is idle + Added HTML syntax highlighting to the template edit dialog + Added a search option to search across journals or a specific journal + Added an option to the Insert URL dialog to specify whehter to add http:// to the link + Added an option to the Insert URL dialog to specify whehter to open the link in a new window - Removed code which would automatically add http:// to a link if it wasn't present * Converted the internal database structures to use DBISAM 3.0 * Fixed proxy support not being enabled unless you make some change to the options * Fixed bug with deleting with unsaved changes which can potentially cause data corruption * Fixed the linking to older entries dialog entry display not being scrollable * Fixed problem with many of the edit right-click menu insert options inserting stuff at the wrong place if the entry had been saved. 5.0B1 (07 September 2001) + Added enabling and disabling of Save button based on changes + Added spell checker and thesaurus capabilities + Added syntax highlighting for HTML code + Added multi-level redo + Added a cookie database and support for displaying a fortune cookie with the <$BlogCookie> tag + Added Cut, Copy and Paste options to the edit window context menu * Fixed context menu insertions not being saved on already saved entries * Fixed exiting with changes not prompting the user to save changes * Fixed <$BlogArchivePrev> and <$BlogArchiveNext> sometimes being mistaken for <$BlogArchive> * Fixed <$BlogArchivePrev> and <$BlogArchiveNext> sometimes not pointing to the correct file for the journal (not archives) * Fixed <$BlogArchivePrev> and <$BlogArchiveNext> pointing to non-existent pages for oldest and newest 4.0 (24 August 2001) + Added OK & Cancel buttons to the Journal Management dialog (automatically saves/removes changes) + Added hints for all values under the Journal management dialog + Added option to display journal entries in ascending as well as descending order + Added option to save Windows login name as the Author name for journal + Added code to save the author name per entry instead of going by a global setting + Added the option to have a different author name per journal + Added Option to open the ReadMe via Help + Added option to choose labels used by Blog for day and month names + Added CTRL+ENTER as the shortcut key for a line break tag + Added option to launch the default browser to display current journal's site + Added option to specify a separate image upload directory per site + Added check to automatically add "http://" to hyperlink inserts if it's not there + Added shortcuts CTRL+N,CTRL+S,CTRL+D for New Entry, Save Entry and Delete Entry respectively + Added a remote template option to have a given template linked to an external file + Reintroduced the purge option and made it more flexible + Added a title per entry and a new <$BlogTitle> tag to display it + Added toolbar buttons for bold, italic and web preview * Moved some of the Global Options to the Journal level so that each Journal can have separate settings * Fixed trying to change journals with unsaved changes causing an error * Fixed no date being displayed for subsequent sites if there's only one entry and multiple sites * Fixed an FTP "Connected" message being treated as an error * Fixed changing the calendar date with unsaved changes and saying 'Yes' to the prompt saving to the wrong date 3.7 (13 August 2001) + Added saving of visibility of the main toolbar and the edit toolbar + Added Bold and Italics options and CTRL+B and CTRL+I shortcuts for them + Added shortcuts for HyperLinks (CTRL+H) and Image (CTRL+M) + Added the option for Blog to be minimized to the system tray + When you have the Monthly archive format the table of contents entries show differently + You can now have the <$BlogArchive> tag even in your main journal + Added code to detect unsaved entries when New Entry is clicked and to prompt to save + Added code to detect unsaved entries when Publish is clicked and to prompt to save + Added functionality to allow only one instance of Blog to run - Removed the new customizable menus since people didn't like them * Modified the database structures to avoid a potential date related problem * Fixed certain problems with changes not being updated immediately * Fixed Blog having problems under non-English versions of Windows * Fixed the move to parent directory command causing errors with certain FTP servers * Fixed linking to older entries not working properly 3.5 (03 August 2001) - Removed the new animated menus since it causes a problem under Win95 + Added option to specify the time format used for <$BlogTime> tags + Added <$BlogExt> tag to specify file extensions in linking + Added <$BlogLink> tag to specify the archived link for the current story + Added the option to specify archive type - weekly or monthly + Added code to automatically save and restore the Blog window size and placement + Added Edit menu with Select All and Undo options + Added multi-level undo + Added option to turn off automatically converting carriage returns to paragraph tags + Added option to specify whether the number of days for which posts are shown is absolute or by actual entries * Fixed the archive extension not being set properly for Entry Links * Changed the code so that the same FTP site is not connected to multiple times * Changed the archiving code to be more flexible * Moved AutoArchive and Last Archived Date from being Journal specific options to site specific ones * Changed Auto-archive to publish archives each time you publish the journal * Fixed a problem when used on a machine using a non-American date format * Changed the publishing start date from the current date to the last entry date 3.0 (30 July 2001) - Removed the journal being deleted when the final site for that journal was deleted - Removed new journals being added via the Sites tab (in future, use the Journal tab) + Added functionality to delete all sites and entries for a journal when it's deleted + Added hints for the database navigation buttons on the Journal tab + Added option to specify the extension for all archived entry files * Fixed code allowing all journals to be deleted and still let Blog function * Fixed the auto-inserted entry anchors not having a closing tag * Fixed archiving through the Archive option only creating the table of contents file * Modified the carriage returns to paragraph tag conversion code to be standards compliant 3.0B1 (27 July 2001) + Added an error check when trying to run Archive with no entries + Added code to create Archive links only for weeks that have entries + Added a new Autoarchive option per journal and a new tab to edit journal specific information + Added a Last Archived value to display when a given journal was last archived + Added code to automatically create archival entries each time a journal is published + Added a modifier named cols to the <$BlogArchive> tag so that you can have multiple columns + Added code to automatically insert a unique anchor for each entry for linking to other entries + Added a dialog (and an option) to select previous entries to link to + Added an option to specify the date format for archive entry links * Modified the look and feel of the main menu * Fixed a crash that occurs if you start an entry and then click on the calendar control * Modified Blog functionality so that carriage returns are changed to paragraph tags at time of publishing 2.5 (23 July 2001) + Added hints for database navigation buttons on the Journal management dialog * Fixed the File Upload manager closing when the Add button was clicked * Fixed Blog tags besides and needing to be case sensitive + Added a new <$BlogID> tag to uniquely identify each journal entry * Fixed problems with the order of entries when they are entered for an older date 2.5B2 (18 July 2001) + Added an Upload File Manager so that you can manage the extra files uploaded by Blog + Added a new toolbar for the journal entry box for frequently used right-click items + Added an option to customize the Blog toolbars and to save customizations - Removed the Edit Entry item from the menu since it was superfluous * Fixed the Blog specific tags being case-sensitive * Fixed warning messages when clicking on the Save button more than once * Fixed the final character of a template being removed under certain circumstances * Fixed the journals and entries not being deleted when the last site for that journal is removed * Changed the journal management dialog resizeable so that template definitions are easier to edit 2.5B1 (12 July 2001) * Fixed the angle bracket code not working in all browsers except IE due to missing a ; * Fixed the Purge option confirmation dialog displaying codes instead of a line break * Fixed bug in archive publishing code which would create the archive files multiple times when you publish to more than one site + Added an option to specify number of days worth of old posts to display in your journal + Added a new right-click menu option for File Links to the journal entry section + Added dialogs for specifying HyperLinks, Images and File Links + Added code to automatically upload images and files referenced via the new dialogs 2.0 (18 June 2001) + Added code to prevent errors when trying to delete with no entries for that date + Added code to insert date and time at time of saving (for when the user starts typing without clicking New Entry) + Added option to be able to specify date formatting of your choice for publishing entries + Added option to specify journal author and a Blog specific tag to display it + Added new Blog tag to specify header information by date + Added support for non-FTP sites so that you can publish to local drives + Added an option to purge all entries for a particular journal + Added an Options dialog and an INI file to save settings + Added PASV support + Added SOCKS Proxy support * Fixed a crash which would occur if you tried to Publish immediately after a template change 1.5 (11 June 2001) - Removed the Convert menu entry under Tools (which shouldn't have been there in the first place) - Removed extra button (OK/Cancel/Help) on dialogs that really didn't need them * Modified the wording for all menu entries which lead to a dialog to contain ellipsis * Changed the Journal name drop-down on the toolbar so that it actually works * Merged the Journal Management and Options dialogs and named it Journal Management + Added a log window to the main Blog window to display connection information * Changed the main window so that it is resizeable and easier to control/access * Modified the sites/journal definition so that you can define more than one journal for a site much more easily. + Added error handling and logging for FTP transfers + Added the functionality detect a carriage return in the edit window automatically and to insert a new HTML paragraph tag. * Set Blog to create all temporary files in your system temp directory. 1.1 (06 May 2001) * Recompiled to use the DBISAM database engine thus eliminating the BDE * Fixed a minor bug which published last 8 days worht of entries instead of 7 days * Fixed archive entries not being generated for the last week in a given date range - Removed the InstallShield installer as it is no longer needed to support the BDE 1.0 (09 April 2001) * Brand spanking new release of Blog Part 9 - Future Plans * Perhaps some tools to make HTML composition easier - I haven't decided whehter I should or not since some people don't really like the idea :-) * Context sensitive help and better documentation * A wizard based interface to make setting up Blog much easier * Automation for multiple blogs since currently the digest and automatic publishing in Server mode will only work for the currently selected journal Part 10 - Credits/Thanks - Nigel for all the suggestions that went into Blog 6.0 and for the idea of Phlogs :p - Addictive Software (www.addictivesoftware.com) for providing me with a free copy of their excellent Addict spell checker component - Phil, Tyran, Bauke and Frank for the suggestions that went into making Blog 4.0 what it is - Jeroen, Welmoet and Tracie who worked with me tirelessly to figure out certain bugs in Blog - Jason who single-handedly pushed Blog from 3.0 to 3.5 with a host of suggestions and bug reports - Chris (jugg) who always listens to my ideas and my problems with coding and always comes up with excellent suggestions. - Elevate Software (www.elevatesoft.com) for providing me with a free copy of the DBISAM engine which makes the addition of database support for most of my Delphi software a breeze. - sinesolis for the great new Blog icons that give Blog an entirely new look Fahim (FahimF@email.com) last updated: 10/10/2002