<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="wordpress/2.0.5" --><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">

<channel>
	<title>Stefan Kleineikenscheidt</title>
	<link>http://www.kleineikenscheidt.de/stefan</link>
	<description>Integration Architecture and Engineering</description>
	<pubDate>Tue, 09 Mar 2010 23:06:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.5</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/StefanKleineikenscheidt" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="stefankleineikenscheidt" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Document/Literal Web-Services for Confluence</title>
		<link>http://www.kleineikenscheidt.de/stefan/archives/2010/01/documentliteral-web-services-for-confluence.html</link>
		<comments>http://www.kleineikenscheidt.de/stefan/archives/2010/01/documentliteral-web-services-for-confluence.html#comments</comments>
		<pubDate>Tue, 12 Jan 2010 10:06:31 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
		
		<category>Java</category>

		<guid isPermaLink="false">http://www.kleineikenscheidt.de/stefan/archives/2010/01/documentliteral-web-services-for-confluence.html</guid>
		<description><![CDATA[In this post I describe how to create doc/literal-style Web Services for Confluence using XFire.
Why do you want to do that?
There are two alternatives.  Confluence provides the web service plugin module, which offer good support for rpc-style services.  However, these don&#8217;t work well with some clients, as some platforms do not support rpc-style [...]]]></description>
			<content:encoded><![CDATA[<p>In this post I describe how to create doc/literal-style Web Services for Confluence using XFire.</p>
<p><strong>Why do you want to do that?</strong></p>
<p>There are two alternatives.  Confluence provides the web service plugin module, which offer good support for rpc-style services.  However, these don&#8217;t work well with some clients, as some platforms do not support rpc-style web services.</p>
<p>Instead of using web services REST might be an alternative. Since Confluence 3.1. there is a plugin module type for REST interfaces, which builds the JAX-WS reference implementation called Jersey. Btw, the REST plugin module type also work on Confluence 3.0, but you will have to install some plugins manually.  While REST is certainly the way to go for future developments, it has the same short coming as RPC-style web services: client platforms may not be able to use it (or at least make it hard to use it).</p>
<p>In my case the doc-literal web service client is InfoPath (part of Microsoft Office), which works allows users to edit pages in a office-style application and better keeps the structure of a page than the Word editor. </p>
<p><strong>Overview</strong></p>
<p>XFire is a quite old project and is actually now maintained/developed as CXF at Apache. However, there are three reasons for using XFire: XFire is included in the Confluence distribution, CXF still has some dependencies to XFire and introducing another library doesn&#8217;t make things easier (believe me I tried).</p>
<p>In order to use XFire we need to setup the dependencies correctly, create and deploy a XFireServlet as a <a href="http://confluence.atlassian.com/display/CONFDEV/Servlet+Module">servlet module</a>, which handles the HTTP request and invokes the XFire web service stack.</p>
<p><strong>POM Configuration</strong></p>
<p>It is not possible to import the XFire packages through OSGi Bundle-Instructions (Atlassian does not expose it to plugins for whatever reason), so it is necessary define XFire as a dependencies. On the other hand it is necessary to exclude all unneeded or conflicting dependendencies of XFire.  I added the following dependencies to the default dependency section:</p>
<pre>
&lt;dependency&gt;
    &lt;groupId&gt;org.codehaus.xfire&lt;/groupId&gt;
    &lt;artifactId&gt;xfire-aegis&lt;/artifactId&gt;
    &lt;version&gt;1.2.6&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.codehaus.xfire&lt;/groupId&gt;
    &lt;artifactId&gt;xfire-java5&lt;/artifactId&gt;
    &lt;version&gt;1.2.6&lt;/version&gt;
    &lt;exclusions&gt;
        &lt;exclusion&gt;
            &lt;groupId&gt;org.codehaus.xfire&lt;/groupId&gt;
            &lt;artifactId&gt;xfire-annotations&lt;/artifactId&gt;
        &lt;/exclusion&gt;
        &lt;exclusion&gt;
            &lt;groupId&gt;xfire&lt;/groupId&gt;
            &lt;artifactId&gt;xfire-jsr181-api&lt;/artifactId&gt;
        &lt;/exclusion&gt;
    &lt;/exclusions&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
    &lt;groupId&gt;org.codehaus.xfire&lt;/groupId&gt;
    &lt;artifactId&gt;xfire-core&lt;/artifactId&gt;
    &lt;version&gt;1.2.6&lt;/version&gt;
    &lt;exclusions&gt;
        &lt;exclusion&gt;
            &lt;groupId&gt;javax.activation&lt;/groupId&gt;
            &lt;artifactId&gt;activation&lt;/artifactId&gt;
        &lt;/exclusion&gt;
        &lt;exclusion&gt;
            &lt;groupId&gt;javax.mail&lt;/groupId&gt;
            &lt;artifactId&gt;mail&lt;/artifactId&gt;
        &lt;/exclusion&gt;
        &lt;exclusion&gt;
            &lt;groupId&gt;jaxen&lt;/groupId&gt;
            &lt;artifactId&gt;jaxen&lt;/artifactId&gt;
        &lt;/exclusion&gt;
        &lt;exclusion&gt;
            &lt;groupId&gt;stax&lt;/groupId&gt;
            &lt;artifactId&gt;stax-api&lt;/artifactId&gt;
        &lt;/exclusion&gt;
        &lt;exclusion&gt;
            &lt;groupId&gt;commons-codec&lt;/groupId&gt;
            &lt;artifactId&gt;commons-codec&lt;/artifactId&gt;
        &lt;/exclusion&gt;
        &lt;exclusion&gt;
            &lt;groupId&gt;org.apache.ws.commons&lt;/groupId&gt;
            &lt;artifactId&gt;XmlSchema&lt;/artifactId&gt;
        &lt;/exclusion&gt;
        &lt;exclusion&gt;
            &lt;groupId&gt;org.codehaus.woodstox&lt;/groupId&gt;
            &lt;artifactId&gt;wstx-asl&lt;/artifactId&gt;
        &lt;/exclusion&gt;
        &lt;exclusion&gt;
            &lt;groupId&gt;commons-logging&lt;/groupId&gt;
            &lt;artifactId&gt;commons-logging&lt;/artifactId&gt;
        &lt;/exclusion&gt;
        &lt;exclusion&gt;
            &lt;groupId&gt;commons-httpclient&lt;/groupId&gt;
            &lt;artifactId&gt;commons-httpclient&lt;/artifactId&gt;
        &lt;/exclusion&gt;
    &lt;/exclusions&gt;
&lt;/dependency&gt;
</pre>
<p><strong>The XFire-Servlet</strong></p>
<p>The XFire-Servlet handles HTTP Requests and invokes the XFire web service stack, which in turn hands over the web service call to our service implementation.  Therefore the servlet initializes the service in the servlets init() method (when trying this yourself, please not that the init() method gets called lazily on first access).</p>
<pre>
public class MyXfireServlet extends XFireServlet {

    public void init() throws ServletException {
        super.init();

        // The ObjectServiceFactory creates services from Java objects
        ObjectServiceFactory factory = new ObjectServiceFactory(getXFire().getTransportManager(), null);

        // we don't want to expose compareTo
        factory.addIgnoredMethods("java.lang.Comparable");
        Service service = factory.create(DokumentService.class, "dokument", null, null);
        service.setProperty(ObjectInvoker.SERVICE_IMPL_CLASS, DokumentServiceImpl.class);

        // unregister old Service
        Service oldService = getServiceRegistry().getService("dokument");
        if(oldService != null) {
            getServiceRegistry().unregister(oldService);
        }

        getServiceRegistry().register(service);
    }

    protected ServiceRegistry getServiceRegistry() throws ServletException {
        return getController().getServiceRegistry();
    }
}
</pre>
<p>To register the service the following is needed in Atlassian XML:</p>
<pre>
&lt;servlet name="Form Editor Servlet" key="com.k15t.example"
    class="com.k15t.example.webservice.XfireServlet"&gt;
  &lt;url-pattern&gt;/xfire/*&lt;/url-pattern&gt;
&lt;/servlet&gt;
</pre>
<p>This will make the XfireServlet to be available at http://localhost:1990/confluence/plugins/servlet/xfire/ (replace the hostname, port and context root and note the trailing slash). It will list the available services including a link to retrieve the WSDL for the service. In our case there is one service called &#8220;dokument&#8221;.</p>
<p><strong>Implementing the Service</strong></p>
<p>As you can see above the service is defined in the interface <strong>DokumentService</strong> and the implementation is implemented in <strong>DokumentServiceImpl</strong>. XFire will take care of converting the SOAP message to method parameters, if the service interface only uses the following types (<a href="http://xfire.codehaus.org/Aegis+Binding">source</a>):</p>
<ul>
<li>Basic types: int, double, float, long, byte[], short, String, BigDecimal</li>
<li>Arrays</li>
<li>Collections</li>
<li>Dates: java.util.Date, java.util.Calendar, java.sql.Timestamp, java.sql.Date, java.sql.Time</li>
<li>XML: org.w3c.dom.Docmument, org.jdom.Element, XMLStreamReader, Source</li>
<li>Complex types which are aggregations of the above</li>
</ul>
<p>This is the interface of the service, the implementation is calling the Confluence API to do stuff (Dokument is a complex bean containing some page data):</p>
<pre>
public interface DokumentService {

    public Dokument load(String spaceName, String pageId, String token);

    public void save(Dokument document, String token);

}
</pre>
<p><strong>That&#8217;s all.</strong> </p>
<p>It is important to notice, that the ServiceRegistry is shared between different XFireServlets, so take care if you install multiple of those.
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kleineikenscheidt.de/stefan/archives/2010/01/documentliteral-web-services-for-confluence.html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Happy New Year!</title>
		<link>http://www.kleineikenscheidt.de/stefan/archives/2010/01/happy-new-year.html</link>
		<comments>http://www.kleineikenscheidt.de/stefan/archives/2010/01/happy-new-year.html#comments</comments>
		<pubDate>Tue, 05 Jan 2010 13:08:35 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
		
		<category>Personal</category>

		<guid isPermaLink="false">http://www.kleineikenscheidt.de/stefan/archives/2010/01/happy-new-year.html</guid>
		<description><![CDATA[I wish everybody a happy new year!  In 2009 Emil started to walk (and many more things), Petra got back to work at employer, and I started my own business.
Looking forward to 2010.

]]></description>
			<content:encoded><![CDATA[<p>I wish everybody a happy new year!  In 2009 Emil started to walk (and many more things), Petra got back to work at <a href="http://www.jvm.de">employer</a>, and I started my own business.</p>
<p>Looking forward to 2010.
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kleineikenscheidt.de/stefan/archives/2010/01/happy-new-year.html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>First Day of being Self-employed</title>
		<link>http://www.kleineikenscheidt.de/stefan/archives/2009/11/first-day-of-being-self-employed-3.html</link>
		<comments>http://www.kleineikenscheidt.de/stefan/archives/2009/11/first-day-of-being-self-employed-3.html#comments</comments>
		<pubDate>Sat, 14 Nov 2009 17:06:43 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
		
		<category>Personal</category>

		<guid isPermaLink="false">http://www.kleineikenscheidt.de/stefan/archives/2009/11/first-day-of-being-self-employed-3.html</guid>
		<description><![CDATA[After working for almost 8 years in three different companies, today I started working full-time for my own business.  I always wanted to do it, but now it was time to go full-on. The funny side note is that I am starting on a Friday, 13th.   
What we do at K15t Software [...]]]></description>
			<content:encoded><![CDATA[<p>After working for almost 8 years in three different companies, today I started working full-time for <a href="http://ww.k15t.com">my own business</a>.  I always wanted to do it, but now it was time to go full-on. The funny side note is that I am starting on a Friday, 13th.  <img src='http://www.kleineikenscheidt.de/stefan/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>What we do at K15t Software (K15t is a shortcut for my last name, which is too hard to spell for almost everyone):</p>
<ul>
<li><a href="http://www.k15t.com/scroll">Scroll Wiki Exporter</a> - a single source publishing solution for Atlassian Confluence.  Being able to work full-time for K15t will show a difference in terms of new features - 1.1 is due next week.</li>
<li>Solutions for Wiki/Confluence-based documentation.  At the moment this is on a consulting basis but we plan to release something product-like, too.</li>
</ul>
<p><strong>So, here comes the plug:</strong> If you want to do single source publishing from Atlassian Confluence or have always thought about using Wikis/Confluence for documentation, you should drop me an email.  <img src='http://www.kleineikenscheidt.de/stefan/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> <!--da4912b6e81e14521ce3be73a917bb6a--><!--f46785ed08a3957ee9eb24a2483f8c3d--><!--a19b862feca7ba026b6c8577970a720b-->
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kleineikenscheidt.de/stefan/archives/2009/11/first-day-of-being-self-employed-3.html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Scroll 1.0 Released</title>
		<link>http://www.kleineikenscheidt.de/stefan/archives/2009/05/scroll-10-released.html</link>
		<comments>http://www.kleineikenscheidt.de/stefan/archives/2009/05/scroll-10-released.html#comments</comments>
		<pubDate>Fri, 15 May 2009 23:14:56 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
		
		<category>Web</category>

		<category>UI</category>

		<guid isPermaLink="false">http://www.kleineikenscheidt.de/stefan/archives/2009/05/scroll-10-released.html</guid>
		<description><![CDATA[As I have written earlier, it is time for Documentation 2.0.
This is copied from http://www.k15t.com/2009/05/scroll-10-released/:

We are proud to announce the 1.0 release of the Scroll Wiki Exporter for Confluence.  It&#8217;s been a long way from CONF-762 to where are we now, but we made it!
Thanks for all the support we got along the way, [...]]]></description>
			<content:encoded><![CDATA[<p>As I have <a href="http://www.kleineikenscheidt.de/stefan/archives/2009/01/2009-documentation-20.html">written earlier</a>, it is time for Documentation 2.0.</p>
<p>This is copied from <a href="http://www.k15t.com/2009/05/scroll-10-released/">http://www.k15t.com/2009/05/scroll-10-released/</a>:</p>
<blockquote><p>
We are proud to announce the 1.0 release of the Scroll Wiki Exporter for Confluence.  It&#8217;s been a long way from <a href="http://jira.atlassian.com/browse/CONF-762">CONF-762</a> to where are we now, but we made it!</p>
<p>Thanks for all the support we got along the way, to name a few in no particular order: Scott, Sebastian, Alex, Arne, Charles, Martin, Petra, Bob, Dan, Sarah, Giles, David, &#8230;  Huge thanks also to the people who have beta-tested Scroll and provided great feedback.</p>
<p>The are already a lot of cool features in Scroll, and we are looking forward to add more.  High on our list are better theming (add your own DocBook customization layer) and WordML export.</p>
<p>You can find more information in <a href="http://www.k15t.com/confluence/display/SCROLLDOC/Scroll+1.0">Release Notes</a>.</p>
<p>Download an evaluation license at <a href="http://www.k15t.com/scroll/download">http://www.k15t.com/scroll/download</a>.</p>
<p>Buy license at <a href="http://www.k15t.com/scroll/buy">http://www.k15t.com/scroll/buy</a>.</p>
<p><strong>About Scroll:</strong> Scroll is a plugin for the popular Atlassian Confluence wiki. Scroll generates professional documentation in DocBook and PDF from wiki pages.</p>
<p><strong>About K15t Software:</strong>  K15t Software is a small development shop from Stuttgart, Germany.  Its mission is to build useful software products with the focus on tools for wiki-based documentation.
</p></blockquote>
<p><!--5b349d70ed0956ef8ae35201b9bc82ee--><!--5c42f4bad692d74f5daf617e106126f7--><!--4910b26a0e41be893dc222f84704f847--><!--3da97a7f97cc4d55538e9eb93f093c6d--><!--c8f379dc6c503d252fa8aef25d91d4c9--><!--8bd8a1001d91764d05ec4ad86d1af860-->
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kleineikenscheidt.de/stefan/archives/2009/05/scroll-10-released.html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DeepLeap - I scored 294!</title>
		<link>http://www.kleineikenscheidt.de/stefan/archives/2009/05/deepleap-i-scored-294.html</link>
		<comments>http://www.kleineikenscheidt.de/stefan/archives/2009/05/deepleap-i-scored-294.html#comments</comments>
		<pubDate>Sun, 03 May 2009 17:58:48 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
		
		<category>Web</category>

		<category>UI</category>

		<guid isPermaLink="false">http://www.kleineikenscheidt.de/stefan/archives/2009/05/deepleap-i-scored-294.html</guid>
		<description><![CDATA[eJohn created a nice, little, time-wasting, scrabble-like game in JavaScript: DeepLeap.  I scored 294, can you do more?

]]></description>
			<content:encoded><![CDATA[<p><a href="http://ejohn.org/">eJohn</a> created a nice, little, time-wasting, scrabble-like game in JavaScript: <a href="http://deepleap.org/">DeepLeap</a>.  I scored 294, can you do more?<!--c7d4fd212787b0da05d1c2c604f46413-->
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kleineikenscheidt.de/stefan/archives/2009/05/deepleap-i-scored-294.html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WebKit Component for Java, Second Contestant</title>
		<link>http://www.kleineikenscheidt.de/stefan/archives/2009/03/webkit-component-for-java-second-contestant.html</link>
		<comments>http://www.kleineikenscheidt.de/stefan/archives/2009/03/webkit-component-for-java-second-contestant.html#comments</comments>
		<pubDate>Sat, 14 Mar 2009 08:50:59 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
		
		<category>Java</category>

		<category>Web</category>

		<category>UI</category>

		<guid isPermaLink="false">http://www.kleineikenscheidt.de/stefan/archives/2009/03/webkit-component-for-java-second-contestant.html</guid>
		<description><![CDATA[While there weren&#8217;t any news related to Sun&#8217;s JWebPane, there is a new contestant: WebKit for SWT by Genuitec.  The website says:
WebKit for SWT (ver. 0.5) is an embeddable Java™ WebKit browser component developed by Genuitec. This component can be used in the development of a wide range of Java SWT applications that require [...]]]></description>
			<content:encoded><![CDATA[<p>While there weren&#8217;t any news related to Sun&#8217;s <a href="http://www.kleineikenscheidt.de/stefan/archives/2009/02/jwebpane-swing-webkit-component.html">JWebPane</a>, there is a new contestant: <a href="http://www.genuitec.com/about/labs.html">WebKit for SWT</a> by Genuitec.  The website says:</p>
<blockquote><p>WebKit for SWT (ver. 0.5) is an embeddable Java™ WebKit browser component developed by Genuitec. This component can be used in the development of a wide range of Java SWT applications that require integration of rich HTML5, CSS3, JavaScript and Flash content and functionality.</p></blockquote>
<p>The solution seems a little bit more high-level than Sun&#8217;s approach: While Sun is integrating WebKit directly, Genuitec build on top of Google&#8217;s chromium.  The biggest difference however at this time: They provide code, documentation and samples.<!--1d52f99c9aa2a1fce35416275ea2ec93--><!--6956622db35b338af94ada1c57f88c26--><!--25bd45c778a5c397ffc0d2387ba24f87--><!--9f154a8c8cfed4de6be10c475412073d--><!--13c3dc9375cb1db04aade557a5fcfa85-->
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kleineikenscheidt.de/stefan/archives/2009/03/webkit-component-for-java-second-contestant.html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multiple Browsers on one Machine (yes, even IE)</title>
		<link>http://www.kleineikenscheidt.de/stefan/archives/2009/02/multiple-browsers-on-one-machine-yes-even-ie.html</link>
		<comments>http://www.kleineikenscheidt.de/stefan/archives/2009/02/multiple-browsers-on-one-machine-yes-even-ie.html#comments</comments>
		<pubDate>Wed, 25 Feb 2009 20:09:57 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
		
		<category>UI</category>

		<guid isPermaLink="false">http://www.kleineikenscheidt.de/stefan/archives/2009/02/multiple-browsers-on-one-machine-yes-even-ie.html</guid>
		<description><![CDATA[You are a web developer, who needs to test you app on different browsers?  Even on different versions of IE, which cannot be installed on a single windows installation at the same time?
You might want to check out http://www.xenocode.com/browsers/, where all popular browsers (on Windows) are provided as executable .exe files.  No installation, [...]]]></description>
			<content:encoded><![CDATA[<p>You are a web developer, who needs to test you app on different browsers?  Even on different versions of IE, which cannot be installed on a single windows installation at the same time?</p>
<p>You might want to check out <a href="http://www.xenocode.com/browsers/">http://www.xenocode.com/browsers/</a>, where all popular browsers (on Windows) are provided as executable .exe files.  No installation, but in a isolated virtual environment.</p>
<p><strong>Update:</strong> <a href="http://www.highresolution.info/weblog/entry/xenocode_sandbox-browser_finger_weg/">High Resolution</a> (German) warns, that the virtual sandboxes will slow down your computer.  Although I didn&#8217;t notice a slow down, I stopped using it.  As an alternative they recommend <a href="http://www.my-debugbar.com/wiki/IETester/HomePage">IETester</a>, and <a href="http://blogs.msdn.com/ie/archive/2007/04/17/ie7-virtual-pc-image-and-ie6-virtual-pc-image-refresh.aspx">virtual machines</a> provided by MS.<!--22fceef8b25e81f3a2ad0fa4db05140c--><!--9ad98352a5b0fef0f6f095d6b5c51bde--><!--991ae468bde79b17275cc459f63cd791-->
<div id=wp_internal style=display:none><a href=http://gradportal.cosm.sc.edu>buy viagra online</a><a href=http://www.troncolon.com/e/>order viagra soft tabs<a href=http://www.fauna-australis.puc.cl/ingles/news/08/index.html>order cialis professional online</a><a href=http://www.fauna-australis.puc.cl/ingles/charismatic_species/guanaco.html>cheap brand viagra</a><a href=http://www.fauna-australis.puc.cl/ingles/charismatic_species/vicugna.html>order viagra professional online</a><a href=http://www.fauna-australis.puc.cl/ingles/research/07_conservation_medicine.html>brand cialis</a><a href=http://www.fauna-australis.puc.cl/ingles/news/08/10/07_ufaw.html>cialis professional</a><a href=http://www.fauna-australis.puc.cl/index.php>viagra professional</a><a href=http://www.fauna-australis.puc.cl/ingles/charismatic_species/huemul.html>buy brand viagra online</a><a href=http://www.linuxasia.net/la07/venue.php>generic viagra</a><a href=http://www.linuxasia.net/la07/workshop.php>order generic cialis online</a><a href=http://www.linuxasia.net/la07/speaker.php>buy generic cialis online</a><a href=http://www.linuxasia.net/la07/index.php>order generic viagra online</a><a href=http://www.freshformsolutions.com>order cialis online</a><a href=http://writerresponsetheory.org>order viagra online</a><a href=http://www.grrlgenius.com>buy viagra</a><a href=http://www.townofburlington.ca>buy generic cialis</a><a href=http://www.aciel.org>buy vpxl</a><a href=http://pmvac.com>buy levitra</a><a href=http://www.pension-suedheide.de>buy brand cialis</a><a href=http://www.aguasdulces.com.uy/modules/correcaminata/frmInscripcion.php>viagra soft tabs</a><a href=http://www.aguasdulces.com.uy/modules/vivencias/>buy viagra super active<a href=http://www.aguasdulces.com.uy/modules/condiciones_uso/index.php>buy cialis professional</a><a href=http://www.aguasdulces.com.uy/modules/ventas/index.php>buy viagra professional</a><a href=http://www.aguasdulces.com.uy/modules/quienesSomos/index.php>buy generic cialis</a><a href=http://www.aguasdulces.com.uy/modules/comoLlegar/index.php>cialis online</a><a href=http://www.reflexion.nu>buy viagra</a><a href=http://www.wg-usa.org/agm2009/agm2009.shtml>buy arimidex</a><a href=http://www.wg-usa.org/c_membercenter.shtml>buy cialis soft tabs</a><a href=http://www.wg-usa.org/publications.shtml>buy cialis super active</a><a href=http://www.wg-usa.org/pub_brochures.shtml>buy viagra soft tabs</a><a href=http://www.wg-usa.org/hr_cedaw.shtml>buy femara</a><a href=http://www.wg-usa.org/glossary_UN.shtml>buy viagra super active</a><a href=http://www.kandallovasarlas.info>buy boniva</a><a href=http://www.bps-stuttgart.de>buy generic viagra</a><a href=http://americanbridges.com>buy cialis super active</a><a href=http://www.realgreengoods.com/DecemberNewsletter.htm>buy viagra professional</a><a href=http://www.realgreengoods.com/JanuaryNewsletter.htm>buy cialis super active</a><a href=http://www.realgreengoods.com/AugustNewsletter.htm>buy viagra super active</a><a href=http://www.realgreengoods.com/SeptemberNewsletter.htm>buy tamiflu</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.kleineikenscheidt.de/stefan/archives/2009/02/multiple-browsers-on-one-machine-yes-even-ie.html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JWebPane: Swing WebKit Component</title>
		<link>http://www.kleineikenscheidt.de/stefan/archives/2009/02/jwebpane-swing-webkit-component.html</link>
		<comments>http://www.kleineikenscheidt.de/stefan/archives/2009/02/jwebpane-swing-webkit-component.html#comments</comments>
		<pubDate>Mon, 09 Feb 2009 19:47:32 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
		
		<category>Java</category>

		<category>Web</category>

		<guid isPermaLink="false">http://www.kleineikenscheidt.de/stefan/archives/2009/02/jwebpane-swing-webkit-component.html</guid>
		<description><![CDATA[JWebPane provides WebKit as a Swing component - how cool is that.  Let the UI guys use HTML/CSS to do the user interface, and let the Java guys implement the functionality.
Not tested, not even downloadable yet, just wanted to let you know&#8230;

]]></description>
			<content:encoded><![CDATA[<p><a href="http://weblogs.java.net/blog/alex2d/archive/2008/12/jwebpane_projec_1.html">JWebPane</a> provides WebKit as a Swing component - how cool is that.  Let the UI guys use HTML/CSS to do the user interface, and let the Java guys implement the functionality.</p>
<p>Not tested, not even downloadable yet, just wanted to let you know&#8230;<!--4496009f0912fcd5a1ccd60709d85199-->
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kleineikenscheidt.de/stefan/archives/2009/02/jwebpane-swing-webkit-component.html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JavaScript as Lingua Franca for the … Desktop!</title>
		<link>http://www.kleineikenscheidt.de/stefan/archives/2009/01/javascript-as-lingua-franca-for-the-desktop.html</link>
		<comments>http://www.kleineikenscheidt.de/stefan/archives/2009/01/javascript-as-lingua-franca-for-the-desktop.html#comments</comments>
		<pubDate>Tue, 20 Jan 2009 17:28:07 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
		
		<category>Architecture</category>

		<category>UI</category>

		<guid isPermaLink="false">http://www.kleineikenscheidt.de/stefan/archives/2009/01/javascript-as-lingua-franca-for-the-desktop.html</guid>
		<description><![CDATA[Ars technica is writing about a project called Seed, which allows to write Gnome desktop apps with JavaScript.
Quote from the website:
Seed is a library and interpreter, dynamically bridging (through GObjectIntrospection) the WebKit JavaScriptCore engine, with the GObject type system. In a more concrete sense, Seed enables you to immediately write applications around a significant portion [...]]]></description>
			<content:encoded><![CDATA[<p>Ars technica is <a href="http://arstechnica.com/articles/paedia/javascript-gtk-bindings.ars">writing</a> about a project called <a href="http://live.gnome.org/Seed">Seed</a>, which allows to write Gnome desktop apps with JavaScript.</p>
<p>Quote from the website:</p>
<blockquote><p>Seed is a library and interpreter, dynamically bridging (through GObjectIntrospection) the WebKit JavaScriptCore engine, with the GObject type system. In a more concrete sense, Seed enables you to immediately write applications around a significant portion of the GNOME platform, and easily embed JavaScript as a scripting-language in your GObject library. </p></blockquote>
<p>Go JavaScript, go!  <img src='http://www.kleineikenscheidt.de/stefan/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <!--3faca128306d8807564ed74c5ca216a5--><!--4c01b07e1d735133ea848669a12a1051--><!--65308f60687a191f163ab5bf0f009df6-->
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kleineikenscheidt.de/stefan/archives/2009/01/javascript-as-lingua-franca-for-the-desktop.html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>2009: Documentation 2.0</title>
		<link>http://www.kleineikenscheidt.de/stefan/archives/2009/01/2009-documentation-20.html</link>
		<comments>http://www.kleineikenscheidt.de/stefan/archives/2009/01/2009-documentation-20.html#comments</comments>
		<pubDate>Thu, 08 Jan 2009 04:14:45 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
		
		<category>Personal</category>

		<category>Java</category>

		<category>Web</category>

		<category>Engineering</category>

		<guid isPermaLink="false">http://www.kleineikenscheidt.de/stefan/archives/2009/01/2009-documentation-20.html</guid>
		<description><![CDATA[2009 will be interesting.  This is the last entry of this series of posts, about my thoughts/wishes about technological improvements in 2009. Previous entries: Really Rich Internet Applications, Easy JavaScript for Everyone, Databases and Persistence, Distributed Version Control.
Wiki-based documentation will become the single source for documentation in 2009.  While wikis have been great [...]]]></description>
			<content:encoded><![CDATA[<p><em>2009 will be interesting.  This is the last entry of this series of posts, about my thoughts/wishes about technological improvements in 2009. Previous entries: <a href="http://www.kleineikenscheidt.de/stefan/archives/2009/01/2009-really-rich-internet-applications.html">Really Rich Internet Applications</a>, <a href="http://www.kleineikenscheidt.de/stefan/archives/2009/01/2009-easy-javascript-for-everyone.html">Easy JavaScript for Everyone</a>, <a href="http://www.kleineikenscheidt.de/stefan/archives/2009/01/2009-databases-and-persistence.html">Databases and Persistence</a>, <a href="http://www.kleineikenscheidt.de/stefan/archives/2009/01/2009-distributed-version-control.html">Distributed Version Control</a>.</em></p>
<p>Wiki-based documentation will become the single source for documentation in 2009.  While wikis have been great for collaboratively created documentation ever since, the problem is that they are not very well export their contents to other formats in order to ship documentation as printed books or integrated online help.  <a href="http://www.docbook.org">DocBook</a> export is needed here.</p>
<p>I have requested this<sup>[1]</sup> for my favourite wiki<sup>[2]</sup> back in 2004 with no luck. However, this year we will ship a solution<sup>[3]</sup> for this. The Scroll Wiki Exporter for Confluence lets wiki-users export their documentation from trees of wiki pages to DocBook and PDF.  Eventually we will support other output formats, pluggable, themes, and much more.</p>
<p>[1] Feature request for DocBook Export: <a href="http://jira.atlassian.com/browse/CONF-762">CONF-762</a><br />
[2] <a href="http://www.atlassian.com/software/confluence/">Atlassian Confluence</a><br />
[3] <a href="http://www.scrollyourwiki.com">Scroll Wiki Exporter</a><!--f4058db68551dfd2963d337d4a0b6a50--><!--36b6c20cf39834d3aaaec9ae47f999c1-->
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kleineikenscheidt.de/stefan/archives/2009/01/2009-documentation-20.html/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
