[CODM-37] Github-PR-22 by marnusw: Fixed Document annotation identification bug Created: 25/Aug/11  Updated: 25/Aug/11

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

This issue is created automatically through a Github pull request on behalf of

{username}

:

Url: https://github.com/doctrine/couchdb-odm/pull/22

Message:

In AnnotationDriver#loadMetadataForClass() it was incorrectly assumed that an array of annotations indexed by annotation name was returned; in fact a numerically indexed array is received. This patch fixes the identification of the annotations that are present.

Since only one Document realted annotation should be present the method now also throws an exception if more than one is found. (One could just use the first annotation, but this may cause confusion when debugging.)

Not sure if this was the only outstanding problem related to issue CODM-28 but I think it was related.






[CODM-36] Github-PR-23 by marnusw: Added UpdateAllDesignDocsCommand so all new/modified design docs can be added in one go Created: 25/Aug/11  Updated: 25/Aug/11

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

This issue is created automatically through a Github pull request on behalf of

{username}

:

Url: https://github.com/doctrine/couchdb-odm/pull/23

Message:

The UpdateAllDesignDocsCommand checks which design documents have changed and updates only those and also pushes new design docs to the db. A method for retrieving the registered design doc names was added to the Configuration class since this is needed when checking which docs have been modified.

It took me quite a while to figure out that I should be using the couchdb:odm:update-design-doc command to write the ODM design docs which are included in the config by default to the db. I think the presence of this command would make it clearer that it could be run to sort out any missing design docs.

I also reckon it may become a bit tedious to add each modified doc individually, now they can be updated in one go.






[CODM-28] Adjust to new Annotation Reader Created: 25/Jun/11  Updated: 10/Aug/11

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Comments   
Comment by Marnus Weststrate [ 10/Aug/11 ]

I obtained the latest build from git://github.com/doctrine/couchdb-odm.git so this is an active bug which I believe is related to this issue.

The Doctrine\ODM\CouchDB\Mapping\Driver\AnnotationDriver produced the exception Class Test is not a valid document or mapped super class for even the most basic document with an Id and one Field. The exception was thrown on line 122 of the above class.

The problem:
In the code segment:
108: $classAnnotations = $this->reader->getClassAnnotations($reflClass);
109: if (isset($classAnnotations['Doctrine\ODM\CouchDB\Mapping\Document']))
the getClassAnnotations method does not return an array of annotations indexed by annotation names, it uses numeric indexes. This causes the if-statements to always fail and thus the exception is thrown.

A temporary workaround:
108: $classAnnotations = $this->reader->getClassAnnotations($reflClass);
Add: $classAnnotations = $classAnnotations[0];
109: if ($classAnnotations instanceof \Doctrine\ODM\CouchDB\Mapping\Document) {
110: $documentAnnot = $classAnnotations;
Rather than checking for the proper index verify the class of the annotation object (Similar to the handling of $fieldAnnot following this code block). This approach assumes that the @Document annotation is the first Doctrine related annotation in the class doc block (which is fine, since it is the only one that should be used). Standard annotations such as @author can precede the @Document one since these are ignored by the getClassAnnotations method. The same changes should be applied to all the if statements up to line 120.





[CODM-27] Removing reference fails, no _rev set Created: 23/Jun/11  Updated: 23/Jun/11

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Removing a reference fails because _rev is not set.






[CODM-26] Detect usage of inverse collection with unsupported metadata resolvers Created: 13/Feb/11  Updated: 13/Feb/11

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Inverse collections are only supported when using the doctrine metadata resolver. ClassMetadataFactory should already throw an exception here if misused.






[CODM-25] Add inheritance support Created: 24/Nov/10  Updated: 24/Nov/10

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Support inheritance of objects.






[CODM-24] Add MappedSuperclass support Created: 24/Nov/10  Updated: 24/Nov/10

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

As a first step to support inheritance we need support for mapped superclasses.






[CODM-22] Finish CouchDBClient Created: 24/Nov/10  Updated: 24/Nov/10

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

The CouchDBClient should implement all important CouchDB API functionality in simple method calls.






[CODM-21] Add support to stream attachments Created: 24/Nov/10  Updated: 24/Nov/10

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Currently attachments are handled in memory if accessed through the attachment proxy. This can be rather expensive in cases and we should allow HTTP Clients to stream requests and use this functionality for the attachments.






Add Cascade Operations to Associations (CODM-13)

[CODM-19] Implement Cascade Refresh Created: 24/Nov/10  Updated: 24/Nov/10

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Sub-task Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Implement Cascade Refresh






[CODM-14] Add Value Object Support Created: 22/Nov/10  Updated: 20/Mar/11

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Add Value Object Support:

Need an annotation that allows to specify value objects. Need mechanism to serialize/deserialize deeply nested value objects or arrays of value objects in UnitOfWork()



 Comments   
Comment by Bártfai Tamás [ 20/Mar/11 ]

Is this issue is a duplicate of CODM-23?





[CODM-13] Add Cascade Operations to Associations Created: 22/Nov/10  Updated: 22/Nov/10

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None

Sub-Tasks:
Key
Summary
Type
Status
Assignee
CODM-15 Implement Cascade Merge Sub-task Resolved Benjamin Eberlei  
CODM-16 Implement Cascade Detach Sub-task Resolved Benjamin Eberlei  
CODM-17 Implement Cascade Persist Sub-task Resolved Benjamin Eberlei  
CODM-18 Implement Cascade Remove Sub-task Resolved Benjamin Eberlei  
CODM-19 Implement Cascade Refresh Sub-task Open Benjamin Eberlei  

 Description   

Add Cascade Operations to Associations






[CODM-10] Optimistic Locking and Version Field Created: 02/Oct/10  Updated: 02/Oct/10

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: Benjamin Eberlei Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

The Version field should be an instance of the CouchDB document revision on the document class. It should be updated on flushes and be usable on find by id methods to check for optimistic locking.






[CODM-8] add support to export validation rules in the model to CouchDB Created: 21/Sep/10  Updated: 22/Sep/10

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Lukas Kahwe Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

http://guide.couchdb.org/draft/validation.html

See CODM-7






[CODM-7] add support to import CouchDB validation rules into the model definition Created: 21/Sep/10  Updated: 22/Sep/10

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Lukas Kahwe Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

http://guide.couchdb.org/draft/validation.html

See CODM-8






[CODM-5] add support for defining view's in the model Created: 21/Sep/10  Updated: 21/Sep/10

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Lukas Kahwe Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None





[CODM-1] Add converions according to $class->properties[$name]['type'] Created: 21/Sep/10  Updated: 21/Sep/10

Status: Open
Project: Doctrine CouchDB ODM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: Lukas Kahwe Assignee: Benjamin Eberlei
Resolution: Unresolved Votes: 0
Labels: None


 Description   

In the ORM we have the Doctrine\DBAL\Types namespace that we have to mirror to Doctrine\ODM\CouchDB\Types. Methods would have to be "convertPhpToJsonValue()" and "convertJsonToPhpValue()" that need to be called during hydration and saving inside the Persister.

Possible Types for now:

  • String (this is both VARCHAR + CLOB of DBs)
  • Integer
  • Array (uncasted values)
  • Float/Double * Boolean





Generated at Sat Oct 25 17:29:35 UTC 2014 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.