<?xml version="1.0"?>
<rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:blog="http://bitflux.org/doctypes/blog" xmlns:php="http://php.net/xsl" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"><channel><title>Flux CMS DevBlog</title><link>http://devblog.flux-cms.org/</link><description>All news about Flux CMS developement</description><generator>Flux CMS - http://www.flux-cms.org</generator><copyright>Bitflux GmbH</copyright><creativeCommons:license>http://creativecommons.org/licenses/by/2.5/</creativeCommons:license><geo:lat>47.3798</geo:lat><geo:long>8.5275</geo:long><item><title>Improve the Frontend Experience</title><link>http://devblog.flux-cms.org/archive/2008/04/14/improve-the-frontend-experience.html</link><guid isPermaLink="false">http://devblog.flux-cms.org/archive/id/498/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">&lt;p&gt;I played a little bit with &lt;a href="http://developer.yahoo.com/yslow/"
    &gt;yslow&lt;/a&gt; and tried to improve the end user experience a little bit (not that it was bad before .) ). The simplest way is to add some apache directives, which fixes some issues with compression and caching. Here's an example (the html pages itself are usually compressed by flux cms, so we don't need to use mod_deflate on them)&lt;/p&gt;
&lt;pre&gt;
ExpiresActive On
ExpiresByType text/css "access plus 2 days"
ExpiresByType application/x-javascript "access plus 2 days"
ExpiresByType image/gif "access plus 2 days"
ExpiresByType image/jpeg "access plus 2 days"
ExpiresByType image/png "access plus 2 days" 

&amp;lt;Location /themes&amp;gt;
SetOutputFilter DEFLATE
FileETag none
&amp;lt;/Location&amp;gt;

&amp;lt;Location /webinc&amp;gt;
SetOutputFilter DEFLATE
FileETag none
&amp;lt;/Location&amp;gt;

&amp;lt;Location /files&amp;gt;
SetOutputFilter DEFLATE
FileETag none
&amp;lt;/Location&amp;gt;

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|pdf)$ no-gzip dont-vary
&lt;/pre&gt;
&lt;p&gt;That's the easy stuff, issues like versioning of scripts/css/images via URL (so you can set the Expire time as high as you want), putting the JS onto the end of the page and easy possibility to spread requests across multiple domains, need a little bit more work, but should find their way into Flux CMS soon.&lt;/p&gt;
&lt;p&gt;PS. It's not done on this blog here yet, but eg. on &lt;a href="http://blog.liip.ch/"
    &gt;http://blog.liip.ch/&lt;/a&gt;&lt;/p&gt;

</content:encoded><dc:subject>General</dc:subject><dc:subject>cach</dc:subject><dc:subject>performance</dc:subject><dc:subject>yslow</dc:subject><dc:creator>Christian Stocker</dc:creator><dc:date>2008-04-14T07:18:22Z</dc:date><geo:lat>47.379632918756</geo:lat><geo:long>8.5276628295756</geo:long></item><item><title>Flux CMS Confluence Auth Module</title><link>http://devblog.flux-cms.org/archive/2007/05/02/flux-cms-confluence-auth-module.html</link><guid isPermaLink="false">http://devblog.flux-cms.org/archive/id/492/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">&lt;p&gt;I just committed an authentication module, which authenticates against a &lt;a href="http://www.atlassian.com/software/confluence/"
    &gt;Confluence&lt;/a&gt; server via the SOAP interface instead of just the internal database. This allows us to enable access to a Flux CMS installation for everyone at &lt;a href="http://www.liip.ch/"
    &gt;Liip&lt;/a&gt; without having to actually create all those 20+ accounts (and everyone can use the same password on Jira, Confluence and those CMS installations)&lt;/p&gt;
&lt;p&gt;The module still uses the internal database, if the authentication via Confluence fails. Therefore you can have additional users in the local database, which do not have a confluence account. Additionally, the module creates a local CMS user account, if someone with a Confluence account first logs in and saves all the needed CMS information there, so that Confluence is really only used for authentication, later needed additional CMS information is still maintained and saved locally.&lt;/p&gt;
&lt;p&gt;To use this module, just check out the latest 1.5-dev or HEAD version of the CMS and change/add the following to your config.xml&lt;/p&gt;
&lt;pre&gt;
&amp;lt;permm type="permm"&amp;gt;
  &amp;lt;authModule&amp;gt;
    &amp;lt;type&amp;gt;confluence&amp;lt;/type&amp;gt;
      &amp;lt;wsdlurl&amp;gt;http://your.wiki.com/rpc/soap-axis/confluenceservice-v1?wsdl&amp;lt;/wsdlurl&amp;gt;
      &amp;lt;allowedGroup&amp;gt;internal-developers&amp;lt;/allowedGroup&amp;gt;
      &amp;lt;!-- all the other options from the standard authModule --&amp;gt;
&lt;/pre&gt;
&lt;p&gt;The allowedGroup option tells the plugin in which group a Confluence account has to be for getting access to the CMS&lt;/p&gt;
&lt;p&gt;This plugin can also serve as a template, if you want to authenticate against a similar service but still use the default one as a fallback&lt;/p&gt;
&lt;p&gt;Addition: The SOAP extension has to be enabled for this to work.&lt;/p&gt;
&lt;p&gt;Update: In at least Confluence 2.4, the allowedGroup check does not work for non-admin confluence users, therefore I added a new option to config.xml&lt;/p&gt;
&lt;pre&gt;
&amp;lt;allowedSpace&amp;gt;INTERN&amp;lt;/allowedSpace&amp;gt;
&lt;/pre&gt;
&lt;p&gt;This option checks, if the current user can see that particular space. As you can give rights on a per space base, this is basically the same as the allowedGroup option, just configured differently on the confluence side.&lt;/p&gt;

</content:encoded><dc:subject>General</dc:subject><dc:subject>auth</dc:subject><dc:subject>confluence</dc:subject><dc:creator>Christian Stocker</dc:creator><dc:date>2007-05-02T09:59:38Z</dc:date></item><item><title>Tagcloud Plugin</title><link>http://devblog.flux-cms.org/archive/2007/01/31/tagcloud-plugin.html</link><guid isPermaLink="false">http://devblog.flux-cms.org/archive/id/488/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">All you have todo is adding the following in the config.xml of your collection:&lt;br/&gt;
&lt;br/&gt;
&lt;pre&gt;&lt;br/&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br/&gt;&amp;lt;bxcms xmlns="http://bitflux.org/config"&amp;gt;&lt;br/&gt;&lt;br/&gt;    &amp;lt;plugins&amp;gt;&lt;br/&gt;        &amp;lt;parameter name="xslt" type="pipeline" value="tagcloud.xsl"/&amp;gt;&lt;br/&gt;        &amp;lt;plugin type="navitree"&amp;gt;&lt;br/&gt;        &amp;lt;/plugin&amp;gt;&lt;br/&gt;        &amp;lt;plugin type="tagcloud"&amp;gt;&lt;br/&gt;            &amp;lt;parameter name="locations" value="/blog/"/&amp;gt;&lt;br/&gt;            &amp;lt;parameter name="maxfontsize" value="56"/&amp;gt;&lt;br/&gt;            &amp;lt;parameter name="minfontsize" value="20"/&amp;gt;&lt;br/&gt;        &amp;lt;/plugin&amp;gt;&lt;br/&gt;    &amp;lt;/plugins&amp;gt;&lt;br/&gt;&amp;lt;/bxcms&amp;gt;&lt;br/&gt;&lt;/pre&gt;
&lt;br/&gt;
and a little xsl to display the data:&lt;br/&gt;
&lt;br/&gt;
&lt;pre&gt;&lt;br/&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br/&gt;&amp;lt;xsl:stylesheet version="1.0" xmlns:blog="http://bitflux.org/doctypes/blog" xmlns:bxf="http://bitflux.org/functions" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml" xmlns:php="http://php.net/xsl" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rss="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" exclude-result-prefixes="xhtml"&amp;gt;&lt;br/&gt;    &amp;lt;xsl:import href="master.xsl"/&amp;gt;&lt;br/&gt;    &amp;lt;xsl:import href="../standard/common.xsl"/&amp;gt;&lt;br/&gt;    &lt;br/&gt;    &amp;lt;xsl:output encoding="utf-8" method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD Xhtml 1.0 Transitional//EN"/&amp;gt;&lt;br/&gt;    &lt;br/&gt;    &amp;lt;xsl:template name="content"&amp;gt;&lt;br/&gt;        &amp;lt;p id="tagcloud"&amp;gt;&lt;br/&gt;        &amp;lt;xsl:for-each select="/bx/plugin[@name='tagcloud']/tagcloud/tag"&amp;gt;&lt;br/&gt;            &amp;lt;a href="{$webrootW}{path}archive/tag/{name}" style="font-size:{size}px;"&amp;gt;&lt;br/&gt;                &amp;lt;xsl:value-of select="name"/&amp;gt;&lt;br/&gt;            &amp;lt;/a&amp;gt;&amp;amp;#160;&lt;br/&gt;        &amp;lt;/xsl:for-each&amp;gt;&lt;br/&gt;        &amp;lt;/p&amp;gt;&lt;br/&gt;    &amp;lt;/xsl:template&amp;gt;&lt;br/&gt;    &lt;br/&gt;&amp;lt;/xsl:stylesheet&amp;gt; &lt;br/&gt;&lt;/pre&gt;
&lt;br/&gt;
have fun :)</content:encoded><dc:subject>General</dc:subject><dc:subject>plugin</dc:subject><dc:subject>blog</dc:subject><dc:creator>Benjamin Wohlwend</dc:creator><dc:date>2007-01-31T15:36:23Z</dc:date></item><item><title>Make private post got more useful</title><link>http://devblog.flux-cms.org/archive/2007/01/23/make-private-post-got-more-useful.html</link><guid isPermaLink="false">http://devblog.flux-cms.org/archive/id/483/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">&lt;p&gt;... actually, that feature existed since last June, but we never publicly announced it :)&lt;/p&gt;
&lt;p&gt;So, here it is:&lt;/p&gt;
&lt;p&gt;If you want to make certain blog posts only available to some people you can now do that without giving them access to the admin, even on freeflux.net. For that do the following:&lt;/p&gt;
&lt;p&gt;- Create a user in your admin (Top right under "Bookmarks" -&amp;gt; "Users") and give him/her the "Group ID" 2. Users with Group ID 2 can't login into the admin, but they can see your private posts.&lt;br/&gt;
- Make a blog post and set the Status to "Private" (can be found under "More options")&lt;br/&gt;
- To make the login easy for the users, drag'n'drop the login "portlet" into your sidebar (Can be found in the "Sidebar" Tab in the blog admin), if it's not already there.&lt;/p&gt;
&lt;p&gt;Now you see a "Login" link on your blog, if you click on it, a little login opens and your users can login there and then see the private posts, as well&lt;/p&gt;
&lt;p&gt;Hope that helps and if you have any questions, just ask them here&lt;/p&gt;

</content:encoded><dc:subject>Freeflux</dc:subject><dc:subject>General</dc:subject><dc:subject>blog</dc:subject><dc:creator>Christian Stocker</dc:creator><dc:date>2007-01-23T08:13:22Z</dc:date></item><item><title>New bugtracker</title><link>http://devblog.flux-cms.org/archive/2007/01/11/new-bugtracker.html</link><guid isPermaLink="false">http://devblog.flux-cms.org/archive/id/480/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">&lt;p&gt;We finally replaced our aging bugzilla installation with a shiny new &lt;a href="http://www.atlassian.com/software/jira/"
    &gt;jira&lt;/a&gt; installation for keeping track of our bugs.&lt;/p&gt;
&lt;p&gt;So, if you find any &lt;a href="http://bugs.bitflux.ch/browse/FLX"
    &gt;bugs in Flux CMS&lt;/a&gt;, go to &lt;a href="http://bugs.bitflux.ch/"
    &gt;bugs.bitflux.ch&lt;/a&gt; and file them there, we will then take care of it&lt;/p&gt;
&lt;p&gt;(You need an account to actually file bugs, but that's easily and quickly done &lt;a href="http://bugs.bitflux.ch/secure/Signup!default.jspa"
    &gt;here&lt;/a&gt;)&lt;/p&gt;

</content:encoded><dc:subject>General</dc:subject><dc:creator>Christian Stocker</dc:creator><dc:date>2007-01-11T07:23:06Z</dc:date></item><item><title>Firebug 1.0 Beta and the Flux CMS admin</title><link>http://devblog.flux-cms.org/archive/2006/12/05/firebug-1-0-beta-and-the-flux-cms-admin.html</link><guid isPermaLink="false">http://devblog.flux-cms.org/archive/id/476/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">&lt;p&gt;While the new &lt;a href="http://www.getfirebug.com/"
    &gt;firebug beta&lt;/a&gt; looks and actually is great and worth checking out, it somehow breaks the navitree in the Flux CMS. It just doesn't load anything under the home collection. I have to investigate further, but the only solution right now is to disable firebug (or not upgrading right now to the 1.0 beta)&lt;/p&gt;
&lt;p&gt;Update: I could fix it on our side. Somehow XMLHttpRequest.readyState stayed at 0, even though it usually directly goes to 1 after calling .send(). I put now a little check in there, so that it simply reloads the navi tree frame and all should be fine now (it works after a simple page refresh, mysteriously...).&lt;/p&gt;
&lt;p&gt;I committed it to trunk and the 1.5-dev, but &lt;a href="https://ssl.bitflux.ch/horde/chora/diff.php/fluxcms/trunk/admin/webinc/xlt/xloadtree.js?ws=0&amp;r1=6173&amp;r2=8279&amp;ty=u"
    &gt;the patch&lt;/a&gt; can be applied to older versions, as well.&lt;/p&gt;
&lt;p&gt;So, go and get the firebug 1.0 beta, it's really cool (besides that little annoyance :))&lt;/p&gt;

</content:encoded><dc:subject>General</dc:subject><dc:subject>firebug</dc:subject><dc:creator>Christian Stocker</dc:creator><dc:date>2006-12-05T07:26:18Z</dc:date></item><item><title>Some file downloads are disabled on freeflux.net</title><link>http://devblog.flux-cms.org/archive/2006/11/26/some-file-downloads-are-disabled-on-freeflux-net.html</link><guid isPermaLink="false">http://devblog.flux-cms.org/archive/id/473/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">&lt;p&gt;Due to some abuses on Freeflux.net, we disabled the possibility to download some file types like zip and exe (like it was with .html for quite some time due to spammers)&lt;/p&gt;
&lt;p&gt;Sorry for the inconveniences, but the whole thing got out of hand...&lt;/p&gt;
&lt;p&gt;And if you try to circumvent this, we reserve the right to disable your account without any further notice.&lt;/p&gt;

</content:encoded><dc:subject>Freeflux</dc:subject><dc:creator>Christian Stocker</dc:creator><dc:date>2006-11-26T13:34:15Z</dc:date><geo:lat>47.3761</geo:lat><geo:long>8.52</geo:long></item><item><title>ZoneAlarms adblocker breaks BXE</title><link>http://devblog.flux-cms.org/archive/2006/09/10/zonealarms-adblocker-breaks-bxe.html</link><guid isPermaLink="false">http://devblog.flux-cms.org/archive/id/469/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">&lt;p&gt;Just great. If you use ZoneAlarm and its Cookie and Ad-Blocker, it will insert &amp;lt;script&amp;gt; elements into the Xhtml file loaded by BXE... The main issue with this is, that the Xhtml document isn't well formed afterwards and Firefox can't parse it anymore. I added now fallback code, so that if BXE can't parse the file, it removes all script tags and tries to reparse the document. If that still doesn't work, you get an error, otherwise you should be able to edit your document as usual. The only drawback here is, that if you had script tags in your original Xhtml document, they also will be removed. But this only happens, if you use ZoneAlarm (or similar software) and usually, one doesn't have script element in a Xhtml document anyway :)&lt;/p&gt;
&lt;p&gt;If you encounter this problem, upgrade BXE and editing with BXE should be ok again.&lt;/p&gt;

</content:encoded><dc:subject>General</dc:subject><dc:subject>bxe</dc:subject><dc:creator>Christian Stocker</dc:creator><dc:date>2006-09-10T09:53:35Z</dc:date><geo:lat>47.3798</geo:lat><geo:long>8.5275</geo:long></item><item><title>Do not update to trunk right now...</title><link>http://devblog.flux-cms.org/archive/2006/09/04/do-not-update-to-trunk-right-now.html</link><guid isPermaLink="false">http://devblog.flux-cms.org/archive/id/466/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">&lt;p&gt;We're currently "playing" with the trunk (for introducing some kind of staging), therefore we highly recommend not switch to trunk right now. Especially not from an older version. But it should be ok, if you start from scratch.&lt;/p&gt;
&lt;p&gt;Update: Should be safe again, but do backup, if you upgrade from 1.5 branch or less :)&lt;/p&gt;

</content:encoded><dc:subject>General</dc:subject><dc:creator>Christian Stocker</dc:creator><dc:date>2006-09-04T11:41:22Z</dc:date><geo:lat>47.3798</geo:lat><geo:long>8.5275</geo:long></item><item><title>rel="bookmark" added to permalinks</title><link>http://devblog.flux-cms.org/archive/2006/08/24/rel-bookmark-added-to-permalinks.html</link><guid isPermaLink="false">http://devblog.flux-cms.org/archive/id/463/</guid><content:encoded xmlns="http://www.w3.org/1999/xhtml">&lt;p&gt;Via &lt;a href="http://svizzer.wordpress.com/2006/08/22/lost-in-technorati/"
    &gt;Svizzer Blog&lt;/a&gt;, I learned that &lt;a href="http://www.technorati.com/"
    &gt;Technorati&lt;/a&gt; recommends a rel="bookmark" attribute for the permalinks. So I added that to the blog plugin for hopefully better indexing (maybe not only by Technorati).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://technorati.com/help/publishers.html#postid"
    &gt;Complete explanation&lt;/a&gt;.&lt;/p&gt;

</content:encoded><dc:subject>General</dc:subject><dc:subject>blog</dc:subject><dc:creator>Christian Stocker</dc:creator><dc:date>2006-08-24T05:24:33Z</dc:date></item></channel></rss>
