ODSWeblogProgrammersGuideWebServices ODS Weblog Programmers Guide Web Services Upstreams What is upstreaming? Upstreaming keeps your blogs synchronized amongst your various blog sites, should you have more than one. This allows you to maintain all of your blogging centrally, and then upstream portions to appropriate servers based on whether they are private, public or for your organization or of various topics. Upstreaming is how you enable OpenLink Virtuoso to automatically route blog posts to other blogs that you may own, the only requirement is that these blog systems support any one of the following blog post APIs: Atom, Blogger, Meta-Weblog, or Moveable Type. This also implies that you can use a single Blog Post Client (w.Bloggar, Newzcrawler, Zempt, and others) to post to several blogs. Configuration Upstreaming can be configured in Settings -> Upstreams. The form for adding or changing existing upstream contains following fields: <tgroup><thead /><tbody> <row /> <row><entry>Endpoint </entry><entry>Is the XML-RPC/SOAP endpoint that support SOAP based blogger API for your blog site. For <ulink url="OpenLink">OpenLink</ulink> Virtuoso servers the endpoint typically ends with /RPC2, but this is configurable.</entry><entry /></row> <row><entry>User/Password </entry><entry>The credentials required for accessing your blog site.</entry><entry /></row> <row><entry>API Type </entry><entry>The Blog API system type. One of: Atom, Blogger, <ulink url="MetaWebLog">MetaWebLog</ulink> or Moveable Type</entry><entry /></row> <row><entry><ulink url="BlogID">BlogID</ulink></entry><entry>The system ID for your blog account on the server. This is rarely known so the Fetch button can be used to obtain it once the above information has been provided.</entry><entry /></row> <row><entry>Exclude </entry><entry>Is an exception list to remove categories from this upstream entry.</entry><entry /></row> </tbody></tgroup></table> <bridgehead class="http://www.w3.org/1999/xhtml:h4">Upstreaming Log</bridgehead> <para>Upstreaming log can be viewed in Settings -> Upstreaming Log. </para> <orderedlist spacing="compact"><listitem>Here you can view the posts as: <itemizedlist mark="bullet" spacing="compact"><listitem>All </listitem> <listitem>Pending </listitem> <listitem>Skipped </listitem> <listitem>Error </listitem> </itemizedlist></listitem> <listitem>For each post you can perform action Reset or to Delete it.</listitem> </orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4">Simple example:</bridgehead> <para>Note: At myopenlink.net:8890/ods :</para> <orderedlist spacing="compact"><listitem>There is an user test1 with pwd 1 registered. </listitem> <listitem>User test1 is an owner of the "test1's Weblog" instance.</listitem> </orderedlist><orderedlist spacing="compact"><listitem>Install ODS and Weblog packages. </listitem> <listitem>Login at <ulink url="http://host:port/ods">http://host:port/ods</ulink> </listitem> <listitem>Go to Weblog from the ODS main vertical left navigation. </listitem> <listitem>Go to "New Post" and enter some data for title and body: <itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="ODSWeblogProgrammersGuideWebServices/upb1.png" /></figure> </listitem> </itemizedlist></listitem> <listitem>Click the "Post" button. </listitem> <listitem>As result the post will be created. </listitem> <listitem>Go to Settings->Upstreams. </listitem> <listitem>Enter in the shown form: <orderedlist spacing="compact"><listitem>For field "Hostname:" myopenlink.net </listitem> <listitem>For field "Port": 8890 </listitem> <listitem>For field "Endpoint": /RPC2 </listitem> <listitem>For field "Username": test1 </listitem> <listitem>For field "Password": 1 </listitem> <listitem>For field "Retype password": 1 </listitem> <listitem>For field "Frequency": 1 </listitem> <listitem>Select "API Type": Movable Type </listitem> </orderedlist><itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="ODSWeblogProgrammersGuideWebServices/upb2.png" /></figure> </listitem> </itemizedlist></listitem> <listitem>Click the button "Fetch" <itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="ODSWeblogProgrammersGuideWebServices/upb3.png" /></figure> </listitem> </itemizedlist></listitem> <listitem>Click the "Select" button for the Blog with name "test1's Weblog". </listitem> <listitem>Click the "Add" button. </listitem> <listitem>As result the upstream will be created. <itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="ODSWeblogProgrammersGuideWebServices/upb4.png" /></figure> </listitem> </itemizedlist></listitem> <listitem>Now you can make a new post or for the existing one to post a comment by clicking its "Comment" link: <itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="ODSWeblogProgrammersGuideWebServices/upb5.png" /></figure> </listitem> </itemizedlist></listitem> <listitem>Go to Settings->Upstreaming Log </listitem> <listitem>As result will be shown the 2 posts one with state "Sent", the other with state "Pending". <itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="ODSWeblogProgrammersGuideWebServices/upb6.png" /></figure> </listitem> </itemizedlist></listitem> <listitem>Go to <ulink url="http://myopenlink.net">http://myopenlink.net</ulink>.8890/ods </listitem> <listitem>Log in as user test1 with password 1 </listitem> <listitem>Go to Weblog </listitem> <listitem>As result our first post with title "My Upstream test" will be shown within the rest of the posts for this Weblog. <itemizedlist mark="bullet" spacing="compact"><listitem><figure><graphic fileref="ODSWeblogProgrammersGuideWebServices/upb7.png" /></figure></listitem> </itemizedlist></listitem> </orderedlist><para> </para> <bridgehead class="http://www.w3.org/1999/xhtml:h3">Supported Protocols and APIs</bridgehead> <bridgehead class="http://www.w3.org/1999/xhtml:h4">Atom Publishing Protocol 1.0 (SOAP)</bridgehead> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="ODSWeblogUpstreaming">ODS Weblog Upstreaming using Atom Protocol</ulink></listitem> </itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4">Moveable Type (XML-RPC)</bridgehead> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="ODSWeblogMovableTypeAPI">ODS Weblog Moveable Type API</ulink></listitem> </itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4">Meta Weblog (XML-RPC)</bridgehead> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="ODSWeblogMetaWeblogAPI">ODS Weblog Meta Weblog (XML-RPC) API</ulink></listitem> </itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h4">Blogger</bridgehead> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="ODSWeblogBloggerAPI">ODS Weblog Blogger API</ulink></listitem> </itemizedlist><para><ulink url="CategoryBlog">CategoryBlog</ulink> <ulink url="CategoryODS">CategoryODS</ulink> <ulink url="CategoryOdsWeblog">CategoryOdsWeblog</ulink> <ulink url="CategoryApplicationServices">CategoryApplicationServices</ulink> <ulink url="CategoryProgrammersGuide">CategoryProgrammersGuide</ulink> <ulink url="CategoryWebService">CategoryWebService</ulink> <ulink url="CategoryToBeDone">CategoryToBeDone</ulink> </para> </section></docbook>