Doctrine Projecthttp://www.doctrine-project.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+PHPCR+ORDER+BY+status+DESC%2C+priority+DESC
An XML representation of a search requesten-us6.2.3626015-04-2014[PHPCR-115] language fallback brokenhttp://www.doctrine-project.org/jira/browse/PHPCR-115
Doctrine PHPCR<p>the language fallback is broken. instead of falling back, translated fields are null if a translation is not available (for example in the sandbox) <a href="http://cmf.liip.ch/de/company" class="external-link" rel="nofollow">http://cmf.liip.ch/de/company</a></p>PHPCR-115language fallback brokenBugBlockerClosedFixedLukas KahweDavid BuchmannFri, 26 Jul 2013 16:20:49 +0000Sun, 4 Aug 2013 15:29:27 +0000Sun, 4 Aug 2013 15:29:27 +000001<p><a href="https://github.com/doctrine/phpcr-odm/pull/304" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/304</a></p>[PHPCR-114] loadClassMetadata is never triggeredhttp://www.doctrine-project.org/jira/browse/PHPCR-114
Doctrine PHPCR<p><a href="http://docs.doctrine-project.org/projects/doctrine-phpcr-odm/en/latest/reference/events.html#lifecycle-events" class="external-link" rel="nofollow">http://docs.doctrine-project.org/projects/doctrine-phpcr-odm/en/latest/reference/events.html#lifecycle-events</a> the lifecycle callback loadClassMetadata is never triggered on the document.</p>PHPCR-114loadClassMetadata is never triggeredBugBlockerClosedInvalidLukas KahweDavid BuchmannMon, 15 Jul 2013 21:26:30 +0000Mon, 22 Jul 2013 09:45:52 +0000Mon, 22 Jul 2013 09:45:52 +000001<p>loadClassMetadata turned out to not be a lifecycle callback but only an event.</p>[PHPCR-96] Clean up event argument classeshttp://www.doctrine-project.org/jira/browse/PHPCR-96
Doctrine PHPCR<p>clean up the event argument classes to only use specific classes if needed, and base on doctrine commons events</p>
<p>see <a href="https://github.com/doctrine/phpcr-odm/pull/246" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/246</a> and <a href="https://github.com/doctrine/phpcr-odm/issues/245" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/245</a></p>PHPCR-96Clean up event argument classesImprovementBlockerClosedFixedLukas KahweDavid Buchmann1.0Wed, 20 Feb 2013 13:26:00 +0000Thu, 18 Apr 2013 14:49:25 +0000Thu, 18 Apr 2013 14:49:25 +000001<p>there is the PR <a href="https://github.com/doctrine/phpcr-odm/pull/248" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/248</a> now</p><p><a href="https://github.com/doctrine/phpcr-odm/pull/248" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/248</a></p>[PHPCR-77] document level options inheritancehttp://www.doctrine-project.org/jira/browse/PHPCR-77
Doctrine PHPCR<p>documents extending other documents should inherit the global attributes unless overwritten explicitly.</p>
<p>for example, having @Document(referenceable=true) should be kept for an extending class unless it explicitly sets it to false. currently, attributes are reset on each new @Document tag. (i assume we have the same issue for xml/yml mapping?)</p>PHPCR-77document level options inheritanceImprovementBlockerClosedFixedLukas KahweDavid BuchmannMon, 6 Aug 2012 09:47:45 +0000Wed, 3 Jul 2013 15:36:38 +0000Wed, 3 Jul 2013 15:36:38 +000001<p>this is fixed for referenceable in <a href="https://github.com/doctrine/phpcr-odm/pull/185" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/185</a></p><p>when doing this, we should also fix MappedSuperclass annotation to support all attributes the Document has. in xml mappings mapped-superclass extends document</p><p><a href="https://github.com/doctrine/phpcr-odm/pull/294" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/294</a></p>[PHPCR-92] Join support in QueryBuilderhttp://www.doctrine-project.org/jira/browse/PHPCR-92
Doctrine PHPCR<p>Joins are currently not supported in the QueryBuilder, the methods are there and some of the logic is partially coded, but they just havn't been implemented.</p>
<p>At time of writing joins are not supported by doctrine-dbal (i think) but they are supported at least by Jackrabbit.</p>PHPCR-92Join support in QueryBuilderNew FeatureCriticalClosedFixedLukas KahweDaniel Leechquerybuilder,Tue, 19 Feb 2013 22:11:48 +0000Sat, 15 Feb 2014 13:01:16 +0000Sat, 15 Feb 2014 13:01:15 +000002<p>the querybuilder was refactored in <a href="https://github.com/doctrine/phpcr-odm/pull/318" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/318</a> and joins would now be easy doable, but are disabled for now. needs to be investigated to be sure it all makes sense.</p><p>any chance we can solve this before 1.0?</p>DependencyPHPCR-84[PHPCR-84] make the query API work with child translation strategyhttp://www.doctrine-project.org/jira/browse/PHPCR-84
Doctrine PHPCR<p>when searching there must be some way to ensure that for translateable documents the right fields are filters. f.e. when using the child strategy then for the given columns the node name needs to be checked (nodename = phpcr_locale:fr). </p>PHPCR-84make the query API work with child translation strategyBugCriticalClosedFixedLukas KahweLukas KahweTue, 23 Oct 2012 21:17:33 +0000Sat, 15 Feb 2014 13:01:06 +0000Sat, 15 Feb 2014 13:01:06 +000003<p>sounds like asking for a PHPCR-ODM DQL , then we could handle this perfectly transparent. as an intermediate, a method to build the criterion for a field of a mapped entity would be the right way i think. you could even do that for non-multilang in case you mapped the documents field to some differently named PHPCR property.</p><p>here is an example where i manually handle this:<br/>
<a href="https://github.com/symfony-cmf/SearchBundle/blob/master/Controller/PhpcrSearchController.php" class="external-link" rel="nofollow">https://github.com/symfony-cmf/SearchBundle/blob/master/Controller/PhpcrSearchController.php</a></p>
<p>if we were to do it automatically we might not need our own DQL, we could do a QOMWalker. however i doubt that we can fully automate this, since everything can be mixed. ie. one path can have any number of different strategies.</p><p>btw .. it might make sense to always namespace the property names, even when using the child translation strategy. this could make it easier to deal with searching across mixed translation strategies.</p><p>if we do this change we should provide a migration script</p><p>it gets even worse when translated and non-translated documents get mixed up. see for example the cmf sandbox menu admin (not multilang menu). it mixes translated and non-translated documents. since <a href="https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/pull/100" class="external-link" rel="nofollow">https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/pull/100</a> you can sort on columns, so sorting will half work half not.</p><p>there seem to be other solutions like descendant, but if we had <b>join</b> in jackalope-doctrine-dbal that could be a good option <a href="https://github.com/jackalope/jackalope-doctrine-dbal/issues/15" class="external-link" rel="nofollow">https://github.com/jackalope/jackalope-doctrine-dbal/issues/15</a></p><p>I started working on the Join issue and will start working on this issue when the Join feature is more or less stable.</p><p>working for attribute strategy</p><p><a href="https://github.com/doctrine/phpcr-odm/pull/409" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/409</a></p>DependencyPHPCR-92[PHPCR-66] handle ParentDocument and Name changes as move operationshttp://www.doctrine-project.org/jira/browse/PHPCR-66
Doctrine PHPCR<p>changes to the @ParentDocument and @Name should be translated to move operations. they are the most natural way to move a document in a form.</p>PHPCR-66handle ParentDocument and Name changes as move operationsImprovementCriticalClosedFixedLukas KahweDavid BuchmannTue, 22 May 2012 11:22:09 +0000Tue, 5 Jun 2012 11:49:54 +0000Tue, 5 Jun 2012 11:49:54 +000000<p>handled in <a href="https://github.com/doctrine/phpcr-odm/pull/141" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/141</a></p><p>pull request merged</p>[PHPCR-3] add support for lazy loading documentshttp://www.doctrine-project.org/jira/browse/PHPCR-3
Doctrine PHPCRPHPCR-3add support for lazy loading documentsNew FeatureCriticalClosedFixedJordi BoggianoLukas KahweFri, 1 Jul 2011 17:49:38 +0000Fri, 2 Sep 2011 13:09:05 +0000Fri, 2 Sep 2011 13:09:05 +000000<p>Johannes Stark &lt;starkj@gmx.de&gt; is working on that one. It is a pre-requisite for <a href="http://www.doctrine-project.org/jira/browse/PHPCR-10" title="add support for (weak)references" class="issue-link" data-issue-key="PHPCR-10"><del>PHPCR-10</del></a> (references mapping)</p><p><a href="https://github.com/doctrine/phpcr-odm/pull/52" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/52</a></p><p>fixed in pull request 52</p>[PHPCR-117] cphttp://www.doctrine-project.org/jira/browse/PHPCR-117
Doctrine PHPCR<p>*/<br/>
final class PhpParser<br/>
{<br/>
/**</p>
<ul>
<li>Parses a class.<br/>
*</li>
<li>@param \ReflectionClass $class A &lt;code&gt;ReflectionClass&lt;/code&gt; object.</li>
<li>@return array A list with use statements in the form (Alias =&gt; FQN).<br/>
*/<br/>
public function parseClass(\ReflectionClass $class)<br/>
{<br/>
if (method_exists($class, 'getUseStatements'))
{
return $class-&gt;getUseStatements();
}</li>
</ul>
<p> if (false === $filename = $class-&gt;getFilename()) </p>
{
return array();
}<br/>
<br/>
$content = $this-&gt;getFileContent($filename, $class-&gt;getStartLine());<br/>
<br/>
if (null === $content) {
return array();
}
<p> $namespace = preg_quote($class-&gt;getNamespaceName());<br/>
$content = preg_replace('/^.<b>?(\bnamespace\s+' . $namespace . '\s</b>[;</p>
{].*)$/s', '\\1', $content);
$tokenizer = new TokenParser('&lt;?php ' . $content);
$statements = $tokenizer-&gt;parseUseStatements($class-&gt;getNamespaceName());
return $statements;
}
<p> /**</p>
<ul>
<li>Get the content of the file right up to the given line number.<br/>
*</li>
<li>@param string $filename The name of the file to load.</li>
<li>@param int $lineNumber The number of lines to read from file.</li>
<li>@return string The content of the file.<br/>
*/<br/>
private function getFileContent($filename, $lineNumber)<br/>
{<br/>
if ( ! is_file($filename))
{
return null;
}</li>
</ul>
<p> $content = '';<br/>
$lineCnt = 0;<br/>
$file = new SplFileObject($filename);<br/>
while (!$file-&gt;eof()) {<br/>
if ($lineCnt++ == $lineNumber) </p>
{
break;
}
<p> $content .= $file-&gt;fgets();<br/>
}</p>
<p> return $content;<br/>
}<br/>
}</p>cpsess8119434838/frontendPHPCR-117cpBugMajorClosedIncompleteLukas KahweRoger Mbiama AssogooracleSat, 21 Dec 2013 19:05:10 +0000Sat, 15 Feb 2014 13:02:14 +0000Sat, 15 Feb 2014 13:02:14 +000001[PHPCR-106] Make getRefererrs return not-yet-flushed referring documentshttp://www.doctrine-project.org/jira/browse/PHPCR-106
Doctrine PHPCR<p>Currently the DocumentManager-&gt;getReferrers() method returns only referrers that have already been flushed to the database.</p>
<p>It is (I think) desireable for this method to return also those objects which have been added to the UnitOfWork but have not yet been flushed to the database.</p>PHPCR-106Make getRefererrs return not-yet-flushed referring documentsTaskMajorClosedWon't FixLukas KahweDaniel LeechdocumentmanagerFri, 22 Mar 2013 18:16:56 +0000Thu, 18 Apr 2013 13:03:25 +0000Thu, 18 Apr 2013 13:03:25 +000002<p>this is the same for searching as well, you don't find non-flushed things. i suggest we just document that on the getReferrers method that you only get flushed data.</p>
<p>note that currently there is the issue that initialized collections are not refreshed, which is something we hope to fix eventually.</p>[PHPCR-103] map node autoname featurehttp://www.doctrine-project.org/jira/browse/PHPCR-103
Doctrine PHPCR<p>we should map the Node::addNodeAutonamed as an option for the nodename field to have nodes that generate their own name (i.e. useful in children collection)</p>PHPCR-103map node autoname featureBugMajorClosedFixedLukas KahweDavid BuchmannWed, 13 Mar 2013 17:12:18 +0000Mon, 2 Sep 2013 11:42:10 +0000Mon, 2 Sep 2013 11:42:10 +000002<p>probably this should be a special id generator strategy like parent and nodename, where nodename is generated. is there a way to pass a parameter to the strategy? or would this need to be a separate option on the "@Id"? addNodeAutoname can accept an optional parameter to control parts of the generated name.<br/>
btw, this will be funny as this strategy can not really "generate" an id, it needs to actually create the node to have the name generated. so actually we have no id until we actually flush... </p>
<p>and there is this issue to handle as well<br/>
<a href="https://github.com/doctrine/phpcr-odm/commit/a4075caadd97312cc53bccf57ff8baf593df65d4" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/commit/a4075caadd97312cc53bccf57ff8baf593df65d4</a></p><p><a href="https://github.com/doctrine/phpcr-odm/pull/321" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/321</a></p><p>pr was merged</p>[PHPCR-99] Support configuring mixin node typeshttp://www.doctrine-project.org/jira/browse/PHPCR-99
Doctrine PHPCR<p>we should have a document level mapping to declare arbitrary mixins (like mix:created and mix:lastModified to have autogenerated timestamp fields that then can be mapped)</p>PHPCR-99Support configuring mixin node typesImprovementMajorClosedFixedLukas KahweDavid BuchmannSun, 24 Feb 2013 14:17:18 +0000Thu, 18 Apr 2013 12:51:38 +0000Thu, 18 Apr 2013 12:51:38 +000001<p>uwe did that, thanks.</p>[PHPCR-98] replace child documenthttp://www.doctrine-project.org/jira/browse/PHPCR-98
Doctrine PHPCR<p>when replacing a mapped child with a new document, we get the cannotMoveByAssignment exception, which imo is a) the wrong message as its not about setting a tracked document to become a child somewhere else but what we should do is delete the existing child document and add the new one.</p>
<p>this happens at <a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1912" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1912</a></p>
<p>for multiple children, i am less sure how it should work, if it is possible the same way: <br/>
<a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L935" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L935</a></p>PHPCR-98replace child documentBugMajorClosedFixedLukas KahweDavid BuchmannFri, 22 Feb 2013 09:50:01 +0000Fri, 21 Jun 2013 16:13:18 +0000Sat, 2 Mar 2013 11:59:43 +000001<p>there is a PR to add a form element for an image. when using this, the containing class needs to work around this bug for now <a href="https://github.com/doctrine/DoctrinePHPCRBundle/pull/37" class="external-link" rel="nofollow">https://github.com/doctrine/DoctrinePHPCRBundle/pull/37</a></p><p>the PR got merged <a href="https://github.com/doctrine/phpcr-odm/pull/253" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/253</a></p>
<p>as a side note: what speaks against moving the issues to github and drop this jira project? it would be much more user friendly for reporting bugs, and easier to integrate. and i don't think we use any of the fancy jira features really. (github has tags and now even milestones, if we would want to use them)</p><p>note that as of this time, this is not fully fixed: if the child has children of its own, there is an error about detached documents. see <a href="https://github.com/doctrine/phpcr-odm/pull/262" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/262</a></p>[PHPCR-89] child documents are not translateable?http://www.doctrine-project.org/jira/browse/PHPCR-89
Doctrine PHPCR<p>I just tried the odm on a testproject. but i have a really strange problem with translations. if i add a document which has children - and then try to add a translation to the children documents - the translation will not be saved .... (i tried the same with the symfony cmf - same result ) <br/>
code:</p>ubuntu 12.04, php 5.3,
<br/>
installed:
<br/>
&nbsp;&nbsp;doctrine/common [2.3.x-dev bb0aebb] : Common Library for Doctrine projects
<br/>
&nbsp;&nbsp;doctrine/dbal [2.3.x-dev fd45c6f] : Database Abstraction Layer
<br/>
&nbsp;&nbsp;doctrine/phpcr-odm [dev-master 76765d1] : Object-Document-Mapper for PHPCR
<br/>
&nbsp;&nbsp;jackalope/jackalope [dev-master a8ba9db] : Jackalope PHPCR library
<br/>
&nbsp;&nbsp;jackalope/jackalope-doctrine-dbal [dev-master d8a81bc] : Jackalope Transport library
<br/>
&nbsp;&nbsp;phpcr/phpcr [2.1.0-beta8] : PHP Content Repository interfaces
<br/>
&nbsp;&nbsp;phpcr/phpcr-utils [1.0-beta4] : PHP Content Repository implementation independant utilities
<br/>
&nbsp;&nbsp;symfony/console [2.2.x-dev v2.2.0-RC1] : Symfony Console Component
<br/>
&nbsp;&nbsp;symfony/yaml [dev-master f198ac2] : Symfony Yaml ComponentPHPCR-89child documents are not translateable?BugMajorClosedCannot ReproduceLukas KahweNorbert M Haigermoseri18ntranslationThu, 7 Feb 2013 09:12:43 +0000Thu, 18 Apr 2013 12:58:03 +0000Thu, 18 Apr 2013 12:58:03 +000002<p>hi. can you try to write a test case in TranslationHierarchyTest in the phpcr-odm repository and create a pull request for the failing test? we fixed quite some things around this recently, maybe it is fixed now?</p>[PHPCR-87] the document manager did not return a result for findBy(array('id' => 'some/id')) but does for find('some/id')http://www.doctrine-project.org/jira/browse/PHPCR-87
Doctrine PHPCRPHPCR-87the document manager did not return a result for findBy(array('id' => 'some/id')) but does for find('some/id')BugMajorClosedInvalidLukas KahweRoel SintThu, 31 Jan 2013 11:49:09 +0000Fri, 19 Apr 2013 10:26:14 +0000Fri, 19 Apr 2013 10:26:13 +000002<p>the id is kind of a meta information of the document, not a property. so i am unsure if this can work, as the findBy is querying on the phpcr fields. we can not search on the odm mapped fields, as we do not know which document to search, and different documents could even map differently.</p>
<p>so i am not sure if we can solve this issue at all, except improve the documentation of what findBy is actually using.</p>
<p>or am i missing something, lukas?</p><p>findBy filters on properties. the id is the path of the node, not a property. this is thus not a bug.</p>
<p>i converted a lot of doc from the orm to have the right place where we should explain this, adding a warning about this case: <a href="https://github.com/doctrine/phpcr-odm-documentation/pull/24" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm-documentation/pull/24</a></p>[PHPCR-88] locales mapping for language fallback: do not repeat languagehttp://www.doctrine-project.org/jira/browse/PHPCR-88
Doctrine PHPCR<p>currently the language fallback is defined like this</p>
<p> locales:<br/>
en: <span class="error">&#91;en, de&#93;</span><br/>
de: <span class="error">&#91;de, en&#93;</span></p>
<p>the first option must be the requested language. this is counterintuitive and error prone. saying "en: <span class="error">&#91;de&#93;</span>" would make english always only try german. we should add the locale itself as first locale i think, i see no use case of defining fallbacks where the requested locale is not the one to be preferred.</p>PHPCR-88locales mapping for language fallback: do not repeat languageImprovementMajorClosedFixedLukas KahweDavid BuchmannFri, 1 Feb 2013 10:23:03 +0000Thu, 18 Apr 2013 12:49:12 +0000Thu, 18 Apr 2013 12:49:12 +000001[PHPCR-85] implement querybuilder hydrate array optionhttp://www.doctrine-project.org/jira/browse/PHPCR-85
Doctrine PHPCR<p>the query builder can currently hydrate to documents and to phpcr nodes. it should also be possible to hydrate the result into a plain array to avoid creating documents and get the direct query result. (btw note that '*' in sql2 does not mean all properties of a document, but just the path and some other basic things - you always need to specify all fields you want to retrieve explicitly in this case)</p>
<p>for the query builder base work and discussion see <a href="https://github.com/doctrine/phpcr-odm/pull/204" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/204</a></p>PHPCR-85implement querybuilder hydrate array optionNew FeatureMajorClosedDuplicateLukas KahweDavid BuchmannMon, 14 Jan 2013 09:12:13 +0000Sat, 15 Feb 2014 13:14:21 +0000Sat, 15 Feb 2014 13:14:21 +000001<p>moved to github <a href="https://github.com/doctrine/phpcr-odm/issues/428" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/428</a></p>[PHPCR-81] Referrers should not return the frozen node of a version in version storagehttp://www.doctrine-project.org/jira/browse/PHPCR-81
Doctrine PHPCR<p>In the document of phpcr.github.com (<a href="http://phpcr.github.com/doc/html/phpcr/nodeinterface.html#getReferences%28%29" class="external-link" rel="nofollow">http://phpcr.github.com/doc/html/phpcr/nodeinterface.html#getReferences%28%29</a>), I quote:</p>
<p>"In implementations that support versioning, this method does not return properties that are part of the frozen state of a version in version storage."</p>
<p>But, the referrers returns some versioned node.</p>PHPCR-81Referrers should not return the frozen node of a version in version storageBugMajorClosedCannot ReproduceLukas KahwePierre-Louis LAUNAYWed, 26 Sep 2012 10:25:58 +0000Sat, 15 Feb 2014 13:11:53 +0000Sat, 15 Feb 2014 13:11:53 +000001[PHPCR-80] ChildrenCollection is not updated after flush although children where added beforehttp://www.doctrine-project.org/jira/browse/PHPCR-80
Doctrine PHPCR<p>If you create children of a document without adding them to the children collection of the parent (with a children annotation) the children collection is not updated after flush, you need to call $dm-&gt;clear() to force a reread of the children. The current case was with a parent and its children created in the same flush.</p>PHPCR-80ChildrenCollection is not updated after flush although children where added beforeBugMajorClosedCannot ReproduceLukas KahweUwe JägerFri, 7 Sep 2012 22:15:02 +0000Sat, 15 Feb 2014 13:02:33 +0000Sat, 15 Feb 2014 13:02:33 +000002<p>Try this code:</p>
<p> $node1 = new Generic();<br/>
$node1-&gt;setParent($parent);<br/>
$node1-&gt;setNodename('source');<br/>
$this-&gt;dm-&gt;persist($node1);</p>
<p> $this-&gt;childrenNames = array('first', 'second', 'third', 'fourth');<br/>
foreach ($this-&gt;childrenNames as $childName) </p>
{
$child = new Generic();
$child-&gt;setNodename($childName);
$child-&gt;setParent($node1);
$this-&gt;dm-&gt;persist($child);
}
<p> $this-&gt;dm-&gt;flush();<br/>
$this-&gt;dm-&gt;clear();</p>
<p> $node = $this-&gt;dm-&gt;find(null, '/functional/source');<br/>
$children = $node-&gt;getChildren();</p>
<p> // without the clear above $children === NULL, with the clear it works as expected</p>
<p>lukas, is this fixed with the work you did on cascading?</p><p>we did a lot of refactoring on cascading lately. uwe, can you check if the problem still exists and do a pull request with a failing test if it exists?</p><p>uwe, is this issue still relevant?</p>[PHPCR-75] Mapped Superclass cleanup and documentationhttp://www.doctrine-project.org/jira/browse/PHPCR-75
Doctrine PHPCR<p>this is a follow-up for <a href="https://github.com/doctrine/phpcr-odm/pull/144#issuecomment-7096029" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/144#issuecomment-7096029</a></p>
<p>we need to check if mapped superclass is working as it should, and then clarify the doc at <a href="https://github.com/doctrine/phpcr-odm-documentation/blob/master/en/reference/inheritance-mapping.rst" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm-documentation/blob/master/en/reference/inheritance-mapping.rst</a></p>
<p>i still did not understand what exactly the feature means.</p>PHPCR-75Mapped Superclass cleanup and documentationImprovementMajorClosedFixedLukas KahweDavid BuchmannMon, 23 Jul 2012 08:50:20 +0000Thu, 10 Jan 2013 12:02:42 +0000Thu, 10 Jan 2013 12:02:42 +000002<p>this is cleared up now .. right?</p><p>yep, i understand it now. documented a bit in <a href="https://github.com/doctrine/phpcr-odm-documentation/commit/1c5ae23df5b8008bad5738ae4eed9a70ec6a4cb7" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm-documentation/commit/1c5ae23df5b8008bad5738ae4eed9a70ec6a4cb7</a></p>[PHPCR-74] [translations] allow detached document with locale propagation to mapped associationshttp://www.doctrine-project.org/jira/browse/PHPCR-74
Doctrine PHPCR<p>managed documents can only ever exist once per DocumentManager, and thus only in one language. for this reason we did not want to make the language propagate for mapped children and references (as this would change the content of documents in a hard to understand way - and loading anything in a different language again would still lose the language)</p>
<p>thus we should provide a findTranslation variant to get a detached translated document that fetches all associations as detached as well, keeping the locale setting.</p>
<p>there is no way to handle the write case, but this would cover the read case.</p>PHPCR-74[translations] allow detached document with locale propagation to mapped associationsNew FeatureMajorClosedFixedLukas KahweDavid BuchmannWed, 18 Jul 2012 22:05:41 +0000Fri, 1 Feb 2013 10:20:08 +0000Fri, 1 Feb 2013 10:20:08 +000001<p>the concept was changed to say that children translations are just updated to the new locale</p>[PHPCR-65] find with uuid creates duplicate of documenthttp://www.doctrine-project.org/jira/browse/PHPCR-65
Doctrine PHPCR<p>i am pretty sure the DocumentManager::find() method creates a duplicate document each time you request the document by uuid. it should not just load the node but convert that node to a path and then do the check if the document is cached. if the node is already cached the lookup by uuid is cheap. if not, it is now cached and the lookup by path is cheap. so no overhead, but eliminate the risk of having several instances of the same document.</p>
<p><a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentManager.php#L279" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentManager.php#L279</a></p>PHPCR-65find with uuid creates duplicate of documentBugMajorClosedFixedLukas KahweDavid BuchmannMon, 23 Apr 2012 11:03:31 +0000Fri, 20 Jul 2012 07:51:56 +0000Fri, 20 Jul 2012 07:51:56 +000002<p>this issue seems to be fixed <a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentManager.php#L289" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentManager.php#L289</a></p><p>thanks, looks good to me now.</p>[PHPCR-64] add support for child prefetchinghttp://www.doctrine-project.org/jira/browse/PHPCR-64
Doctrine PHPCR<p><a href="https://github.com/jackalope/jackalope/pull/113" class="external-link" rel="nofollow">https://github.com/jackalope/jackalope/pull/113</a></p>
<p>the idea would be to set the depth via a mapping on a per model or per collection basis</p>
PHPCR-64add support for child prefetchingNew FeatureMajorClosedFixedLukas KahweLukas KahweFri, 20 Apr 2012 08:46:47 +0000Wed, 18 Jul 2012 22:07:48 +0000Wed, 18 Jul 2012 22:07:48 +000001<p><a href="https://github.com/doctrine/phpcr-odm/compare/master...fetch_depth" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/compare/master...fetch_depth</a></p><p>this has been merged</p>[PHPCR-63] event system: prePersist and postPersisthttp://www.doctrine-project.org/jira/browse/PHPCR-63
Doctrine PHPCR<p>according to <a href="http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/reference/events.html#prepersist" class="external-link" rel="nofollow">http://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/reference/events.html#prepersist</a> the persist event is only triggered when persisting a new entity/document. but currently the phpcr-odm uow triggers it during the flush operation.</p>
<p>we have to go over the event system and clean that up.</p>PHPCR-63event system: prePersist and postPersistBugMajorClosedFixedLukas KahweDavid BuchmannWed, 11 Apr 2012 11:07:46 +0000Tue, 22 May 2012 11:20:46 +0000Tue, 22 May 2012 11:20:46 +000000<p>hmm looking at the UoW code .. i don't see how this is possible:<br/>
<a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1110" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1110</a><br/>
<a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1384" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L1384</a></p><p>strange. maybe i was looking at outdated code</p>[PHPCR-58] figure out how to handle dangling weak/path ReferenceOne/Many propertieshttp://www.doctrine-project.org/jira/browse/PHPCR-58
Doctrine PHPCR<p>this is a follow-up of<br/>
<a href="https://github.com/doctrine/phpcr-odm/pull/116" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/116</a></p>
<p>the problem is: what happens when a ReferenceOne path or weak reference property points to something non-existing? is the property null? is the currently invalid reference removed on save or kept (which would make sense, in case the node at path appears later). but if it is usually kept, how can we delete it if we want?</p>PHPCR-58figure out how to handle dangling weak/path ReferenceOne/Many propertiesImprovementMajorClosedDuplicateLukas KahweDavid BuchmannWed, 7 Mar 2012 17:20:35 +0000Fri, 28 Feb 2014 15:41:26 +0000Fri, 28 Feb 2014 15:41:26 +000001<p>moved to <a href="https://github.com/doctrine/phpcr-odm/issues/440" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/440</a></p>[PHPCR-57] do not track the original/unmapped values separatelyhttp://www.doctrine-project.org/jira/browse/PHPCR-57
Doctrine PHPCR<p>instead we should just use the current state of the underlying node.</p>PHPCR-57do not track the original/unmapped values separatelyBugMajorClosedDuplicateLukas KahweLukas KahweWed, 29 Feb 2012 11:11:00 +0000Sat, 15 Feb 2014 13:02:52 +0000Sat, 15 Feb 2014 13:02:52 +000001<p><a href="https://github.com/doctrine/phpcr-odm/pull/118" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/118</a></p><p>see the PR</p>[PHPCR-54] Implement LazyLoad for MANY_TO_ONE referenced docshttp://www.doctrine-project.org/jira/browse/PHPCR-54
Doctrine PHPCR<p>MANY_TO_MANY referenced are now only loaded on demand (see <a href="http://www.doctrine-project.org/jira/browse/PHPCR-52" title="lazy loading of ReferenceMany fails" class="issue-link" data-issue-key="PHPCR-52"><del>PHPCR-52</del></a>) via the ReferenceManyCollection. But MANY_TO_ONE are not yet, to be implemented</p>PHPCR-54Implement LazyLoad for MANY_TO_ONE referenced docsImprovementMajorClosedCan't FixLukas KahweChristian StockerWed, 22 Feb 2012 06:12:19 +0000Wed, 22 Feb 2012 09:28:54 +0000Wed, 22 Feb 2012 09:28:54 +000000<p>there is nothing we can do here .. we need to know the path, so that we can prevent duplicate instances if someone fetches by path and not by uuid.</p>[PHPCR-48] add a way to move() nodeshttp://www.doctrine-project.org/jira/browse/PHPCR-48
Doctrine PHPCRPHPCR-48add a way to move() nodesNew FeatureMajorClosedFixedLukas KahweLukas KahweWed, 8 Feb 2012 17:30:27 +0000Mon, 13 Feb 2012 13:45:04 +0000Thu, 9 Feb 2012 21:22:58 +000000<p><a href="https://github.com/doctrine/phpcr-odm/pull/103" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/103</a></p>[PHPCR-46] ensure that parent mappings are populated after flushhttp://www.doctrine-project.org/jira/browse/PHPCR-46
Doctrine PHPCR<p><a href="https://github.com/doctrine/phpcr-odm/pull/97#r410832" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/97#r410832</a></p>PHPCR-46ensure that parent mappings are populated after flushNew FeatureMajorClosedFixedLukas KahweLukas KahweFri, 3 Feb 2012 08:06:08 +0000Fri, 20 Jul 2012 07:59:34 +0000Fri, 20 Jul 2012 07:59:34 +000001<p>this is done in UnitOfWork::executeInserts about line 1358</p>
<p>i think we lack a test for this though.</p>[PHPCR-41] MappingException: Class Doctrine\ODM\PHPCR\ReferrersCollection is not a valid document or mapped super class. http://www.doctrine-project.org/jira/browse/PHPCR-41
Doctrine PHPCR<p>reported by nacmartin <a href="https://github.com/symfony-cmf/symfony-cmf/issues/131" class="external-link" rel="nofollow">https://github.com/symfony-cmf/symfony-cmf/issues/131</a></p>
<p>Since this property was introduced</p>
<p><a href="https://github.com/symfony-cmf/symfony-cmf/blob/master/src/Symfony/Cmf/Bundle/ContentBundle/Document/StaticContent.php#L44" class="external-link" rel="nofollow">https://github.com/symfony-cmf/symfony-cmf/blob/master/src/Symfony/Cmf/Bundle/ContentBundle/Document/StaticContent.php#L44</a></p>
<p>I have this error when persisting this kind of document in SAB:</p>
<p>MappingException: Class Doctrine\ODM\PHPCR\ReferrersCollection is not a valid document or mapped super class.</p>
<p>Any clue?</p>
<p>=&gt; phpcr-odm should not try to persist a ReferrersCollection. this is just the inverse of the Reference annotation. as this is directional in phpcr, the ReferrersCollection should be immutable by the client.</p>PHPCR-41MappingException: Class Doctrine\ODM\PHPCR\ReferrersCollection is not a valid document or mapped super class. BugMajorClosedFixedLukas KahweDavid BuchmannWed, 4 Jan 2012 11:05:00 +0000Sun, 8 Jan 2012 19:43:06 +0000Sun, 8 Jan 2012 19:43:06 +000000<p>closed in <a href="https://github.com/doctrine/phpcr-odm/pull/89" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/89</a></p>[PHPCR-39] support ArrayCollection with References/Referrershttp://www.doctrine-project.org/jira/browse/PHPCR-39
Doctrine PHPCRPHPCR-39support ArrayCollection with References/ReferrersNew FeatureMajorClosedFixedJordi BoggianoLukas KahweThu, 15 Dec 2011 08:59:05 +0000Fri, 3 Feb 2012 07:31:31 +0000Fri, 3 Feb 2012 07:31:31 +000000[PHPCR-33] ReferenceOne: targetDocument parameter should be optionalhttp://www.doctrine-project.org/jira/browse/PHPCR-33
Doctrine PHPCR<p>the targetDocument describes what class to expect in the reference. as the class is usually determined automatically, this parameter should be optional.</p>PHPCR-33ReferenceOne: targetDocument parameter should be optionalBugMajorClosedFixedDavid BuchmannDavid BuchmannSun, 13 Nov 2011 19:11:50 +0000Sun, 13 Nov 2011 19:16:57 +0000Sun, 13 Nov 2011 19:16:57 +000000<p>ups, sorry. was using an outdated version of phpcr-odm. this already works.</p>[PHPCR-32] separate the logic to determine the document class for a nodehttp://www.doctrine-project.org/jira/browse/PHPCR-32
Doctrine PHPCR<p>when loading a node from the database, you can either explicitly specify the document class to be used or it is determined programmatically. you can inject your own logic, but the default logic is right in UnitOfWork, and duplicated. this should be moved to a separate class for better reusability.</p>
<p>this would also be a good moment to get rid of phpcr:alias in favor of phpcr:class. we could provide an implementation for the old phpcr:alias as one of the resolvers users can plug in, if somebody really prefers the alias approach.</p>PHPCR-32separate the logic to determine the document class for a nodeImprovementMajorClosedFixedJordi BoggianoDavid BuchmannMon, 24 Oct 2011 06:48:33 +0000Sun, 13 Nov 2011 19:09:53 +0000Sun, 13 Nov 2011 19:09:53 +000000<p>already started to work on that:<br/>
<a href="https://github.com/doctrine/phpcr-odm/tree/add-parent-annotation-with_cleanups" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/tree/add-parent-annotation-with_cleanups</a></p>
<p>removing phpcr:alias should be easy to do now ..</p><p>the changes were merged, so this ticket can be closed</p>[PHPCR-27] adding a generic "node" documenthttp://www.doctrine-project.org/jira/browse/PHPCR-27
Doctrine PHPCR<p>see <a href="http://groups.google.com/group/symfony-cmf-devs/browse_thread/thread/914ba1c32d873ed5" class="external-link" rel="nofollow">http://groups.google.com/group/symfony-cmf-devs/browse_thread/thread/914ba1c32d873ed5</a></p>PHPCR-27adding a generic "node" documentNew FeatureMajorClosedFixedJordi BoggianoLukas KahweMon, 12 Sep 2011 11:16:35 +0000Sat, 22 Oct 2011 13:05:04 +0000Sat, 22 Oct 2011 13:05:04 +000000<p><a href="https://github.com/doctrine/phpcr-odm/pull/66" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/66</a></p>[PHPCR-29] Add support to flush only one document through DocumentManager#flush()http://www.doctrine-project.org/jira/browse/PHPCR-29
Doctrine PHPCR<p>see <a href="https://github.com/doctrine/doctrine2/pull/166" class="external-link" rel="nofollow">https://github.com/doctrine/doctrine2/pull/166</a></p>PHPCR-29Add support to flush only one document through DocumentManager#flush()New FeatureMajorClosedFixedJordi BoggianoLukas KahweSat, 22 Oct 2011 12:27:45 +0000Fri, 3 Feb 2012 09:21:00 +0000Fri, 3 Feb 2012 09:20:47 +000000<p>to do this we will also need to implement changesets for the translations. (we skipped that for simplicity and because it is currently unnecessary. we just put the translated fields into phpcr - but in phpcr the Session:save() saves everything)</p>
<p>see last point at <a href="https://github.com/doctrine/phpcr-odm/wiki/Multilanguage" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/wiki/Multilanguage</a></p><p><a href="https://github.com/doctrine/phpcr-odm/pull/94" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/94</a></p>[PHPCR-26] Github-PR-56 by uwej711: Fix metadata loading of builtin documentshttp://www.doctrine-project.org/jira/browse/PHPCR-26
Doctrine PHPCR<p>This issue is created automatically through a Github pull request on behalf of </p>
{username}
<p>:</p>
<p> Url: <a href="https://github.com/doctrine/phpcr-odm/pull/56" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/56</a></p>
<p>Message:</p>
<p>The wrapped metadata driver ensures that metadata for the builtin<br/>
documents is loaded. Still the DoctrineAnnotations need to be registered<br/>
with the AnnotationRegistry.</p>
<p>see <a href="https://github.com/symfony-cmf/cmf-sandbox/issues/20" class="external-link" rel="nofollow">https://github.com/symfony-cmf/cmf-sandbox/issues/20</a></p>PHPCR-26Github-PR-56 by uwej711: Fix metadata loading of builtin documentsImprovementMajorClosedFixedBenjamin EberleiBenjamin EberleiThu, 25 Aug 2011 18:02:52 +0000Sat, 22 Oct 2011 13:04:43 +0000Sat, 22 Oct 2011 13:04:43 +000000<p>can we close this one?</p>[PHPCR-25] Github-PR-59 by starkj: Referrershttp://www.doctrine-project.org/jira/browse/PHPCR-25
Doctrine PHPCR<p>This issue is created automatically through a Github pull request on behalf of </p>
{username}
<p>:</p>
<p> Url: <a href="https://github.com/doctrine/phpcr-odm/pull/59" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/59</a></p>
<p>Message:</p>
<p>first of all: sry, i screwed up the commit history here again <img class="emoticon" src="http://www.doctrine-project.org/jira/images/icons/emoticons/sad.gif" height="16" width="16" align="absmiddle" alt="" border="0"/></p>
<p>Well this is support for referrers.<br/>
This patch provides the new annotation "Referrers".<br/>
By default a property of this type stores all referrers (weak and hard) in a collection.<br/>
You can specify the option "referenceType" with the values "weak" and "hard" (or null) to only get the one or the other type of referring documents (or both types)<br/>
Then there is the option "filterName". It's value is passed to the method "get(Weak)References". Actually the option passed to "get(Weak)References" is called "name" in the spec. I named it "filterName" here as "name" is already assigned.</p>PHPCR-25Github-PR-59 by starkj: ReferrersImprovementMajorClosedFixedBenjamin EberleiBenjamin EberleiThu, 25 Aug 2011 18:02:52 +0000Fri, 16 Sep 2011 15:07:35 +0000Fri, 16 Sep 2011 15:07:35 +000000<p>that pull request was merged.</p>
<p>its nice that this jira creates tickets from pull requests - would be even better if they also close automatically with closing the pull request <img class="emoticon" src="http://www.doctrine-project.org/jira/images/icons/emoticons/wink.gif" height="16" width="16" align="absmiddle" alt="" border="0"/></p>[PHPCR-22] find('\Foo\Bar', $path) vs find('Foo\Bar', $path)http://www.doctrine-project.org/jira/browse/PHPCR-22
Doctrine PHPCR<p>I just noticed that we have an issue in our metadata loading in case a document name is prefixed with a backslash when calling find</p>
<p>// fails<br/>
$dm-&gt;find('\Foo\Bar', $path);</p>
<p>// works<br/>
$dm-&gt;find('Foo\Bar', $path);</p>
<p>Should the first work as well?</p>
<p>I have traced the issue to the DriverChain</p>
<p> public function loadMetadataForClass($className, ClassMetadata $class)<br/>
{<br/>
foreach ($this-&gt;drivers as $namespace =&gt; $driver) {<br/>
if (strpos($className, $namespace) === 0) </p>
{
$driver-&gt;loadMetadataForClass($className, $class);
return;
}
<p> }</p>
<p> throw MappingException::classIsNotAValidDocument($className);<br/>
}</p>
<p>notice the strpos() does not bother to check if a preceding backslash is in the $className var.</p>PHPCR-22find('\Foo\Bar', $path) vs find('Foo\Bar', $path)BugMajorClosedWon't FixJordi BoggianoLukas KahweThu, 4 Aug 2011 14:20:01 +0000Thu, 2 Feb 2012 19:27:41 +0000Thu, 2 Feb 2012 19:27:41 +000000<p>the ORM doesn't handle this either</p>[PHPCR-17] Id generator and failsafe storagehttp://www.doctrine-project.org/jira/browse/PHPCR-17
Doctrine PHPCR<p>Have an id generator that can build the path (id) from parent node and node name.<br/>
(The current setup with the id being the path leaves it to the user to make sure the parent node exists. You get really non-helpful strange error message if the parent does not exist.)</p>PHPCR-17Id generator and failsafe storageImprovementMajorClosedFixedJordi BoggianoDavid BuchmannSat, 30 Jul 2011 12:55:09 +0000Sat, 22 Oct 2011 13:04:25 +0000Sat, 22 Oct 2011 13:04:25 +000000<p>can we close this one?</p><p><a href="https://github.com/doctrine/phpcr-odm/pull/66" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/66</a></p>[PHPCR-16] Annotation for referrershttp://www.doctrine-project.org/jira/browse/PHPCR-16
Doctrine PHPCR<p>once reference annotation in <a href="http://www.doctrine-project.org/jira/browse/PHPCR-10" title="add support for (weak)references" class="issue-link" data-issue-key="PHPCR-10"><del>PHPCR-10</del></a> is finished, we should also map the inverse, the list of documents referencing this document. this is a read only property.</p>PHPCR-16Annotation for referrersImprovementMajorClosedFixedJordi BoggianoDavid BuchmannSat, 30 Jul 2011 12:54:15 +0000Fri, 2 Sep 2011 13:11:36 +0000Fri, 2 Sep 2011 13:11:36 +000000<p>see <a href="https://github.com/doctrine/phpcr-odm/wiki/References-and-related" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/wiki/References-and-related</a></p><p>johannes stark did that one too <a href="https://github.com/doctrine/phpcr-odm/pull/59" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/59</a></p>[PHPCR-15] Node property mappingshttp://www.doctrine-project.org/jira/browse/PHPCR-15
Doctrine PHPCR<ul>
<li>Annotation to map node name to a field (read-only except when creating a document). should be NodeName because NAME is one of the property types.</li>
<li>Align the annotations with the PHPCR\PropertyType types and map all types (missing for example the PATH type).</li>
</ul>
PHPCR-15Node property mappingsImprovementMajorClosedFixedDavid BuchmannDavid BuchmannSat, 30 Jul 2011 12:52:28 +0000Sat, 22 Oct 2011 13:03:55 +0000Sat, 22 Oct 2011 13:03:55 +000000<p>i just had a look at this and we are missing the following property types. i added them in <a href="https://github.com/doctrine/phpcr-odm/commit/a6032f8dc6574e0ce269653a884eb91ea5234284" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/commit/a6032f8dc6574e0ce269653a884eb91ea5234284</a></p>
<ul>
<li>Double <img class="emoticon" src="http://www.doctrine-project.org/jira/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"/></li>
<li>Name <img class="emoticon" src="http://www.doctrine-project.org/jira/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"/></li>
<li>Path <img class="emoticon" src="http://www.doctrine-project.org/jira/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"/></li>
<li>URI <img class="emoticon" src="http://www.doctrine-project.org/jira/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"/></li>
<li>Decimal <img class="emoticon" src="http://www.doctrine-project.org/jira/images/icons/emoticons/check.gif" height="16" width="16" align="absmiddle" alt="" border="0"/></li>
</ul>
<p>On the other hand, Int and Float do not exist. i declared them as convenience alias for Long and Double, as people gessing property names might expect them. ok?<br/>
What are the annotations EmbeddedDocument, EmbedOne supposed to do? We should either make them do something or remove them.</p>
<p>What about Tests? I see we only have some tests of annotations and xml/yml mapping, but not for all annotations. Should we do them? Where would be the right place for them?</p>
<p>Further, we are missing annotations for the node name and for the parent node. The later should be similar to the child annotation.</p><p>this is cleaned up now</p>[PHPCR-14] refactor document class detectionhttp://www.doctrine-project.org/jira/browse/PHPCR-14
Doctrine PHPCR<p>make document class detection strategy injected. this is in Doctrine/ODM/PHPCR/UnitOfWork.php createDocument</p>
<p>the default strategy should do the current behaviour in that method, but use the explicit parameter first if specified before looking at the phpcr:class attribute.</p>PHPCR-14refactor document class detectionImprovementMajorClosedFixedJordi BoggianoDavid BuchmannSat, 30 Jul 2011 12:47:05 +0000Mon, 8 Aug 2011 11:34:29 +0000Mon, 8 Aug 2011 11:34:29 +000000<p>lukas fixed this in <a href="https://github.com/doctrine/phpcr-odm/commit/f60d980851fb1bfb1b9fae93092945bbc9b97b49" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/commit/f60d980851fb1bfb1b9fae93092945bbc9b97b49</a></p>[PHPCR-18] Documentationhttp://www.doctrine-project.org/jira/browse/PHPCR-18
Doctrine PHPCR<ul>
<li>Create better user documentation. The README is far too long, split it.</li>
<li>Create some documents for the doctrine website and do a doctrine-project.org/projects/phpcr_odm</li>
</ul>
PHPCR-18DocumentationImprovementMajorClosedDuplicateJordi BoggianoDavid BuchmannSat, 30 Jul 2011 12:55:37 +0000Wed, 3 Aug 2011 10:02:30 +0000Wed, 3 Aug 2011 10:02:30 +000000<p>was recreated as <a href="http://www.doctrine-project.org/jira/browse/PHPCR-21" title="converting any existing docs to reST so that it can be added to the site" class="issue-link" data-issue-key="PHPCR-21"><del>PHPCR-21</del></a> with more information</p>[PHPCR-21] converting any existing docs to reST so that it can be added to the sitehttp://www.doctrine-project.org/jira/browse/PHPCR-21
Doctrine PHPCR<p>PHPCR ODM is listed on the Doctrine website:<br/>
<a href="http://www.doctrine-project.org/projects/phpcr_odm" class="external-link" rel="nofollow">http://www.doctrine-project.org/projects/phpcr_odm</a></p>
<p>build doc in this repository:</p>
<p><a href="https://github.com/doctrine/phpcr-odm-documentation" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm-documentation</a></p>
<p>The next step would be to collect all the various documentation flying around and convert them to reST format:<br/>
<a href="https://github.com/doctrine/phpcr-odm/wiki/_pages" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/wiki/_pages</a><br/>
<a href="http://melp.nl/2011/07/symfony2-phpcr-doctrine2-jackalope-recipe/" class="external-link" rel="nofollow">http://melp.nl/2011/07/symfony2-phpcr-doctrine2-jackalope-recipe/</a> (needs to be made Symfony2 unspecific)<br/>
<a href="http://www.craftitonline.com/2011/07/first-symfony2-cmf-based-cms-pagesbundle/" class="external-link" rel="nofollow">http://www.craftitonline.com/2011/07/first-symfony2-cmf-based-cms-pagesbundle/</a> (needs to be made Symfony2 unspecific)<br/>
<a href="http://cmf.symfony.com/slides.html" class="external-link" rel="nofollow">http://cmf.symfony.com/slides.html</a> (needs to be made Symfony2 unspecific)</p>
<p>any other articles flying around?</p>
<p>of course we should also reference PHPCR related docs</p>PHPCR-21converting any existing docs to reST so that it can be added to the siteDocumentationMajorClosedFixedDavid BuchmannLukas KahweMon, 1 Aug 2011 06:05:34 +0000Mon, 22 Oct 2012 15:02:10 +0000Mon, 22 Oct 2012 15:02:10 +000012<p>yes it should be something like <a href="http://github.com/doctrine/phpcr-odm-documentation" class="external-link" rel="nofollow">http://github.com/doctrine/phpcr-odm-documentation</a></p>
<p>and first commit should have the same structure for doc generation that orm-documentation has</p>
<p>then we can start PR'eing...</p>
<p>hand raised @lsmith</p><p>it should be obvious, but the README file of the <a href="https://github.com/doctrine/phpcr-odm" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm</a> repository has a lot of the features documented. i propose that this is taken as starting point and once we have the doc up here on the doctrine website, strip down the README to a minum and reference the doc.</p>
<p>the phpcr doc entry point could be <a href="http://phpcr.github.com" class="external-link" rel="nofollow">http://phpcr.github.com</a> and then we have to work on improving that site too.</p><p>we should also point to this (resp. the place this gets online at <a href="http://cmf.symfony.com" class="external-link" rel="nofollow">http://cmf.symfony.com</a> for usage of phpcr-odm inside symfony:<br/>
<a href="https://github.com/symfony-cmf/symfony-cmf-docs/blob/master/tutorials/installing-configuring-doctrine-phpcr-odm.rst" class="external-link" rel="nofollow">https://github.com/symfony-cmf/symfony-cmf-docs/blob/master/tutorials/installing-configuring-doctrine-phpcr-odm.rst</a></p>
<p>also note that the install instructions there are partially relevant for phpcr-odm without symfony too.</p><p>did a lot of work today, the doc is now largely done, some chapters still missing</p><p>is there anything left to still convert?</p><p>wouldn't know of missing conversions. doc "just" needs to be completed by writing new chapters and improving the existing ones.</p>[PHPCR-12] Use PHPCR\FactoryInterface to bootstraphttp://www.doctrine-project.org/jira/browse/PHPCR-12
Doctrine PHPCR<p>The phpcr-odm should use the factory implementations to bootstrap the phpcr implementation, instead of using new Repository (and jackalope transport and whatnot)</p>PHPCR-12Use PHPCR\FactoryInterface to bootstrapImprovementMajorClosedFixedDavid BuchmannDavid BuchmannFri, 29 Jul 2011 08:34:34 +0000Mon, 8 Aug 2011 11:23:37 +0000Mon, 8 Aug 2011 11:23:37 +000000<p>will wait for johannes to see if we have an issue with new $repositoryfactoryclassname().</p><p>lukas fixed this</p>[PHPCR-10] add support for (weak)referenceshttp://www.doctrine-project.org/jira/browse/PHPCR-10
Doctrine PHPCR<p>creating and removing references</p>PHPCR-10add support for (weak)referencesNew FeatureMajorClosedFixedJordi BoggianoLukas KahweFri, 1 Jul 2011 17:57:32 +0000Fri, 16 Sep 2011 15:08:34 +0000Fri, 16 Sep 2011 15:08:34 +000000<p>Johannes Stark &lt;starkj@gmx.de&gt; is working on that one.</p><p>see <a href="https://github.com/doctrine/phpcr-odm/wiki/References-and-related" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/wiki/References-and-related</a></p><p><a href="https://github.com/doctrine/phpcr-odm/pull/52" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/52</a></p><p>pull request is merged, feature is working.</p>[PHPCR-6] add mappings to reference parents in document propertieshttp://www.doctrine-project.org/jira/browse/PHPCR-6
Doctrine PHPCRPHPCR-6add mappings to reference parents in document propertiesNew FeatureMajorClosedFixedJordi BoggianoLukas KahweFri, 1 Jul 2011 17:53:00 +0000Sat, 22 Oct 2011 13:05:36 +0000Sat, 22 Oct 2011 13:05:36 +000000<p>see <a href="https://github.com/doctrine/phpcr-odm/wiki/References-and-related" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/wiki/References-and-related</a></p><p>looks like uwe is working on that one: <a href="https://github.com/uwej711/phpcr-odm/tree/parent_annotation" class="external-link" rel="nofollow">https://github.com/uwej711/phpcr-odm/tree/parent_annotation</a></p><p>can we close this one?</p><p><a href="https://github.com/doctrine/phpcr-odm/pull/66" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/66</a></p>[PHPCR-4] add mappings to reference versions in document propertieshttp://www.doctrine-project.org/jira/browse/PHPCR-4
Doctrine PHPCRPHPCR-4add mappings to reference versions in document propertiesNew FeatureMajorClosedFixedDavid BuchmannLukas KahweFri, 1 Jul 2011 17:50:20 +0000Fri, 3 Feb 2012 08:11:01 +0000Fri, 3 Feb 2012 08:10:55 +000000<p>we will work on this at liip and release at least rudimentary support by end of november.</p><p>i have talked to David about this a bit.<br/>
overall however we don't want to replicate the VersionManager API yet still we want to always give Document instances and not node instances to the user</p>
<p>ideally there should be a way to specify the label one wants to read inside the document annotation, but also inside a property annotation. so that one could for example always get the "draft" label as the document but get the "current" version of the same document as a property. however it would also be nice to be able to get all predecessors as a property.</p>
<p><a href="https://github.com/doctrine/phpcr-odm/pull/96" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/96</a></p>[PHPCR-116] Move exception messages into factory methodshttp://www.doctrine-project.org/jira/browse/PHPCR-116
Doctrine PHPCR<p>By now there are a lot of exception messages spread all over the code. They should be moved to factory methods of the respective exception classes. Some of them already are.</p>
<p>Follow-up of <a href="http://www.doctrine-project.org/jira/browse/PHPCR-71" title="refactor exceptions" class="issue-link" data-issue-key="PHPCR-71"><del>PHPCR-71</del></a></p>PHPCR-116Move exception messages into factory methodsImprovementMinorClosedDuplicateLukas KahweDavid BuchmannEasy-PickMon, 2 Sep 2013 12:27:04 +0000Sat, 15 Feb 2014 13:26:05 +0000Sat, 15 Feb 2014 13:26:05 +000001<p>moved to github <a href="https://github.com/doctrine/phpcr-odm/issues/431" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/431</a></p>[PHPCR-112] Add a Datetime type annotationhttp://www.doctrine-project.org/jira/browse/PHPCR-112
Doctrine PHPCR<p>I can only create documents with Dates, not with Datetimes. For a CMF, where keeping track of updates is critical, this is a requirement.</p>PHPCR-112Add a Datetime type annotationBugMinorClosedInvalidLukas KahweFrançois ZaninottoThu, 20 Jun 2013 08:35:40 +0000Sun, 4 Aug 2013 15:27:28 +0000Sun, 4 Aug 2013 15:27:28 +000002<p>the thing called date in phpcr and phpcr-odm is a datetime object, so you can store a full timestamp. please do a PR on the phpcr-odm-documentation to clarify that if the doc is confusing atm.</p>[PHPCR-108] suport entity listeners resp document listenershttp://www.doctrine-project.org/jira/browse/PHPCR-108
Doctrine PHPCR<p>see <a href="http://docs.doctrine-project.org/en/latest/reference/events.html#entity-listeners" class="external-link" rel="nofollow">http://docs.doctrine-project.org/en/latest/reference/events.html#entity-listeners</a></p>PHPCR-108suport entity listeners resp document listenersNew FeatureMinorClosedWon't FixLukas KahweDavid BuchmannSun, 5 May 2013 07:42:37 +0000Sat, 15 Feb 2014 13:07:24 +0000Sat, 15 Feb 2014 13:07:24 +000001[PHPCR-104] implement unitofwork isScheduledDocumenthttp://www.doctrine-project.org/jira/browse/PHPCR-104
Doctrine PHPCR<p>as discussed in <a href="https://github.com/doctrine/phpcr-odm/pull/268" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/268</a> we should implement UnitOfWork::isScheduledDocument and isScheduledFor* other than isScheduledForInsert.</p>PHPCR-104implement unitofwork isScheduledDocumentBugMinorClosedDuplicateLukas KahweDavid BuchmannTue, 19 Mar 2013 12:41:05 +0000Sat, 15 Feb 2014 13:09:40 +0000Sat, 15 Feb 2014 13:09:40 +000001<p>moved to github <a href="https://github.com/doctrine/phpcr-odm/issues/426" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/426</a></p>[PHPCR-95] Support parameter binding in QueryBuilder (depends Jackalope support)http://www.doctrine-project.org/jira/browse/PHPCR-95
Doctrine PHPCR<p>Parameter binding is not currently implemented in the QueryBuilder, and the comments seem to indicate that this is because jackalope does not support it at the moment.</p>PHPCR-95Support parameter binding in QueryBuilder (depends Jackalope support)New FeatureMinorClosedDuplicateLukas KahweDaniel Leechquerybuilder,Tue, 19 Feb 2013 22:19:34 +0000Sat, 15 Feb 2014 13:16:15 +0000Sat, 15 Feb 2014 13:16:15 +000002<p>this would be possible once <a href="https://github.com/jackalope/jackalope/issues/59" class="external-link" rel="nofollow">https://github.com/jackalope/jackalope/issues/59</a> has been done</p><p>moved to github <a href="https://github.com/doctrine/phpcr-odm/issues/429" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/429</a></p>[PHPCR-94] Implement ->iterate on Query objecthttp://www.doctrine-project.org/jira/browse/PHPCR-94
Doctrine PHPCR<p>Implement the Query-&gt;iterate method which will return an IteratableResultSet as per the ORM.</p>PHPCR-94Implement ->iterate on Query objectNew FeatureMinorClosedDuplicateLukas KahweDaniel LeechqueryTue, 19 Feb 2013 22:15:30 +0000Sat, 15 Feb 2014 13:06:41 +0000Sat, 15 Feb 2014 13:06:40 +000002<p>is this done? if not, is it trivial?</p><p>moved to github <a href="https://github.com/doctrine/phpcr-odm/issues/425" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/425</a></p>[PHPCR-93] Implement ->clone() method on Query objecthttp://www.doctrine-project.org/jira/browse/PHPCR-93
Doctrine PHPCR<p>As with the ORM query object, implement the -&gt;clone() method.</p>PHPCR-93Implement ->clone() method on Query objectNew FeatureMinorClosedDuplicateLukas KahweDaniel LeechTue, 19 Feb 2013 22:13:45 +0000Sat, 15 Feb 2014 13:10:24 +0000Sat, 15 Feb 2014 13:10:24 +000002<p>moved to github <a href="https://github.com/doctrine/phpcr-odm/issues/413" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/413</a></p>[PHPCR-82] add support to check if a multivalue property of type array actually changed or nothttp://www.doctrine-project.org/jira/browse/PHPCR-82
Doctrine PHPCR<p>right now we only really support checking the dirty state of MultivaluePropertyCollection instances. however in some cases it might be necessary to convert things to an array, even if there are no actual changes. therefore it would be good to also check the dirty state in case of an array</p>PHPCR-82add support to check if a multivalue property of type array actually changed or notBugMinorClosedWon't FixLukas KahweLukas KahweMon, 8 Oct 2012 07:26:37 +0000Thu, 18 Apr 2013 13:06:16 +0000Thu, 18 Apr 2013 13:06:16 +000002<p>we don't have that collection anymore</p>[PHPCR-76] add support for Selectable in PersistentCollectionhttp://www.doctrine-project.org/jira/browse/PHPCR-76
Doctrine PHPCR<p>see the ORM</p>PHPCR-76add support for Selectable in PersistentCollectionNew FeatureMinorClosedInvalidLukas KahweLukas KahweFri, 3 Aug 2012 08:58:56 +0000Thu, 18 Apr 2013 13:06:48 +0000Thu, 18 Apr 2013 13:06:48 +000001[PHPCR-73] add support for custom ID generatorshttp://www.doctrine-project.org/jira/browse/PHPCR-73
Doctrine PHPCR<p><a href="https://github.com/doctrine/doctrine2/pull/206" class="external-link" rel="nofollow">https://github.com/doctrine/doctrine2/pull/206</a></p>PHPCR-73add support for custom ID generatorsNew FeatureMinorClosedDuplicateLukas KahweLukas KahweTue, 17 Jul 2012 06:18:31 +0000Sat, 15 Feb 2014 13:24:57 +0000Sat, 15 Feb 2014 13:24:57 +000002<p>note that id for phpcr-odm is the phpcr path. so this is not the same as <a href="http://www.doctrine-project.org/jira/browse/PHPCR-38" title="make it possible to inject a custom UUID service" class="issue-link" data-issue-key="PHPCR-38"><del>PHPCR-38</del></a> where we talk about the uuid generator.</p><p>maybe the related refactoring could also provide a way to configure a name hint for the autoname generator. see also <a href="https://github.com/doctrine/phpcr-odm/pull/321" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/321</a></p><p>moved to github <a href="https://github.com/doctrine/phpcr-odm/issues/430" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/430</a></p>[PHPCR-59] have a strategy for ReferenceOne/Many PATH to make it relativehttp://www.doctrine-project.org/jira/browse/PHPCR-59
Doctrine PHPCR<p>this is a follow-up of<br/>
<a href="https://github.com/doctrine/phpcr-odm/pull/116" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/116</a></p>
<p>i think a user might need to attach his own strategy to the document manager. we could call this path_relative= and provide "max" that string-compares the target path and the node path and puts as few ../ as necessary. but again this does not block this pull request.</p>PHPCR-59have a strategy for ReferenceOne/Many PATH to make it relativeImprovementMinorClosedDuplicateLukas KahweDavid BuchmannWed, 7 Mar 2012 17:24:37 +0000Fri, 28 Feb 2014 15:42:31 +0000Fri, 28 Feb 2014 15:42:31 +000001<p>moved to <a href="https://github.com/doctrine/phpcr-odm/issues/441" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/441</a></p>[PHPCR-56] Support Hashmaps in fieldshttp://www.doctrine-project.org/jira/browse/PHPCR-56
Doctrine PHPCR<p>we should have an annotation to have multivalue properties be hashmaps, that is arrays with custom keys that get preserved. there are 3 options:</p>
<ul>
<li>two multivalue fields with keys and values respectively. see i.e. <a href="https://github.com/symfony-cmf/symfony-cmf/pull/140" class="external-link" rel="nofollow">https://github.com/symfony-cmf/symfony-cmf/pull/140</a> (another workaround can be to use the @PostLoad and @PreUpdate hooks to split/merge the arrays)</li>
<li>serialize the array into a string field</li>
<li>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.</li>
</ul>
PHPCR-56Support Hashmaps in fieldsNew FeatureMinorClosedFixedLukas KahweDavid BuchmannSun, 26 Feb 2012 10:43:58 +0000Mon, 22 Oct 2012 14:57:24 +0000Mon, 8 Oct 2012 07:11:26 +000001<p>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.<br/>
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).<br/>
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.<br/>
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.</p>
<p>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.</p><p>see <a href="https://github.com/doctrine/phpcr-odm/pull/180" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/180</a></p>ReferencePHPCR-43[PHPCR-45] add ability to prime collectionshttp://www.doctrine-project.org/jira/browse/PHPCR-45
Doctrine PHPCR<p><a href="https://github.com/doctrine/mongodb-odm/commit/2da6e9c92d515edae7c63233740349e0d272b19b" class="external-link" rel="nofollow">https://github.com/doctrine/mongodb-odm/commit/2da6e9c92d515edae7c63233740349e0d272b19b</a></p>PHPCR-45add ability to prime collectionsNew FeatureMinorClosedFixedLukas KahweLukas KahweFri, 3 Feb 2012 07:22:53 +0000Thu, 18 Apr 2013 13:08:19 +0000Thu, 18 Apr 2013 13:08:19 +000001<p>collections are lazy loaded</p>[PHPCR-43] Custom data typehttp://www.doctrine-project.org/jira/browse/PHPCR-43
Doctrine PHPCR<p>It will be great to be able to store array as a json in a property. There is no way to define custom mapping type (it is possible with doctrine ORM)</p>PHPCR-43Custom data typeNew FeatureMinorClosedDuplicateLukas KahweThomas RabaixSun, 29 Jan 2012 19:44:52 +0000Sat, 15 Feb 2014 13:21:30 +0000Sat, 15 Feb 2014 13:21:30 +000002<p>would this be a general solution for <a href="http://www.doctrine-project.org/jira/browse/PHPCR-56" class="external-link" rel="nofollow">http://www.doctrine-project.org/jira/browse/PHPCR-56</a> ?</p><p>yes</p><p>see this issue <a href="https://github.com/doctrine/phpcr-odm/issues/417" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/417</a></p>ReferencePHPCR-56[PHPCR-40] implement inheritance inside find()http://www.doctrine-project.org/jira/browse/PHPCR-40
Doctrine PHPCR<p>meaning if B extends A and someone does -&gt;find('A') that it would find instances of B<br/>
this will require changes to ClassMetadataFactory::doLoadMetadata()<br/>
<a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadataFactory.php#L119" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadataFactory.php#L119</a></p>PHPCR-40implement inheritance inside find()New FeatureMinorClosedFixedLukas KahweLukas KahweWed, 28 Dec 2011 10:00:59 +0000Mon, 18 Feb 2013 18:11:40 +0000Mon, 18 Feb 2013 18:11:34 +000001<p><a href="https://github.com/doctrine/phpcr-odm/pull/218" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/218</a></p>[PHPCR-38] make it possible to inject a custom UUID servicehttp://www.doctrine-project.org/jira/browse/PHPCR-38
Doctrine PHPCR<p>right now we have hardcoded \PHPCR\Util\UUIDHelper::generateUUID(), but that is a very simplistic implementation and the spec is much broader ..</p>PHPCR-38make it possible to inject a custom UUID serviceNew FeatureMinorClosedFixedJordi BoggianoLukas KahweWed, 14 Dec 2011 20:36:53 +0000Sat, 15 Feb 2014 13:22:13 +0000Sat, 15 Feb 2014 13:22:13 +000001<p><a href="https://github.com/doctrine/phpcr-odm/pull/401" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/401</a></p>[PHPCR-36] Provide migrations toolhttp://www.doctrine-project.org/jira/browse/PHPCR-36
Doctrine PHPCR<p>when i have existing content and later change the document class to have referenceable=true, this is not updated even on persisting the document again.</p>
<p>uwe: I think there are several other things that fail when you have existing content in the repository - maybe the solution to think about is something like migrations ... that would prevent the performance penalty on ordinary code and still give you the change to change the structure of your documents.</p>
<p>things that come to mind</p>
<ul>
<li>change document class name</li>
<li>removing fields</li>
<li>change field type</li>
<li>bulk changing the values in some field</li>
<li>everything related to node types (though, as an additional challenge at least jackrabbit does not allow to remove things from node types through the davex remoting we use in jackalope)</li>
</ul>
PHPCR-36Provide migrations toolNew FeatureMinorClosedFixedJordi BoggianoDavid BuchmannThu, 17 Nov 2011 08:01:05 +0000Fri, 28 Feb 2014 15:46:42 +0000Fri, 28 Feb 2014 15:46:42 +000001<p>we now have commands to do such things.</p>ReferencePHPCR-7[PHPCR-30] add support for result cachinghttp://www.doctrine-project.org/jira/browse/PHPCR-30
Doctrine PHPCRPHPCR-30add support for result cachingNew FeatureMinorClosedDuplicateJordi BoggianoLukas KahweSat, 22 Oct 2011 13:28:07 +0000Sat, 15 Feb 2014 13:13:13 +0000Sat, 15 Feb 2014 13:13:13 +000001<p>moved to github <a href="https://github.com/doctrine/phpcr-odm/issues/427" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/427</a></p>[PHPCR-20] Quality assurance and testinghttp://www.doctrine-project.org/jira/browse/PHPCR-20
Doctrine PHPCR<p>Look at test coverage and write more tests if necessary. Focus on the exposed api functional tests so the changes to share code with mongo db <a href="http://www.doctrine-project.org/jira/browse/PHPCR-19" title="Code cleanup and refactoring, align to other odm implementations" class="issue-link" data-issue-key="PHPCR-19"><del>PHPCR-19</del></a> can be tested.</p>PHPCR-20Quality assurance and testingImprovementMinorClosedFixedJordi BoggianoDavid BuchmannSat, 30 Jul 2011 12:59:23 +0000Wed, 28 Dec 2011 23:31:50 +0000Wed, 28 Dec 2011 23:31:50 +000000[PHPCR-9] add logging capabilitieshttp://www.doctrine-project.org/jira/browse/PHPCR-9
Doctrine PHPCR<p>see also <a href="http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/logging.html" class="external-link" rel="nofollow">http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/logging.html</a></p>PHPCR-9add logging capabilitiesNew FeatureMinorClosedFixedJordi BoggianoLukas KahweFri, 1 Jul 2011 17:56:39 +0000Sat, 15 Feb 2014 13:04:55 +0000Sat, 15 Feb 2014 13:04:55 +000001<p>there is progress for logging on phpcr level: <a href="https://github.com/doctrine/DoctrinePHPCRBundle/pull/95" class="external-link" rel="nofollow">https://github.com/doctrine/DoctrinePHPCRBundle/pull/95</a></p>[PHPCR-111] remove deprecated event classes before releasinghttp://www.doctrine-project.org/jira/browse/PHPCR-111
Doctrine PHPCR<p>remove obsolete event arg classes after the next release, see <a href="https://github.com/doctrine/phpcr-odm/pull/288" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/288</a></p>PHPCR-111remove deprecated event classes before releasingTaskBlockerResolvedFixedLukas KahweDavid BuchmannSun, 26 May 2013 18:47:22 +0000Fri, 21 Jun 2013 09:16:22 +0000Fri, 21 Jun 2013 09:16:22 +000001<p>i did not delete the classes yet, we currently still trigger those events and they extend the good events. but we could do that now as we have a release.</p>[PHPCR-110] getAssociationTargetClass targetDocument not sethttp://www.doctrine-project.org/jira/browse/PHPCR-110
Doctrine PHPCR<p>follow up of <a href="https://github.com/doctrine/phpcr-odm/pull/279" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/279</a></p>
<p>ClassMetadata</p>
<p>// TODO this may be not set. what happens if we would return null then?<br/>
return $this-&gt;mappings<span class="error">&#91;$fieldName&#93;</span><span class="error">&#91;&#39;targetDocument&#39;&#93;</span>;</p>
<p>investigate and fix once 279 is merged.</p>PHPCR-110getAssociationTargetClass targetDocument not setBugBlockerResolvedFixedLukas KahweDavid BuchmannMon, 13 May 2013 20:50:00 +0000Sun, 26 May 2013 12:31:05 +0000Sun, 26 May 2013 12:31:05 +000001<p>fixed by <a href="https://github.com/doctrine/phpcr-odm/pull/286" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/286</a></p>[PHPCR-105] ensure xml and yml naming conventions are consistenthttp://www.doctrine-project.org/jira/browse/PHPCR-105
Doctrine PHPCR<p>for yml, all mappings must use camelCase, while for xml it must be connected-text in all lowercase with the dash between. it seems at least fieldName is wrong.</p>
<p>we should clean this up before the first release to avoid having to deal with inconsistent legacy from the beginning.</p>PHPCR-105ensure xml and yml naming conventions are consistentBugBlockerResolvedFixedLukas KahweDavid BuchmannThu, 21 Mar 2013 09:36:40 +0000Thu, 6 Jun 2013 14:17:58 +0000Thu, 6 Jun 2013 14:17:57 +000001<p>for xml, see this PR <a href="https://github.com/doctrine/phpcr-odm/pull/279" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/279</a></p><p>yml is using camelCase everywhere. should we rename fieldName to name as well or is that fine here?</p>[PHPCR-102] DocumentManager::reorder can not be called multiple times for the same parenthttp://www.doctrine-project.org/jira/browse/PHPCR-102
Doctrine PHPCR<p>unless i really misread the code in UnitOfWork::scheduleReorder, trying to reorder more than one child of the same parent document will drop the previous reordering.</p>
<p>the whole method is of limited use, as you can also reorder the children in the ChildrenCollection.</p>PHPCR-102DocumentManager::reorder can not be called multiple times for the same parentBugBlockerResolvedFixedDavid BuchmannDavid BuchmannFri, 1 Mar 2013 16:40:08 +0000Fri, 19 Apr 2013 11:10:20 +0000Fri, 19 Apr 2013 11:10:20 +000001<p>expand to have an array of reorderings per parent instead of just one reordering.</p><p><a href="https://github.com/doctrine/phpcr-odm/pull/278" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/278</a></p>[PHPCR-91] getSIngleResult throws ambiguous Exceptionhttp://www.doctrine-project.org/jira/browse/PHPCR-91
Doctrine PHPCR<p>Query-&gt;getSingleResult correctly throws an Exception when there are no results (or more than one), but it is an Exception that could also be produced by other things, so not guaranteed to mean that (<br/>
(<a href="http://docs.doctrine-project.org/projects/doctrine-phpcr-odm/en/latest/reference/query.html#getsingleresult" class="external-link" rel="nofollow">http://docs.doctrine-project.org/projects/doctrine-phpcr-odm/en/latest/reference/query.html#getsingleresult</a>)</p>PHPCR-91getSIngleResult throws ambiguous ExceptionBugBlockerResolvedFixedLukas KahweDaniel Leech1.0queryTue, 19 Feb 2013 22:09:00 +0000Thu, 22 Aug 2013 20:01:34 +0000Thu, 22 Aug 2013 20:01:34 +000002<p><a href="https://github.com/doctrine/phpcr-odm/pull/320" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/320</a></p>[PHPCR-71] refactor exceptionshttp://www.doctrine-project.org/jira/browse/PHPCR-71
Doctrine PHPCR<p><a href="https://github.com/doctrine/phpcr-odm/pull/144#discussion_r963877" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/144#discussion_r963877</a> reveiled that we should look into the exception concepts and streamline them.</p>PHPCR-71refactor exceptionsImprovementBlockerResolvedFixedLukas KahweDavid BuchmannTue, 12 Jun 2012 08:33:35 +0000Fri, 4 Oct 2013 07:18:46 +0000Fri, 4 Oct 2013 07:18:46 +000012<p>fixed in <a href="https://github.com/doctrine/phpcr-odm/pull/322" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/322</a></p>
<p>created <a href="http://www.doctrine-project.org/jira/browse/PHPCR-116" title="Move exception messages into factory methods" class="issue-link" data-issue-key="PHPCR-116"><del>PHPCR-116</del></a> as a follow up</p><p>see <a href="https://github.com/doctrine/phpcr-odm/pull/354" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/354</a></p>[PHPCR-61] review how the ORM and other ODM's initialize collection propertieshttp://www.doctrine-project.org/jira/browse/PHPCR-61
Doctrine PHPCR<p>right now when we for example have a @ReferenceMany but nothing is assigned, then when we read said object from the database that property is set to null. should it rather be initialized as an empty collection?</p>PHPCR-61review how the ORM and other ODM's initialize collection propertiesTaskBlockerResolvedInvalidLukas KahweLukas KahweWed, 4 Apr 2012 08:36:01 +0000Fri, 23 Aug 2013 13:59:48 +0000Fri, 23 Aug 2013 13:59:48 +000001<p>it seems like the behavior is consistent with the ORM</p>[PHPCR-113] NodeName start on non-ansi charsethttp://www.doctrine-project.org/jira/browse/PHPCR-113
Doctrine PHPCR<p>I try create nodes by Doctrine Phpcr ORM and manual</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-none">
$node = new Folder();
$node-&gt;setNodename($name);
$parent = $this-&gt;dm-&gt;find(null, '/documents');
$node-&gt;setParent($parent);
$this-&gt;dm-&gt;persist($node);
$this-&gt;dm-&gt;flush();
</pre>
</div></div>
<p>$name = 'test-тест'; test-тест<br/>
$name = 'тест-test'; -test<br/>
$name = 'тест'; documents</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-none">
$session = $this-&gt;container-&gt;get('doctrine_phpcr.default_session');
$root = $session-&gt;getRootNode();
$node = $root-&gt;getNode('documents');
$node-&gt;addNode($name, 'sling:Folder');
$session-&gt;save();
</pre>
</div></div>
<p>$name = 'test-тест'; test-тест<br/>
$name = 'тест-test'; тест-test<br/>
$name = 'тест'; тест</p>
PHPCR-113NodeName start on non-ansi charsetBugMajorResolvedFixedLukas KahweIvan BorzenkovWed, 3 Jul 2013 14:08:33 +0000Fri, 23 Aug 2013 14:13:54 +0000Fri, 23 Aug 2013 14:13:54 +000001<p>in jackalope fixed<br/>
<a href="https://github.com/jackalope/jackalope/issues/32" class="external-link" rel="nofollow">https://github.com/jackalope/jackalope/issues/32</a></p>[PHPCR-109] Why Generic::getNodename and not camelcase?http://www.doctrine-project.org/jira/browse/PHPCR-109
Doctrine PHPCR<p>Is there a reason why the get node name method on the generic document is -&gt;getNodename and not -&gt;getNodeName?</p>PHPCR-109Why Generic::getNodename and not camelcase?BugMajorResolvedWon't FixLukas KahweDaniel LeechSat, 11 May 2013 18:42:01 +0000Fri, 23 Aug 2013 14:15:22 +0000Fri, 23 Aug 2013 14:15:22 +000002<p>because the field is mapped as nodename, not nodeName. its representing $node-&gt;getName() - calling it just name seemed to confusing. </p>
<p>i vote against it, but if we want to change the mapping, we should do that right now, as i am breaking everything anyways in <a href="https://github.com/doctrine/phpcr-odm/pull/279" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/279</a></p><p>ok if we close this and leave as is?</p>[PHPCR-107] Support for ->sameNode type queries in QueryBuilder/ExpressionBuilderhttp://www.doctrine-project.org/jira/browse/PHPCR-107
Doctrine PHPCR<p>We should support sameNode operator of the QOMFactory in the QueryBuilder.</p>
<p>An example using the PHPCR QB from the DoctrinePHPCRAdminBundle:</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<div class="error"><span class="error">Unable to find source-code formatter for language: php.</span> Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml</div><pre>
$qb = $queryProxy-&gt;getQueryBuilder();
$qmf = $qb-&gt;getQOMFactory();
$constraint = <span class="code-keyword">null</span>;
foreach ($idx as $id) {
$path = $<span class="code-keyword">this</span>-&gt;getBackendId($id);
$condition = $qmf-&gt;sameNode($path);
<span class="code-keyword">if</span> ($constraint) {
$constraint = $qmf-&gt;orConstraint($constraint, $condition);
} <span class="code-keyword">else</span> {
$constraint = $condition;
}
}
$qb-&gt;andWhere($constraint);
</pre>
</div></div>PHPCR-107Support for ->sameNode type queries in QueryBuilder/ExpressionBuilderImprovementMajorResolvedFixedLukas KahweDaniel Leech1.0Sat, 20 Apr 2013 20:06:24 +0000Thu, 25 Apr 2013 16:40:07 +0000Thu, 25 Apr 2013 16:40:07 +000001<p><a href="https://github.com/doctrine/phpcr-odm/pull/280" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/280</a></p>[PHPCR-101] MissingTranslationException when parent is not translatedhttp://www.doctrine-project.org/jira/browse/PHPCR-101
Doctrine PHPCR<p>Getting a MissingTranslationException when displaying a banner on the frontend. It seems to be caused in the refreshDocumentForProxy method on line 496 of UOW, the parent document does not have a locale and therefore the fallback hint is false. The banner block is not translated and the banner images are (title property). </p>
<p>See for a stacktrace: <a href="https://gist.github.com/rmsint/2c6700e00c47c95dc30e" class="external-link" rel="nofollow">https://gist.github.com/rmsint/2c6700e00c47c95dc30e</a></p>PHPCR-101MissingTranslationException when parent is not translatedBugMajorResolvedFixedLukas KahweRoel SintFri, 1 Mar 2013 16:30:49 +0000Fri, 23 Aug 2013 14:15:57 +0000Fri, 23 Aug 2013 14:15:57 +000002<p>roel, can you please test with the latest phpcr-odm? we think this should be fixed now.</p><p>ping roel</p>[PHPCR-100] The mixin `jcr:lastModified` is not updatedhttp://www.doctrine-project.org/jira/browse/PHPCR-100
Doctrine PHPCR<p>If the document have `jcr:lastModified`, this attribute is filled on create but not updated when a document is modified.</p>
<p>I tried to set manually this attribute and it is not updated too.</p>PHPCR-100The mixin `jcr:lastModified` is not updatedBugMajorResolvedFixedLukas KahwePierre-Louis LAUNAYFri, 1 Mar 2013 11:39:41 +0000Sat, 24 Aug 2013 11:55:39 +0000Sat, 24 Aug 2013 11:55:39 +000003<p>jackrabbit for example does not automatically update this field. but setting it manually should work, so this could be a bug of phpcr-odm</p><p><a href="http://www.doctrine-project.org/jira/secure/ViewProfile.jspa?name=laupifrpar" class="user-hover" rel="laupifrpar">Pierre-Louis LAUNAY</a> could you investigate why manually setting the field does not work? it could be that the phpcr-odm UnitOfWork ignores the field, or also that jackalope ignores changes to the field...</p><p>this issue appears to have been fixed:<br/>
<a href="https://github.com/doctrine/phpcr-odm/commit/d0a2a2ec22f5b4dba4db5704905a958ab75ce718" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/commit/d0a2a2ec22f5b4dba4db5704905a958ab75ce718</a></p>[PHPCR-90] referrer delete and cascade deletehttp://www.doctrine-project.org/jira/browse/PHPCR-90
Doctrine PHPCR<p>currently, removing an entry from the referrer collection has no effect, nothing is deleted.</p>
<p>without cascading, we should delete the value from the referencing property (needs the filter(mappedBy) attribute again), with cascading we should delete the referencing document.</p>
<p>see also <a href="https://github.com/doctrine/phpcr-odm/pull/234" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/234</a></p>PHPCR-90referrer delete and cascade deleteBugMajorResolvedFixedLukas KahweDavid BuchmannTue, 19 Feb 2013 12:14:35 +0000Tue, 12 Mar 2013 17:04:17 +0000Tue, 12 Mar 2013 17:04:17 +000001<p>adding something to the referrers collection is also not taken into account atm.</p><p><a href="https://github.com/doctrine/phpcr-odm/pull/252" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/252</a></p>[PHPCR-83] make the test suite run and pass with Doctrine DBALhttp://www.doctrine-project.org/jira/browse/PHPCR-83
Doctrine PHPCR<p>this will likely require some work to disable certain tests relying on features not yet implemented</p>PHPCR-83make the test suite run and pass with Doctrine DBALTaskMajorResolvedFixedLukas KahweLukas KahweMon, 22 Oct 2012 14:59:13 +0000Fri, 11 Jan 2013 15:13:59 +0000Fri, 11 Jan 2013 15:13:59 +000001<p>actually already fixed with the latest changes in phpcr-utils<br/>
the issue is that we currently require 1.0-beta3<br/>
<a href="https://github.com/phpcr/phpcr-utils/compare/1.0-beta3...master#L21R519" class="external-link" rel="nofollow">https://github.com/phpcr/phpcr-utils/compare/1.0-beta3...master#L21R519</a></p><p><a href="https://travis-ci.org/doctrine/phpcr-odm" class="external-link" rel="nofollow">https://travis-ci.org/doctrine/phpcr-odm</a></p>ReferencePHPCR-47[PHPCR-79] metadata type for non-property mappingshttp://www.doctrine-project.org/jira/browse/PHPCR-79
Doctrine PHPCR<p>(this is a follow up of <a href="https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/issues/56" class="external-link" rel="nofollow">https://github.com/sonata-project/SonataDoctrinePhpcrAdminBundle/issues/56</a>)</p>
<p>ClassMetadata::mapField does not automatically assign a type except for the id field. we should add them here to have type information for things like nodename so for example sonata admin (or the symfony form builder?) can use that information to decide on the widget to use.</p>
<p>open question: is there a natural type mapping for children/parent? should we use MANY_TO_ONE for parent and ONE_TO_MANY for children? or is that a problem as its not arbitrary relations, should we add new types for this?</p>PHPCR-79metadata type for non-property mappingsBugMajorResolvedFixedLukas KahweDavid BuchmannMon, 3 Sep 2012 14:55:26 +0000Mon, 14 Jan 2013 23:13:29 +0000Mon, 14 Jan 2013 23:13:29 +000001[PHPCR-78] Exception "Can't remove the protected property: jcr:created" on persisthttp://www.doctrine-project.org/jira/browse/PHPCR-78
Doctrine PHPCR<p>When a Document contains a reference field (tested with @ReferenceMany(strategy="hard"), @ReferenceOne(strategy="hard")) and a "jcr:created" field in its metadata, then phpcr-odm try to update the protected field (jcr:created) to NULL on persist.</p>
<p>Jackalope throws the following exception :</p>
<p> <span class="error">&#91;PHPCR\NodeType\ConstraintViolationException&#93;</span> <br/>
Can't remove the protected property: jcr:created</p>* phpcrodm #fc47314043805c1b8d1e998d534abec75874a8e5
<br/>
* jackalope #6de09e160a2d56b34d34e8120a254fbe46892fb7
<br/>
* jackalope-jackrabbit #3c4fb61bf0c0664d09ef520683842e6426c033e0PHPCR-78Exception "Can't remove the protected property: jcr:created" on persistBugMajorResolvedFixedLukas Kahwedamien pitardFri, 10 Aug 2012 09:17:06 +0000Thu, 30 Aug 2012 09:12:46 +0000Thu, 30 Aug 2012 09:12:46 +000002<p>here's a functional test to reproduce the bug <a href="https://github.com/pitpit/phpcr-odm/commit/a7e1ba83d78771599181d2dee3c03c5163cf26e7" class="external-link" rel="nofollow">https://github.com/pitpit/phpcr-odm/commit/a7e1ba83d78771599181d2dee3c03c5163cf26e7</a></p><p>fixed by <a href="https://github.com/doctrine/phpcr-odm/pull/158" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/158</a></p>[PHPCR-70] ContentDocument Relationships returning NULL in Actionhttp://www.doctrine-project.org/jira/browse/PHPCR-70
Doctrine PHPCR<p>So i have 2 Documents:</p>
<p>Page: <a href="http://pastebin.com/b5X32JPc" class="external-link" rel="nofollow">http://pastebin.com/b5X32JPc</a></p>
<p>Category: <a href="http://pastebin.com/A1gB6kyg" class="external-link" rel="nofollow">http://pastebin.com/A1gB6kyg</a></p>
<p>A Category has many pages.</p>
<p>Now here's my (test) action: <a href="http://pastebin.com/ypjxqZPu" class="external-link" rel="nofollow">http://pastebin.com/ypjxqZPu</a></p>
<p>As you can see, $contentDocument is a page in this case. If i call $contentDocument-&gt;category i get back "null".</p>
<p>If however i tell the document manager to fetch the Page document by it's path, then $contentDocument-&gt;category will work...</p>
<p>Our conclusion is that if you take the $contentDocument that is passed to your action, and you try to fetch it's ParentDocument inside the action (mapped to a property) you always get null.<br/>
However, what is very weird, is that inside twig it works (page.category would work in twig but page-&gt;category would return null inside the action, before the twig render)</p>PHPCR-70ContentDocument Relationships returning NULL in ActionBugMajorResolvedFixedLukas KahweFreddy H.Wed, 6 Jun 2012 20:55:15 +0000Sat, 21 Jul 2012 14:26:04 +0000Sat, 21 Jul 2012 14:26:04 +000001<p>this might be a bug of combining reference with parent.</p>
<p><span class="error">&#91;23:06&#93;</span> &lt;dbu&gt; look at vendor/doctrine/phpcr-odm/tests/Doctrine/Tests/ODM/PHPCR/Functional/HierarchyTest.php<br/>
<span class="error">&#91;23:07&#93;</span> &lt;dbu&gt; and create a new test that tries to load node C, follow its reference to node B and check if its parent A is not null</p><p>i have managed to reproduce the bug .. i am looking into fixing it now.</p><p>fixed in master</p>[PHPCR-69] persist referrershttp://www.doctrine-project.org/jira/browse/PHPCR-69
Doctrine PHPCR<p>phpcr knows reference and referrer (backlink). the reference is a property of a node with a defined name. the referrer is an information on the node without a property name in PHPCR. we have the annotation @Referrers to map this information onto a document field. the annotation can take an optional filter argument to only use references pointing to this node with a specific phpcr name.</p>
<p>we could add something like the cascade option found in the orm to allow assigning a document to a referrer property and automatically persist it. we will need to explicitly specify the reference property name to be used on the source document in this case (orm uses mappedBy for this)</p>
<p>github user mdekrijger started working on this. today, he wrote: Adding the annotations was quite easy, still figuring out the unitofwork where the actual processing must be implemented. Currently I can't spend much more time on it until end of june. If it isn't done yet by that time, I surely will pick it up from there.</p>PHPCR-69persist referrersNew FeatureMajorResolvedFixedLukas KahweDavid BuchmannMon, 4 Jun 2012 10:31:24 +0000Fri, 11 Jan 2013 08:53:40 +0000Fri, 11 Jan 2013 08:53:40 +000002<p>Could someone assign this to me? If not I will just comment this issue when new info is available</p><p>hmm .. bah i guess its not possible to assign the ticket for you unless someone upgrades your account for which i dont have the permissions .. so just keep commenting i guess</p><p>i guess this is now fixed?</p><p>yes, i think so. you implemented that with the cascading configuration options, didn't you?</p><p>yes .. referrer changes are cascaded with control over the cascading</p>[PHPCR-62] avoid dereferencing proxies on savehttp://www.doctrine-project.org/jira/browse/PHPCR-62
Doctrine PHPCR<p>chregu found in a large project that the odm seems to resolve all unresolved proxy documents during flush, even if the @ReferenceMany or @Referrer was not touched by the code.</p>
<p>we should make sure this does not happen.</p>PHPCR-62avoid dereferencing proxies on saveBugMajorResolvedFixedLukas KahweDavid BuchmannThu, 5 Apr 2012 12:17:02 +0000Tue, 10 Apr 2012 08:47:37 +0000Tue, 10 Apr 2012 08:47:37 +000000[PHPCR-60] add finalize step to mapping to calculate and validatehttp://www.doctrine-project.org/jira/browse/PHPCR-60
Doctrine PHPCR<p>follow up of the discussion in <a href="https://github.com/doctrine/phpcr-odm/pull/120" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/120</a></p>
<p>id strategy:</p>
<p>1. if there is an id with a strategy always use that<br/>
2. if not and there is a parent and a node name mapping use the parent strategy<br/>
3. else use assigned strategy if there is an id field<br/>
4. throw an exception that you can't use this document</p>
<p>finalizing the mapping could have the added benefit of combined validation. for example if assigned strategy is parent and name but there is no field mapped to the name, it would tell this is invalid.</p>
<p>think what should be validated at the finalize point.</p>PHPCR-60add finalize step to mapping to calculate and validateImprovementMajorResolvedFixedLukas KahweDavid BuchmannFri, 9 Mar 2012 15:07:49 +0000Wed, 2 Oct 2013 11:19:59 +0000Wed, 2 Oct 2013 11:19:59 +000002<p>added a method for final validation here <a href="https://github.com/doctrine/phpcr-odm/pull/180" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/180</a></p><p>see <a href="https://github.com/doctrine/phpcr-odm/pull/351" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/351</a></p>[PHPCR-51] make it possible to add attributes to type mappingshttp://www.doctrine-project.org/jira/browse/PHPCR-51
Doctrine PHPCR<p>f.e. make it possible to make a string mapped typed translatable inside an inherited class<br/>
this will require modifications to the ClassMetadata class:<br/>
<a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadata.php#L578" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadata.php#L578</a></p>PHPCR-51make it possible to add attributes to type mappingsBugMajorResolvedFixedLukas KahweLukas KahweMon, 13 Feb 2012 23:39:15 +0000Thu, 16 Feb 2012 16:48:34 +0000Thu, 16 Feb 2012 16:48:34 +000000<p>see <a href="https://github.com/doctrine/phpcr-odm/pull/105" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/105</a></p><p>fixed with 115f1961600e6cd4fedbec30f1c7590a4d375d57</p>[PHPCR-50] fix handling of children on updatehttp://www.doctrine-project.org/jira/browse/PHPCR-50
Doctrine PHPCR<p>right now we do not check if individual elements in the collection have been added or removed. furthermore since we can now update the order of children in jackalope, we can implement this in collection persistence as well.</p>PHPCR-50fix handling of children on updateBugMajorResolvedFixedLukas KahweLukas KahweMon, 13 Feb 2012 23:37:57 +0000Thu, 12 Apr 2012 20:40:12 +0000Thu, 12 Apr 2012 20:40:12 +000000<p>some initial work<br/>
<a href="https://github.com/doctrine/phpcr-odm/commit/a2dc3bc827ded1f54c7bd4708c4e495935ad39e5" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/commit/a2dc3bc827ded1f54c7bd4708c4e495935ad39e5</a></p><p>adding/removing is now implemented, reordering is still missing (see <a href="https://github.com/doctrine/phpcr-odm/tree/children_updating" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/tree/children_updating</a>)</p>[PHPCR-52] lazy loading of ReferenceMany failshttp://www.doctrine-project.org/jira/browse/PHPCR-52
Doctrine PHPCR<p>When I have a document with ReferenceMany "Links", Doctrine PHPCR always loads all those referenced documents, even if I just load the main document. This is obviously very bad for performance.</p>
<p><a href="https://gist.github.com/1838831" class="external-link" rel="nofollow">https://gist.github.com/1838831</a><br/>
is a reproducible use-case. Just ran it twice and you'll see that in the second run, there is</p>
<ul class="alternate" type="square">
<li>one GET request for the initial documents</li>
<li>a REPORT request for every referenced document to resolve the UUID to a path</li>
<li>a POST request for multi-get-ing all the referenced documents</li>
</ul>
<p>See also this charles-screenshot <br/>
<a href="https://img.skitch.com/20120215-8572c4s5mc8gt2da5wjd71512w.jpg" class="external-link" rel="nofollow">https://img.skitch.com/20120215-8572c4s5mc8gt2da5wjd71512w.jpg</a></p>
<p>I have no idea where to look at to fix this, so any help would be very appreciated</p>PHPCR-52lazy loading of ReferenceMany failsBugMajorResolvedFixedLukas KahweChristian StockerWed, 15 Feb 2012 20:39:14 +0000Wed, 22 Feb 2012 14:57:38 +0000Wed, 22 Feb 2012 14:57:38 +000000[PHPCR-53] repository::createDocument is never calledhttp://www.doctrine-project.org/jira/browse/PHPCR-53
Doctrine PHPCR<p>i tried using repositories. see </p>
<p><a href="https://github.com/symfony-cmf/ChainRoutingBundle/commit/12515f82b02c4a1ef230b05133ec89e03c1af2e0" class="external-link" rel="nofollow">https://github.com/symfony-cmf/ChainRoutingBundle/commit/12515f82b02c4a1ef230b05133ec89e03c1af2e0</a><br/>
<a href="https://github.com/symfony-cmf/ChainRoutingBundle/commit/edd9f9544eadedb142fefd3ea9bb0c3b293c59d5" class="external-link" rel="nofollow">https://github.com/symfony-cmf/ChainRoutingBundle/commit/edd9f9544eadedb142fefd3ea9bb0c3b293c59d5</a></p>
<p>however, from looking at the uow code i have the impression that createDocument is never called on DocumentRepository but directly in UOW. shouldn't the uow fetch the repository and build the document with the repository? effectively moving UOW::createDocument impl. to the base repository?</p>PHPCR-53repository::createDocument is never calledBugMajorResolvedFixedLukas KahweDavid BuchmannSat, 18 Feb 2012 11:05:47 +0000Wed, 22 Feb 2012 07:51:06 +0000Wed, 22 Feb 2012 07:51:06 +000000<p>none of the other ODM/ORM seem to have a create*() method in the repository. i suspect using a listener is the right approach and we should remove that method from the DocumentRepository.</p><p>removed the method</p>[PHPCR-49] rewrite DocumentRepository::createQuery() to use QOMhttp://www.doctrine-project.org/jira/browse/PHPCR-49
Doctrine PHPCR<p><a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentRepository.php#L253" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/DocumentRepository.php#L253</a></p>PHPCR-49rewrite DocumentRepository::createQuery() to use QOMNew FeatureMajorResolvedFixedLukas KahweLukas KahweWed, 8 Feb 2012 17:31:19 +0000Fri, 10 Feb 2012 17:46:43 +0000Fri, 10 Feb 2012 17:46:43 +000000[PHPCR-47] make it possible to disable exceptions for phpcr implementations without versioning supporthttp://www.doctrine-project.org/jira/browse/PHPCR-47
Doctrine PHPCR<p>so method calls to checkPoint() etc shouldn't fail. full versioning should just set referenceable etc.</p>PHPCR-47make it possible to disable exceptions for phpcr implementations without versioning supportNew FeatureMajorResolvedFixedLukas KahweLukas KahweMon, 6 Feb 2012 13:52:19 +0000Wed, 14 Nov 2012 10:49:45 +0000Wed, 14 Nov 2012 10:49:45 +000001<p><a href="https://github.com/doctrine/phpcr-odm/pull/188" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/188</a></p>ReferencePHPCR-83[PHPCR-42] sync the xml/yml mapping driver with the annotation driverhttp://www.doctrine-project.org/jira/browse/PHPCR-42
Doctrine PHPCR<p>especially the locale/version stuff is not yet supported. but also the reference mapping seems to look quite different.</p>PHPCR-42sync the xml/yml mapping driver with the annotation driverBugMajorResolvedFixedLukas KahweLukas KahweWed, 25 Jan 2012 16:37:55 +0000Fri, 17 Aug 2012 08:17:16 +0000Fri, 17 Aug 2012 08:17:16 +000002<p>versioning is done now: <a href="https://github.com/doctrine/phpcr-odm/pull/96" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/96</a></p>
<p>but we miss tests for the non-annotation mappings</p><p>how to proceed:</p>
<ul>
<li>Refactor the tests about mapping to have abstract base tests to assert things, and one test for each annotation/yml/xml/php so we really test the same outcome <a href="https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Mapping" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Mapping</a></li>
<li>Check with code coverage of <a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/Driver/AnnotationDriver.php" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/Driver/AnnotationDriver.php</a> and <a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadata.php" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/Mapping/ClassMetadata.php</a> if everything is covered</li>
<li>Fix missing annotations</li>
<li>Also test invalid metadata values or combinations - they should throw the same errors with all mappings</li>
<li>Check the documentation for meta data in the readme. add some note about xml/yml/php format (but do not repeat the doc, just explain the differences)</li>
</ul>
<p>initial test for annotations is added here, please evolve from this<br/>
<a href="https://github.com/doctrine/phpcr-odm/commit/38f8bbc8b655aafd099287e18401248c44b40492" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/commit/38f8bbc8b655aafd099287e18401248c44b40492</a></p><p>hi dbu, lsmith, i gave thought to this and did some corrections <a href="https://github.com/doctrine/phpcr-odm/pull/133" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/133</a></p>
<p>however I am totally disoriented as i see two Mapping folders as follows:</p>
<p>1. <a href="https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Functional/Mapping" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Functional/Mapping</a><br/>
There is only 1 class here with a TODO which i found not very clear about what to do next</p>
<p>2. <a href="https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Mapping" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/tree/master/tests/Doctrine/Tests/ODM/PHPCR/Mapping</a><br/>
These set of classes was already refactored by someone else before I came in and I guess the work is done</p>
<p>I check the coverage as you said on the annotation driver class so it basically lacks the lifecycle callbacks usage, but where to put these tests in as i am confused</p>
<blockquote>
<p><font color="red"> <br/>
160 0 : if ($annot instanceof ODM\PrePersist) {
161 0 : $metadata-&gt;addLifecycleCallback($method-&gt;getName(), Event::prePersist);
162 0 : } elseif ($annot instanceof ODM\PostPersist) {
163 0 : $metadata-&gt;addLifecycleCallback($method-&gt;getName(), Event::postPersist);
164 0 : } elseif ($annot instanceof ODM\PreUpdate) {
165 0 : $metadata-&gt;addLifecycleCallback($method-&gt;getName(), Event::preUpdate);
166 0 : } elseif ($annot instanceof ODM\PostUpdate) {
167 0 : $metadata-&gt;addLifecycleCallback($method-&gt;getName(), Event::postUpdate);
168 0 : } elseif ($annot instanceof ODM\PreRemove) {
169 0 : $metadata-&gt;addLifecycleCallback($method-&gt;getName(), Event::preRemove);
170 0 : } elseif ($annot instanceof ODM\PostRemove) {
171 0 : $metadata-&gt;addLifecycleCallback($method-&gt;getName(), Event::postRemove);
172 0 : } elseif ($annot instanceof ODM\PostLoad) {
173 0 : $metadata-&gt;addLifecycleCallback($method-&gt;getName(), Event::postLoad);
174 0 : } </font></p></blockquote>
<p>Also i am not very familiar with the schema of the annotation driver how to test so any explanation or help pointers would be great, thanks</p><p>I am so not using jira sorry guys, ---&gt; <a href="https://github.com/doctrine/phpcr-odm/pull/133" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/133</a></p><p>@craigmarvelley started working on this, promised a pull request soon</p><p>I've opened a PR here, there's still a bit left to be done that I'm hoping to add in the next few days.</p>
<p><a href="https://github.com/doctrine/phpcr-odm/pull/144" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/144</a></p><p>the pull request by craig has meanwhile been merged.</p>
<p>there is still a bit of issues:</p>
<p>the driver looks for the non-namespaced file. i.e. No mapping file found named '/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/routing-extra-bundle/Symfony/Cmf/Bundle/RoutingExtraBundle/Resources/config/doctrine/Route.phpcr.xml' for class 'Symfony\Cmf\Bundle\RoutingExtraBundle\Document\Route'.</p>
<p>but if i put that file there and have an error, he tells me Invalid mapping file 'Symfony.Cmf.Bundle.RoutingExtraBundle.Document.Route.phpcr.xml'</p>
<p>so the name determiner seems to be off a bit</p><p>also, the mapped superclass feature makes no sense with phpcr-odm, we can simply inherit from document classes.</p><p>actually mapped superclass seems to be relevant, but i did not yet understand it and the doc about it should be updated. see discussion in <a href="https://github.com/doctrine/phpcr-odm/pull/144#issuecomment-7095570" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/144#issuecomment-7095570</a></p><p>seems to me like reference/referrer/translation/versioning is all done .. so if there is anything left .. please open a new ticket</p>[PHPCR-37] update for latest doctrine common featureshttp://www.doctrine-project.org/jira/browse/PHPCR-37
Doctrine PHPCR<p>see</p>
<p><a href="https://github.com/doctrine/common/pull/71" class="external-link" rel="nofollow">https://github.com/doctrine/common/pull/71</a><br/>
<a href="https://github.com/doctrine/common/pull/75" class="external-link" rel="nofollow">https://github.com/doctrine/common/pull/75</a><br/>
<a href="https://github.com/doctrine/common/pull/83" class="external-link" rel="nofollow">https://github.com/doctrine/common/pull/83</a><br/>
<a href="https://github.com/doctrine/common/commit/07d2f04408534f0870d9873a420e294a4b0db439" class="external-link" rel="nofollow">https://github.com/doctrine/common/commit/07d2f04408534f0870d9873a420e294a4b0db439</a> (done)</p>
<p>as well as <a href="https://github.com/doctrine/couchdb-odm/commit/56f4ce911c9fd7cf32547a9d454141f250c9de54" class="external-link" rel="nofollow">https://github.com/doctrine/couchdb-odm/commit/56f4ce911c9fd7cf32547a9d454141f250c9de54</a> (done)</p>PHPCR-37update for latest doctrine common featuresTaskMajorResolvedFixedJordi BoggianoLukas KahweWed, 14 Dec 2011 16:47:17 +0000Wed, 28 Dec 2011 23:28:15 +0000Wed, 28 Dec 2011 23:28:15 +000001<p>some steps already done by <a href="https://github.com/doctrine/phpcr-odm/pull/84" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/84</a></p><p>Will start working on it tomorrow <img class="emoticon" src="http://www.doctrine-project.org/jira/images/icons/emoticons/smile.gif" height="16" width="16" align="absmiddle" alt="" border="0"/></p><p>I started work here <a href="https://github.com/Ocramius/phpcr-odm/compare/sync-doctrine-common-metadata-changes" class="external-link" rel="nofollow">https://github.com/Ocramius/phpcr-odm/compare/sync-doctrine-common-metadata-changes</a></p>
<p>Please notice that I removed a public method (loadMetadataForAlias, I think) from the ClassMetadataFactory.</p>
<p>Also, I'd love to have some help in understanding what Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory#doLoadMetadata($class, $parent, $rootEntityFound) should look like when implemented. </p><p>For reference, this is being handled at <a href="https://github.com/doctrine/phpcr-odm/pull/85" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/85</a></p><p>merged</p>[PHPCR-34] replacing a document failshttp://www.doctrine-project.org/jira/browse/PHPCR-34
Doctrine PHPCR<p>when we have a saved document and remove that, then add a document at the same path without a flush in between, we get an exception. the reason is that persist already adds the phpcr node, but scheduleRemove does not remove the phpcrnode right away.</p>
<p>the fix looks like it should be:<br/>
UnitOfWork.php 504 remove phpcr node - 1022 do not remove here as it was removed before.</p>
<p>but this leads to a problem that is either in jackalope or the phpcr-odm about /functional/user/phpcr:class being not found.</p>
<p>1) Doctrine\Tests\ODM\PHPCR\Functional\BasicCrudTest::testRemoveAndInsert<br/>
PHPCR\ItemExistsException: This node already has a child named user.</p>
<p>/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/vendor/jackalope/src/Jackalope/Node.php:303<br/>
/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/UnitOfWork.php:763<br/>
/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/UnitOfWork.php:404<br/>
/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/UnitOfWork.php:386<br/>
/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/DocumentManager.php:312<br/>
/home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/tests/Doctrine/Tests/ODM/PHPCR/Functional/BasicCrudTest.php:152</p>
PHPCR-34replacing a document failsBugMajorResolvedFixedJordi BoggianoDavid BuchmannSun, 13 Nov 2011 21:13:08 +0000Wed, 22 Feb 2012 15:03:39 +0000Wed, 22 Feb 2012 15:03:39 +000000<p>imho this is now fixed. it will throw an \InvalidArgumentException that the document is detached. I have added relevant tests.</p>
<p>i have also created a ticket to add something to the persistence interfaces to make it possible to ensure that a node is cleared back to defaults for all fields not being persisted: <a href="http://www.doctrine-project.org/jira/browse/DCOM-77" class="external-link" rel="nofollow">http://www.doctrine-project.org/jira/browse/DCOM-77</a></p><p>i still have a problem with this. doing </p>
<p> if ($old_node = $this-&gt;dm-&gt;find(null, $path)) </p>
{
$this-&gt;dm-&gt;remove($old_node);
}
<p> $menuitem = new MultilangMenuItem();<br/>
$menuitem-&gt;setPath($path);<br/>
$menuitem-&gt;setName($name);<br/>
$menuitem-&gt;setLabel($label);</p>
<p> $this-&gt;dm-&gt;persist($menuitem);<br/>
return $menuitem;</p>
<p>leads to an exception. but imo i should be able to do this? what if i want to change the type of document at this location?</p>
<p>InvalidArgumentException<br/>
Detached document passed to persist(). </p>
<p>Exception trace:<br/>
() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/UnitOfWork.php:444<br/>
Doctrine\ODM\PHPCR\UnitOfWork-&gt;doScheduleInsert() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/UnitOfWork.php:414<br/>
Doctrine\ODM\PHPCR\UnitOfWork-&gt;scheduleInsert() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony-cmf/vendor/doctrine-phpcr-odm/lib/Doctrine/ODM/PHPCR/DocumentManager.php:447<br/>
Doctrine\ODM\PHPCR\DocumentManager-&gt;persist() at /home/david/liip/symfony-cmf/cmf-sandbox/src/Sandbox/MainBundle/Resources/data/fixtures/030_LoadMenuData.php:90<br/>
Symfony\Cmf\Bundle\MenuBundle\Resources\data\fixtures\LoadMenuData-&gt;createMenuItem() at /home/david/liip/symfony-cmf/cmf-sandbox/src/Sandbox/MainBundle/Resources/data/fixtures/030_LoadMenuData.php:43<br/>
Symfony\Cmf\Bundle\MenuBundle\Resources\data\fixtures\LoadMenuData-&gt;load() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/doctrine-data-fixtures/lib/Doctrine/Common/DataFixtures/Executor/AbstractExecutor.php:94<br/>
Doctrine\Common\DataFixtures\Executor\AbstractExecutor-&gt;load() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/doctrine-data-fixtures/lib/Doctrine/Common/DataFixtures/Executor/PHPCRExecutor.php:55<br/>
Doctrine\Common\DataFixtures\Executor\PHPCRExecutor-&gt;execute() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/bundles/Doctrine/Bundle/PHPCRBundle/Command/LoadFixtureCommand.php:86<br/>
Doctrine\Bundle\PHPCRBundle\Command\LoadFixtureCommand-&gt;execute() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony/src/Symfony/Component/Console/Command/Command.php:237<br/>
Symfony\Component\Console\Command\Command-&gt;run() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony/src/Symfony/Component/Console/Application.php:193<br/>
Symfony\Component\Console\Application-&gt;doRun() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:75<br/>
Symfony\Bundle\FrameworkBundle\Console\Application-&gt;doRun() at /home/david/liip/symfony-cmf/cmf-sandbox/vendor/symfony/src/Symfony/Component/Console/Application.php:106<br/>
Symfony\Component\Console\Application-&gt;run() at /home/david/liip/symfony-cmf/cmf-sandbox/app/console:16</p><p>I guess this is related to adding DocumentManager::merge()<br/>
<a href="http://www.doctrine-project.org/jira/browse/PHPCR-13" class="external-link" rel="nofollow">http://www.doctrine-project.org/jira/browse/PHPCR-13</a></p><p>duplicate of <a href="http://www.doctrine-project.org/jira/browse/PHPCR-13" class="external-link" rel="nofollow">http://www.doctrine-project.org/jira/browse/PHPCR-13</a></p>[PHPCR-35] referenced documents need to be referenceablehttp://www.doctrine-project.org/jira/browse/PHPCR-35
Doctrine PHPCR<p>currently documents referenced need to have referenceable=true in their document annotation, otherwise the @ReferenceOne silently fails. (see also <a href="https://github.com/symfony-cmf/cmf-sandbox/pull/29" class="external-link" rel="nofollow">https://github.com/symfony-cmf/cmf-sandbox/pull/29</a> )</p>
<p>either phpcr-odm should complain. or it could just add the mix:referenceable to the target document even though it was not declared referenceable.<br/>
we could additionally make referenceable=true the default and offer explicit referenceable=false for optimization.</p>PHPCR-35referenced documents need to be referenceableImprovementMajorResolvedFixedJordi BoggianoDavid BuchmannTue, 15 Nov 2011 06:28:19 +0000Wed, 28 Dec 2011 23:31:59 +0000Wed, 28 Dec 2011 23:31:59 +000000<p>I will cover the first part for now, let phpcr -odm complain ...</p><p>This fixed now, but I can't close that issue ...</p>[PHPCR-31] add support for metadata cachinghttp://www.doctrine-project.org/jira/browse/PHPCR-31
Doctrine PHPCRPHPCR-31add support for metadata cachingNew FeatureMajorResolvedFixedJordi BoggianoLukas KahweSat, 22 Oct 2011 13:28:20 +0000Wed, 28 Dec 2011 23:28:05 +0000Wed, 28 Dec 2011 23:28:05 +000001<p>For reference, this is being handled at <a href="https://github.com/doctrine/phpcr-odm/pull/85" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/85</a></p><p>merged</p>[PHPCR-19] Code cleanup and refactoring, align to other odm implementationshttp://www.doctrine-project.org/jira/browse/PHPCR-19
Doctrine PHPCR<p>Refactor the code to share more code with mongodb and other ODM implementations. Can we extract stuff into common base classes or adjust mongo so we can extend from it? The current code is often copy-paste with some small edits all over which makes it hard to update with new features and bugfixes from mongodb.</p>
<p>Also have a look at the OXM - we probably could profit from collaboration there too, as PHPCR is somewhere between document store and XML database. <a href="http://www.doctrine-project.org/blog/doctrine-oxm-intro" class="external-link" rel="nofollow">http://www.doctrine-project.org/blog/doctrine-oxm-intro</a></p>
<p>Implement ObjectManager interface and maybe add to the common interfaces like findMany suitable for us.</p>PHPCR-19Code cleanup and refactoring, align to other odm implementationsImprovementMajorResolvedDuplicateJordi BoggianoDavid BuchmannSat, 30 Jul 2011 12:59:15 +0000Sat, 30 Jul 2011 13:03:05 +0000Sat, 30 Jul 2011 13:03:05 +000000<p>this is tracked here <a href="http://www.doctrine-project.org/jira/browse/DCOM-28" title="Extract Common Persistance Interfaces" class="issue-link" data-issue-key="DCOM-28"><del>DCOM-28</del></a></p>[PHPCR-11] Expose transaction APIhttp://www.doctrine-project.org/jira/browse/PHPCR-11
Doctrine PHPCR<p>this requires support in PHPCR/Jackalope</p>PHPCR-11Expose transaction APINew FeatureMajorResolvedFixedJordi BoggianoLukas KahweFri, 1 Jul 2011 18:00:27 +0000Sat, 15 Oct 2011 16:13:45 +0000Sat, 15 Oct 2011 16:13:45 +000000<p>when you get the phpcr session, you can call getTransactionManager on it and do transactions (its pretty simple). lukas, do you think anything more is needed?</p>
<p>@jordi: can you give me more rights in this jira so i can assign tickets?</p><p>can we close this one?</p>[PHPCR-8] add support for getting node(s) with subnodes at oncehttp://www.doctrine-project.org/jira/browse/PHPCR-8
Doctrine PHPCR<p>this requires support for this in PHPCR/jackalope</p>PHPCR-8add support for getting node(s) with subnodes at onceNew FeatureMajorResolvedWon't FixJordi BoggianoLukas KahweFri, 1 Jul 2011 17:56:09 +0000Mon, 10 Oct 2011 09:49:59 +0000Mon, 10 Oct 2011 09:49:59 +000000<p>maybe the only way to support this reasonable is via JOIN's in queries and getSubNodes()</p><p>JOINs are indeed the right approach ..</p>[PHPCR-5] test with Midgard2 PHPCRhttp://www.doctrine-project.org/jira/browse/PHPCR-5
Doctrine PHPCR<p><a href="https://github.com/bergie/phpcr-midgard2" class="external-link" rel="nofollow">https://github.com/bergie/phpcr-midgard2</a></p>PHPCR-5test with Midgard2 PHPCRNew FeatureMajorResolvedFixedJordi BoggianoLukas KahweFri, 1 Jul 2011 17:51:15 +0000Wed, 28 Dec 2011 23:29:48 +0000Wed, 28 Dec 2011 23:29:48 +000000[PHPCR-2] load document with child annotationhttp://www.doctrine-project.org/jira/browse/PHPCR-2
Doctrine PHPCR<p>if i did not previously load a document of the class of the child, phpcr-odm can not know the alias to load it. it throws an exception.</p>
<p>for example, use $this-&gt;documentManager-&gt;find('My\Class', '/path/to/document'); where My\Class has an @child annotation for a child that is a File. it has the file alias, but phpcr-odm knows nothing of that alias if i did not previously try to find something with 'Doctrine\...\File' that made it load the meta data.</p>
<p>the workaround is to get the repositories to make phpcr-odm know the alias, but this is no solution.<br/>
$this-&gt;documentManager-&gt;getRepository('Doctrine\ODM\PHPCR\Document\Resource');<br/>
$this-&gt;documentManager-&gt;getRepository('Doctrine\ODM\PHPCR\Document\File');</p>
<p>we could add something to specify the document class in the child annotation, but this sounds stupid.</p>
<p>and getting a document without knowing its document class beforehand would be a nice feature in general. however, the info is currently scattered in annotations over the project. any idea how we could make phpcr-odm know all alias to document class mappings?</p>PHPCR-2load document with child annotationBugMajorResolvedFixedJordi BoggianoDavid BuchmannThu, 23 Jun 2011 13:54:09 +0000Fri, 24 Jun 2011 13:14:55 +0000Fri, 24 Jun 2011 13:14:55 +000000<p>to implement extracting the mapping, assetic:dump might give some inspiration. in dev mode, we should extract automatically (maybe with some cache lifetime, depending on how expensive that is - its less obvious than what assetic can do)</p>
<p>it would be something like getAllMetadata in our case, then cache it.</p><p>according to benjamin, mongo-odm uses an attribute targetDocument that is set to the document class, so the annotation seems not such a bad idea after all.</p>
<p>not sure how to handle a case when we have children with varying document classes, though. but targetDocument would be a start, and cover many common cases.</p><p>after more dicussion with benjamin: in mongo, benjamin does no longer store an alias but directly the document class. we could also do that.</p><p>As you say this is more an issue with the meta-data handling within the odm. The same issue will apply to references and to parent and children annotations I guess. Storing the class directly and loading the meta-data via the class when needed seems a good solution to me. </p><p>we now store the phpcr:class instead of phpcr:alias. the alias is still supported for legacy.</p>
<p><a href="https://github.com/doctrine/phpcr-odm/pull/45" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/45</a></p>[PHPCR-1] children/child annotation add value laterhttp://www.doctrine-project.org/jira/browse/PHPCR-1
Doctrine PHPCR<p>when using the child annotation, it is not possible to assign a child document with a child of its own after persisting the parent document. to reproduce, take the Functional/FileTest.php and change<br/>
$parent-&gt;file = new File();<br/>
$parent-&gt;id = '/functional/filetest';<br/>
$parent-&gt;file-&gt;setFileContentFromFilesystem(dirname(_<em>FILE</em>_) .'/_files/foo.txt');</p>
<p> $this-&gt;dm-&gt;persist($parent);</p>
<p>to <br/>
$parent-&gt;id = '/functional/filetest';<br/>
$this-&gt;dm-&gt;persist($parent);</p>
<p> $parent-&gt;file = new File();<br/>
$parent-&gt;file-&gt;setFileContentFromFilesystem(dirname(_<em>FILE</em>_) .'/_files/foo.txt');</p>
<p>you will get "mandatory child node </p>
{http://www.jcp.org/jcr/1.0}
<p>content does not exist"</p>PHPCR-1children/child annotation add value laterBugMajorResolvedFixedJordi BoggianoDavid BuchmannThu, 23 Jun 2011 13:28:33 +0000Fri, 22 Jul 2011 07:40:32 +0000Fri, 22 Jul 2011 07:40:32 +000000<p>probably related is the issue that updating the normal properties of a child is not stored into phpcr.</p><p><a href="https://github.com/doctrine/phpcr-odm/pull/50" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/50</a></p>[PHPCR-72] persist cancels movehttp://www.doctrine-project.org/jira/browse/PHPCR-72
Doctrine PHPCR<p>If i have a node that i fetch from the repo using $dm-&gt;find()</p>
<p>If i change an attribute in it.<br/>
Then i call $dm-&gt;move() on it</p>
<p>Then i call $dm-&gt;flush().</p>
<p>It will work.</p>
<p>However if i call $dm-&gt;persist() on the node (that i already fetched from $dm-&gt;find()) and then call $dm-&gt;flush()<br/>
The $dm-&gt;move() won't occur, it will be cancelled, but the attribute i changed will still be updated.</p>PHPCR-72persist cancels moveBugMinorResolvedWon't FixLukas KahweFreddy H.Tue, 19 Jun 2012 15:43:52 +0000Sat, 21 Jul 2012 07:54:08 +0000Sat, 21 Jul 2012 07:54:08 +000001<p>i have to think about if this is a bug or a feature.<br/>
its certainly useful to have a way to "cancel" operations ..<br/>
f.e. persist() also cancels remove()</p>
<p>then again persist() is i guess viewed by many as a non problematic operation since it commonly doesn't break anything if one persisted an object multiple times.</p><p>as i expected this is an intentional feature:<br/>
<a href="https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L518" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/blob/master/lib/Doctrine/ODM/PHPCR/UnitOfWork.php#L518</a></p>
<p>we could think about adding a dedicated method to "reset" the state, but the ORM doesn't have something like that so i rather not introduce it.</p>[PHPCR-68] Versionable Item completely loses referenceshttp://www.doctrine-project.org/jira/browse/PHPCR-68
Doctrine PHPCR<p>I have a post that has a reference to a subcategory</p>
<p>When i made my post versionable="full", the current and old versions of post lost this reference.</p>
<p>So when i call $post-&gt;subcategory i get back a Generic ODM document instead of a Subcategory Document</p>
<p>I know that relationships are not versionable, but relationships should at least still exist.</p>
<p>The workaround is to get the parent path and make a JCR-SQL2 query to fetch the subcategory document.</p>PHPCR-68Versionable Item completely loses referencesBugMinorResolvedCannot ReproduceLukas KahweFreddy H.Fri, 1 Jun 2012 14:04:15 +0000Sun, 22 Jul 2012 19:29:02 +0000Sun, 22 Jul 2012 19:29:02 +000001<p>note that this could also be a problem in jackalope. we seem to have issues with the frozenNode thing (either in the implementation or in the correct understanding) <a href="https://github.com/jackalope/jackalope-jackrabbit/issues/19" class="external-link" rel="nofollow">https://github.com/jackalope/jackalope-jackrabbit/issues/19</a></p><p>please reopen once you have a reproduceable test case, thx</p>[PHPCR-67] Fetching a node beforehand ruins ordering of collectionshttp://www.doctrine-project.org/jira/browse/PHPCR-67
Doctrine PHPCR<p>Two documents: Category and Subcategory<br/>
Category has $subcategories as a PHPCRODM\Children</p>
<p>If Category A has 3 subcategories B1 B2 B3.</p>
<p>If A's subcategories are fetched we would receive them in the following order: B1 B2 B3.</p>
<p>Now if however we fetched the B2 node using the DocumentManager at an earlier line and then fetched the subcategories of A, we would receive them in the following order:<br/>
B2 B1 B3</p>PHPCR-67Fetching a node beforehand ruins ordering of collectionsBugMinorResolvedFixedLukas KahweFreddy H.Fri, 25 May 2012 15:45:21 +0000Sun, 22 Jul 2012 19:24:30 +0000Sun, 22 Jul 2012 19:24:30 +000000<p>i tried to reproduce the issue in a test case:<br/>
<a href="https://github.com/doctrine/phpcr-odm/commit/7a3f690cd407f5fc75af4ae3d70b4360c5a499c7" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/commit/7a3f690cd407f5fc75af4ae3d70b4360c5a499c7</a></p>
<p>however the test passes. so either the issue is already fixed or i just didn't understand the bug description properly.</p>[PHPCR-55] Add mapping for maps/associative arrayshttp://www.doctrine-project.org/jira/browse/PHPCR-55
Doctrine PHPCR<p>Add a mapping for maps or arrays. Either implement as child node or serialize the array to a string. The first approach needs another node being fetched from the repository but allows to search the array.</p>PHPCR-55Add mapping for maps/associative arraysImprovementMinorResolvedDuplicateLukas KahweUwe JägerThu, 23 Feb 2012 12:52:24 +0000Sun, 26 Feb 2012 16:37:36 +0000Sun, 26 Feb 2012 16:37:36 +000000<p>see issue #<a href="http://www.doctrine-project.org/jira/browse/PHPCR-56" title="Support Hashmaps in fields" class="issue-link" data-issue-key="PHPCR-56"><del>PHPCR-56</del></a></p>[PHPCR-44] implement configurable change trackinghttp://www.doctrine-project.org/jira/browse/PHPCR-44
Doctrine PHPCR<p><a href="http://www.doctrine-project.org/docs/orm/2.2/en/reference/change-tracking-policies.html" class="external-link" rel="nofollow">http://www.doctrine-project.org/docs/orm/2.2/en/reference/change-tracking-policies.html</a></p>PHPCR-44implement configurable change trackingNew FeatureMinorResolvedDuplicateLukas KahweLukas KahweTue, 31 Jan 2012 10:06:45 +0000Fri, 28 Feb 2014 15:56:10 +0000Fri, 28 Feb 2014 15:56:10 +000002<p>is this still relevant? should we move it to github or drop it?</p><p>see <a href="https://github.com/doctrine/phpcr-odm/issues/443" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/443</a></p>[PHPCR-28] figure out proper handling of types in DocumentManager::quote()http://www.doctrine-project.org/jira/browse/PHPCR-28
Doctrine PHPCRPHPCR-28figure out proper handling of types in DocumentManager::quote()TaskMinorResolvedFixedJordi BoggianoLukas KahweMon, 10 Oct 2011 09:52:27 +0000Wed, 22 Feb 2012 14:58:03 +0000Wed, 22 Feb 2012 14:58:03 +000000[PHPCR-13] Implement DocumentManager::merge()http://www.doctrine-project.org/jira/browse/PHPCR-13
Doctrine PHPCRPHPCR-13Implement DocumentManager::merge()BugMinorResolvedFixedLukas KahweLukas KahweSat, 30 Jul 2011 10:40:35 +0000Wed, 9 Jan 2013 14:34:17 +0000Wed, 9 Jan 2013 14:34:17 +000002<p>see also <a href="https://github.com/doctrine/phpcr-odm/pull/184" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/184</a></p><p>see also <a href="https://github.com/doctrine/phpcr-odm/pull/205" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/pull/205</a></p><p>205 was merged ..</p>[PHPCR-7] add support for "eventual migrations"http://www.doctrine-project.org/jira/browse/PHPCR-7
Doctrine PHPCR<p><a href="https://doctrine-mongodb-odm.readthedocs.org/en/latest/reference/migrating-schemas.html" class="external-link" rel="nofollow">https://doctrine-mongodb-odm.readthedocs.org/en/latest/reference/migrating-schemas.html</a></p>PHPCR-7add support for "eventual migrations"New FeatureMinorResolvedDuplicateJordi BoggianoLukas KahweFri, 1 Jul 2011 17:55:14 +0000Fri, 28 Feb 2014 15:55:41 +0000Fri, 28 Feb 2014 15:55:41 +000001<p>see <a href="https://github.com/doctrine/phpcr-odm/issues/442" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/442</a></p>ReferencePHPCR-36[PHPCR-86] QueryBuilder QOMFactory accesshttp://www.doctrine-project.org/jira/browse/PHPCR-86
Doctrine PHPCR<p>There is getQOMFactory method in PHPCR\Util\QOM\QueryBuilder (very useful) but it isn't in Doctrine\ODM\PHPCR\Query\QueryBuilder (it breaks bc).</p>
<p>Is it mistake or there is/will be another method to access QOMFactory instance?</p>PHPCR-86QueryBuilder QOMFactory accessDocumentationTrivialResolvedFixedLukas KahweDaniel Bojdobuilder,qomfactoryqueryMon, 14 Jan 2013 17:56:48 +0000Sun, 6 Oct 2013 17:51:29 +0000Sun, 6 Oct 2013 17:51:29 +000002<p>In fact it's not a bug, there is no docs about DocumentManager methods refactor. </p><p>QB was refactored completely</p>[PHPCR-118] THIS ISSUE TRACKER MOVED TO GITHUBhttp://www.doctrine-project.org/jira/browse/PHPCR-118
Doctrine PHPCR<p>We moved the issue tracking for phcpr-odm to github. Please go to <a href="https://github.com/doctrine/phpcr-odm/issues/" class="external-link" rel="nofollow">https://github.com/doctrine/phpcr-odm/issues/</a></p>PHPCR-118THIS ISSUE TRACKER MOVED TO GITHUBDocumentationBlockerOpenUnresolvedDavid BuchmannDavid BuchmannFri, 28 Feb 2014 15:47:29 +0000Fri, 28 Feb 2014 15:47:29 +000001[PHPCR-97] Allow QB / XB to sepcify objects as targetshttp://www.doctrine-project.org/jira/browse/PHPCR-97
Doctrine PHPCR<p>Allow the query builder expression to specify an object as a target.</p>
<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<div class="error"><span class="error">Unable to find source-code formatter for language: querybuilder.</span> Available languages are: actionscript, html, java, javascript, none, sql, xhtml, xml</div><pre>
$qb-&gt;where($qb-&gt;expr()-&gt;eq('someObjectReference', $someObject);
</pre>
</div></div>
<p>So if the target passed is mapped and it is referenceable then replace the object instance with its UUID.</p>PHPCR-97Allow QB / XB to sepcify objects as targetsNew FeatureMinorOpenUnresolvedLukas KahweDaniel Leechquerybuilder,Wed, 20 Feb 2013 18:21:46 +0000Sat, 15 Feb 2014 13:04:01 +000002<p>dan, is this still relevant? if so, can you create an issue on phpcr-odm on github so that we can move away from this jira?</p>