<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <channel>
        <title>Poo-tee-weet</title>
        <link>http://pooteeweet.org</link>
        <description>Poo-tee-weet: ramblings on PHP, SQL, the web, politics, ultimate frisbee and what else is on in my life</description>
        <dc:language>en</dc:language>
        <generator>WebBuilder2</generator>
        <managingEditor>smith@pooteeweet.org (Lukas Kahwe Smith)</managingEditor>
        <webMaster>smith@pooteeweet.org (Lukas Kahwe Smith)</webMaster>
        <ttl>1440</ttl>
        <item>
            <title>XPath expert needed</title>
            <link>http://pooteeweet.org/blog/0/2228</link>
            <guid>http://pooteeweet.org/blog/0/2228</guid>
            <category>general</category>
            <description>In the PHPCR implementation using Doctrine DBAL we support search queries by converting the SQL2/QOM statements into XPath queries that we run on the XML stored in an RDBMS. Sounds insane, yes .. but it works pretty well .. obviously will not scale very well .. but it works for smaller data sets and there will be ways to improve performance later. In terms of functionality we have everything working quite well including JOIN support that was added recently.

</description>
            <content:encoded>&lt;p&gt;In the &lt;a href=&quot;http://phpcr.github.io&quot;&gt;PHPCR&lt;/a&gt; implementation using &lt;a href=&quot;https://github.com/jackalope/jackalope-doctrine-dbal&quot;&gt;Doctrine DBAL&lt;/a&gt; we support search queries by converting the &lt;a href=&quot;http://www.h2database.com/jcr/grammar.html&quot;&gt;SQL2&lt;/a&gt;/QOM statements into XPath queries that we run on the XML stored in an RDBMS. Sounds insane, yes .. but it works pretty well .. obviously will not scale very well .. but it works for smaller data sets and there will be ways to improve performance later. In terms of functionality we have everything working quite well including &lt;a href=&quot;https://github.com/jackalope/jackalope-doctrine-dbal/pull/115&quot;&gt;JOIN support&lt;/a&gt; that was added recently.&lt;/p&gt;

&lt;p&gt;However we are stuck with multivalue queries. What makes it particularly tricky is that we do not know which properties are multivalue and which are not as illustrated by &lt;a href=&quot;https://github.com/phpcr/phpcr-api-tests/pull/81/files&quot;&gt;these&lt;/a&gt; tests.&lt;/p&gt;

&lt;p&gt;As you can see in the test we have a multivalue property &amp;quot;tags&amp;quot; and in the SQL2 statement we want to test if that multivalue property contains both &amp;quot;foo&amp;quot; and &amp;quot;bar&amp;quot;. However inside the query engine we do not know that this property is multivalued or not.&lt;/p&gt;

&lt;p&gt;The relevant code is in &lt;a href=&quot;https://github.com/jackalope/jackalope-doctrine-dbal/blob/master/src/Jackalope/Transport/DoctrineDBAL/Query/QOMWalker.php#L547&quot;&gt;QOMWalker:: sqlXpathValueExists()&lt;/a&gt; and &lt;a href=&quot;https://github.com/jackalope/jackalope-doctrine-dbal/blob/master/src/Jackalope/Transport/DoctrineDBAL/Query/QOMWalker.php#L569&quot;&gt;QOMWalker:: sqlXpathExtractValue()&lt;/a&gt;. As you can see it currently only looks at &amp;quot;sv:value[1]&amp;quot;.&lt;/p&gt;

&lt;p&gt;You can find some more information here:&lt;br /&gt;
&lt;a href=&quot;https://github.com/jackalope/jackalope-doctrine-dbal/issues/88&quot;&gt;https://github.com/jackalope/jackalope-doctrine-dbal/issues/88&lt;/a&gt;&lt;/p&gt;

</content:encoded>
            <pubDate>Fri, 24 May 2013 20:27:07 +0200</pubDate>
            <dc:creator>Lukas Kahwe Smith</dc:creator>
        </item>
        <item>
            <title>Re: What is needed to REST in Symfony2</title>
            <link>http://pooteeweet.org/blog/2221/2227</link>
            <guid>http://pooteeweet.org/blog/2221/2227</guid>
            <category>general</category>
            <description>It seems to me that no one really gets into resource linking.  In some apps, I&apos;ve created a custom form type for giving the ability to just simply pass in an id as you would a hidden form type in common forms.

</description>
            <content:encoded>&lt;p&gt;It seems to me that no one really gets into resource linking.  In some apps, I&apos;ve created a custom form type for giving the ability to just simply pass in an id as you would a hidden form type in common forms.&lt;/p&gt;

&lt;p&gt;There are SOO many standards on linking.&lt;/p&gt;

&lt;p&gt;The link you posted earlier (&lt;a href=&quot;http://jsonapi.org&quot;&gt;http://jsonapi.org&lt;/a&gt;) has a clever way of doing it (I&apos;m much more in favor of just having simple ids).&lt;/p&gt;

&lt;p&gt;For example... You have a resource at GET /api/user&lt;/p&gt;

&lt;p&gt;{&lt;br /&gt;
    id: 1,&lt;br /&gt;
    name: &amp;quot;Jordan&amp;quot;,&lt;br /&gt;
    links: {&lt;br /&gt;
        best_friend: 1&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/p&gt;

&lt;p&gt;And if you want to change his best friend... PATCH /api/user/1&lt;/p&gt;

&lt;p&gt;[&lt;br /&gt;
  { &amp;quot;op&amp;quot;: &amp;quot;replace&amp;quot;, &amp;quot;path&amp;quot;: &amp;quot;/links/author&amp;quot;, &amp;quot;value&amp;quot;: 2 }&lt;br /&gt;
]&lt;/p&gt;

&lt;p&gt;Nothing allows for this yet... but this is pretty ugly in itself and no javascript frameworks work with this yet out of the box, so an alternative would be:&lt;/p&gt;

PATCH /api/user/1&lt;br /&gt;
{&lt;p&gt;best_friend: 2&lt;br /&gt;
}&lt;/p&gt;

&lt;p&gt;There&apos;s just no clear way of doing it :(&lt;/p&gt;

</content:encoded>
            <pubDate>Sat, 18 May 2013 07:41:52 +0200</pubDate>
            <dc:creator>j</dc:creator>
        </item>
        <item>
            <title>Re: What is needed to REST in Symfony2</title>
            <link>http://pooteeweet.org/blog/2221/2226</link>
            <guid>http://pooteeweet.org/blog/2221/2226</guid>
            <category>general</category>
            <description>2) Dynamic content in NelmioApiDocBundle and/or some way to integrate with JMSSerializer exclusion strategies (f.e. so that I can version my API docs together with my API)


</description>
            <content:encoded>&lt;blockquote&gt;&lt;p&gt;2) Dynamic content in NelmioApiDocBundle and/or some way to integrate with JMSSerializer exclusion strategies (f.e. so that I can version my API docs together with my API)&lt;/p&gt;

&lt;/blockquote&gt;
&lt;p&gt;About the exclusion strategies, that feature is almost done. Checkout the PR here: &lt;a href=&quot;https://github.com/nelmio/NelmioApiDocBundle/pull/156&quot;&gt;https://github.com/nelmio/NelmioApiDocBundle/pull/156&lt;/a&gt;&lt;/p&gt;

</content:encoded>
            <pubDate>Sat, 11 May 2013 18:03:53 +0200</pubDate>
            <dc:creator>fieg</dc:creator>
        </item>
        <item>
            <title>Re: What is needed to REST in Symfony2</title>
            <link>http://pooteeweet.org/blog/2221/2225</link>
            <guid>http://pooteeweet.org/blog/2221/2225</guid>
            <category>general</category>
            <description>In addition to everything you&apos;ve said, I&apos;d like to add another: documentation / tutorial. A tutorial on FOSRestBundle - which of course more broadly means that people want to know about REST - is the most asked-for tutorial at KnpUniversity.com (https://knpuniversity.uservoice.com/forums/143666-how-can-we-improve-knpuniversity-/filters/top) . But even for me, I find using all of these tools together in advanced cases very difficult, which means that no tutorial has been created yet. They&apos;re individually great, but still a bit low-level, and finding best practices and a full-view of using everything together seems to still be missing.

</description>
            <content:encoded>&lt;p&gt;In addition to everything you&apos;ve said, I&apos;d like to add another: documentation / tutorial. A tutorial on FOSRestBundle - which of course more broadly means that people want to know about REST - is the most asked-for tutorial at KnpUniversity.com (&lt;a href=&quot;https://knpuniversity.uservoice.com/forums/143666-how-can-we-improve-knpuniversity-/filters/top&quot;&gt;https://knpuniversity.uservoice.com/forums/143666-how-can-we-improve-knpuniversity-/filters/top&lt;/a&gt;) . But even for me, I find using all of these tools together in advanced cases very difficult, which means that no tutorial has been created yet. They&apos;re individually great, but still a bit low-level, and finding best practices and a full-view of using everything together seems to still be missing.&lt;/p&gt;

&lt;p&gt;@lsmith If we made a tutorial on REST in Symfony2, would you also donate your expertise to make sure it&apos;s done well? And if not you, who? Our new screencasts all have open source scripts, (even if the video is paid), so anyone can benefit. With a little bit of tech help, we&apos;ll run the rest of the way with this :). And really, that goes for a lot of topics... ;)&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

</content:encoded>
            <pubDate>Fri, 10 May 2013 03:39:31 +0200</pubDate>
            <dc:creator>weaverryan</dc:creator>
        </item>
        <item>
            <title>Re: What is needed to REST in Symfony2</title>
            <link>http://pooteeweet.org/blog/2221/2224</link>
            <guid>http://pooteeweet.org/blog/2221/2224</guid>
            <category>general</category>
            <description>Another topic we maybe should look into http://jsonapi.org

</description>
            <content:encoded>&lt;p&gt;Another topic we maybe should look into &lt;a href=&quot;http://jsonapi.org&quot;&gt;http://jsonapi.org&lt;/a&gt;&lt;/p&gt;

</content:encoded>
            <pubDate>Tue, 07 May 2013 09:08:57 +0200</pubDate>
            <dc:creator>Lukas Kahwe Smith</dc:creator>
        </item>
    </channel>
</rss>