An Instant Outline in iJot phase 1 
I've learned enough of the inner working of the Instant Outliner in Scripting2 to start working on my first task: showing IO's buddies outline in iJot.
I need to create a 'buddies' tab in the right pane, which will only appear to logged on users, same as 'my site' as opposed to demo in the left sidebar.
To display the buddies outline in there, I need to add some backend code to call scripting2.getallinstantoutlines via XML-RPC, then render a combination of all returned OPML strings into a DHTML outline.
Cross posted to Scripting2 Reverse Engineering.
7/29/2010; 12:00:00 AM. .
I just polished the Scripting2 posting. 
I removed a couple of quirks.
Everything seems to work really smoothly.
As a matter of fact, I find it easier to post to Scripting2 from iJot in Safari than using the Scripting2 tool in the OPML Editor. Of course, I'm biased :-)
Cross-posting this story to the iJot dev weblog.
7/26/2010; 12:00:00 AM. .
Checking save status 
when saving to Scripting2.
After I save this post, when I hit 'new outline', I should not be asked for any confirmation.
Bingo ! It worked.
7/26/2010; 11:10:32 AM. .
Testing profile auto update. 
This is a scripting2 post created from iJot.
My current user profile has no value yet for my s2 username and server.
Saving now.
My profile now holds the scripting2 user name I filled in the first save dialog, as well as the default scripting2 server url.
7/26/2010; 11:03:56 AM. .
This is another test post from iJot 
This time, the username and server attributes should be present in the published OPML the first time around.
Saving now..
They were indeed present.
I reloaded the story in iJot's outliner using the Scripting2 stories list in iJot's left sidebar.
When I save next, the default dialog should be save to Scripting2 instead of save to iJot.
I think I can forget about the rawUrlEncoding.
It worked indeed. Wunderbar !
7/26/2010; 10:42:29 AM. .
A New Post From Scripting2 
I am posting this from Scripting2.
I need to check the published OPML after the first save.
The username and server attributes are already there. I have fixed my code in iJot to deliver the same attributes.
The created and whenLastSave attributes are not rawUrlEncoded. I wonder why I took the trouble of rawUrlencoding them in iJot's outliner. There must be a reason.
I am saving these latest modifications from iJot.
7/26/2010; 10:35:32 AM. .
This is a test post. 
I'm saving from iJot straight to Scripting2.
I want to check the first node's attributes each time I'm performing a save operation.
So here goes the first save in iJot.
This is my second save attempt. The sever and username attributes are part of the outliner now.
So the username and server attributes are now part of the published OPML document.
So that's 2 bugs I need to correct before the system is really seamless.
7/26/2010; 9:51:46 AM. .
Scripting2 / iJot Interop 
Editing a post created with Scripting2 in iJot: check. 
Creating a new Scripting2 post in iJot: check. 
Listing your most recent Scripting2 posts in iJot: check. 
I believe the interop of Scripting2 and iJot is now as complete as can be as far as posting goes.
The next step will be collaborating through Scripting2's Instant Outliner directly in iJot, and publishing the instant outline in a web page.
7/23/2010; 6:44:04 PM. .
I found the obvious. 
Stubbornness works both ways...
And now the url of the published Scripting2 page appears at last!
Hoorah !!
But it didn't appear properly upon the second save.
This is sooo frustrating :-(
Ahh... It should appear correctly this time.
It did. All is well that ends well. My next edit will be from Scripting2.
Back in Scripting2, everything appears as it should. I'm saving this update before going back to iJot through iJotEdit.
And now in iJot, saving for the last time...
7/20/2010; 6:24:33 PM. .
I must be missing the obvious 
I often am.
So let's try a work around.
7/20/2010; 6:16:49 PM. .
One more test is in order 
Still looking at the export form parameters.
7/20/2010; 6:14:01 PM. .
The content of the cache is fine. 
But the top.postExport function is not finding the expected export form fields.
Weird... Added more debugging alerts.
7/20/2010; 6:10:32 PM. .
Checking the content of the cache iframe 
After saving this post, I should see some javascript with a call to top.postExport.
Or so I think...
7/20/2010; 6:03:22 PM. .
Posting to see the postExport javascript function at work 
If it is called properly, I should get at least one alert after saving.
It is clearly not called properly.
7/20/2010; 5:50:44 PM. .
Once more, one last time, Murphy willing 
This time the url of the page on the Scripting2 server should appear properly at the bottom of the outliner in Ijot.
Aargh ! It didn't.
7/20/2010; 5:42:45 PM. .
Once more unto the breach, dear friends 
Last times my attributes where slightly off.
This time it should be perfect.
I think it was. Let's see if I can save another time directly from iJot.
SUCCESS: The second consecutive save went through.
Now all I need to do is figure out a way of storing the url attribute were it belongs in webOutliner.
7/20/2010; 5:28:12 PM. .
Still testing iJot new posts 
I should get the html rendering updated with the attributes sent back by Scripting2.
7/20/2010; 5:23:28 PM. .
Testing another post from iJot 
My code should be responsible for updating attributes of the first summit in iJot.
It is not at this time.
7/20/2010; 4:41:03 PM. .
Still looking for the published url bug in new posts. 
The build RSS checkbox bug is indeed fixed.
7/20/2010; 11:18:42 AM. .
Yet another post starting from iJot. 
Everything is peachy on the Scripting2 side, but my user interface in iJot is still not perfect.
7/20/2010; 11:03:58 AM. .
Another test post from iJot 
Checking if the server at edit2.scripting2.com is back answering xml-rpc requests.
7/20/2010; 10:38:38 AM. .
Click once to select this paragraph. Click twice to edit its content. Press [return] to add more paragraphs, [esc] to exit edit mode. 
7/19/2010; 7:55:29 PM. .
newPost to scripting2 day2 
So this is the start of a new post in iJot.
I'm going to save it to scripting2 instead of iJot.
SUCCESS: I am now updating this post in scripting2. I just pressed the 'edit' button in the published page.
Back in iJot through the iJotEdit bookmarklet.
So now you can create posts to your scripting2 weblog even if you are away from the computer you have installed the OPML Editor on.
Just type in your post, stating its title in the top node and entering the post's body in nodes of level 2 or deeper.
Then click the 'save' icon in the toolbar, and check 'save to scripting2 instead' before hitting the 'save' button.
In the new dialog that replaces the standard save dialog, enter your scripting2 user name and password, then click save.
There are still a few rough edges, but nothing important.
These should be fixed by tomorrow.
7/18/2010; 12:00:00 AM. .
A Failed Attempt At Scripting2.newPost 
This should have originated within iJot.
Unfortunately it didn't. I had to type it from Scripting2, though I'm back in iJot now.
After issuing my call to scripting2.newPost, I was returned an status 500 header, as well as an xml-rpc error message, errno 5, errstr: Didn't receive 200 OK from remote server.
7/17/2010; 5:50:24 PM. .
Another Browser Editing Experiment 
I am starting this post in scripting2's workspace.
I am keeping it simple, 3 nodes below the summit/title.
My next modification to this post will be from iJot.
I just clicked iJotEdit, a bookmarklet in my Safari browser's bookmarks bar, and I am now modifying this post in iJot.
I'm now saving this version in iJot, my next step is to check the rendered version, then re-open the post in scripting2.
SUCCESS: The HTML version of this post was perfectly updated by the scripting2 server.
I clicked the 'edit' button on the page, and I am now back typing this in scripting2's outliner.
This is indeed very cool.
One caveat though... I am modifying this post in the OPML Editor's outliner, but in a *different* window than the scripting2 workspace.
There is still a version of this post in the workspace, but it is the initial version, before any in-browser modification.
In any event, this is my last modification to this post, now back in iJot (I clicked iJotEdit again).
Dave, I think we nailed it. I am going to focus on step2 of my integration program: creating new scripting2 posts in iJot.
Anyone interested can repeat my steps. Just remember to start your initial post with scripting2 version 0.29 or higher. You can update your own copy by following these steps.
7/14/2010; 4:36:28 PM. .
Updated to Version 0.31 
Everything looks fine so far.
Updating this post in iJot...
Seems to work...
7/13/2010; 4:26:48 PM. .
A Remote Edit Test Post 
I have created this post with Scripting2 on 7/11/10; 1:44:51 PM BST.
Hopefully, my next modification will be from iJot.
Well, not quite yet. It seems the latest released verion of scripting2, which I am using to write this post, is 0.28. The 2 new OPML attributes used to identify the publishing server and user name start with version 0.29.
In the meantime, I'll work from a locally doctored OPML file.
Well, with a little help from my friend(s), I'm now on version 0.29a :-)
On with the experiment...
Now that I have reposted, the top heading of this entry does include the 'server' and 'username' attributes.
Right, I now have all the interface coded in webOutliner and iJot. All that's left is coding the actual xml-rpc transaction on iJot's back end. This should be pretty straightforward, so Murphy willing, my next modification to this post should be from iJot.
So... Is this modification being published ? Wow it sure works as advertised.
Now I need to release the code to the alpha server.
Back on the scripting2 end, everything almost work. It does work pretty well actually, although I can no longer use the version in my workspace, which is now outdated by my various modifications in iJot.
Ok, so when the OPML is saved on edit.scripting2.com by the xml-rpc server as a result from my call to scripting2.savePost, the order of the attributes for the xml tag line is inverted again:
7/11/2010; 8:45:54 AM. .
This Weblog Has An Older Sibling 
It lives at http://dev.ijot.net/blog/.
That's where I document the resurrection of iJot.
7/10/2010; 5:23:07 PM. .
Another Quick Bug Report 
The rendering of publshed page footers probably needs a little attention.
Check out this screenshot.
I believe the date span for the copyright, as well as the tag line, are off.
7/10/2010; 9:43:52 AM. .
Saving Outlines 
So I've taken a first look at scripting2.root.
Locating scripting2Suite.editor.save is easy.
Saving to the scripting2 server seems very easy as well: provided we have the outline in OPML format, and that its first summit has the proper scripting2 specific attributes (which it would have if we loaded it from scripting2 in the first place), all we need is to invoke the scripting2.savePost method on the scripting2 XMLRPC server, passing the username and password along with the OPML text.
Assuming we are performing the save outside the scripting2 tool, this raises a few questions:
1/ How do we get the host name and root url of the XML-RPC server responsible for publishing the OPML ?
2/ Now for something trickier: how do we manage authentication from an external system ?
7/10/2010; 8:39:38 AM. .
What's All This About 
I am going to use this weblog as a way of documenting my attempts to implement interop between scripting2 and iJot/webOutliner.
More on this subject as events develop...
7/10/2010; 4:35:08 AM. .
Preferences bug report 
In the preferences form (http://127.0.0.1:5337/opmlEditor/prefs?title=scripting2), I triied to specify British Summer Time (BST), currently 1 hour east of GMT.
So I entered '1' for 'Hours east of GMT' and 'BST' for Timezone name.
I got the following error message in red: Can't see the number because it is too large. The largest permissible value is 0. Check out the screenshot.
7/10/2010; 4:25:31 AM. .
My "Hello World" post 
Ok, so this is my first post with scripting2
I'm using Frontier's outliner once again...
7/10/2010; 4:08:25 AM. .
|