<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3275265820889198469</id><updated>2012-02-16T13:30:16.655Z</updated><title type='text'>Qoobic Limited</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://qoobic.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://qoobic.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Qoobic Limited</name><uri>http://www.blogger.com/profile/14515907597785141524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/--kHiqCd-p90/TYM6PxIH0-I/AAAAAAAAAAs/MW2rVq0Z2hM/s220/qoobic-square.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3275265820889198469.post-4504470351264458573</id><published>2011-12-08T10:33:00.002Z</published><updated>2011-12-08T10:33:47.428Z</updated><title type='text'>Oracle Indexing</title><content type='html'>See below for a good article on the various types of indexes available in Oracle.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dba-oracle.com/art_9i_indexing.htm"&gt;Oracle Indexing&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3275265820889198469-4504470351264458573?l=qoobic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qoobic.blogspot.com/feeds/4504470351264458573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qoobic.blogspot.com/2011/12/oracle-indexing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/4504470351264458573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/4504470351264458573'/><link rel='alternate' type='text/html' href='http://qoobic.blogspot.com/2011/12/oracle-indexing.html' title='Oracle Indexing'/><author><name>Qoobic Limited</name><uri>http://www.blogger.com/profile/14515907597785141524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/--kHiqCd-p90/TYM6PxIH0-I/AAAAAAAAAAs/MW2rVq0Z2hM/s220/qoobic-square.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3275265820889198469.post-3039565260964076039</id><published>2011-03-31T11:30:00.000+01:00</published><updated>2011-03-31T11:30:30.258+01:00</updated><title type='text'>Extending Django CMS Page Model</title><content type='html'>A very useful article suggesting a method by which custom properties can be applied to a page:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ilian.i-n-i.org/extending-django-cms-page-model/"&gt;Extending Django CMS Page Model&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It just goes to show how easy it is to extend Django CMS :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Please note, as advised in the &lt;a href="http://ilian.i-n-i.org/extending-django-cms-page-model-part-ii/"&gt;follow-up&lt;/a&gt; article, the custom properties are not automatically available in the menu, since menu items are instances of &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;NavigationNode&lt;/span&gt; not &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Page&lt;/span&gt;. The follow-up article suggests a solution for this, but there is a &lt;a href="http://ilian.i-n-i.org/extending-django-cms-page-model-part-iii/"&gt;proviso&lt;/a&gt; - it is quite inefficient from an SQL perspective, although this could be mitigated somewhat through diligent caching.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3275265820889198469-3039565260964076039?l=qoobic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qoobic.blogspot.com/feeds/3039565260964076039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qoobic.blogspot.com/2011/03/extending-django-cms-page-model.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/3039565260964076039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/3039565260964076039'/><link rel='alternate' type='text/html' href='http://qoobic.blogspot.com/2011/03/extending-django-cms-page-model.html' title='Extending Django CMS Page Model'/><author><name>Qoobic Limited</name><uri>http://www.blogger.com/profile/14515907597785141524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/--kHiqCd-p90/TYM6PxIH0-I/AAAAAAAAAAs/MW2rVq0Z2hM/s220/qoobic-square.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3275265820889198469.post-2751383154393551614</id><published>2011-03-20T17:47:00.002Z</published><updated>2011-03-31T11:57:50.653+01:00</updated><title type='text'>Creating a custom 404 page in Django CMS</title><content type='html'>The default 404 (page not found) response outputs the 404.html file in your application templates directory. But what if you want something a bit more user-friendly? You can override the default 404 handler in urls.py:&lt;br /&gt;&lt;pre class="brush: python;"&gt;handler404 = 'application.views.handler404'&lt;/pre&gt;Now simply create a views.py module in your application and define a handler404 method:&lt;br /&gt;&lt;pre class="brush: python;"&gt;from cms.views import details&lt;br /&gt;&lt;br /&gt;def handler404(request):&lt;br /&gt;return details(request, 'page-not-found')&lt;/pre&gt;Finally, via the Django CMS interface create a page with the slug 'page-not-found'. The contents of this page now be displayed in place of the default. I use this page to display a message and the site map to the user.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Make sure you publish the page, otherwise you will get a server error instead!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I would recommend removing all but the necessary permissions on this CMS page, to stop pesky non-super-users from removing it...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3275265820889198469-2751383154393551614?l=qoobic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qoobic.blogspot.com/feeds/2751383154393551614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qoobic.blogspot.com/2011/03/creating-custom-404-page-in-django-cms.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/2751383154393551614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/2751383154393551614'/><link rel='alternate' type='text/html' href='http://qoobic.blogspot.com/2011/03/creating-custom-404-page-in-django-cms.html' title='Creating a custom 404 page in Django CMS'/><author><name>Qoobic Limited</name><uri>http://www.blogger.com/profile/14515907597785141524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/--kHiqCd-p90/TYM6PxIH0-I/AAAAAAAAAAs/MW2rVq0Z2hM/s220/qoobic-square.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3275265820889198469.post-8626704384884830831</id><published>2011-03-20T17:40:00.002Z</published><updated>2011-03-31T12:13:45.827+01:00</updated><title type='text'>Starting a new DJango CMS application, using South</title><content type='html'>This is actually very simple. Firstly, make sure that 'south' is listed in your INSTALLED_APPS. Next, simply give the following commands:&lt;br /&gt;&lt;pre class="brush: shell;"&gt;python manage.py syncdb --all&lt;/pre&gt;This will create all the tables required by the installed applications, as per the old method.&lt;br /&gt;&lt;pre class="brush: shell;"&gt;python manage.py migrate --fake&lt;/pre&gt;This will populate the south_migrationhistory table with migration info for all applications where South is setup. Finally, you can confirm the status of your application:&lt;br /&gt;&lt;pre class="brush: shell;"&gt;python manage.py syncdb&lt;br /&gt;Syncing...&lt;br /&gt;No fixtures found.&lt;br /&gt;&lt;br /&gt;Synced:&lt;br /&gt;+ django.contrib.admin&lt;br /&gt;+ django.contrib.contenttypes&lt;br /&gt;+ django.contrib.sessions&lt;br /&gt;+ django.contrib.sitemaps&lt;br /&gt;+ django.contrib.sites&lt;br /&gt;+ mptt&lt;br /&gt;+ publisher&lt;br /&gt;+ sorl.thumbnail&lt;br /&gt;+ sekizai&lt;br /&gt;&lt;br /&gt;Not synced (use migrations):&lt;br /&gt;- django.contrib.auth&lt;br /&gt;- cms&lt;br /&gt;- cms.plugins.text&lt;br /&gt;- cms.plugins.picture&lt;br /&gt;- cms.plugins.link&lt;br /&gt;- cms.plugins.file&lt;br /&gt;- cms.plugins.snippet&lt;br /&gt;- menus&lt;br /&gt;- south&lt;br /&gt;(use ./manage.py migrate to migrate these)&lt;/pre&gt;You can also check what South migrations have been installed via the following:&lt;br /&gt;&lt;pre class="brush: shell;"&gt;python manage.py migrate --list&lt;/pre&gt;Thanks to &lt;a href="https://groups.google.com/forum/#%21topic/django-cms/y4rGYvGDn9w"&gt;Martin&lt;/a&gt; for his assistance with this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3275265820889198469-8626704384884830831?l=qoobic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qoobic.blogspot.com/feeds/8626704384884830831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qoobic.blogspot.com/2011/03/starting-new-django-cms-application.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/8626704384884830831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/8626704384884830831'/><link rel='alternate' type='text/html' href='http://qoobic.blogspot.com/2011/03/starting-new-django-cms-application.html' title='Starting a new DJango CMS application, using South'/><author><name>Qoobic Limited</name><uri>http://www.blogger.com/profile/14515907597785141524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/--kHiqCd-p90/TYM6PxIH0-I/AAAAAAAAAAs/MW2rVq0Z2hM/s220/qoobic-square.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3275265820889198469.post-5804169210841272320</id><published>2011-03-18T12:26:00.000Z</published><updated>2011-03-18T12:26:28.516Z</updated><title type='text'>Django CMS - Disabling MultilingualURLMiddleware</title><content type='html'>I have a Django CMS site, which is currently configured to display in multiple languages - I am in the process of converting this to a single-language site.&lt;br /&gt;&lt;br /&gt;As  such I need to disable the Django &lt;span style="background-color: #cfe2f3; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;MultilingualURLMiddleware&lt;/span&gt;, but I want the  old &lt;span style="background-color: #cfe2f3; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;/en/&lt;/span&gt; URLs to resolve and redirect to the new URLs, so that any  cached/bookmarked links with behave sensibly and I don't lose the Google  Page Rank for the existing pages.&lt;br /&gt;&lt;br /&gt;How do we do this? Easy, via an Apache RewriteRule:&lt;br /&gt;&lt;span style="background-color: #cfe2f3; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;&lt;br /&gt;RewriteRule ^/en/(.*) /$1 [R=301,L]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="https://groups.google.com/forum/#%21topic/django-cms/ya0-FEd2X_k"&gt;Benjamin Wohlwend&lt;/a&gt; for his solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3275265820889198469-5804169210841272320?l=qoobic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qoobic.blogspot.com/feeds/5804169210841272320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qoobic.blogspot.com/2011/03/django-cms-disabling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/5804169210841272320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/5804169210841272320'/><link rel='alternate' type='text/html' href='http://qoobic.blogspot.com/2011/03/django-cms-disabling.html' title='Django CMS - Disabling MultilingualURLMiddleware'/><author><name>Qoobic Limited</name><uri>http://www.blogger.com/profile/14515907597785141524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/--kHiqCd-p90/TYM6PxIH0-I/AAAAAAAAAAs/MW2rVq0Z2hM/s220/qoobic-square.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3275265820889198469.post-860846354504123388</id><published>2011-03-18T11:59:00.001Z</published><updated>2011-03-31T11:58:48.133+01:00</updated><title type='text'>Informix LIMIT Clause</title><content type='html'>Informix has a proprietary specification of LIMIT clauses, via the FIRST and SKIP keywords:&lt;br /&gt;&lt;pre class="brush: sql;"&gt;SELECT FIRST 5 SKIP 20 * FROM mytable WHERE a = 1 ORDER BY b;&lt;/pre&gt;In comparison MySQL uses the following syntax:&lt;br /&gt;&lt;pre class="brush: sql;"&gt;SELECT * FROM mytable WHERE a = 1 ORDER BY b LIMIT 5 OFFSET 20;&lt;/pre&gt;I don't know that one is better than the other, but this is for reference.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3275265820889198469-860846354504123388?l=qoobic.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://qoobic.blogspot.com/feeds/860846354504123388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://qoobic.blogspot.com/2011/03/informix-limit-clause.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/860846354504123388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3275265820889198469/posts/default/860846354504123388'/><link rel='alternate' type='text/html' href='http://qoobic.blogspot.com/2011/03/informix-limit-clause.html' title='Informix LIMIT Clause'/><author><name>Qoobic Limited</name><uri>http://www.blogger.com/profile/14515907597785141524</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/--kHiqCd-p90/TYM6PxIH0-I/AAAAAAAAAAs/MW2rVq0Z2hM/s220/qoobic-square.png'/></author><thr:total>0</thr:total></entry></feed>
