On how to make Blog Navigator store it’s data on a USB dongle or wherever you want it to be.

I’ve seen some requests recently to make Blog Navigator run from a flash dongle or any mobile drives in our newsgroups lately. I was not quite comfortable with the inability to change the storage path by the user myself for a while, not to say that the data is stored in a wrong place, on the contrary, this default behavior does not change. But to make it confined to a Local Application Data folder was a bit too harsh. for my taste.

So, for Blog Navigator 1.2, I went ahead and made it totally customizable for the user to define where does he/she want to store the files. Currently there are 3 definable folders in Blog Navigator:

<repositoryFolder> is the place that Blog Navigator stores its repository to it’s the file that contains all the knowledge and articles stored in your Blog Navigator

<keepSafeFolder> is the folder that will be the default folder for keepsafed articles, unless the user defines differently globally in the Blog Navigator preferences or locally for a particular folder, and finally

<temporaryFolder> this is pretty much where all the dynamically generated stuff goes, it’s the Blog Navigator working folder.

Collect, Manage, and utilize the knowledge you’ve acquired with ease and grace.

What we really intend to make for you with Blog Navigator is to create a robust and efficient way to manage all your on-line knowledge. You know how hard it is to actually find something useful on the Internet at times, right? That’s where our “Web Search Folders” come to help. You could already organize your knowledge into baskets, but we’ve decided that it’s not enough. While baskets were a great way of organizing your findings and keeping them for later reference, there were a couple of deficiencies of baskets.

To address that we’ve added two things to 1.2 version of Blog Navigator:

A few of Blog Navigator tips

I really find the “Did you know that…” dialogs showing when an application is running quite hilarious.

They provide no solution or enrichment whatsoever, because some random tip at the program startup is highly unlikely to help me with the task I am about to perform with the software. It also is completely stripped off wider context and random asÂ it is, serves exclusively as an annoyance andÂ the first thing user has to turn off in the application.

That said, user still may find some tips and tricks usefully, if provided in a proper form and time. So here are some of them to read at a time of your convenience…

Security versus compatibility and functionality. Is removing features a new course for Microsoft?

Last week it has been brought to my attention that our Blog Navigator can no longer post web articles. Alas, this was only a symptom of a much worse disease, but first things first…

This month in a noble effort of making the Windows platform more secure for us and our (perhaps future) kids ;) Microsoft rolled out a new set of updates, among which is this one innocently called MS05-013 and located in Microsoft Knowledge Base under a mysterious KB891781.

You will find more about the update and the horror it caused among the programmers using the control affected by the update on usenet, posts as this and this are only small sample of the damage. It seems that MS broke quite a few programs while making us more safe.

The effect, saying it bluntly is: IDHTMLEdit has been made useless and Blog Navigator fallen prey to that change.

Since IDHTMLEdit is simply a wrapper around MSHTML editor, I’ve examined quite a few approaches and some existing libraries, to fix the issue as fast and with as little modifications to the existing code as possible. After a day of hunting around and testing the existing approaches I’ve decided that if I want to retain the control over my code and keep it at a reasonable size, I need to do it myself.

I use a TEmbeddedWB as the web browser control wrapper as it offers quite a bit additional functionality. I’m assuming you use that instead of the TWebbrowser as well. If you’re not, it’a not a big problem to extract the functionalty you will need here.

In the DhtmlEdit you operate on the DOM structure and that’s the interface the control does not allow you to access any loger and the change thaat makes it useless. The TWebBrowser offers a Document IDispatch which you can cast on IHTMLDocument2. This is exactly the structure you were working on before.

Now the browser control itself does not offer the ExecCommand(…) functionality. but not all is lost. when you get to the IHTMLDocument2 interface as described before, you can pretty much do anythng you were doing before by calling its execCommand.

One thing that was pretty indispensible for DHTML Editing Component was that it called me back evary time a blok formatting was changed, it had this useful OnDisplayChanged event which was summoned every time the UI needed updating. That’s where TEmbeddedWB comes handy it implements a

function UpdateUI: HRESULT; stdcall;

which than triggers the OnUpdateUI event, which for our needs does exactly the save what the OnDisplayChanged event did. so you can simply call your previous OnDisplayChanged event with the numerical querries remapped to strings and… with minimal effort you have your control fully migrated to the MSHTML editor.

So… this post is the first post made with the updated Blog Navigator with its poat editong brought back to normal functionality.

If you have used any mail program supporting HTML there is really not all that much new I can show you here. Writing blogs with Blog Navigator is a breeze. Simply select New Blog Article from the File menu from the main menu or:

from the main toolbar and Blog Navigator will create a new editing windows for you where you can edit your article in a WYSIWYG manner. Let’s take a screenshot of this article being written… Ok, the screenshot is taken, but how do you insert it into the article. Well… for the screenshot to be available for your blog readers it has to be online somewhere, available from a web server. How do you put one on a web server? You can upload it manually with an FTP client or… let BlogNavigator do it for you.

Blog navigator allows you to add picture already available online by clicking the hand pointed tool button on the right of the lower toolbar. It will then ask you for an address and will make use of it. But! The real time saver is the button pointed at in the middle of the top toolbar. You can configure your FTP settings once and let Blog Navigator do the tedious job of uploading pictures for you. So I’ll click the button now… since it’s the first time I’m using it and i did not configure that option in the previous article, Blog Navigator informed me that I need to do it now. I clicked OK on the message box and configured it as specified in the table.

The first four fields are pretty self explanatory, you need to specify the address of the server and the port it’s using for for the FTP protocol. The username and the password are needed for the server to let you in. The “folder on the FTP server” you specify is the folder you want your file to be uploaded into. This folder needs to be available online through a web server and that’s what you specify in the last field – it’s the URL that represents the folder for browsers.

Let’s say I configured it like shown on my screenshot. If I’ll choose to upload a file from say… C:\BlogNavigator.gif – that file will be uploaded to the server ftp.skinstudio.net and will be put in the /blog_bin/bn/ folder on that server. After that I know (since I specified that in the last field) that it will be available as Link .

Once the account is configured, and you will only have to do it once, you get the very dialog that allows you to upload the file:

The OK button will stay disabled as long as an existing file will not be chosen. You can enter the name directly or click on the Browse button and select the image you wish to upload. And we’re required to choose from between the three options.

The first one is the one I use to upload thumbnails I enter into this article. Just as it says in the dialog – it uploads the image and uts it in the article like you would paste an image into a Word document.

The second option I use for images that you get after you click on my thumbnails. I just make sure the thumbnail is selected before pressing the “Upload file” tool button in the article editor.

The third option has absolutely no effect on the article and simply puts a file on a server without doung anything else afterwards.

The editor features most of the elements you may need in your blog.

You can insert and edit links with “Link” option availavle in the “Insert” menu as well as from the toolbar. The “table” menu in the editor also allows you to insert and edit tables. and so on… most things can be done in a WYSIWYG (what you see is what you get) way. But for the most advanced options you may want to edit the code directly and for that you have the “Code” tab. If you want to make sure how will your code look and behave in Internet Explorer then the “Preview” tab is there for you.

Most of the WYSIWYG editing options is available from the lower toolbar also most of them are available with a handful of shortcuts. You will find the most important ones here.

Depending on the service you use for your blog the top pane fields may differ in number or flexibility. Blogger 1.0 does not allow for title. Only JoeUser offers a link, subtitle and subcategory in addition to regular category. Not all blogging services support categories at all. But that’s not your problem really. Blog Navigator knows those things and will only provide you with the fields the service allows you to specify.

I’m done! I want them to read it!

Now after the article is written here come the 3 important buttons:

You’ve got that very important message for the world you want them to read it. And here come the three, probably the most important, buttons in the editor:

post – put the article on the blog server but do not make it available to everyone but just me. It’s a hidden article that will become visile once you publish it

publish – put the article on the blog server and make it available to for everyone. Alternatively update the article and if not available to the general public, make it available. Not for every service it’s possible to hide the article back so make sure the published article is ready for the general audience.

postpone – keep the current version locally. If an article was never uploaded the article is just local. if however it was already published, do not change it on the server, but keep the changes on user’s computer for later update of the online version.

That’s it. That’s all you need to know to use Blog Navigator as your publishing tool and even that is pretty detailed since in most cases you will not even need the file uploading.

Article editor shortcut summary

Stardock Blog Navigator Professional offers a host of keyboard accelerators while you edit your articles. Here you have a short summary of the most important keystrokes used by the article editor.

Formatting

Description (Command)

Key

Toggle bold formatting

CtrL+B

Toggle italic formatting

CtrL+I

Toggle underlining

CtrL+U

Increase paragraph indent

CtrL+T

Decrease paragraph indent

CtrL+SHIFT+T

Posting and file operations

Description

Key

Save the edited article into a locally stored file

CtrL+S

Post the edited article to online blog (make it visible for the user butnot to the general public)

ALT+S

Publish the edited article to online blog (make it visible for the general public)

CtrL+SHIFT+S

Upload a file/image to an associated FTP account for use in the edited article

ALT+U

Insert Image

CtrL+SHIFT+I

Insert Horizontal line at the end of the edited article

CtrL+SHIFT+H

Print edited article

CtrL+P

Movement

Description

Key

Move one character to the right. If an absolutely positioned element is selected, nudge the element one pixel to the right.

RIGHT ARROW

Move one character to the left. If an absolutely positioned element is selected, nudge the element one pixel to the left.

LEFT ARROW

Move down one line. If an absolutely positioned element is selected, nudge the element down one pixel.

DOWN ARROW

Move up one line. If an absolutely positioned element is selected, nudge the element up one pixel.

UP ARROW

Move right one word

CtrL+RIGHT ARROW

Move left one word

CtrL+LEFT ARROW

Move to the end of the current line

END

Move to the start of the current line

HOME

Move down one paragraph

CtrL+DOWN ARROW

Move up one paragraph

CtrL+UP ARROW

Move down one page

PAGE DOWN

Move up one page

PAGE UP

Move to the beginning of the document

CtrL+HOME

Move to the end of the document

CtrL+END

Cycle selection through block-level elements within the control

TAB

Reverse-cycle selection through block-level elements within the control

SHIFT+TAB

Selection

Description (Command)

Key

Extend the selection one character to the right

SHIFT+RIGHT ARROW

Extend the selection one character to the left

SHIFT+LEFT ARROW

Extend the selection right one word

CtrL+SHIFT+RIGHT ARROW

Extend the selection left one word

CtrL+SHIFT+LEFT ARROW

Extend the selection up one line

SHIFT+UP ARROW

Extend the selection down one line

SHIFT+DOWN ARROW

Extend the selection to the end of the current line

SHIFT+END

Extend the selection to the start of the current line

SHIFT+HOME

Extend the selection down one page

SHIFT+PAGE DOWN

Extend the selection up one page

SHIFT+PAGE UP

Extend the selection to the end of the document

CtrL+SHIFT+END

Extend the selection to the beginning of the document

CtrL+SHIFT+HOME

Select all elements in the document

CtrL+A

Editing

Description (Command)

Key

Delete the selection or, if there is no selection, the character to the left of the insertion point

BACKSPACE

Delete all of a word to the left of the insertion pointer, not including the space before

CtrL+BACKSPACE

Copy the selection to the Clipboard

CtrL+C

Paste the contents of the Clipboard to the current location

CtrL+V

Cut the selection to the Clipboard

CtrL+X

Delete the selection without placing it on the Clipboard

DELETE

Toggle between inserting and overwriting text

INSERT

Undo the most recent formatting commands

CtrL+Z

Re-do the most recently undone commands

CtrL+Y

Find text

CtrL+F

Display the Hyperlink dialog box if the insertion point is within an <a> element

CtrL+L

Toggle absolute positioning for the selected element

CtrL+K

absolute positioning

A CSS feature that allows elements in a Web page to be positioned using style attributes that function like x and y coordinates. Using CSS styles, absolutely positioned elements also support a z-index that allows them to appear in front of or behind other elements on the page. Absolute positioning is a DHTML feature implemented through various style attributes.

You thought you’ve tried them all already – now it’s time to try the ultimate experience!

First of all let me express how excited I am about the release of Blog Navigator. I think we did a good job on it and I am trully amazed at our approach to its release.

Let me explain why. Mind that Stardock kept a guy :) ) on a payroll for a better part of a year to do this.

We’ve been discussing the Blog Navigator release yesterday and Brad actually decided to remove ALL the RSS related limitations from the free edition of Blog Navigator! What does that mean? It means there is no longer a limit of a single instance of Basket, Article Monitor and Web Search (Internet Article Monitor) in the free version! You get everything that makes it a great RSS reader and it’s NOT a trial or a shareware that will nag you in any way, neither you are limited at how you use it. You can use it at home, and you can use it at work (I would not however recommend taking it to the beach – notebooks don’t like the sand involved)!

Thank you Stardock!

If you’re into RSS/feeds/syndication and already have a reader – Blog Navigator comes with a handfull of importing filters – it’s very likely that you will be able to move all your feeds within a minute or even have them autodetected and done automatically. So if you want to be sure you never miss an article on your favorite sites, want to monitor for a specific topic or any set of them or just need a cool web browser that will get some more articles in the background for you while you read another one – give it a whirl, share it with a friend, tell a co-worker they can speed up and enrich their daily lecture.

We really tried to make it the best possible syndication experience out there – now you can see if we succeeded. Tell us if you like it. We will gladly hear what we can do to make it better. I would like to thank all beta testers withough which suggestions it would not be what it is now – stressing the enormous part of Brad Wardell and Kris Kwilas in shaping the product and Randy Cox whose suggestions and patience in testing the consecutive versions of betas went beyond all limits.

For the best possible experience read my series of articles on Blog Navigator features and how to make the best use of it

Blogging with Blog Navigator Professional – Creating a blog account

Reading blogs is one thing, and alot of programs allows you to do that with better or worse results. What makes Blog Navigator unique is among other features (like search article monitors, baskets and search blogs) its ability to both read and write blogs.

Let’s setup Blog Navigator Professional to use an account on JoeUser.

There’s not much to show really… I’m not sure it could actually be easier. Let me add my JoeUser account to Blog navigator as a first sample:

Now I have the regular dialog like adding any other feed or folder type where you enter it’s name and various properties. The most insteresing tab that defines my account access info is the “Account” tab.

I entered my username and the password and selected JoeUser.com from the “Blog Service” combobox. If you do not have an account on a service you want to use, simply click the “Create your blog own here” link below the combo and Blog Navigator will take you to the blogging service site where you will be able to create one.

Now I press the OK button and… that’s it!

Since I had articles on that account already Blog Navigator retrieved the last 20 posts and now allows me to edit them, delete and add new articles.

Blog Navigator comes with a handful of predefined list of popular blog services you may select from the list where i selecvted JoeUser.com in my sample. Alternatively you can setup your own custom blog service. All you need to know (or ask the admin of your site for) is the URL (address) of the so called “RPC-XML end point”. If you do not know what to ask – just point your blog service admin ad this article and he/she will surely know what to give you.

Still most probably it will be your own service setup on your own server – in that case consult the documentation of the web application to obtain the entry point to the XML-RPC API and the API type the application supports.

Let’s setup my Joeuser account the harder way…

I select the “Custom…” blog service from the combo box, which happens to be the defaulty one… but I digress…

I’ve read in the site documentation… well actually I helped designed it, but I digress again … that the api the web site supports is the JoeUser.com API (which else!) so I select it from the combo box and…

enter the XML-RPC end point I obtained from my admin – Pat. (actually we’ve came up with that address while designing the JoeUser.com XML-RPC API, but let’s pretend I had to go through the pain of asking Pat for it :) ).

Well…

actually now I’m left with two Blogging accounts pointing to one account in a service – not very practical… but hey! It’s possible and Blog Navigator can handle it just fine, so why not.

Actually I can delete the other one – deleting an account does not delete it on server. That’s actually different than deleting your posts – Blog Navigator will also delete them on server. It will however inform you and make sure you are aware of the consequences and that this is what you really want to do.

In the next part I’ll show you how to write an article to our newly added account.