<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.webappkit.net/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>webAppKit blog</title>
  <link>http://blog.webappkit.net/</link>
  <description>news about webAppKit, the generic PHP kernel for web apps</description>
  <language>en</language>
  <pubDate>Tue, 15 Jul 2008 11:46:58 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Release 0.12 : interfaces, config editing</title>
    <link>http://blog.webappkit.net/post/2008/03/12/Release-012-%3A-interfaces-config-editing</link>
    <guid isPermaLink="false">urn:md5:d4494de29718d58f264bf730b130b0f3</guid>
    <pubDate>Wed, 12 Mar 2008 20:19:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>release</category>
            
    <description>    &lt;p&gt;As you may have noticed, i dropped the big roadmap on the wiki. Instead, i
try to relase a new version each time a feature is added / a big change occur.
So what does bring &lt;a href=&quot;http://webappkit.googlecode.com/files/webappkit-0.12.zip&quot; hreflang=&quot;en&quot;&gt;the
0.12 release&lt;/a&gt; ?&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Changes to the core&lt;/dt&gt;
&lt;dd&gt;In order to ensure code quality, i started to define interfaces. iWakKit,
iWakTool and iWakStorage are available.&lt;/dd&gt;
&lt;dd&gt;Splitted Webappkit class into Webappkit (API, static methods only) and
WakKit, kit instances.&lt;/dd&gt;
&lt;dd&gt;some reorganisation into core library files&lt;/dd&gt;
&lt;dd&gt;changes to WakStorage implementation, and new unit tests.&lt;/dd&gt;
&lt;dt&gt;librairies&lt;/dt&gt;
&lt;dd&gt;worked on webappkit.db (link, querytpl, mapper) which are database-related
tools&lt;/dd&gt;
&lt;dd&gt;started work on webappkit.fs (filesystem libraries) : filesystem
libraries&lt;/dd&gt;
&lt;dt&gt;admin interface&lt;/dt&gt;
&lt;dd&gt;You can now edit tools and kits configuration from the web admin
interface.&lt;/dd&gt;
&lt;/dl&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Release 0.11</title>
    <link>http://blog.webappkit.net/post/2008/02/22/Release-011</link>
    <guid isPermaLink="false">urn:md5:a1450149db958a15acaf8ff6827c3030</guid>
    <pubDate>Fri, 22 Feb 2008 14:38:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>release</category>
            
    <description>&lt;p&gt;&lt;a href=&quot;http://webappkit.googlecode.com/files/webappkit-0.11.zip&quot;&gt;Get it
there&lt;/a&gt;. Changelog and screenshots below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(PHP5) Lazy loading for library classes and Tools instances. Loaded weight
counter (available as DjTpl tag)&lt;/li&gt;
&lt;li&gt;Updated tutorials, including a unit tests page.&lt;/li&gt;
&lt;li&gt;Admin interface improvements, including bread crumb while browsing kits,
and icons.&lt;/li&gt;
&lt;li&gt;Dysfunctional kits diagnostics on their page.&lt;/li&gt;
&lt;/ul&gt;    &lt;dl&gt;
&lt;dt&gt;Kits list&lt;/dt&gt;
&lt;dd&gt;&lt;img src=&quot;http://blog.webappkit.net/public/screens/0.11/0.11.admin.kits.png&quot; alt=&quot;0.11.admin.kits.png&quot; /&gt;&lt;/dd&gt;
&lt;dt&gt;Kit details and tests summary&lt;/dt&gt;
&lt;dd&gt;&lt;img src=&quot;http://blog.webappkit.net/public/screens/0.11/0.11.admin.kit.png&quot; alt=&quot;0.11.admin.kit.png&quot; /&gt;&lt;/dd&gt;
&lt;dt&gt;Kit unit tests detailed report&lt;/dt&gt;
&lt;dd&gt;&lt;img src=&quot;http://blog.webappkit.net/public/screens/0.11/0.11.admin.kit.tests.png&quot; alt=&quot;0.11.admin.kit.tests.png&quot; /&gt;*&lt;/dd&gt;
&lt;dt&gt;Exception catched&lt;/dt&gt;
&lt;dd&gt;&lt;img src=&quot;http://blog.webappkit.net/public/screens/0.11/0.11.admin.exception-catched.png&quot; alt=&quot;0.11.admin.exception-catched.png&quot; /&gt;&lt;/dd&gt;
&lt;/dl&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Release 0.10.1</title>
    <link>http://blog.webappkit.net/post/2008/02/08/Release-0101</link>
    <guid isPermaLink="false">urn:md5:c7864134d52e9881e2e9e47d621ba7b6</guid>
    <pubDate>Fri, 08 Feb 2008 13:31:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>release</category>
            
    <description>&lt;p&gt;You can &lt;a href=&quot;http://webappkit.googlecode.com/files/webappkit-0.10.1.zip&quot;&gt;download it there&lt;/a&gt;. Here is the changelist :&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;Exceptions&lt;/dt&gt;
&lt;dd&gt;The PHP5 version now brings its own set of exceptions, so it's easier to know what's wrong with a kit.&lt;/dd&gt;
&lt;dt&gt;Admin web interface&lt;/dt&gt;
&lt;dd&gt;HTTP authentication : you will have to create a config file in order to allow access to the web admin, but a sample is provided when it doesn't exist.&lt;/dd&gt;
&lt;dd&gt;Kit diagnostics on non-functional kits page.&lt;/dd&gt;
&lt;dd&gt;Better &lt;a href=&quot;http://simpletest.org&quot;&gt;SimpleTest&lt;/a&gt; integration. A dedicated &lt;em&gt;Tool&lt;/em&gt; can be added to your &lt;em&gt;Kits&lt;/em&gt;. When done, tests run smoothly from the web admin.&lt;/dd&gt;
&lt;dd&gt;Aesthetic improvements. Have a look at the screen shots below.&lt;/dd&gt;
&lt;/dl&gt;    &lt;dl&gt;
&lt;dt&gt;Kits List&lt;/dt&gt;
&lt;dd&gt;&lt;img src=&quot;http://blog.webappkit.net/public/screens/0.10.1.admin.kits.jpg&quot; alt=&quot;Webappkit 0.10.1 Admin kits list&quot; /&gt;&lt;/dd&gt;
&lt;dt&gt;Single Kit admin page&lt;/dt&gt;
&lt;dd&gt;&lt;img src=&quot;http://blog.webappkit.net/public/screens/0.10.1.admin.kit.jpg&quot; alt=&quot;0.10.1 Admin Kit page&quot; /&gt;&lt;/dd&gt;
&lt;dt&gt;Kit unit tests running&lt;/dt&gt;
&lt;dd&gt;&lt;img src=&quot;http://blog.webappkit.net/public/screens/0.10.1.admin.kit.tests.jpg&quot; alt=&quot;0.10.1 Admin Unit testing&quot; /&gt;&lt;/dd&gt;
&lt;dt&gt;Tutorials&lt;/dt&gt;
&lt;dd&gt;&lt;img src=&quot;http://blog.webappkit.net/public/screens/0.10.1.admin.howto.jpg&quot; alt=&quot;0.10.1 Admin tutorials&quot; /&gt;&lt;/dd&gt;
&lt;/dl&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>0.10 Released</title>
    <link>http://blog.webappkit.net/post/2008/01/29/010-Released</link>
    <guid isPermaLink="false">urn:md5:dac5b7e3ffc1f708417692aaec792fe8</guid>
    <pubDate>Tue, 29 Jan 2008 18:14:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>release</category>
        <category>download</category><category>website</category>    
    <description>    &lt;p&gt;This is a solid intermediate release. &lt;a href=&quot;http://webappkit.googlecode.com/files/webappkit-0.10-alpha.zip&quot; hreflang=&quot;en&quot;&gt;Here is the file&lt;/a&gt;. It features :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A bilingual (english/french) admin interface including some tutorials,
which will be featured on the home site too. The admin only lists available
kits yet, but is protected by HTTP authentication.&lt;/li&gt;
&lt;li&gt;Dot syntax has been implemented and is the new standard for kits id,
although that slash is still supported.&lt;/li&gt;
&lt;li&gt;The embedded framework is maturing. It's used for the admin interface and
public web site.&lt;/li&gt;
&lt;li&gt;PHP5 is now the reference development. Most changes are backported to PHP4
however.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The new web site is bilingual too and features the admin tutorials. Its
update will be available within the next hours, as it's moving to a new
host.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 2008-01-30 :&lt;/strong&gt; Ouch, the new host offer si still
beta... and does not provide url rewriting yet. Therefore, only the home page
is available for the new web site. I hope it will be fixed soon, if not i will
temporary get back to the old host.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>0.9.1 released</title>
    <link>http://blog.webappkit.net/post/2007/12/21/091-released</link>
    <guid isPermaLink="false">urn:md5:c0fbb581c2ad69bef452159ae817cf6e</guid>
    <pubDate>Fri, 21 Dec 2007 12:48:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>release</category>
        <category>download</category>    
    <description>    &lt;p&gt;Pretty everything is in the title. &lt;a href=&quot;http://webappkit.googlecode.com/files/webappkit-0.9.1-alpha.zip&quot; hreflang=&quot;en&quot;&gt;Here is the file&lt;/a&gt;. There is no big change in this release, most changes
concern included libraries. To summary, i added unit tests, fixed some bugs,
improved template engine, worked on a micro-framework for the admin interface.
Here is the changelog :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;added kit simpletest, with a temporary MySQL database tool&lt;/li&gt;
&lt;li&gt;unit tests for kit webappkit&lt;/li&gt;
&lt;li&gt;unit tests for kit datapath&lt;/li&gt;
&lt;li&gt;unit tests for kits databeans/databean, databeans/datetime&lt;/li&gt;
&lt;li&gt;PHP5 version for Databean&lt;/li&gt;
&lt;li&gt;units tests for pathnode/common&lt;/li&gt;
&lt;li&gt;pathnodes/common: filenode-&amp;gt;move(), filenode-&amp;gt;slugifyPath(),
filenode-&amp;gt;chmod()&lt;/li&gt;
&lt;li&gt;renamed kit django/templates to dj/tpl&lt;/li&gt;
&lt;li&gt;dj/tpl: added tag ifincollection&lt;/li&gt;
&lt;li&gt;dj/tpl: added tags extends, block : template inheritance (uses storage
mechanism)&lt;/li&gt;
&lt;li&gt;webappkit: modifed WakTool constructor, replaced $name arg by optional $cfg
arg, which is now loaded by owner kit.&lt;/li&gt;
&lt;li&gt;some work on webappit/engine&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For next release, i may change the syntax to access subkits from
&lt;code&gt;kit/subkit&lt;/code&gt; to &lt;code&gt;kit.subkit&lt;/code&gt;. Not sure yet. What do you
think ?&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>0.9 released</title>
    <link>http://blog.webappkit.net/post/2007/10/31/09-released</link>
    <guid isPermaLink="false">urn:md5:d974c28d87f15caddc333f6b3b188c44</guid>
    <pubDate>Wed, 31 Oct 2007 10:34:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>release</category>
        <category>download</category>    
    <description>    &lt;p&gt;Everything is in the title. The &lt;a href=&quot;http://webappkit.net/&quot; hreflang=&quot;en&quot;&gt;home page tutorials&lt;/a&gt; have been updated. The root index.php will launch
the helloworld kit, which is self-explanatory, and for the first time provides
both english and french pages. Bonjour le monde !&lt;/p&gt;
&lt;p&gt;From the roadmap :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kits format stabilized.&lt;/li&gt;
&lt;li&gt;allowing webappkit class inheritance for kits.&lt;/li&gt;
&lt;li&gt;generic Tools (kits components) accessing as kits members using a factory
pattern.&lt;/li&gt;
&lt;li&gt;migrating existing library kits to new format.&lt;/li&gt;
&lt;li&gt;Services and Storages redefined as Tools. (Services disappear, Tools are
the new Services).&lt;/li&gt;
&lt;li&gt;PHP versions compatibility range for kits.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://webappkit.googlecode.com/files/webappkit.0-9-alpha.zip&quot; hreflang=&quot;en&quot;&gt;Get it there&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Zero Dot Nine</title>
    <link>http://blog.webappkit.net/post/2007/10/30/Zero-Dot-Nine</link>
    <guid isPermaLink="false">urn:md5:381eb3312b6b3af8fd3d93d62d96ab97</guid>
    <pubDate>Tue, 30 Oct 2007 14:10:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>news</category>
        <category>roadmap</category>    
    <description>&lt;p&gt;If you take a look at the &lt;a href=&quot;http://code.google.com/p/webappkit/wiki/Roadmap&quot; hreflang=&quot;en&quot;&gt;roadmap&lt;/a&gt;,
you'll see some changes. A &lt;a href=&quot;http://webappkit.googlecode.com/svn/branches/0_9/&quot; hreflang=&quot;en&quot;&gt;development
branch&lt;/a&gt; has been started, numbered 0.9 (odd minor versions numbers will now
be for development versions - even for stable ones). The 0.8 still live in the
trunk for now. Milestones are set up to 0.14.&lt;/p&gt;    &lt;p&gt;So what's new ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Services have disapperead and are replaced by &lt;a href=&quot;http://code.google.com/p/webappkit/wiki/Tools&quot; hreflang=&quot;en&quot;&gt;Tools&lt;/a&gt;, which
are accessed as Kits members.&lt;/li&gt;
&lt;li&gt;Storages are now Tools themselves, provided by webappkit/storages.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/webappkit/wiki/Kits&quot; hreflang=&quot;en&quot;&gt;Kits&lt;/a&gt; API have changed a bit. Most methods are static ones. Kits
metadata and libraries are now loaded before Kit instance building, to allow
some kits to override the generic webappkit class.&lt;/li&gt;
&lt;li&gt;PHP version range compatibility can be defined in Kits metadata.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The help file in the repository have been updated with new tutorials. I hope
to release 0.10 rather quickly, has goals previously set for 0.9 have been
sparsed over three milestones.&lt;/p&gt;
&lt;p&gt;Here is the content of the updated help file :&lt;/p&gt;
&lt;h2 id=&quot;using-a-kit&quot;&gt;Using a Kit&lt;/h2&gt;
&lt;p&gt;Unzip webappkit at the root of your web application. It's probably done as
the file you're reading is part of it. It creates a webappkit/ folder. Before
retrieving any Kit, put this line into your code :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;/**
* getting webappkit core (only once call is necessary)
*/
include('webappkit/include-me.php');&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;When you need a Kit's resources, let's say &lt;em&gt;ooxmlrpc&lt;/em&gt;, &lt;strong&gt;load
it&lt;/strong&gt; with :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;/**
* loads a kit resources
*/
webappkit::getKit('ooxmlrpc');&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;If you need only a subkit, let's say &lt;em&gt;http&lt;/em&gt; within
&lt;em&gt;databeans&lt;/em&gt;, get it with :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;/**
* loads a subkit's resources
*/
webappkit::getKit('databeans/http');&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;In this exemple, &lt;em&gt;databeans/http&lt;/em&gt; requires
&lt;em&gt;databeans/databean&lt;/em&gt;, but you don't have to take care about that.&lt;/p&gt;
&lt;p&gt;webappkit::getkit($id) returns the kit instance. Always use this method to
retrieve a kit, as Kits should be singletons.&lt;/p&gt;
&lt;h2 id=&quot;tools&quot;&gt;Tools&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Tools&lt;/em&gt; are named object instances taking their configuration data
from the kit they belong to.&lt;/p&gt;
&lt;p&gt;They are retrieved as kit members like this :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;/**
 * retrieving the kit instance.
 */
$kit=&amp;amp;webappkit::getKit('helloworld');
/**
 * calling the method &amp;quot;bar&amp;quot; of the kit's tool named &amp;quot;foo&amp;quot;
 */
$kit-&amp;gt;foo-&amp;gt;bar();&lt;/code&gt;
&lt;/pre&gt;
&lt;h2 id=&quot;storages&quot;&gt;Storages&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Storages&lt;/em&gt; are specific Tools. They build and retrieve object
instances stored within kits files.&lt;/p&gt;
&lt;p&gt;You use them just as any other Tool, as a kit's member. For example, let's
get a template from our sample kit :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;/**
 * retrieving the kit instance.
 */
$kit=&amp;amp;webappkit::getKit('helloworld');
/**
 * getting the template from the storage, which is named &amp;quot;templates&amp;quot;
 */
$tpl=$kit-&amp;gt;templates-&amp;gt;getItem('help');
/**
* using the 
*/
echo $tpl-&amp;gt;render();&lt;/code&gt;
&lt;/pre&gt;

&lt;h2 id=&quot;building-a-kit&quot;&gt;Building a Kit&lt;/h2&gt;
&lt;p&gt;Let's build a Kit named &lt;em&gt;mykit&lt;/em&gt;, which will contain a couple of class
definition files.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create a folder named &lt;strong&gt;mykit.wak&lt;/strong&gt; within your
&lt;em&gt;webappkit/&lt;/em&gt; folder.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Put your code files inside, let's say &lt;strong&gt;myclass.class.php&lt;/strong&gt; and
&lt;strong&gt;mychildclass.class.php&lt;/strong&gt; which is extending it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create an INI file at its root named &lt;strong&gt;wak.ini&lt;/strong&gt; and edit it
:&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;[kit]
; kit-wide meta informations
version = &amp;quot;0.1&amp;quot;
; kit version. Will be used later.
desc = &amp;quot;This is my first kit. It will rocks !&amp;quot;
; a short description. Single line to be INI compliant !
phpversion = &amp;quot;4.3-5.*&amp;quot;
; define which PHP versions range compatibility (optional)
; you can use a single version string with jokers, as 4.*

[load_kits]
; kits to load before self resources, order will be preserved.
; n = &amp;quot;absolute kit id&amp;quot;
0 = &amp;quot;datapath&amp;quot;

[load_files]
; self resources to load, order will be preserved.
; n = &amp;quot;relative/path/to/file&amp;quot;
0 = &amp;quot;myclass.class.php&amp;quot;
1 = &amp;quot;mychildclass.class.php&amp;quot;
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;This file describe Kit's resources and dependancies. Kits and files will be
loaded in the order you defined.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here we're done with the main kit.&lt;/p&gt;
&lt;p&gt;Please note that Kits are singletons and won't be instanciated twice.
Hopefully.&lt;/p&gt;
&lt;h3&gt;PHP version auto-switch&lt;/h3&gt;
&lt;p&gt;You can have a library file for each PHP versions, and tell the kit to load
the appropriate one upon the current PHP version running.&lt;/p&gt;
&lt;p&gt;To do this, we will name our files with the specific extensions : .php4 and
.php5 , and then edit the kit's INI as this :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;[load_files]
; self resources to load, order will be preserved.
; n = &amp;quot;relative/path/to/file&amp;quot;
0 = &amp;quot;myclass.class.php*&amp;quot;
1 = &amp;quot;mychildclass.class.php*&amp;quot;
&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Using * at the end of the file name will trigger the load of .php4 or .php5,
upon the current running PHP version.&lt;/p&gt;
&lt;h2 id=&quot;building-a-subkit&quot;&gt;Building a subkit&lt;/h2&gt;
&lt;p&gt;Kits can contain subkits, which can be either optional or loaded by their
parent kit.&lt;/p&gt;
&lt;p&gt;It will also require another kit, &lt;em&gt;webappkit/datapath&lt;/em&gt;, and provide
an extension as an optional subkit named &lt;em&gt;mysubkit&lt;/em&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Into &lt;em&gt;mykit.wak/&lt;/em&gt;, create a folder named
&lt;strong&gt;mysubkit.wak&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Put its own code files into it, for example
&lt;strong&gt;anotherclass.php4&lt;/strong&gt; and &lt;strong&gt;anotherclass.php5&lt;/strong&gt;,
which are PHP4 and PHP5 versions of the same class as seen before.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create its &lt;strong&gt;wak.ini&lt;/strong&gt; file at its root :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;[load_kits]
; kits to load before self resources, order will be preserved.
; n = &amp;quot;absolute kit id&amp;quot;
0 = &amp;quot;mykit&amp;quot;
1 = &amp;quot;pathnodes&amp;quot;

[load_files]
; self resources to load, order will be preserved.
; n = &amp;quot;relative/path/to/file&amp;quot;
0 = &amp;quot;anotherclass.php*&amp;quot;&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;As you see, this subkit requires its parent kit and another kit,
&lt;em&gt;pathnodes&lt;/em&gt;. It also requires &lt;em&gt;datapath&lt;/em&gt;, but this dependancy is
already defined by parent kit.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A subkit may contain itself a subkit and so on.&lt;/p&gt;
&lt;h3&gt;Subkits auto-loading&lt;/h3&gt;
&lt;p&gt;If we want the parent kit &lt;em&gt;mykit&lt;/em&gt; to load its subkit when loaded
itself, we can add this into &lt;em&gt;mykit&lt;/em&gt;'s wak.ini file :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;[load_subkits]
; subkits to load after self resources, order will be preserved
; n = &amp;quot;relative subkit id&amp;quot;
0 = &amp;quot;mysubkit&amp;quot;&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;The subkit will be loaded &lt;strong&gt;after&lt;/strong&gt; paren'ts kit dependancies
and own files.&lt;/p&gt;
&lt;h2 id=&quot;adding-tools&quot;&gt;Adding Tools&lt;/h2&gt;
&lt;p&gt;Tools have to be declared within kit's &lt;em&gt;wak.ini&lt;/em&gt; file :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;[load_files]
0 = &amp;quot;worker.class.php&amp;quot;

[tools]
; name = &amp;quot;class&amp;quot;
bob = &amp;quot;worker&amp;quot;&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Here we have declared a tool wich will be named &lt;em&gt;bob&lt;/em&gt; within the kit
and will be an instance of the class &lt;em&gt;worker&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Tools classes have to extends &lt;em&gt;wakTool&lt;/em&gt; class. Their definition file
can be included within the providing kit or one of its dependencies. Here it's
an included one. Let's look at its class definition :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;class worker extends wakTool {
        /**
        * a Factory function : every Tool has to declare it
        * @static
        * @param string $kit kit's id
        * @param string $name tool's name within kit
        * @return object worker's instance
        */
        function &amp;amp; factory($kit,$name) {
                return new worker($kit,$name);
        }
        
        /**
        * here is an useful function
        * @return string hairs color
        */
        function getHairs() {
                return $this-&amp;gt;cfg['hairs'];
        }
        
        /**
        * @var array the default configuration values
        */
        var $cfg=array('hairs'=&amp;gt;'red');
}&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Now, we can get tool &lt;em&gt;bob&lt;/em&gt; from our kit and it will have its default
config :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;$kit=&amp;amp;webappkit::getkit('mykit');
/**
* this will print 'red'
*/
echo $kit-&amp;gt;bob-&amp;gt;getHairs();&lt;/code&gt;
&lt;/pre&gt;
&lt;h3&gt;Borrowing tools&lt;/h3&gt;
&lt;p&gt;But our &lt;em&gt;worker&lt;/em&gt; class can now be used in another kit, by declaring
it in the kit's &lt;em&gt;wak.ini&lt;/em&gt; file :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;[kit]
desc = &amp;quot;this is another kit, providing a worker tool borrowed from mykit&amp;quot;

[load_kits]
0 = &amp;quot;mykit&amp;quot;
; we need its &amp;quot;worker&amp;quot; class for alice service

[tools]
alice = &amp;quot;worker&amp;quot;&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;And let's override its config. Create a file named
&lt;strong&gt;alice.tool.ini&lt;/strong&gt; at the &lt;em&gt;anotherkit&lt;/em&gt;'s root :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;; this is the alice tool config file for anotherkit
hairs = &amp;quot;blue&amp;quot;&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;Let's look at our second tool instance :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;$kit2=webappkit::getkit('anotherkit');
/**
 * this will print &amp;quot;blue&amp;quot;
 */
echo $kit2-&amp;gt;alice-&amp;gt;getHairs();&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;And you can also have several instances of the same tool within the same
kit, each with its own config.&lt;/p&gt;
&lt;h2 id=&quot;adding-storages&quot;&gt;Adding storages&lt;/h2&gt;
&lt;p&gt;Storages are just specific tools. Just like them, their definition file can
be included within their providing kit, or they can just provide a config file
for a tool class taken from an external kit dependancy.&lt;/p&gt;
&lt;p&gt;They have to extend &lt;strong&gt;wakStorage&lt;/strong&gt; class, which is provided by
&lt;strong&gt;webappkit/storages&lt;/strong&gt; kit.&lt;/p&gt;
&lt;p&gt;Their function is to retrieve object instances stored in files within the
kit.&lt;/p&gt;
&lt;p&gt;Here we will get templates from our kit, using a storage class provided by
&lt;em&gt;djtpl&lt;/em&gt; template engine kit.&lt;/p&gt;
&lt;p&gt;Here's our kit's &lt;em&gt;wak.ini&lt;/em&gt; :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;[load_kits]
; getting dependancies, including the storage class
0 = &amp;quot;djtpl&amp;quot;
; please note that djtpl kit itself require webappkit/storages

[tools]
; declaring storage, name = &amp;quot;class&amp;quot;
templates = &amp;quot;djtplstorage&amp;quot;&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;And now we override some storage config in &lt;em&gt;templates.tool.ini&lt;/em&gt; :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;; this is the templates storage config
search = &amp;quot;views/{{lang}}/{{id}}.{{type}}&amp;quot;
; here is the filename template for files search
[critera]
; the defaults values for search criteria
lang = &amp;quot;en&amp;quot;
type = &amp;quot;html&amp;quot;&lt;/code&gt;
&lt;/pre&gt;
This settings indicate that template files will be stored within a
&lt;em&gt;views/&lt;/em&gt; folder within our kit, having languages subfolders, and that
files are named by id.type. The default language is set to &lt;em&gt;en&lt;/em&gt;, and
default type to &lt;em&gt;html&lt;/em&gt;.
&lt;p&gt;Now, let's get a template from our kit. First, we will change the language
default value to &lt;em&gt;fr&lt;/em&gt;. Then, we want the template having the
&lt;em&gt;home&lt;/em&gt; id.&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;/**
 * changing a criteria's default value
 */
$kit-&amp;gt;templates-&amp;gt;setCriteria('lang','fr');
/**
 * getting a template
 * string criteria will be taken as 'id'
 * or you can provide an associative array for more criteria
 * missing criteria will be taken from current defaults
 * this will build a template instance from views/fr/home.html
 */
$tpl=$kit-&amp;gt;templates-&amp;gt;getItem('home');
/**
* rendering the template
*/
echo $tpl-&amp;gt;render();&lt;/code&gt;
&lt;/pre&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Changes for kits interface - requests for comments</title>
    <link>http://blog.webappkit.net/post/2007/06/29/Changes-for-kits-interface-requests-for-comments</link>
    <guid isPermaLink="false">urn:md5:d5343520bd8f4f3a3275925bde359323</guid>
    <pubDate>Fri, 29 Jun 2007 17:20:00 +0200</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>discuss</category>
        <category>roadmap</category>    
    <description>&lt;p&gt;I'm about to change the current kit interface (the webappkit class). The
goal is to make it more agile and extensible. Please let me know how bad are
this ideas.&lt;/p&gt;    &lt;p&gt;First, i plan to allow inheritance / overriding of this class. Each kit may
define its own kti class, and/or inherit from a specific kit class. To allow
this, it will be required to read the metadata file &lt;em&gt;before&lt;/em&gt; creating
the kit instance (to resolve classe heritage). But heritage may go further than
just class heritage, it may also concern kits components such as services and
storages.&lt;/p&gt;
&lt;p&gt;Second, i thought again about generic components, like services and
storages. Rather than having specific kit methods to retrieve them, they would
be public members of their kit instances. For example :&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;$foo=&amp;amp;$kit-&amp;gt;getService('foo');
$foo-&amp;gt;bar();&lt;/code&gt;
would become
&lt;code&gt;$kit-&amp;gt;services-&amp;gt;foo-&amp;gt;bar();&lt;/code&gt;
&lt;/pre&gt;
&lt;p&gt;where $kit-&amp;gt;services would be an instance of a ServiceFactory class. Each
component type would have its factory / iterable class. Components would be
loaded on kit-&amp;gt;load(), not when creating kit instance.&lt;/p&gt;
&lt;p&gt;In the same way, subkits instances would be available within their parent
kit with &lt;code&gt;$kit-&amp;gt;subkits-&amp;gt;subkit_name;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;On a side note, webappkit/appengine framework kit have been renamed to
webappkit/evtengine. This is more meaningful, and it may not be the favorite
framework for web admin. Rather, i plan to develop a framework based on the new
webappkit paradigm rather than implement the old paradigm again. More about
this later : one commit at a time ;)&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>0.8.1 (alpha 2) released !</title>
    <link>http://blog.webappkit.net/post/2007/06/01/081-alpha-2-released</link>
    <guid isPermaLink="false">urn:md5:b2153863e6d5a00eaf25eebdd91b21b4</guid>
    <pubDate>Fri, 01 Jun 2007 17:44:00 +0200</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>release</category>
        <category>doc</category><category>download</category><category>website</category>    
    <description>    &lt;p&gt;You can &lt;a href=&quot;http://webappkit.googlecode.com/files/webappkit.0-8-1-alpha.zip&quot; hreflang=&quot;en&quot;&gt;download webappkit 0.8.1&lt;/a&gt;. Home page and code documentation have been
updated.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Services and Storages are now available, see the &lt;a href=&quot;http://webappkit.net&quot; hreflang=&quot;en&quot;&gt;homepage tutorials&lt;/a&gt; for more
information.&lt;/li&gt;
&lt;li&gt;webappkit/djtpl now includes a storage for templates.&lt;/li&gt;
&lt;li&gt;webappkit/appengine is growing, although not used yet for webappkit
admin.&lt;/li&gt;
&lt;li&gt;admin page now dynamically lists available kits, and still include home
page tutorials.&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>doc updated, 0.8.1 onwork</title>
    <link>http://blog.webappkit.net/post/2007/05/29/doc-updated-081-onwork</link>
    <guid isPermaLink="false">urn:md5:3e806a1b2d488eb3c55b10a2bbe796ac</guid>
    <pubDate>Tue, 29 May 2007 19:10:00 +0200</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>news</category>
        <category>code</category><category>doc</category>    
    <description>    &lt;p&gt;Almost everything is in the title.&lt;/p&gt;
&lt;p&gt;Code documentation has been updated and is still available at &lt;a href=&quot;http://code.webappkit.net&quot;&gt;code.webappkit.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Version 0.8.1 is onwork. Here's the news :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kits resources loading is now separated from kit instance retrieval.
Methods $webappkit-&amp;gt;load() and webappkit::loadkit($id) have been added,
which are &lt;strong&gt;not&lt;/strong&gt; called by webappkit constructor.&lt;/li&gt;
&lt;li&gt;webappkit::timecounter() and $webappkit-&amp;gt;loadedWeight() have been added
to help optimization.&lt;/li&gt;
&lt;li&gt;Admin index (when calling url /webappkit from your app root) is not static
anymore. It still includes micro tutorials, but provided kits list is now
dynamically built from actual kits.&lt;/li&gt;
&lt;li&gt;A new pathnodes subpackage is being worked on : webappkit/pathnodes/od
which stands for Open Document.&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>0.8.0 Alpha released !</title>
    <link>http://blog.webappkit.net/post/2007/05/16/080-Alpha-released</link>
    <guid isPermaLink="false">urn:md5:7d60f134980e76b52b376fddc90d57cc</guid>
    <pubDate>Wed, 16 May 2007 19:27:00 +0200</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>release</category>
        <category>download</category><category>website</category>    
    <description>    &lt;p&gt;As quoted in the previous post : &lt;cite&gt;release early, release often&lt;/cite&gt;.
You can now &lt;a href=&quot;http://code.google.com/p/webappkit/downloads/detail?name=webappkit.0-8-0-alpha.zip&amp;amp;can=2&amp;amp;q=&quot; hreflang=&quot;en&quot;&gt;download the first alpha release&lt;/a&gt;, saving you the pain of
setting a subversion working copy.&lt;/p&gt;
&lt;p&gt;Along with this release, the &lt;a href=&quot;http://webappkit.net&quot;&gt;project home&lt;/a&gt;
has been updated with three micro-tutorials, which you'll find too on the
help.html file included with the release. :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://webappkit.net/#using-a-kit&quot;&gt;Using a kit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://webappkit.net/#building-a-kit&quot;&gt;Building a kit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://webappkit.net/#building-a-subkit&quot;&gt;Building a
subkit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Have fun !&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Code documentation - alpha coming</title>
    <link>http://blog.webappkit.net/post/2007/05/15/Code-documentation-alpha-coming</link>
    <guid isPermaLink="false">urn:md5:dd91991728e03453a801a1e302657ac2</guid>
    <pubDate>Tue, 15 May 2007 18:39:00 +0200</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>news</category>
        <category>doc</category>    
    <description>    &lt;p&gt;Some code documentation has been generated and is online at &lt;a href=&quot;http://code.webappkit.net&quot;&gt;code.webappkit.net&lt;/a&gt;. It covers the core kit and
subkits code. It may be useful to people using provided generic libraries, such
as databeans (data structures), pathnodes (filesystem) and Django templating
engine php implementation.&lt;/p&gt;
&lt;p&gt;I plan to release 0.8.0 as an alpha version sometime soon. The foundation is
there, and work have been started on appEngine, the basic framework to be used
by the web admin.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;Release soon, release often&lt;/cite&gt;. Any help is welcomed.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>more big changes</title>
    <link>http://blog.webappkit.net/post/2007/04/13/more-big-changes</link>
    <guid isPermaLink="false">urn:md5:db7e970b6fd5e53ec4a096907ba7f52d</guid>
    <pubDate>Fri, 13 Apr 2007 23:09:00 +0200</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>news</category>
        <category>code</category>    
    <description>    &lt;p&gt;(i'm evil)&lt;/p&gt;
&lt;p&gt;As i was not happy with previous packages/resources system, i've trashed and
recoded it - again. It was starting to be bloated and complex, and not that
agile. So, to summary :&lt;/p&gt;
&lt;p&gt;Packages are renamed to &lt;q&gt;kits&lt;/q&gt;. A single class,
&lt;strong&gt;webappkit&lt;/strong&gt;, is used both as kit instances and global API
(through its static methods). Kits can contain kits themselves, and kit names
are made upon the physical tree (&lt;q&gt;databeans/datetime&lt;/q&gt; for example).&lt;/p&gt;
&lt;p&gt;A INI metadatafile, named wak.ini is required at the root of the kit. With
this we take care of dependancies, both internal and external. For more
flexibility, a wak.init.php may be included, if present, when the kit instance
is built. A wak.run.php may also be present, and will be executed upon call of
its run() method.&lt;/p&gt;
&lt;p&gt;Services and non-code objects storage have to be implemented at this point.
But various library packages have been converted to the new standard :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;databeans&lt;/li&gt;
&lt;li&gt;pathnodes&lt;/li&gt;
&lt;li&gt;djangotpl&lt;/li&gt;
&lt;li&gt;Spyc&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Generic resources</title>
    <link>http://blog.webappkit.net/post/2007/04/11/Generic-resources</link>
    <guid isPermaLink="false">urn:md5:2f28353c87d83178a2b5373a0658683e</guid>
    <pubDate>Wed, 11 Apr 2007 20:38:00 +0200</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>news</category>
        <category>code</category>    
    <description>    &lt;p&gt;The &lt;a href=&quot;http://blog.webappkit.net/post/2007/03/28/0701-released&quot; hreflang=&quot;en&quot;&gt;previously
announced&lt;/a&gt; move has been started. Packages resources will be made generic,
so their access and management will not be devoted to packages directly but to
type-specific implementations of a generic resource class. Here's a changelist
:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A new interface : &lt;a href=&quot;http://code.google.com/p/webappkit/wiki/WakresourceClass&quot; hreflang=&quot;en&quot;&gt;wakResource&lt;/a&gt;, and a first, incomplete, implementation : &lt;a href=&quot;http://code.google.com/p/webappkit/w/edit/Wakresource_classClass&quot; hreflang=&quot;en&quot;&gt;wakResource_class&lt;/a&gt;. wakResource_service, wakResource_template to
follow.&lt;/li&gt;
&lt;li&gt;Changes have been made to &lt;a href=&quot;http://code.google.com/p/webappkit/wiki/WakpkgClass&quot; hreflang=&quot;en&quot;&gt;wakPkg&lt;/a&gt;
methods&lt;/li&gt;
&lt;li&gt;The package metadata file format has also changed.&lt;/li&gt;
&lt;li&gt;As a side note, the trunk compability will now include both PHP4 and PHP5,
with an automatic switch between resource instances. Current move has still to
be ported to php5, though.&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>0.7.0.1 released</title>
    <link>http://blog.webappkit.net/post/2007/03/28/0701-released</link>
    <guid isPermaLink="false">urn:md5:9117b22dc60fda1772a8ec7c5256b53f</guid>
    <pubDate>Wed, 28 Mar 2007 13:53:00 +0200</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>release</category>
        <category>download</category><category>wiki</category>    
    <description>    &lt;p&gt;Another minor release : &lt;a href=&quot;http://code.google.com/p/webappkit/downloads/detail?name=webappkit_0-7-0-1_php4.zip&amp;amp;can=2&amp;amp;q=&quot; hreflang=&quot;en&quot;&gt;0.7.0.1 is available&lt;/a&gt;. It includes some bugs corrections for
the &lt;a href=&quot;http://code.google.com/p/webappkit/wiki/ZeroDotSeven&quot; hreflang=&quot;en&quot;&gt;0.7 milestone&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Some (minor) work has been done on the wiki, too.&lt;/p&gt;
&lt;p&gt;About &lt;a href=&quot;http://code.google.com/p/webappkit/wiki/ZeroDotEight&quot; hreflang=&quot;en&quot;&gt;0.8 milestone&lt;/a&gt;, i'm thinking about having a generic interface
for resources within &lt;a href=&quot;http://code.google.com/p/webappkit/wiki/Packages&quot; hreflang=&quot;en&quot;&gt;packages&lt;/a&gt; rather than adding specific types later on.
Resources are actually library classes and &lt;a href=&quot;http://code.google.com/p/webappkit/wiki/Services&quot; hreflang=&quot;en&quot;&gt;services&lt;/a&gt;
(which are class singletons). Other types may be templates, static files such
as images, css and javascript resources, documentation etc.&lt;/p&gt;
&lt;p&gt;On the same topic, resources versions/flavours may be added, i.e. multiple
files for a same resource. As an example, a package may provide libraries for
both php4 and php5, and the appropriate version will be retrieved.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>First download available, legacy</title>
    <link>http://blog.webappkit.net/post/2007/01/12/First-download-available-legacy</link>
    <guid isPermaLink="false">urn:md5:ef7f3d37c42ee3a026c56b80b3ca3345</guid>
    <pubDate>Sat, 13 Jan 2007 12:02:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>release</category>
        <category>download</category>    
    <description>    &lt;p&gt;A first archive has been &lt;a href=&quot;http://code.google.com/p/webappkit/downloads/detail?name=webappkit_0.7.0.zip&amp;amp;can=2&amp;amp;q=&quot; hreflang=&quot;en&quot;&gt;published for download&lt;/a&gt; on googlecode. It's a legacy archive
and contains version 0.7.0, which is the last version using the microkernel
paradigm.&lt;/p&gt;
&lt;p&gt;It's currently being used by &lt;a href=&quot;http://quizzgeek.net&quot;&gt;quizzgeek.net&lt;/a&gt; and is somewhat usable for production,
although it doesn't include any administration interface. Configuration is
entirely done by config files ( INI and YAML ), and there is no documentation
available. Furthermore, it's considered as deprecated as the trunk is currently
the 0.8 milestone and is seeing a &lt;a href=&quot;http://blog.webappkit.net/post/2006/12/06/Massive-refactoring&quot; hreflang=&quot;en&quot;&gt;major refactoring&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sexy download, isn't it ?&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Discussion group created</title>
    <link>http://blog.webappkit.net/post/2007/01/11/Discussion-group-created</link>
    <guid isPermaLink="false">urn:md5:e098eb963571fc7af2354c007ac561f1</guid>
    <pubDate>Thu, 11 Jan 2007 20:22:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>news</category>
        <category>discussion</category>    
    <description>    &lt;p&gt;A google group has been created to discuss webappkit. You'll found it at
&lt;a href=&quot;http://groups.google.com/group/webappkit&quot; hreflang=&quot;en&quot;&gt;groups.google.com/group/webappkit&lt;/a&gt;. Feel free to discuss the project,
which is eagerly awaiting for contributors ! ;)&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Some activity</title>
    <link>http://blog.webappkit.net/post/2007/01/11/Some-activity</link>
    <guid isPermaLink="false">urn:md5:b9d8b768f6b4aac60f126441ee08bf3e</guid>
    <pubDate>Thu, 11 Jan 2007 13:19:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>news</category>
        <category>code</category><category>website</category>    
    <description>    &lt;p&gt;In no particular order :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://webappkit.net&quot;&gt;Home page&lt;/a&gt; has been updated, with links
to googlecode pages.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://webappkit.googlecode.com/svn/branches/0_5_php4/&quot;&gt;Branch
0.5&lt;/a&gt; has been added to subversion, for history purposes, and because some
web apps are still using it.&lt;/li&gt;
&lt;li&gt;Some minor work has been done to the source and wiki documentation.&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>svn moving to googlecode</title>
    <link>http://blog.webappkit.net/post/2006/12/21/svn-moving-to-googlecode</link>
    <guid isPermaLink="false">urn:md5:c2c5460c5034ed0d20694a4aa61e70a4</guid>
    <pubDate>Thu, 21 Dec 2006 14:31:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>news</category>
        <category>code</category><category>wiki</category>    
    <description>&lt;p&gt;As a good google slave, i've decided to move webappkit from sourceforge to
googlecode, which has been recently improved. =&amp;gt; &lt;a href=&quot;http://code.google.com/p/webappkit/&quot; hreflang=&quot;en&quot;&gt;webappkit on
googlecode&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Google added a wiki and downloads to their open-source projects hosting
offer. Coupled with their faster subversion server, issue tracking and neat web
interface, it's now a good choice for project hosting.&lt;/p&gt;
&lt;p&gt;I took the chance to change folders struture a bit. Legacy branches are now
under branches/ as 0_7_php4 (the old php4, microkernel architecture) and
0_8_php4/ (the new packages architecture, but php4 version). Under trunk/ is
the onwork php5, packages architecture, which may be released as 0.8 later.&lt;/p&gt;
&lt;p&gt;Additionaly, some pages are available on the google-hosted webappkit wiki.
The old, self-hosted one will be trashed soon.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>first rebuilt version available</title>
    <link>http://blog.webappkit.net/post/2006/12/14/first-rebuilt-version-available</link>
    <guid isPermaLink="false">urn:md5:75821a95a465f1b0b6ca2ae62b7fedc3</guid>
    <pubDate>Thu, 14 Dec 2006 20:28:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>news</category>
        <category>code</category>    
    <description>&lt;p&gt;I've just added php5 to repository (revision 150). As announced, there are
some huge changes in process. Basically, WAK is moving from a generic
micro-kernel for web apps, to a packages architecture for web apps.&lt;/p&gt;    &lt;p&gt;Packages are the new central interface. A package is a folder containing an
index/metadata file (wakpkg.yml) describing provided resources. Thoses
resources will be accessed through a wakpkg instance. Resources can be :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;class definition files&lt;/li&gt;
&lt;li&gt;services (named singleton within the package namespace, extending from
wakservice class)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Class dependancies will be handled provided they are described within the
metadata file.&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>