<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Uxebu.com - the Ajax and JavaScript Experts &#187; django</title>
	<atom:link href="http://uxebu.com/blog/tag/django/feed/" rel="self" type="application/rss+xml" />
	<link>http://uxebu.com/blog</link>
	<description>Web, Dojo, news</description>
	<lastBuildDate>Sun, 06 Jun 2010 22:28:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ajax with dojango (dojo+django)</title>
		<link>http://uxebu.com/blog/2008/07/26/ajax-with-dojango/</link>
		<comments>http://uxebu.com/blog/2008/07/26/ajax-with-dojango/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 19:40:11 +0000</pubDate>
		<dc:creator>Wolfram Kriesing</dc:creator>
				<category><![CDATA[django]]></category>
		<category><![CDATA[dojango]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[ajax]]></category>

		<guid isPermaLink="false">http://blog.uxebu.com/?p=40</guid>
		<description><![CDATA[Ok, now you got dojango and you want to write an AJAX app. There are some basics that just need to be provided in order to make that a piece of cake. Dojango offers them. And this article will show you how to best plug those pieces together and get up and running with ajax [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, now you got <a href="http://code.google.com/p/dojango/">dojango</a> and you want to write an AJAX app. There are some basics that just need to be provided in order to make that a piece of cake. Dojango offers them. And this article will show you how to best plug those pieces together and get up and running with ajax and dojango.<br />
This article will show you how to simply pass data properly from the backend to the client.<br />
<span id="more-40"></span></p>
<p><strong>JSON communication with the server</strong><br />
There are enough use cases (and they are becoming more) when you want to get data from the server and the most common data format nowadays for that is <a href="http://en.wikipedia.org/wiki/JSON#Using_JSON_in_Ajax">JSON</a>, for various good reasons.<br />
Let&#8217;s construct a simple form who&#8217;s data we want to submit to the server and know if it all went ok or not. For now we just print the submitted data on the django console (from where you started the local dev server) and we let the user know about the submission with the small text &#8220;Submitted&#8221; beside the submit button.<br />
So let&#8217;s get started with the JavaScript side. Dojango luckily provides us with the basic infrastructure, so let&#8217;s create a template that extends <em>dojango/base.html</em> (it is available since the <em>settings.py</em> includes the app &#8220;dojango&#8221;, <a href="http://code.google.com/p/dojango/wiki/GettingStarted">see here for instructions</a>), that provides us with everything we need to have dojo running even the doctype of the document and HTML headers, just in short a valid HTML file, we only have to worry about our code.<br />
So let&#8217;s build the <em>simple.html</em> file in the templates folder of our django app (I called my app &#8220;core&#8221;).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;">{% extends &quot;dojango/base.html&quot; %}
&nbsp;
{% block dojango_page_title %}Simple AJAX with dojango{% endblock %}
&nbsp;
{% block dojango_header_extra %}
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span>
		function userFormSubmit(){
			var form = dojo.byId(&quot;userForm&quot;);
			dojo.xhrPost({url:form.action,
				handleAs: &quot;json&quot;,
				content:{surname:form.surname.value,
					firstname:form.firstname.value
				},
				load:function(response, ioArgs){
					dojo.byId(&quot;info&quot;).innerHTML = &quot;Submitted&quot;;
				}
			});
		}
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
{% endblock %}
&nbsp;
{% block dojango_content %}
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">form</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;userForm&quot;</span> <span style="color: #000066;">onsubmit</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;userFormSubmit(); return false;&quot;</span> <span style="color: #000066;">action</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/simple-ajax-set/&quot;</span>&gt;</span>
		First name: <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;firstname&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">br</span> <span style="color: #66cc66;">/</span>&gt;</span>
		Surname: <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;surname&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">br</span> <span style="color: #66cc66;">/</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;submit&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Submit&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;info&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span>
{% endblock %}</pre></td></tr></table></div>

<p>As you can see we are overriding a couple of blocks, that are defined in the <em>dojango/base.html</em>. The first one (line 3) is just for setting the page title, the second one (line 5) is for putting our JavaScript code inside html-head. And &#8220;dojango_content&#8221; (line 21) is finally the content of the body node.<br />
We also have to wire up the template to render when we access http://localhost:8000/simple/ and the AJAX method, that we submit the data to, like so in the <em>urls.py</em>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">from</span> django.<span style="color: black;">conf</span>.<span style="color: black;">urls</span>.<span style="color: black;">defaults</span> <span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #66cc66;">*</span>
&nbsp;
urlpatterns = patterns<span style="color: black;">&#40;</span><span style="color: #483d8b;">''</span>,
    <span style="color: black;">&#40;</span>r<span style="color: #483d8b;">'^dojango/'</span>, include<span style="color: black;">&#40;</span><span style="color: #483d8b;">'dojango.urls'</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>,
&nbsp;
    <span style="color: black;">&#40;</span>r<span style="color: #483d8b;">'^simple/'</span>, <span style="color: #483d8b;">'core.views.simple'</span><span style="color: black;">&#41;</span>,
    <span style="color: black;">&#40;</span>r<span style="color: #483d8b;">'^simple-ajax-set/'</span>, <span style="color: #483d8b;">'core.views.simple_ajax_set'</span><span style="color: black;">&#41;</span>,
<span style="color: black;">&#41;</span></pre></td></tr></table></div>

<p>We just added the two last lines that map our URLs (line 6 and 7) to the view functions.<br />
Our <em>views.py</em> just needs to implement these two functions, like this.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">from</span> django.<span style="color: black;">shortcuts</span> <span style="color: #ff7700;font-weight:bold;">import</span> render_to_response
<span style="color: #ff7700;font-weight:bold;">from</span> dojango.<span style="color: black;">decorators</span> <span style="color: #ff7700;font-weight:bold;">import</span> json_response
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> simple<span style="color: black;">&#40;</span>request<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">return</span> render_to_response<span style="color: black;">&#40;</span><span style="color: #483d8b;">'simple.html'</span><span style="color: black;">&#41;</span>
&nbsp;
@json_response
<span style="color: #ff7700;font-weight:bold;">def</span> simple_ajax_set<span style="color: black;">&#40;</span>request<span style="color: black;">&#41;</span>:
    firstname = request.<span style="color: black;">POST</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'firstname'</span><span style="color: black;">&#93;</span>
    surname = request.<span style="color: black;">POST</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'surname'</span><span style="color: black;">&#93;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> firstname, surname
    <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#123;</span><span style="color: #483d8b;">'success'</span>:<span style="color: #008000;">True</span><span style="color: black;">&#125;</span></pre></td></tr></table></div>

<p>The function &#8220;simple&#8221; (line 4) uses the standard django way to render a view and return the content to the client. It finds the template <em>simple.html</em> in the app&#8217;s template path.<br />
The function &#8220;simple_ajax_set&#8221; (line 8) will receive our form data and (for now) only print them. You can see the first speciality here, it uses the decorator &#8220;json_response&#8221; that we imported from dojango.decorators. This decorator takes care of returning proper JSON data, all the data you stuff in there are returned to the client JSON encoded, it basically is <a href="http://wolfram.kriesing.de/blog/index.php/2007/json_encode-updated">json_encode as described here</a>. If you have AJAX calls and want to return JSON data, this is the easiest way to do it and it comes with dojango. It is a special (though very simple) implementation that has not made it&#8217;s way into the django core because it is really just AJAX-focused, while the django serializer is django model focused. Additionally this implementation solves a couple of problems and adds some features that are very useful when working with AJAX data, <a href="http://wolfram.kriesing.de/blog/index.php/2007/json-serialization-for-django">for more explainations see this article</a>.</p>
<p><strong>Handle the return</strong><br />
Now we can submit the form and see that the data got submitted. We don&#8217;t know yet if the data had been successfully handled on the server. So let&#8217;s add proper error handling.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> userFormSubmit<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> form <span style="color: #339933;">=</span> dojo.<span style="color: #660066;">byId</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;userForm&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	dojo.<span style="color: #660066;">xhrPost</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>url<span style="color: #339933;">:</span>form.<span style="color: #660066;">action</span><span style="color: #339933;">,</span>
		handleAs<span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;json&quot;</span><span style="color: #339933;">,</span>
		content<span style="color: #339933;">:</span><span style="color: #009900;">&#123;</span>surname<span style="color: #339933;">:</span>form.<span style="color: #660066;">surname</span>.<span style="color: #660066;">value</span><span style="color: #339933;">,</span>
			firstname<span style="color: #339933;">:</span>form.<span style="color: #660066;">firstname</span>.<span style="color: #660066;">value</span>
		<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		load<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>response<span style="color: #339933;">,</span> ioArgs<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>response.<span style="color: #660066;">success</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				dojo.<span style="color: #660066;">byId</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;info&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Submitted successfully&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
				dojo.<span style="color: #660066;">byId</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;info&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Error: &quot;</span><span style="color: #339933;">+</span>response.<span style="color: #660066;">error</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
		error<span style="color: #339933;">:</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">// This happens on a 500 error or alikes.</span>
			dojo.<span style="color: #660066;">byId</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;info&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">innerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;Error sending data.&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>If you looked into the return data (i.e. via FireBug) you might have seen that <code>{"success":true}</code> was returned. But until now this was passed into the load function (line 8) as a string, but we want them as JSON. So we have to tell the xhrPost() call to handle it as JSON (line 4). Now we can also evaluate the success value easily as shown in line 9. If the server returns <code>success</code> with the value <code>false</code> we know something went wrong on the server. Let&#8217;s implement on the server that the surname has to have at least three characters. In the case of an error the server returns the additional property &#8220;error&#8221; which we then show to the user (line 12) to inform him about the error.<br />
The function in line 15 handles all kind of connection and/or submission errors that may occur in a lower level. Make sure to not leave your users in the dark about this.<br />
Let&#8217;s look at the server code for that:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="python" style="font-family:monospace;">@expect_post_request
@json_response
<span style="color: #ff7700;font-weight:bold;">def</span> simple_ajax_set<span style="color: black;">&#40;</span>request<span style="color: black;">&#41;</span>:
    ret = <span style="color: black;">&#123;</span><span style="color: black;">&#125;</span>
    firstname = request.<span style="color: black;">POST</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'firstname'</span><span style="color: black;">&#93;</span>
    surname = request.<span style="color: black;">POST</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'surname'</span><span style="color: black;">&#93;</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>surname<span style="color: black;">&#41;</span><span style="color: #66cc66;">&lt;</span><span style="color: #ff4500;">3</span>:
        ret<span style="color: black;">&#91;</span><span style="color: #483d8b;">'error'</span><span style="color: black;">&#93;</span> = <span style="color: #483d8b;">'Surname is too short.'</span>
        ret<span style="color: black;">&#91;</span><span style="color: #483d8b;">'success'</span><span style="color: black;">&#93;</span> = <span style="color: #008000;">False</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> ret<span style="color: black;">&#91;</span><span style="color: #483d8b;">'success'</span><span style="color: black;">&#93;</span>:
        <span style="color: #808080; font-style: italic;"># Store the data here</span>
        <span style="color: #ff7700;font-weight:bold;">pass</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> ret</pre></td></tr></table></div>

<p>We extended the function a little bit to do some simple error checking. You can see that we add the key &#8220;error&#8221; to the ret dict, which is then passed to the client if the surname was shorter than three characters. The JSON string returned in this case is <code>{"success": false, "error": "Surname is too short."}</code>.<br />
Note that we didn&#8217;t explicitly set the value for <code>success</code> to <code>True</code>, the decorator <code>json_response</code> handles that for us. If no exception is thrown it assumes that the function went ok and it can return <code>success=True</code>. This comes in very handy, especially when you just have simple one task AJAX functions that i.e. just delete an item, you don&#8217;t have to return explicitly that the deletion went well, <code>json_response</code> does that for you if you throw no exception. We just made it the default behavior since it was right for most of our use cases.</p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2008/07/26/ajax-with-dojango/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Dojango version 0.3 released</title>
		<link>http://uxebu.com/blog/2008/07/23/dojango-version-03-released/</link>
		<comments>http://uxebu.com/blog/2008/07/23/dojango-version-03-released/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 20:58:35 +0000</pubDate>
		<dc:creator>Tobias Klipstein</dc:creator>
				<category><![CDATA[django]]></category>
		<category><![CDATA[dojango]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[reusable app]]></category>

		<guid isPermaLink="false">http://blog.uxebu.com/?p=37</guid>
		<description><![CDATA[Now it is official! We released Dojango on google code today and you can get details about it and download it from there.
Dojango provides a dojo integration as a reusable app. Download it, copy it into your django project and you have dojo included into django.


A quick summary of the main features of dojango:

a reusable [...]]]></description>
			<content:encoded><![CDATA[<p>Now it is official! We released <a href="http://code.google.com/p/dojango/">Dojango on google code</a> today and you can get details about it and download it from there.<br />
Dojango provides a dojo integration as a reusable app. Download it, copy it into your django project and you have dojo included into django.</p>
<p><a href='http://code.google.com/p/dojango/'><img src="http://blog.uxebu.com/wp-content/uploads//2008/07/dojango_logo.jpg" alt="" title="dojango_logo" width="120" class="alignnone size-full wp-image-38" /></a><br />
<span id="more-37"></span></p>
<p>A quick summary of the main features of dojango:</p>
<ul>
<li>a reusable django app that provides dojo</li>
<li>easy dojo setup inside django</li>
<li>build an optimized dojo</li>
<li>some helper functions, i.e. JSON conversion</li>
<li>switch easily between different dojo versions.</li>
</ul>
<p>The main purpose of dojango is to help you using dojo within your django projects. Currently it delivers the main infrastructure to easily switch between several dojo versions and includes several functions that helps developing rich internet applications. Now we are able to chain dojo and django on a solid basis and we work at porting the actual django form widgets to use dojo widgets.</p>
<p>We would be happy, if a lot of people would test the current version and tell us about bugs, strange behaviors, misunderstandings, &#8230; Also we are open for everyone who would like to help out extending dojango. In coincidence <a href="http://www.rsaccon.com/">Roberto Saccon</a> (big thanks!) already testet dojango with google app engine and it worked at first go.</p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2008/07/23/dojango-version-03-released/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Django 1.0 alpha released!</title>
		<link>http://uxebu.com/blog/2008/07/22/django-10-alpha-released/</link>
		<comments>http://uxebu.com/blog/2008/07/22/django-10-alpha-released/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 07:24:27 +0000</pubDate>
		<dc:creator>Wolfram Kriesing</dc:creator>
				<category><![CDATA[Tumbles]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://blog.uxebu.com/?p=35</guid>
		<description><![CDATA[Django 1.0 alpha released!
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.djangoproject.com/weblog/2008/jul/21/10-alpha/">Django 1.0 alpha released!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2008/07/22/django-10-alpha-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starting up</title>
		<link>http://uxebu.com/blog/2008/07/18/starting-up/</link>
		<comments>http://uxebu.com/blog/2008/07/18/starting-up/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 06:45:36 +0000</pubDate>
		<dc:creator>Wolfram Kriesing</dc:creator>
				<category><![CDATA[uxebu]]></category>
		<category><![CDATA[ajax experience]]></category>
		<category><![CDATA[conf]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[dojo]]></category>

		<guid isPermaLink="false">http://blog.uxebu.com/?p=31</guid>
		<description><![CDATA[Lot&#8217;s of stuff going on currently. It&#8217;s pretty exciting. We had our first official company meeting in Augsburg. We are close to releasing a neat piece of software that finally will make dojo easily usable for all the django perfectionists. And we are planning our trip to the AJAX Experience in Boston.

Last weekend we sat [...]]]></description>
			<content:encoded><![CDATA[<p>Lot&#8217;s of stuff going on currently. It&#8217;s pretty exciting. We had our first official company meeting in Augsburg. We are close to releasing a neat piece of software that finally will make dojo easily usable for all the django perfectionists. And we are planning our trip to the AJAX Experience in Boston.<br />
<span id="more-31"></span><br />
Last weekend we sat together and made all the basic plans that you just need to make when you are starting a company, doing some paper work, looking for the right bank, discussing rules for collaboration and so on. Since we are not physically in one place all the time it is very important to see each other from time to time. Currently we are planning on doing it once every month, so we can at least do all the paper work together and everybody knows what is going on and understands the processes behind it. We just want uxebu to become a success. It was a very constructive atmosphere and we all felt the enthusiasm and drive we have for moving things forward.</p>
<p>Of course we were also hacking some. We just can&#8217;t avoid it, we are all three involved in very much the same things, mainly dojo. Though everyone has his specialties. Some dojo addicts including Nikolai are currently finalizing the work on the layout and styling stuff, in order to make dojo 1.2 a great success and, as Alex Russell coined the main goal, to make it a better user experience. Tobi and I we were discussing a lot and coding less for getting out a first version of the dojo integration into django. Stay tuned on this blog, there will be a release very very soon (I am talking about days, less than a week for sure). After hacking all the code Tobi is mainly finishing up documentation and getting some first input from the outside in order to make even the first release a good release.</p>
<p>This year there are some conferences coming up that we want to attend. For the <a href="http://createordie.de/ajaxinaction/">Ajax in Action</a> we have applied for a couple of talks and hopefully will be able to give some, we are waiting on the feedback.<br />
But the biggest thing this year will definitely be the <a href="http://ajaxexperience.techtarget.com/html/index.html">Ajax Experience in Boston</a>, which is kicked off by the <a href="http://dojotoolkit.org/2008/07/10/dojo-developer-day-boston">Dojo Developer Day</a>. If you are coming along, be sure to join us the Saturday before the conference, we just thought it might be funny to grab some <a href="http://turtle.dojotoolkit.org/pipermail/dojo-contributors/2008-July/009386.html">german beer (and food) in Boston</a>, just need to reserve it once we know how many we will be. This will be exciting, we are looking forward to meeting a lot of the people we know from various online communications and we will surely get a loooot of very interesting input, and hopefully we can also give back a little bit.</p>
<p>And those are just some of the things that are currently going on &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2008/07/18/starting-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DjangoCon 2008</title>
		<link>http://uxebu.com/blog/2008/07/14/djangocon-2008/</link>
		<comments>http://uxebu.com/blog/2008/07/14/djangocon-2008/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 09:03:56 +0000</pubDate>
		<dc:creator>Wolfram Kriesing</dc:creator>
				<category><![CDATA[Tumbles]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[conf]]></category>

		<guid isPermaLink="false">http://blog.uxebu.com/?p=29</guid>
		<description><![CDATA[DjangoCon 2008
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.djangoproject.com/weblog/2008/jul/13/djangocon/">DjangoCon 2008</a></p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2008/07/14/djangocon-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
