Reading OSS code to figure out what is actually going on
I use Open Live Writer to post to this blog, the problem is that whenever I post a new post, it opens up the metadata api endpoint in the browser (services/metaweblogapi.ashx). I actually want to see the blog post that I just posted. I decided that this was annoying enough that I’m going to figure out how this is done and see if there is a way for my blog to give Open Live Writer the address of the newly created post.
I want this to be a focused operation, I don’t wanna read through it all. So I’m going to see if I can figure out how this works with a minimum of effort. I know that OLW is opening the browser after the post is published, this is usually done with Process.Start, so I run the following query:
The very first result is promising, showing ExecuteFile. This sounds interesting, let’s see how this is used. No one seems to be calling this method, but reading through the ShellHelper file, I run into LaunchUrl(), which seems promising. Searching for this method got me to some interesting locations, including the ViewPage method, which seems to be exact what I want.
This seems to indicate that the blog post should support pages, not sure what this is about, but I found this piece of code by searching for IsPage:
Not sure what pages are, but looking at the configuration for my blog, I see:
Continuing my blaze through the code, I can see we have:
My blog doesn’t implement this method, but OLW doesn’t probe for this. It seems that because I’m using the generic interface, it already pre-loaded the available options there. What this means is that this exploration ended up at a dead end. I figured out roughly what is going on, but actually getting all the details is probably too much of a hassle for me to debug through the OLW code and update my blog engine. I’m already used to just closing the newly opened tab and go to the new post directly. I’ll keep this in my todo tasks for when I actually get around to doing this.
Comments
Good post :) As I'm trying to get more involved in OSS this year, I find it very difficult sometimes to figure out what is happening where (my last struggle is for understanding how mono-wasm works). Even if the initial goal is (often) not fullfiled, you always learn something on the way. And I add that Github search is really bad.
I'm also a great fan of reading OSS code! And to help me in doing so efficiently, I installed the octotree browser extension: it gives you a great solution explorer-like treeview on the left of all github pages. Must-have!
Comment preview