<?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>Jansch.nl &#187; atk</title>
	<atom:link href="http://www.jansch.nl/tag/atk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jansch.nl</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Sun, 31 Jul 2011 14:58:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>New home for ATK</title>
		<link>http://www.jansch.nl/2008/06/19/new-home-for-atk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-home-for-atk</link>
		<comments>http://www.jansch.nl/2008/06/19/new-home-for-atk/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 06:57:30 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[almer kaasschieter]]></category>
		<category><![CDATA[atk]]></category>
		<category><![CDATA[boy baukema]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[peter verhage]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/2008/06/19/new-home-for-atk/</guid>
		<description><![CDATA[Now that my book is finally out I had some time to get a new website out the door. The ATK Framework, which has been living on Achievo's website for a few years, finally has a home of its own, with a brand new design: http://www.atk-framework.com. The design was created by our house designer Almer [...]]]></description>
			<content:encoded><![CDATA[<p>Now that my book is <a href="http://www.jansch.nl/2008/06/18/phparchitects-guide-to-enterprise-php-development-is-out/">finally out</a> I had some time to get a new website out the door.</p>
<p>The ATK Framework, which has been living on <a href="http://www.achievo.org">Achievo's website</a> for a few years, finally has a home of its own, with a brand new design: <a href="http://www.atk-framework.com">http://www.atk-framework.com</a>. The design was created by our house designer <a href="http://almerkaasschieter.nl/">Almer Kaasschieter</a>.</p>
<p>There are also some project changes as I haven't had much time for the framework the past year. <a href="http://www.ibuildings.com/blog/authors/Peter-C-Verhage">Peter C. Verhage</a> is taking over release management (he's the one who implemented most of the fancy Ajax stuff, the generate-an-app-from-the-db-schema functionality and much more, so it's in good hands), and <a href="http://blog.relaxnow.nl/">Boy Baukema</a> has formed an ATK Documentation Group that is going to deal with the lack of proper documentation.  </p>
<p>Also, there are Zend Framework and Code Igniter bridges on their way, and I've heard a rumour someone is working on a Symfony bridge. This way, you can combine the power of those frameworks with the backend strength of ATK.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2008/06/19/new-home-for-atk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing the i7 Framework</title>
		<link>http://www.jansch.nl/2007/09/28/introducing-the-i7-framework/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=introducing-the-i7-framework</link>
		<comments>http://www.jansch.nl/2007/09/28/introducing-the-i7-framework/#comments</comments>
		<pubDate>Fri, 28 Sep 2007 16:48:26 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[atk]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[db2]]></category>
		<category><![CDATA[expo]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[i7]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[System-i]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/?p=671</guid>
		<description><![CDATA["Oh no, yet another framework for PHP..." Admit it: that was what you thought when you read the title, didn't you? But rest assured, we haven't created a new framework. But we did launch something. For 7 years now, we've been working on ATK, and it has found its niche as a framework for developing [...]]]></description>
			<content:encoded><![CDATA[<p>"Oh no, yet another framework for PHP..."</p>
<p>Admit it: that was what you thought when you read the title, didn't you?</p>
<p>But rest assured, we haven't created a new framework.</p>
<p>But we did launch something.</p>
<p>For 7 years now, we've been working on <a href="http://www.achievo.org/atk">ATK</a>, and it has found its niche as a framework for developing business applications. Where some frameworks focus on providing components, and other frameworks focus on websites, ATK has more and more focussed on business apps: these internal applications that companies use to run their business. (And also often as an easy-to-build administrative backend to some webapplications). </p>
<p>ATK typically lives on an internal Linux or Windows server in an office or corporate environment.</p>
<p>This year, a specific set of circumstances led to a whole new market for the framework. </p>
<p>The most important in this respect was the release of <a href="http://www.zend.com/products/zend_core/zend_core_for_i5_os">Zend Core</a> for IBM's System-i. "System i" may be relatively unknown in the PHP community, but it's the new name (they change it every few years) of what was once called the AS400, and if that doesn't ring a bell, it's the big machines that run all these enterprise 'green screen' environments of large retailers, factories etc.</p>
<p>Zend Core basically brings native PHP to the System i world. This means that PHP is now a valid alternative to Java, when modernizing all these enterprise applications, and creating a web frontend for them.</p>
<p>The fun thing is: about 90% of the apps running on System i are business applications. Data management, data flows, workflows, business processes. Things that ATK is good at.</p>
<p>So this provides a great opportunity for the framework.</p>
<p>The operating system running on System-i is called 'i5/OS', so the calculation we did was:</p>
<p>i5 + PHP + ATK = i7</p>
<p>Corny, granted; but giving it a new name (which seems to be relevant in the IBM world) gives us the possibility to make this a separate product range. i7 basically is ATK for i5, with native i5 drivers, and an extensive support package. For some reasons, in the big blue IBM world, 'free software' is considered evil, so we had to add a support package in order to be taken seriously. <img src='http://www.jansch.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>The past 2 days, we have presented "the i7 Framework for System-i" at the <a href="http://www.systemiportal.nl/expo/">System-i Expo</a> in the Netherlands. We did 2 sessions of 50 minutes demonstrating the framework to IT managers, most of which hadn't even heard of PHP yet. And the results are promising. Not only for our little framework, but also for PHP in general.</p>
<p>Info on the i7 framework can be found at <a href="http://www.i7.nl">i7.nl</a>. Currently in Dutch (because of time pressure before the Expo), but an international version will follow soon. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2007/09/28/introducing-the-i7-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ATK 6.1 released</title>
		<link>http://www.jansch.nl/2007/08/30/atk-61-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=atk-61-released</link>
		<comments>http://www.jansch.nl/2007/08/30/atk-61-released/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 12:36:12 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[atk]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/?p=651</guid>
		<description><![CDATA[I just released ATK 6.1; It contains several new features such as Ajax based dialogs, a new language file (Indonesian), and several bug fixes. The most important however is that it fixes an XSS vulnerability based on the usage of $_SERVER["PHP_SELF"] that we had overlooked. It is recommended to upgrade ATK applications to ATK 6.1. [...]]]></description>
			<content:encoded><![CDATA[<p>I just released ATK 6.1; It contains several new features such as Ajax based dialogs, a new language file (Indonesian), and several bug fixes. </p>
<p>The most important however is that it fixes an XSS vulnerability based on the usage of $_SERVER["PHP_SELF"] that we had overlooked. </p>
<p>It is recommended to upgrade ATK applications to ATK 6.1.</p>
<p>The release can be found on <a href="http://www.achievo.org/atk/download">http://www.achievo.org/atk/download</a></p>
<p>The changelog is included in the release, and at <a href="http://www.achievo.org/atk/download">http://www.achievo.org/atkdemo/atk/doc/CHANGES</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2007/08/30/atk-61-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My First Mashup</title>
		<link>http://www.jansch.nl/2007/07/27/my-first-mashup/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=my-first-mashup</link>
		<comments>http://www.jansch.nl/2007/07/27/my-first-mashup/#comments</comments>
		<pubDate>Fri, 27 Jul 2007 11:33:44 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[atk]]></category>
		<category><![CDATA[cal]]></category>
		<category><![CDATA[dpc]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[frekfly]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[webservices]]></category>
		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/?p=641</guid>
		<description><![CDATA[I have been inspired by Cal Evans' mashup experiment, which he did a presentation on at the Dutch PHP Conference last month. Also, I was annoyed with having to consult many different resources when I plan a business trip. So I began building frekfly, my own little mashup. Version 1 The first version, which took [...]]]></description>
			<content:encoded><![CDATA[<p>I have been inspired by <a href="http://www.calevans.com">Cal Evans'</a> <a href="http://www.myfirstmashup.com/">mashup experiment</a>, which he did a presentation on at the <a href="http://www.phpconference.nl">Dutch PHP Conference</a> last month. </p>
<p>Also, I was annoyed with having to consult many different resources when I plan a business trip. </p>
<p>So I began building <a href="http://www.frekfly.com">frekfly</a>, my own little mashup.</p>
<p><b>Version 1</b></p>
<p>The first version, which took me only a few hours to built, offered only a google map, basic weather information, flickr images and currency conversion. To built this, I used the following tools:</p>
<ul>
<li>PHP5's Webservices API, which made it possible to consume webservices with only very few lines of code.
<li>The <a href="http://www.flickr.com">Flickr</a> API to retrieve images
<li><a href="http://maps.google.com">Google Maps</a> for the map display
<li>Some <a href="http://www.webservicex.com">webservicex</a> services, for weather, geographical and currency information.
<li><a href="http://framework.zend.com">Zend Framework</a>, mainly for its Zend_Service_Flickr class, which makes consuming the flickr rest service easy.
<li><a href="http://www.achievo.org/atk">ATK</a>, for its debugging console and file-caching.
</ul>
<p>It's really easy to construct an application like this in PHP, given that a few lines of code give you access to any available webservice. The first version of the app did not even use a database, everything was retrieved from webservices and cached in files.</p>
<p><b>Version 2</b></p>
<p>Then, I wanted more. When I travel for work, I usually need hotels that are located close to the airport, so I looked for a webservice that could provide me with hotel information. I requested access to the API at <a href="http://www.expedia.com">expedia</a>, but they have a manual approval process and I'm still waiting for a response. Luckily the people at <a href="http://www.booking.com">booking.com</a> were a lot more helpful and they provided me with an iframe based interface to their hotel reservation engine, and they even styled their pages according to the design (well ok, that's not really a design yet, is it <img src='http://www.jansch.nl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ) of frekfly. </p>
<p>The only thing missing from their API was the ability to search by latitude and longitude, which was my close-to-the-airport criterium. However, they kindly send me a dump of their hotel database including the coordinates. </p>
<p>So in version 2 I had to add a database, and I used the database abstraction layer of ATK to easily access it.</p>
<p>Version 2 is what is <a href="http://www.frekfly.com">currently online</a>. I may post some code examples of the webservice interfaces later on, because I found this to be a very instructive experience.</p>
<p><b>Future plans</b></p>
<p>In the next version, I want to add other nifty web-two-point-oh features to the site, including the ability to have visitors enter comments and details, so they can help complete the airport information. (such as 'are there better restaurants before or after security?'). Here I plan to use the JSON functionality of Zend Framework, to make this very 2.0-ish.</p>
<p><b>Issues to deal with</b></p>
<p>One of the major disadvantages of mashups is the fact that you're dependent on external systems. At night, the site is hardly usable because webservicex is very busy at that time and gives a lot of timeouts. Of course, this is countered by caching, but I can't cache every output for every airport on the planet, so caching is based on a 'retrieve the first time its needed' approach. So that's a disadvantage at this point.</p>
<p>Another interesting issue you have to deal with when writing mashups is standardization in naming, or rather, the lack thereof. For example, I consult 2 different webservices and a few file based airport resources to get airport information, but each of them use different names for the same airport. Where possible, I use the official 3-letter IATA code, but some of them do not support that. </p>
<p>So instead of actually matching data from different sources, you have to use a more probabilistic approach, where you say "hmm, 'Schiphol Airport Amsterdam' and 'Amsterdam, Schiphol' are probably the same airport. </p>
<p>I had a similar issue with the weather service; it doesn't support latitude and longitude, so what it does is 'guess' what the nearest weatherstation is, based on the airportname, the nearest town name, the biggest city close to the airport and finally the country capital if all else fails.</p>
<p>These are all issues to deal with in a mashup-based application, and I would encourage everyone to built a mashup at some point, because it teaches you things that you don't usually encounter with standard mysql+php based websites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2007/07/27/my-first-mashup/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ATK6 released</title>
		<link>http://www.jansch.nl/2007/06/12/atk6-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=atk6-released</link>
		<comments>http://www.jansch.nl/2007/06/12/atk6-released/#comments</comments>
		<pubDate>Tue, 12 Jun 2007 08:45:49 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[atk]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/?p=621</guid>
		<description><![CDATA[Today it's exactly one year since ATK 5.6 was released. So the new release was long overdue. It's finally here, along with a new website which has a lot less fuzz, and is more to the point. The changelog is a whopping 1056 lines. This translates to rougly 300 changes for this release. We might [...]]]></description>
			<content:encoded><![CDATA[<p>Today it's exactly one year since ATK 5.6 was released. So the new release was long overdue.</p>
<p>It's finally here, along with a new website which has a lot less fuzz, and is more to the point.</p>
<p>The changelog is a whopping 1056 lines. This translates to rougly 300 changes for this release. We might say this is a new generation, which is marked with a new major version number, and a new default layout. And it finally has ajax support (the way you are used to in ATK: add a flag to add autocompletion to a field, add one line of code to make things refresh on the fly). Most of you have been using the nightlies for months now, so this may not be new for you, but many companies are still using 5.6 for their apps. </p>
<p>The new release can be <a href="http://www.achievo.org/atk">downloaded here</a>.</p>
<p>Given the amount of changes, upgrading might not be trivial. Consult the <a href="http://www.achievo.org/forum">forum</a> if you need help.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2007/06/12/atk6-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>phpthrowdown has started</title>
		<link>http://www.jansch.nl/2007/01/27/phpthrowdown-has-started/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=phpthrowdown-has-started</link>
		<comments>http://www.jansch.nl/2007/01/27/phpthrowdown-has-started/#comments</comments>
		<pubDate>Sat, 27 Jan 2007 11:11:11 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[almer]]></category>
		<category><![CDATA[atk]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[guido]]></category>
		<category><![CDATA[jasper]]></category>
		<category><![CDATA[naramore]]></category>
		<category><![CDATA[openmotive]]></category>
		<category><![CDATA[phpthrowdown]]></category>
		<category><![CDATA[yury]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/?p=541</guid>
		<description><![CDATA[The phpthrowdown competition has officially started. Our timeslot actually began 4 hours ago, but we started roughly 2 hours ago (just couldn't get myself to get up at 6 am on a saturday ). So far, we've been defining the application we're going to build, been designing a data model, importing our framework into the [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://phpthrowdown.com">phpthrowdown</a> competition has officially started. Our timeslot actually began 4 hours ago, but we started roughly 2 hours ago (just couldn't get myself to get up at 6 am on a saturday <img src='http://www.jansch.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p>So far, we've been defining the application we're going to build, been designing a data model, importing <a href="http://www.achievo.org/atk">our framework</a> into the repository, and we're currently starting the actual coding.</p>
<p>We have a team of five:</p>
<ul>
<li>Almer Kaasschieter, our graphical guru who will design the gui</p>
<li>Jasper van der Hulst, our productmanager, who will be coaching us, write docs and oversee the functionality
<li>Guido van Biemen, programmer
<li>Yury Golovnya, programmer
<li>me (Ivo Jansch), also as a programmer
</ul>
<p>We've decided to create a small application for the automotive industry (to keep track of car models etc.)</p>
<p>I'll try to post updates to our progress as comments to this blog entry.</p>
<p>I would like to thank Elizabeth, who did a great job organizing this, and Bill, who runs the SVN server and has been very helpful so far in getting us started with the repository.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2007/01/27/phpthrowdown-has-started/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>ATK gets test database support</title>
		<link>http://www.jansch.nl/2006/11/16/atk-gets-test-database-support/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=atk-gets-test-database-support</link>
		<comments>http://www.jansch.nl/2006/11/16/atk-gets-test-database-support/#comments</comments>
		<pubDate>Thu, 16 Nov 2006 09:16:42 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[atk]]></category>
		<category><![CDATA[peter]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/?p=501</guid>
		<description><![CDATA[One of the things that in a complex system can complicate testing, is the fact that you may rely on the database a lot. You can always mock the database, but this slows down writing the tests. Ruby on Rails has a feature called 'fixtures', which makes setting up test databases pretty easy. Inspired by [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things that in a complex system can complicate testing, is the fact that you may rely on the database a lot. You can always mock the database, but this slows down writing the tests.</p>
<p>Ruby on Rails has a feature called 'fixtures', which makes setting up test databases pretty easy. </p>
<p>Inspired by this, a few of my fellow ATK developers have written a system to make using test databases very easy. Not only with fixtures, but also with automatic cloning of an actual database to be able to use actual data in tests (where this is relevant).</p>
<p><a href="http://www.ibuildings.nl/blog/authors/Peter-C-Verhage">Peter</a> has <a href="http://www.ibuildings.nl/blog/archives/25-ATK-gets-true-test-database-support.html">written a blogpost</a> about this on our company website. If you're using ATK and want to increase your unit/webtesting productivity, check out his entry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2006/11/16/atk-gets-test-database-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ATK 5.6.0 released</title>
		<link>http://www.jansch.nl/2006/06/12/atk-560-released/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=atk-560-released</link>
		<comments>http://www.jansch.nl/2006/06/12/atk-560-released/#comments</comments>
		<pubDate>Mon, 12 Jun 2006 20:02:08 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[atk]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[typo3]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/?p=411</guid>
		<description><![CDATA[We've just released ATK 5.6.0, the next stable version of the Achievo ATK framework. The new release can be downloaded here. This release contains over 140 changes and improvements. Some highlights of the changes since ATK 5.5: 5 new attributes, from a simple attribute for manipulating URLS to a flexible calculator that can add columns [...]]]></description>
			<content:encoded><![CDATA[<p>We've just released ATK 5.6.0, the next stable version of the Achievo ATK framework. The new release can be <b><a href="http://www.achievo.org/atk/download/releasenotes/5_6_0">downloaded here</a></b>.</p>
<p>This release contains over 140 changes and improvements.</p>
<p>Some highlights of the changes since ATK 5.5:</p>
<ul>
<li>5 new attributes, from a simple attribute for manipulating URLS to a flexible calculator that can add columns containing arbitrary calculations of other attributes, and a generic attribute that can turn any other attribute into an internationalised data field.</p>
<li>A new 'shuttle' relation for easy selection of records in many-to-many relationships.
<li>2 new themes, 'macoslike' and 't3skin'. The latter creates a Typo3 4.0 look for ATK, useful for integrating ATK applications into a Typo3 environment.
<li>An AJAX based generic data structure search functionality.
<li>An atkMessageQueue for relaying messages to the user.
<li>Many API enhancements (new methods, new features and new flags)</ul>
<p>And many more fixes and improvements. The complete change log can be found on the <a href="http://www.achievo.org/atk/download/releasenotes/5_6_0">release notes page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2006/06/12/atk-560-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Achievo 1.2.1 release and ATK news</title>
		<link>http://www.jansch.nl/2006/05/30/achievo-121-release-and-atk-news/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=achievo-121-release-and-atk-news</link>
		<comments>http://www.jansch.nl/2006/05/30/achievo-121-release-and-atk-news/#comments</comments>
		<pubDate>Tue, 30 May 2006 19:12:36 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[achievo]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[atk]]></category>
		<category><![CDATA[epointment]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[typo3]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/?p=391</guid>
		<description><![CDATA[My decision to hand over project maintenance of the Achievo project has turned out to be a good one. Since Sandy took over, we've had 3 new releases. A first release candidate for Achievo 1.2 was out when he was at the helm hardly one month, and yesterday, he released Achievo 1.2.1, which contains several [...]]]></description>
			<content:encoded><![CDATA[<p>My decision to hand over project maintenance of the <a href="http://www.achievo.org">Achievo</a> project has turned out to be a good one.</p>
<p>Since Sandy took over, we've had 3 new releases. A first release candidate for Achievo 1.2 was out when he was at the helm hardly one month, and yesterday, he released <a href="http://www.achievo.org/download/releasenotes/1_2_1">Achievo 1.2.1</a>, which contains several important bugfixes for the 1.2 branch.</p>
<p>I've had several remarks from users who were 'glad the project was apparently still alive after months without a release'. I think the project would've died prematurely if Sandy hadn't taken over.</p>
<p>As a result of the takeover, I was able to finally take the time to do some other things I've been planning to do for a while now. I've written a <a href="http://www.achievo.org/forum/viewtopic.php?t=1134">Typo3 ATK bridge</a> that makes it possible to develop Typo3 backend modules in ATK. This reduces Typo3 backend modules from hundreds of lines of code to the minimal amount of coding we're used to from using ATK. This extension is currently being tested internally and will be released with a howto soon.</p>
<p>Also, I'm finishing up ATK 5.6. It contains some interesting new features, among which is an atkCalculatorAttribute for arbitrary calculations on fields and an atkMlWrapper which can turn any attribute into an internationalised field (sponsored by our friends at <a href="http://www.zicht.nl">Zicht</a>). ATK 5.6 should be out within 2 weeks.</p>
<p>Finally I've been spending a lot of time on <a href="http://www.epointment.com">epointment.com</a>. We're finally getting somewhere with the features we need. I will be writing a 'syncing Achievo with epointment.com' howto soon. Although at its current state, we have a lot of competition from <a href="http://www.google.com/calendar">the big guys</a>, we're seeing quite an amount of interest from Dutch people (probably because Google Calendar only has an English interface at the moment), so we're coming along nicely. We're also talking to the guys from <a href="http://www.markthisdate.com">MarkThisDate</a> for cooperation (open standards rule!).</p>
<p>The largest benefit for ATK will be that we're pushing the development of the Ajax functionality in the framework. In ATK 5.7 (which might become ATK 6) you can expect a lot of (optional, ofcourse) Ajax powered functionality such as autocompletion and Partial Page Rendering.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2006/05/30/achievo-121-release-and-atk-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New ajax powered smart search functionality in ATK</title>
		<link>http://www.jansch.nl/2006/04/16/new-ajax-powered-smart-search-functionality-in-atk/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-ajax-powered-smart-search-functionality-in-atk</link>
		<comments>http://www.jansch.nl/2006/04/16/new-ajax-powered-smart-search-functionality-in-atk/#comments</comments>
		<pubDate>Sun, 16 Apr 2006 09:42:01 +0000</pubDate>
		<dc:creator>Ivo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[atk]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[peter]]></category>
		<category><![CDATA[search]]></category>

		<guid isPermaLink="false">http://www.jansch.nl/?p=361</guid>
		<description><![CDATA[Together with comunication firm Effectiv we developed a marketing tool for Cirque du Soleil in ATK. For this application, we needed a better way to search through the myriad of data in their database. Peter solved this by adding a new nifty Ajax powered search functionality to ATK, that can be used to traverse all [...]]]></description>
			<content:encoded><![CDATA[<p>Together with comunication firm <a href="http://www.effectiv.nl">Effectiv</a> we developed a marketing tool for <a href="http://www.cirquedusoleil.com">Cirque du Soleil</a> in ATK. For this application, we needed a better way to search through the myriad of data in their database. Peter solved this by adding a new nifty Ajax powered search functionality to ATK, that can be used to traverse all data, following relationships and exposing the entire database through a single interface.</p>
<p>An example of the type of searches that a user can do: 'show all employees that work in a department whose manager lives in a city that has at least 10.000 inhabitants'. </p>
<p>This functionality is available in the current <a href="http://www.achievo.org/files/nightly/atk-main-branch-latest.tar.gz">nightly build</a>. (This contains only the atk subdir, if you don't have an ATK app already, download the <a href="http://www.achievo.org/atk/download">sample application</a> first.)</p>
<p>Here is a screenshot:</p>
<p><img src="http://www.oeli.org/smartsearch.jpg" alt="screenshot"></p>
<p>In this screenshot, I am looking for all employees whose manager is 'ivo', and that work in a department which is currently hiring. (this is taken from lesson 3 of the demo application)</p>
<p>In ATK tradition, to enable the functionality you need only one line of code. Just add the following code to any node (constructor or action_admin override):</p>
<pre class="php"><span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">setExtendedSearchAction</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'smartsearch'</span><span style="color: #66cc66;">&#41;</span>;</pre>
<p>(Note1: if you do not have AF_SEARCHABLE attribs, make sure you set NF_EXTENDED_SEARCH to force display of the search bar. Note 2: in a future nightly this will be even easier through the use of a new NF_SMART_SEARCH flag)</p>
<p>Now, click the 'extended' link in your application's search bar to get the new search.</p>
<p>Another neat feature is the possibility to save and load sets of search criteria. To enable this, you need to have the atk_smartsearchcriteria table:</p>
<pre class="sql">&nbsp;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> atk_smartsearchcriteria
<span style="color: #66cc66;">&#40;</span>
  nodetype VARCHAR<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span>,
  name VARCHAR<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span>,
  criteria TEXT <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span>,
  <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">&#40;</span>nodetype, name<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<p>Peter did a great job with this feature. I think this opens the road for advanced reporting functionality in ATK.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jansch.nl/2006/04/16/new-ajax-powered-smart-search-functionality-in-atk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

