home *** CD-ROM | disk | FTP | other *** search
/ Freelog 40 / Freelog040.iso / Bas / Internet / Blog / Blog70.exe / Blog.txt < prev    next >
Text File  |  2002-10-10  |  44KB  |  614 lines

  1. Blog version 7.0
  2. ~~~~~~~~~~~~~~~~
  3.  
  4. Table of Contents
  5. -----------------
  6.  
  7. Part  1 - Introduction
  8. Part  2 - What's New
  9. Part  3 - Installation
  10. Part  4 - Usage
  11. Part  5 - Server and Client Modes
  12. Part  6 - Problems/Incompatibilities
  13. Part  7 - Bug Reports/Suggestions
  14. Part  8 - Version History
  15. Part  9 - Future Plans
  16. Part 10 - Credits/Thanks
  17.  
  18. Part 1 - Introduction
  19.  
  20.     Blog is simply an application that I wrote to emulate Blogger (www.blogger.com) locally on my
  21.     hard disk instead of on a remote server. I wanted to be free of Internet access and maintainance
  22.     problems at the server end. I had used Blogger for a while and had come to like the service a
  23.     lot but it was missing a few features that I really wanted and so Blog was born. Blog provides
  24.     all the functionality of Blogger plus more except in one are - the ability to share the the 
  25.     task/burden of posting with multiple people. While Blog does have rudimentary shared posting 
  26.     capability via it's new Server and Client modes, remote users currently cannot edit or delete 
  27.     posts that they'd already made - this can only be done on the Server. Other than that, Blog is a
  28.     fairly versatile tool that a lot of users have come to like ...
  29.     
  30. Part 2 - What's New
  31.     + Added code to detect database corruption on startup and repair the affected tables
  32.     + Added option to convert carriage returns to paragraphs and line breaks
  33.     + Added sub-option to convert single carriage returns to paragraphs (for backward compatibility)
  34.     + Added sub-option to insert two <br/> tags instead of a <p> tag
  35.     * Fixed deleting a record causing a DBISAM error
  36.     * Changed code to not put paragraph tags if a Digest has HTML stripping enabled
  37.     * Fixed the calendar bold display not getting updated after an entry is deleted
  38.     * Fixed minor bugs in the purge entries dialog
  39.     * Changed certain HTML tags generated by Blog to be XHTML 1.1 compliant
  40.     * Fixed image linking problems when linking to a remote file (when it's a URL of an image file)
  41.     * Fixed HTML digests not displaying properly on the e-mail client
  42.     * Changed the behaviour of the Refresh context menu item on the preview pane to reload the entry
  43.     * Changed the comments display a bit and allowed deleting of comments on pressing DEL
  44.             
  45. Part 3 - Installation
  46.     
  47.         If you are doing a completely new install of Blog, all you have to do is run the Blog
  48.     Setup program and it will install the program, create desktop and Start Menu icons for you
  49.     and then you can simply run Blog to get started on the task of setting up Blog.
  50.        
  51.         If you are doing an upgrade of an existing install and the previous version is 5.0 or later:
  52.     a) Backup your existing Blog data in the Blog direcotry.
  53.     b) Download the Blog Installer and run it. Point it to your existing Blog directory.
  54.     c) Run Blog - that's it :p
  55.     
  56.         If you are doing an upgrade of an existing install and previous version is 4.0 or earlier:
  57.     a) Download the Blog Conversion utility, extract it to the directory where you have Blog
  58.        installed, Run it and if there are any conversion options since your version, select the 
  59.        appropriate Convert menu option or options - if there are multiple options since your 
  60.        version run all of them.
  61.     b) Follow the steps above for a 5.0 or later upgrade.
  62.        
  63. Part 4 - Usage
  64.  
  65.     Blog is basically a database application which stores all entries you type in and additionally
  66.     posts the entries to a site (or sites) of your choice. Before you can begin working with Blog
  67.     however, you must configure a few things such as the FTP site(s) you want to use, the templates
  68.     to be used to publish your entries and the journal(s) that you will be publishing to as well
  69.     as the locations of these journals.
  70.     
  71.     In order to configure all the above mentioned settings, you must select Journal Management from
  72.     the Tools menu or the toolbar and you will be presented with a dialog to configure all these
  73.     settings. The FTP Sites tab allows you to name the FTP sites that you use and to define the login
  74.     information for each site. Additionally the FTP Sites tab has an FTP Site check box which when
  75.     unchecked marks that site as a local directory on your hard disk or a shared drive on a network. 
  76.     You then do not have to enter any information for the site besides the site name. The site name is
  77.     simply a descriptive name for the site which uniquely identifies the site. The FTP Site value is
  78.     where you identify the URL (but not the directory/path part of the URL) or the IP address for your
  79.     FTP server. The rest of the values should be fairly self explanatory but if not, you can always
  80.     refer to the tooltips that popup when you hold your mouse cursor over a certain field for a little
  81.     while.
  82.     
  83.     The Templates tab will already contain several predefined templates for the various types of 
  84.     templates used in Blog. You can customize them to suit your needs or better still make a copy
  85.     of an existing template and modify it till your journal looks the way you want it to. The 
  86.     Remote Template value allows you you to type in (or browse to) a file on your hard disk which 
  87.     contains the contents for that particular template. Any changes to the file will be reflected 
  88.     in the template when you next publish using Blog. Note that the term "remote template" does not
  89.     mean you can use a template on an FTP server or a file on the Internet - it has to be a file on
  90.     your hard disk or a shared drive on the network.
  91.     
  92.     The third tab - Journals - allows you to define your journal(s) and to specify certain settings
  93.     individual to each journal such as the date formats to be displayed for the journal entries and
  94.     the archive links, the archive type (monthly or weekly), whehther to display entries and archive
  95.     links in reverse or normal order, the name to be displayed as the author for that particular
  96.     journal (in case you don't have Use Windows User Name checked under globabl options) and the
  97.     URL linked to that journal so that you can browse the journal with a click of a button. The More...
  98.     tag value field defines the text that will be displaed if you were to use the <$BlogMore> tag (the
  99.     usage of this tag will be explained later on ...) Blog also has the ability to send out a weekly or
  100.     monthly digest of all entries in the journal via e-mail to subscribed users and you can configure
  101.     the digest from the Journals tab. Most of the settings for the digest are easy to understand - the
  102.     Strip HTML setting defines whether all HTML tags in the entries will be removed or not and this 
  103.     setting also controls whether the Digest is sent as plain text or HTML e-mail.
  104.     
  105.     The Sites tab allows you to define the site(s) and template(s) used for each of your journals. 
  106.     Using this dialog, you can define multiple sites for the same journal. It is also possible for 
  107.     you to define multiple journals for the same site or to use different templates for each site or 
  108.     each journal. It is as versatile as you need it to be :-) If you are using a local directory 
  109.     simply select the non-FTP site you defined earlier on the FTP Sites tab, give the full path to the 
  110.     directory as the Full Path value and Blog will simply copy over the files when publishing your 
  111.     journal. If you are not publishing to the root directory on your FTP server, then you need to give 
  112.     the absolute path to the directory from the root - when I say absolute path, I mean the path to 
  113.     the directory you want from the root of the FTP server but not the server adddress path. For 
  114.     example, if your journal is in ftp.myftp.com/mylog then you'd put /mylog for the Full Path value 
  115.     but if you are publishing to the root, then you can leave this value blank. You can also specify 
  116.     the Image Directory for that site in case you want any image files you link to from Blog to be 
  117.     placed in a location other than where the journal file itself will be. But be aware that image 
  118.     files will be uploaded to this directory only if you include them via the Image ... right-click 
  119.     link option. Otherwise, image files added to the Upload Manager will be treated as normal files 
  120.     since Blog has no way to differentiate between image files and other files. Note that the Archive
  121.     Template value actually defines the look of the archive table of contents and not archived entries -
  122.     archived entries are formatted using the Journal template. In case, you need a different extension
  123.     for your archived files (such as PHP to allow you to use PHP scripting), you can use the Archvie
  124.     Extension value to define what the file extension for all archive files should be. In case you are
  125.     using the built-in comments in Blog, the Comments Template allows you to assign a template which 
  126.     will define how any comments are displayed. Blog also has a feature where you can assign multiple
  127.     categories to any entry and display all entries per category as part of the category archives.
  128.     However, a point to be noted is that while normal date-wise archives can be automatically created,
  129.     category archives aren't automatically created and have to be always explicitly created from the
  130.     Tools menu's Publish Archives... option. The Category Template value defines how the archive display
  131.     for each category will look. Active checkbox allows you to deactivate a certain site and stop it
  132.     from being included in the publish process for a given journal and the Auto-archive checkbox lets
  133.     you decide whether to automatically create date-wise archives each time you publish or not.
  134.      
  135.     Once you have all the configuration done, all that remains is to make your journal entries. To 
  136.     make an entry, select the date of your choice from the calendar control Blog screen and then 
  137.     click the New Entry button on the toolbar or select New Entry from the Journal menu item and 
  138.     you should see that a new entry is created for the selected date and current time in the entry 
  139.     grid in the lower left hand corner of the screen. Now you can simply type whatever you want in 
  140.     the edit control on the top of the screen and click the Save button on the toolbar or the 
  141.     appropriate menu item to save your entry. You can also simply start typing if there are no 
  142.     entries at all for that date and when you click the Save button, the Date and Time will be
  143.     automatically populated for you. Note that you can have Blog automatically detect carriage returns 
  144.     and insert an HTML paragraph tag and/or line break tag depending on the number of carriage returns.
  145.     This feature is controlled by the Automatic Spacing checkbox on the Options dialog and it's two
  146.     sub-options: Paragraph on single CR/LF and Double <br/> for paragraph. The first sub-option lets
  147.     you choose whether to have all carriage returns identify a new paragraph or to have single carriage
  148.     returns be treated as line breaks and only double carriage returns to be treated as a new paragraph.
  149.     The second sub-option allows you to use two line breaks instead of using an explicit paragraph tag,
  150.     depending on your choice for layout/coding. You can also enter a title for the current entry on the 
  151.     edit line above the entry box.
  152.     
  153.     If your entry contained HTML code and you want to make sure that it displays as you intended, 
  154.     you can use the Preview toolbar button or the Preview Entry option on the Journal menu. This 
  155.     will bring forward the preview pane and hide the comments and category displays which are
  156.     usually to be seen below the entry window. When you click the Preview button again, the 
  157.     preview pane will hide and the comments and category view will be revealed. If you change the
  158.     current entry and want to refresh the preview, simply use the Refresh option on the right-click
  159.     context menu of the Preview pane.
  160.     
  161.     If you have more than one journal defined, you can select the journal of your choice from the 
  162.     toolbar using the two arrow buttons next to it and so switch journals easily. All publishing 
  163.     of entries will be performed for the currently selected journal.
  164.     
  165.     If you have multiple sites, it is possible to have different templates for each site and so 
  166.     have the same entries but with completely different looks at each site. The Blog installation 
  167.     will come with a several templates by default - these are sample templates that I have create
  168.     to give you an idea of what each type of template should look like. Feel free to modify them
  169.     or to create your own templates based on them.
  170.     
  171.     A template is simply a full HTML file without the journal entries or the archive links to 
  172.     weekly archive files. You simply tell Blog where to insert entries by using a pair of special 
  173.     tags - <Blog> and </Blog>. All Blog related stuff has to go within these tags. For a journal, 
  174.     you can use several extra tags:
  175.         <$BlogDate> - The date of the entry
  176.         <$BlogTime> - The time of the entry
  177.         <$BlogAuthor> - The author of the entry
  178.         <$BlogTitle> - The title for the current entry 
  179.         <$BlogEntry> - The journal entry itself or the comment (if the template is for a comments page)
  180.         <$BlogID> - A unique identification number for each journal entry
  181.         <$BlogLink> - The unique URL to the current entry
  182.         <$BlogExt> - An internal variable (usually) to handle the file extension for the blog
  183.         <$BlogImgDir> - An internal variable to handle image linking
  184.         <$BlogMore> - A tag which allows you to put long posts on a different page automatically
  185.             and create a link to them instead of having the whole thin on your main page.
  186.         <$BlogComment> - Provide a link to send a comment via e-mail if there are no other comments
  187.             or provide a link to a page containig already sent comments.
  188.         <$BlogCommentCount> - The number of comments for the current entry (blank when zero)
  189.         <$BlogSummary> - Provides the first x (x is defined via the Options dialog) number of 
  190.             characters of each entry. If the entry is shorter than x, then the full entry is provided.
  191.         
  192.             The following tags need to be placed outside the <Blog> and </Blog> tags for the main
  193.         journal but the <$BlogArchive> entry can be used in an archive template as well - in which
  194.         case, it has to be in between the <Blog> and </Blog> tags:
  195.         <$BlogArchive> - This tag returns the archive links as an HTML table
  196.         <BlogArchives> - The start of a configurable archive display section
  197.         </BlogArchives> - The end of a configurable archive display section
  198.         <$BlogArcText> - Link text to be displayed for monthly/weekly archives inside a <BlogArchives>
  199.             and </BlogArchives> section
  200.         <$BlogArcFile> - File name for a monthly/weekly archive file inside a <BlogArchives> and
  201.             </BlogArchives> section
  202.         <$BlogArcCatText> - Similar to <$BlogArcText> but for categorized archives
  203.         <$BlogArcCatFile> - Similar to <$BlogArcFile> but for categorized archives
  204.         <$BlogArchivePrev> - The name of the previous Archive file
  205.         <$BlogArchiveNext> - The name of the next Archive file
  206.         <$BlogDigestSubscribe> - Provide the href link for subscribing to the digest version 
  207.         <$BlogDigestUnsubscribe> - Provide the link for unsubscribing from the digest version
  208.         <$BlogNewComment> - Provide the link for sending a comment (works only from a comments template)
  209.         <$BlogCookie> - If you have downloaded Cee, the cookie manager, and installed it in the
  210.             same directory as Blog and loaded some fortune cookies into the database then you 
  211.             can use this tag to display a different fortune cookie each time you publish your journal
  212.         
  213.     Blog also has a set of Blog tags named </BlogHeader> and </BlogHeader>. These tags have to 
  214.     be placed within the <Blog> and </Blog> tags but act as a mechanism for displaying any
  215.     date specific information that you might want to display for a set of entries for the 
  216.     same date. Basically, anything within the <BlogHeader> and </BlogHeader> tags are displayed 
  217.     only once per each date.
  218.         
  219.     For an archive table of contents template, there is only one special tag to go within the 
  220.     <Blog> and </Blog> tags and that is, <$BlogArchive>. This tag simply tells Blog where to place 
  221.     entries in the Archive table of contents. There is a modifier to the <$BlogArchive> tag which 
  222.     tells Blog how many columns of archival entries to display on the main archive page. You do 
  223.     this simply by adding the modifier cols as in <$BlogArchive cols=3> which would display three 
  224.     columns of archive entries. If no modifier is specified, a single column will be displayed by 
  225.     default. Incidentally, the archive template is used to define the table of contents files. The 
  226.     individual archived entries for each week are created using the same template used for journal 
  227.     entries and the files are automatically named by date. It is not necessary to always have the
  228.     archive table of contents on a separate file - if you want to display your archives (either
  229.     date-wise or category-wise) on your main journal itself, you can use the <BlogArchives> and
  230.     </BlogArchives> tags and define the look for the table of contents within these two tags. 
  231.     Refer to the external Blog tags section to see what tags can be used within the <BlogArchives>
  232.     and </BlogArchives> tags.
  233.     
  234.     Both the journal publishing and archiving processes upload the created files automatically
  235.     to your site/s or copy them over to a local directory if you are using a non-FTP site. If 
  236.     you are using an FTP site, you should be connected to the Internet when you select Publish 
  237.     or Archive if you haven't checked the Automatically dial out checkbox on the Options dialog
  238.     and selected a properly configured dial-up connection from the dropdown list. You should also 
  239.     have one or more active sites defined for your journal. If you check the Automatically 
  240.     Disconnect checkbox on the Options dialog, Blog will terminate your dial-up session once it is
  241.     done publishing.
  242.         
  243. Part 5 - Server and Client Modes
  244.  
  245.     Blog 6.0 added a new configuration option named Mode to Blog under a newly created Mode tab in the 
  246.     Blog Options dialog. Mode can have three different values:    Standard, Client and Server. In Standard
  247.     mode, Blog works just the way it did before version 6.0 whereas Client and Server modes allow multiple
  248.     users to post to the same journal without the need for an actual server-based system that most users
  249.     might not be able afford or know how to configure. In order for multiple users to be able to post, one
  250.     machine will have to run Blog in Server mode whereas all the other machines will run in Client mode.
  251.     There are however a few caveats, the main one being that the Client and Server machines should have
  252.     the same journal names (even down to case) since that's the way that Blog identifies which journal a
  253.     post is intended for - by journal name. The other problem is that while this method allows multiple
  254.     users to post, there currently is no way for a remote user to edit/delete an entry that they've made.
  255.     
  256.     The Server machine allows a user to both post entries of their own and to receive entries from other
  257.     users via e-mail and incorporate them into the journal before publishing. A machine running Blog in
  258.     Client mode on the other hand only allows a user to make an entry and send it off via e-mail to the
  259.     Server. You will have most of the standard functionality of Blog but will be missing a few things
  260.     such as the ability to link to older entries (since you won't have all the older entries on your 
  261.     machine and even the ones you can link to will probably point to an invalid location) and the ability
  262.     to upload files. You can even make multiple entries and post them via Client mode but note that in 
  263.     Client mode it is always the currently selected entry which is mailed out.
  264.     
  265.     If you select Server mode, you will need to configure Blog to check a specific e-mail address for posts
  266.     intended for your journal. In order to do this, you'll have to provide your POP server address as well
  267.     as the login and password for the POP server. The Subject Header value defines how Blog detects a post
  268.     intended for Blog. It is set to [Blog] by default but you can change this to some other value but in
  269.     that case, all Clients posting to your journal have to change the Subject Header value so that they all
  270.     have the same value. Otherwise, Blog will not detect incoming posts intended for Blog. The Delete Mail
  271.     check box is checked by default and should usually be left that way unless you want to do some debugging.
  272.     All it does is delete the posts intended for Blog (only those - not all of your unread e-mails <g>) after
  273.     Blog has retrieved them. If you do not check this box, Blog will leave those e-mails on the server and it
  274.     will create a duplicate entry the next time you publish using Blog - and since you can't have two entries
  275.     for the same journal on the same date and time, this will result in a Blog crash :p
  276.     
  277.     If you select Server Mode, you will note that a new Server tab gets added to the Options dialog. This tab
  278.     contains a few settings specific to Blog Server such as automated publishing and the ability to limit who
  279.     can (or cannot) post to your journals. The automated publishing option simply allows you to leave your
  280.     machine on and have Blog automatically check for new posts at a given time interval and update your site
  281.     with any new posts it finds. The Include/Exclude list allows you to limit the users who post to your 
  282.     journal. If this option is not selected, then anybody can post to your journal as long as they know the 
  283.     correct Subject Header and journal name. But if you enable this option and select Allow, only those people
  284.     whose e-mail address is on the list are allowed to post to your journal. Similarly, if you select Ban, all
  285.     people whose e-mail address matches those on the list, are not allowed to post and their posts are simply
  286.     ignored. There is also a checkbox which says "Publish Only if there are e-mails" - this checkbox can be a
  287.     bit confusing since this affects the working of Blog depending on the condition. If you check the box and
  288.     leave blog to publish automatically on timer, then Blog will publish to your site only if there are any
  289.     Blog related e-mails, otherwise it will do nothing. However, if this checkbox is not checked, then Blog
  290.     will republish your journal each time the timer goes off, irrespective of whether there are new entries
  291.     or not. However, if you click the toolbar publish button under Blog Server mode, Blog will always publish
  292.     whether there are new e-mails with entries or not since Blog assumes that you know what you're doing :p
  293.     
  294.     The Client mode settings include mail server settings (SMTP) and a from and to address. Please note the 
  295.     tooltip on the From: address for the from address format. It's important to have the name as well as 
  296.     the e-mail address as in the tooltip example if you want the author to be properly filled out in Blog.
  297.     The To: address simply specifies who the e-mailed entry is from and can be extremely important if the
  298.     server at the other end has an Include/Exclude list set up based on e-mail. If you are setting the 
  299.     Client up for your own use on the road, then both the From: and To: addresses probably will be the same
  300.     one. So why have two different values? Because if you are using a shared journal then the From: address
  301.     will be different depending on who does the posting. The Authenticate check box is used to force Blog to 
  302.     authenticate with the provided login and password in case your ISP/mail server requires authentication 
  303.     - normally, you should be able to leave this box unchecked. The other value of note is Subject Header, 
  304.     which as mentioned earlier for the Server Mode settings, should be the same on both the Client and Server.
  305.     
  306. Part 6 - Problems/Incompatibilities
  307.  
  308.     - None that I'm aware of.
  309.     
  310. Part 7 - Bug Reports/Suggestions
  311.  
  312.     There are a couple of ways to get support or to offer suggestions:
  313.     - You can join the rooksoft@yahoogroups.com list (send mail to rooksoft-subscribe@yahoogroups.
  314.       com)
  315.     - You can e-mail me at FahimF@email.com
  316.  
  317. Part 8 - Version History
  318.     7.0B6    (03 October 2002)
  319.     + Added code to remember the Log window size and position 
  320.     + Encrypted passwords saved in the Blog.INI file
  321.     + Added HTML code stripping capabilities for the digest feature
  322.     * Fixed deleting an entry causing a database error
  323.     * Fixed the <$BlogCookie> tag causing an error when Cee is not installed
  324.     * Fixed not being able to remove all categorizations once you've assigned categorizations to an entry
  325.     * Fixed a second instance of Blog deleting data files
  326.     * Fixed the installer appending "Blog" if you want to change the default install directory and browse for it
  327.     * Fixed the journal file being uploaded to the image directory under certain circumstances
  328.     
  329.     7.0B5    (18 September 2002)
  330.     + Added option to order archives in reverse either by date or time or by both
  331.     * Fixed categorized archives not following the order (reverse/normal) used by normal archives
  332.     * Changed category table of contents listing to be sorted alphabetically
  333.     * Fixed not being able to use spaces in category descriptions
  334.     
  335.     7.0B3    (16 September 2002)
  336.     * Fixed the custom snippet buttons disappearing from the toolbar when new ones are defined
  337.     * Fixed entry deletion not removing categorization associations for that entry
  338.     * Fixed not being able to make more than one post per day ...
  339.     * Fixed "Invalid Media" error on Backup on some machines ?
  340.     
  341.     7.0B2    (13 September 2002)
  342.     + Added the ability to send out a periodic digest of entries via e-mail
  343.     + Added two new external Blog tags <$BlogDigestSubscribe> and <$BlogDigestUnsubscribe> to handle digest membership
  344.     + Added the ability to send comments via e-mail
  345.     + Added a new Blog entry tag named <$BlogComment> to handle the display and entry of new comments
  346.     + Added a new Blog entry tag, <$BlogCommentCount> to display the number of comments for an entry
  347.     + Added a new Blog external tag, <$BlogNewComment> to provide a new comment link from the Comments display page
  348.     + Added a Backup item to the Tools menu to allow the backing up of Blog data
  349.     + Added a Repair item to the Tools menu to allow users to repair damaged data tables
  350.     + Added the facility to assign multiple categorizations for each entry and to display these categorizations
  351.     + Added two new tags - <BlogArchives> and </BlogArchives> to enclose an archive entry section to allow better customization
  352.     + Added <$BlogArcText> and <$BlogArcFile> tags to define by-date archive entries
  353.     + Added <$BlogArcCatText> and <$BlogArcCatFile> tags to define by category archive entries
  354.     + Added <$BlogSummary> tag to provide the first few words (length configurable) of an entry
  355.     + Added saving Blog logging to a text file which is automatically cleared up after 100k
  356.     + 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
  357.     + Added a query to backup data before data conversion for a new version (on upgrading ...)
  358.     + Added a menu option to trigger the sending out of the digest for the current period (even if it has already been sent)
  359.     * 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
  360.     * Changed the firewall configuration to use the new proxy configuration options for the Indy 9.0 components (no explicit SOCKS support)
  361.     * Fixed the Internet connectivity check to ignore check if posting only to local sites, only for Standard mode
  362.      
  363.     6.10    (16 August 2002)
  364.     * Fixed changing of journals not updating the calendar bold dates properly
  365.     * Changed the <$BlogArchivePrev> and <$BlogArchiveNext> tags to return just the file name not HTML code
  366.     * Fixed the <$BlogArchivePrev> and <$BlogArchiveNext> tags to verify that the archive pointed to actually exists
  367.     * Fixed the All Journals option for the Find dialog causing an error
  368.     * Fixed the Link button on the Find dialog causing an error when clicked
  369.     * Fixed the ability to run more than one instance of Blog
  370.     * Changed snippet insertion to place the cursor between the tags if no selection is made
  371.     * Fixed <$BlogImgDir> & <$BlogExt> tags at the end of an entry causing the removal of the last character
  372.     - Removed all the HTML tag insertion options from the edit right-click context menu
  373.     + Added a new Custom menu which allows definition of custom code snippets
  374.     + Added displaying dates on the Link to older entries dialog in bold for dates with entries
  375.     
  376.     6.00    (27 June 2002)
  377.     * Fixed Blog looking for a Net connection even when only publishing to local sites
  378.     * Changed the image directory linking to use relative paths if possible
  379.     
  380.     6.0B3    (20 June 2002)
  381.     + Added option to control whether Blog is minimized to the system tray or not
  382.     + Compressed the final executable with UPX to get a much smaller EXE file
  383.     + Added code to attach files and images to the e-mail under Client mode
  384.     + Added code to upload all attached files to the image directory on the web server under Server Mode
  385.     + Added Server mode option to not publish if there are no e-mailed entries
  386.     * Changed Client mode behaviour to link even files to point to the image directory
  387.     * Fixed the new version numbering causing problems under non-English number formatting
  388.     * Fixed font type and size settings not taking effect after a restart of Blog
  389.     * Fixed an AV (Access Violation) error on sending using Client Mode (not fatal)
  390.  
  391.     6.0B2    (10 June 2002)
  392.     + Added new General option to specify whether the http:// checkbox on the Link dialog is chcked by default or not
  393.     + Added option to edit entries displayed in the search results dialog
  394.     + Added option to specify whether to auto-save entries when idle or not
  395.     + Added options to automatically connect and disconnect from the Internet via dial-up connections
  396.     + Added three modes to Blog: standard, server & client and options to handle these modes
  397.     + Added a timed automatic publish option for Blog in Server mode
  398.     + Added the facility to either allow or disallow posters based on e-mail address in Server mode
  399.     + Added a new internal variable named <$BlogImgDir> so that image linking works properly
  400.     + Added option to confirm entry deletes
  401.     + Added code to display dates with entries in bold on the Blog calendar
  402.     * Fixed Preview cutting off the first character of the post
  403.     * Fixed multiple <$BlogExt> tags in one post not being parsed properly
  404.     * Fixed problem in FTP directory changing - now it should not go beyond virtual root
  405.     * Fixed the FTP connection not being re-established if the host is the same but the user names are different
  406.     * Fixed the last characters on the archive table of contents being cut off sometimes.
  407.     * Added better hints to the Full Path value fields
  408.     * Fixed the live spell-check option on the Edit menu not working after a restart of Blog
  409.     
  410.     5.0        (22 January 2002)
  411.     + Added database change detection and conversion to Blog itself instead of an external utility
  412.     + Added <$BlogSysDate> and <$BlogSysTime> tags to display the system time when publishing
  413.     + Added idle handling for Blog to write data to disk when Blog is idle
  414.     + Added HTML syntax highlighting to the template edit dialog
  415.     + Added a search option to search across journals or a specific journal
  416.     + Added an option to the Insert URL dialog to specify whehter to add http:// to the link
  417.     + Added an option to the Insert URL dialog to specify whehter to open the link in a new window
  418.     - Removed code which would automatically add http:// to a link if it wasn't present
  419.     * Converted the internal database structures to use DBISAM 3.0
  420.     * Fixed proxy support not being enabled unless you make some change to the options
  421.     * Fixed bug with deleting with unsaved changes which can potentially cause data corruption
  422.     * Fixed the linking to older entries dialog entry display not being scrollable
  423.     * Fixed problem with many of the edit right-click menu insert options inserting stuff at the wrong place if the entry had been saved.
  424.  
  425.     5.0B1    (07 September 2001)
  426.     + Added enabling and disabling of Save button based on changes
  427.     + Added spell checker and thesaurus capabilities
  428.     + Added syntax highlighting for HTML code
  429.     + Added multi-level redo
  430.     + Added a cookie database and support for displaying a fortune cookie with the <$BlogCookie> tag
  431.     + Added Cut, Copy and Paste options to the edit window context menu
  432.     * Fixed context menu insertions not being saved on already saved entries
  433.     * Fixed exiting with changes not prompting the user to save changes
  434.     * Fixed <$BlogArchivePrev> and <$BlogArchiveNext> sometimes being mistaken for <$BlogArchive>
  435.     * Fixed <$BlogArchivePrev> and <$BlogArchiveNext> sometimes not pointing to the correct file for the journal (not archives)
  436.     * Fixed <$BlogArchivePrev> and <$BlogArchiveNext> pointing to non-existent pages for oldest and newest
  437.  
  438.     4.0        (24 August 2001)
  439.     + Added OK & Cancel buttons to the Journal Management dialog (automatically saves/removes changes)
  440.     + Added hints for all values under the Journal management dialog
  441.     + Added option to display journal entries in ascending as well as descending order
  442.     + Added option to save Windows login name as the Author name for journal
  443.     + Added code to save the author name per entry instead of going by a global setting
  444.     + Added the option to have a different author name per journal
  445.     + Added Option to open the ReadMe via Help
  446.     + Added option to choose labels used by Blog for day and month names
  447.     + Added CTRL+ENTER as the shortcut key for a line break tag
  448.     + Added option to launch the default browser to display current journal's site
  449.     + Added option to specify a separate image upload directory per site
  450.     + Added check to automatically add "http://" to hyperlink inserts if it's not there
  451.     + Added shortcuts CTRL+N,CTRL+S,CTRL+D for New Entry, Save Entry and Delete Entry respectively
  452.     + Added a remote template option to have a given template linked to an external file
  453.     + Reintroduced the purge option and made it more flexible
  454.     + Added a title per entry and a new <$BlogTitle> tag to display it
  455.     + Added toolbar buttons for bold, italic and web preview
  456.     * Moved some of the Global Options to the Journal level so that each Journal can have separate settings
  457.     * Fixed trying to change journals with unsaved changes causing an error
  458.     * Fixed no date being displayed for subsequent sites if there's only one entry and multiple sites
  459.     * Fixed an FTP "Connected" message being treated as an error
  460.     * Fixed changing the calendar date with unsaved changes and saying 'Yes' to the prompt saving to the wrong date
  461.  
  462.     3.7        (13 August 2001)
  463.     + Added saving of visibility of the main toolbar and the edit toolbar
  464.     + Added Bold and Italics options and CTRL+B and CTRL+I shortcuts for them
  465.     + Added shortcuts for HyperLinks (CTRL+H) and Image (CTRL+M)
  466.     + Added the option for Blog to be minimized to the system tray
  467.     + When you have the Monthly archive format the table of contents entries show differently
  468.     + You can now have the <$BlogArchive> tag even in your main journal
  469.     + Added code to detect unsaved entries when New Entry is clicked and to prompt to save
  470.     + Added code to detect unsaved entries when Publish is clicked and to prompt to save
  471.     + Added functionality to allow only one instance of Blog to run
  472.     - Removed the new customizable menus since people didn't like them
  473.     * Modified the database structures to avoid a potential date related problem
  474.     * Fixed certain problems with changes not being updated immediately
  475.     * Fixed Blog having problems under non-English versions of Windows
  476.     * Fixed the move to parent directory command causing errors with certain FTP servers
  477.     * Fixed linking to older entries not working properly
  478.  
  479.     3.5        (03 August 2001)
  480.     - Removed the new animated menus since it causes a problem under Win95
  481.     + Added option to specify the time format used for <$BlogTime> tags
  482.     + Added <$BlogExt> tag to specify file extensions in linking
  483.     + Added <$BlogLink> tag to specify the archived link for the current story
  484.     + Added the option to specify archive type - weekly or monthly
  485.     + Added code to automatically save and restore the Blog window size and placement
  486.     + Added Edit menu with Select All and Undo options
  487.     + Added multi-level undo
  488.     + Added option to turn off automatically converting carriage returns to paragraph tags
  489.     + Added option to specify whether the number of days for which posts are shown is absolute or by actual entries
  490.     * Fixed the archive extension not being set properly for Entry Links
  491.     * Changed the code so that the same FTP site is not connected to multiple times
  492.     * Changed the archiving code to be more flexible
  493.     * Moved AutoArchive and Last Archived Date from being Journal specific options to site specific ones
  494.     * Changed Auto-archive to publish archives each time you publish the journal
  495.     * Fixed a problem when used on a machine using a non-American date format
  496.     * Changed the publishing start date from the current date to the last entry date
  497.     
  498.     3.0        (30 July 2001)
  499.     - Removed the journal being deleted when the final site for that journal was deleted
  500.     - Removed new journals being added via the Sites tab (in future, use the Journal tab)
  501.     + Added functionality to delete all sites and entries for a journal when it's deleted
  502.     + Added hints for the database navigation buttons on the Journal tab
  503.     + Added option to specify the extension for all archived entry files
  504.     * Fixed code allowing all journals to be deleted and still let Blog function
  505.     * Fixed the auto-inserted entry anchors not having a closing tag
  506.     * Fixed archiving through the Archive option only creating the table of contents file
  507.     * Modified the carriage returns to paragraph tag conversion code to be standards compliant
  508.  
  509.     3.0B1    (27 July 2001)
  510.     + Added an error check when trying to run Archive with no entries
  511.     + Added code to create Archive links only for weeks that have entries
  512.     + Added a new Autoarchive option per journal and a new tab to edit journal specific information
  513.     + Added a Last Archived value to display when a given journal was last archived
  514.     + Added code to automatically create archival entries each time a journal is published
  515.     + Added a modifier named cols to the <$BlogArchive> tag so that you can have multiple columns
  516.     + Added code to automatically insert a unique anchor for each entry for linking to other entries
  517.     + Added a dialog (and an option) to select previous entries to link to
  518.     + Added an option to specify the date format for archive entry links
  519.     * Modified the look and feel of the main menu
  520.     * Fixed a crash that occurs if you start an entry and then click on the calendar control
  521.     * Modified Blog functionality so that carriage returns are changed to paragraph tags at time of publishing
  522.     
  523.     2.5        (23 July 2001)
  524.     + Added hints for database navigation buttons on the Journal management dialog
  525.     * Fixed the File Upload manager closing when the Add button was clicked
  526.     * Fixed Blog tags besides <Blog> and </Blog> needing to be case sensitive
  527.     + Added a new <$BlogID> tag to uniquely identify each journal entry
  528.     * Fixed problems with the order of entries when they are entered for an older date
  529.     
  530.     2.5B2    (18 July 2001)
  531.     + Added an Upload File Manager so that you can manage the extra files uploaded by Blog
  532.     + Added a new toolbar for the journal entry box for frequently used right-click items
  533.     + Added an option to customize the Blog toolbars and to save customizations
  534.     - Removed the Edit Entry item from the menu since it was superfluous
  535.     * Fixed the Blog specific tags being case-sensitive
  536.     * Fixed warning messages when clicking on the Save button more than once
  537.     * Fixed the final character of a template being removed under certain circumstances
  538.     * Fixed the journals and entries not being deleted when the last site for that journal is removed
  539.     * Changed the journal management dialog resizeable so that template definitions are easier to edit
  540.     
  541.     2.5B1    (12 July 2001)
  542.     * Fixed the angle bracket code not working in all browsers except IE due to missing a ;
  543.     * Fixed the Purge option confirmation dialog displaying codes instead of a line break
  544.     * Fixed bug in archive publishing code which would create the archive files multiple times
  545.       when you publish to more than one site
  546.     + Added an option to specify number of days worth of old posts to display in your journal
  547.     + Added a new right-click menu option for File Links to the journal entry section
  548.     + Added dialogs for specifying HyperLinks, Images and File Links
  549.     + Added code to automatically upload images and files referenced via the new dialogs
  550.     
  551.     2.0        (18 June 2001)
  552.     + Added code to prevent errors when trying to delete with no entries for that date
  553.     + Added code to insert date and time at time of saving (for when the user starts typing without
  554.       clicking New Entry)
  555.     + Added option to be able to specify date formatting of your choice for publishing entries
  556.     + Added option to specify journal author and a Blog specific tag to display it
  557.     + Added new Blog tag to specify header information by date
  558.     + Added support for non-FTP sites so that you can publish to local drives
  559.     + Added an option to purge all entries for a particular journal
  560.     + Added an Options dialog and an INI file to save settings
  561.     + Added PASV support
  562.     + Added SOCKS Proxy support
  563.     * Fixed a crash which would occur if you tried to Publish immediately after a template change
  564.  
  565.     1.5        (11 June 2001)
  566.     - Removed the Convert menu entry under Tools (which shouldn't have been there in the first place)
  567.     - Removed extra button (OK/Cancel/Help) on dialogs that really didn't need them
  568.     * Modified the wording for all menu entries which lead to a dialog to contain ellipsis
  569.     * Changed the Journal name drop-down on the toolbar so that it actually works
  570.     * Merged the Journal Management and Options dialogs and named it Journal Management
  571.     + Added a log window to the main Blog window to display connection information
  572.     * Changed the main window so that it is resizeable and easier to control/access
  573.     * Modified the sites/journal definition so that you can define more than one journal for a site
  574.       much more easily.
  575.     + Added error handling and logging for FTP transfers
  576.     + Added the functionality detect a carriage return in the edit window automatically and to insert
  577.       a new HTML paragraph tag.
  578.     * Set Blog to create all temporary files in your system temp directory.
  579.       
  580.     1.1        (06 May 2001)
  581.     * Recompiled to use the DBISAM database engine thus eliminating the BDE
  582.     * Fixed a minor bug which published last 8 days worht of entries instead of 7 days
  583.     * Fixed archive entries not being generated for the last week in a given date range
  584.     - Removed the InstallShield installer as it is no longer needed to support the BDE
  585.     
  586.     1.0     (09 April 2001)
  587.     * Brand spanking new release of Blog
  588.  
  589. Part 9 - Future Plans
  590.  
  591.     * Perhaps some tools to make HTML composition easier - I haven't decided whehter I should or
  592.       not since some people don't really like the idea :-)
  593.     * Context sensitive help and better documentation
  594.     * A wizard based interface to make setting up Blog much easier
  595.     * Automation for multiple blogs since currently the digest and automatic publishing in Server
  596.       mode will only work for the currently selected journal 
  597.  
  598. Part 10 - Credits/Thanks
  599.  
  600.     - Nigel for all the suggestions that went into Blog 6.0 and for the idea of Phlogs :p
  601.     - Addictive Software (www.addictivesoftware.com) for providing me with a free copy of their
  602.       excellent Addict spell checker component
  603.     - Phil, Tyran, Bauke and Frank for the suggestions that went into making Blog 4.0 what it is    
  604.     - Jeroen, Welmoet and Tracie who worked with me tirelessly to figure out certain bugs in Blog 
  605.     - Jason who single-handedly pushed Blog from 3.0 to 3.5 with a host of suggestions and bug
  606.       reports <vbg>
  607.     - Chris (jugg) who always listens to my ideas and my problems with coding and always comes up
  608.       with excellent suggestions.
  609.     - Elevate Software (www.elevatesoft.com) for providing me with a free copy of the DBISAM engine
  610.       which makes the addition of database support for most of my Delphi software a breeze.
  611.     - sinesolis for the great new Blog icons that give Blog an entirely new look
  612.       
  613. Fahim (FahimF@email.com)
  614. last updated: 10/10/2002