<!-- 
RSS generated by JIRA (5.2.7#850-sha1:b2af0c8dc8537b36121c6a579fabbdf79fc919e5) at Fri May 24 02:19:55 UTC 2013

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
For example:
http://www.doctrine-project.org/jira/si/jira.issueviews:issue-xml/PHPCR-56/PHPCR-56.xml?field=key&field=summary
-->
<rss version="0.92" >
<channel>
    <title>Doctrine Project</title>
    <link>http://www.doctrine-project.org/jira</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>5.2.7</version>
        <build-number>850</build-number>
        <build-date>21-02-2013</build-date>
    </build-info>

<item>
            <title>[PHPCR-56] Support Hashmaps in fields</title>
                <link>http://www.doctrine-project.org/jira/browse/PHPCR-56</link>
                <project id="10060" key="PHPCR">Doctrine PHPCR</project>
                        <description>&lt;p&gt;we should have an annotation to have multivalue properties be hashmaps, that is arrays with custom keys that get preserved. there are 3 options:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;two multivalue fields with keys and values respectively. see i.e. &lt;a href=&quot;https://github.com/symfony-cmf/symfony-cmf/pull/140&quot; class=&quot;external-link&quot;&gt;https://github.com/symfony-cmf/symfony-cmf/pull/140&lt;/a&gt; (another workaround can be to use the @PostLoad and @PreUpdate hooks to split/merge the arrays)&lt;/li&gt;
	&lt;li&gt;serialize the array into a string field&lt;/li&gt;
	&lt;li&gt;child nodes (performance penalty). they would need to be in a special namespace to be identifyable and have a special format. a node for key-value is a lot. if you want a document with a specific name, you should use child documents directly, not a hashmap with document entry.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
            <key id="13475">PHPCR-56</key>
            <summary>Support Hashmaps in fields</summary>
                <type id="2" iconUrl="http://www.doctrine-project.org/jira/images/icons/issuetypes/newfeature.png">New Feature</type>
                                <priority id="4" iconUrl="http://www.doctrine-project.org/jira/images/icons/priorities/minor.png">Minor</priority>
                    <status id="6" iconUrl="http://www.doctrine-project.org/jira/images/icons/statuses/closed.png">Closed</status>
                    <resolution id="1">Fixed</resolution>
                                <assignee username="lsmith">Lukas Kahwe</assignee>
                                <reporter username="dbu">David Buchmann</reporter>
                        <labels>
                    </labels>
                <created>Sun, 26 Feb 2012 10:43:58 +0000</created>
                <updated>Mon, 22 Oct 2012 14:57:24 +0000</updated>
                    <resolved>Mon, 8 Oct 2012 07:11:26 +0000</resolved>
                                                                    <due></due>
                    <votes>0</votes>
                        <watches>1</watches>
                        <comments>
                    <comment id="17846" author="dbu" created="Sat, 14 Apr 2012 11:11:34 +0000"  >&lt;p&gt;I gave the hashmaps some more thought. I think the reason JCR (and thus PHPCR) do not have hashmaps is because an unstructured node basically /is/ a hashmap. It has fields with string names and values of various types.&lt;br/&gt;
I think for the ODM, the best approach would be to have a @Hashmap mapping that is a special case of @Child. The value is an array that is mapped to a child node with the name of the field. This even allows to map nested arrays, fields that contain an array are just added as child node with that name. (the only thing i see here: we lose the order as children and properties are handled different).&lt;br/&gt;
When loading, the child node (and nested children) are mapped to array, or the propertycollection thing we use for multivalue, if that can handle keys.&lt;br/&gt;
i think this would be the most flexible approach and should not even be very difficult. when you store large nested arrays here, it becomes a bit slow but i think that would be a design flaw to use deep nested arrays as odm fields anyways.&lt;/p&gt;

&lt;p&gt;the other options i see is adding the array_keys/values split workaround into the odm directly, but that only handles flat arrays and converts all values to string whereas the child node would keep DateTime, int, float, boolean and stream types as well. or we could serialize the array into a string property. but that feels yuk.&lt;/p&gt;</comment>
                    <comment id="18771" author="lsmith" created="Thu, 4 Oct 2012 21:33:21 +0000"  >&lt;p&gt;see &lt;a href=&quot;https://github.com/doctrine/phpcr-odm/pull/180&quot; class=&quot;external-link&quot;&gt;https://github.com/doctrine/phpcr-odm/pull/180&lt;/a&gt;&lt;/p&gt;</comment>
                </comments>
                <issuelinks>
                        <issuelinktype id="10001">
                <name>Reference</name>
                                                <inwardlinks description="is referenced by">
                            <issuelink>
            <issuekey id="13397">PHPCR-43</issuekey>
        </issuelink>
                    </inwardlinks>
                            </issuelinktype>
                    </issuelinks>
                <attachments>
                </attachments>
            <subtasks>
        </subtasks>
        </item>
</channel>
</rss>