[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-31] UnitOfWork#doDetach does not remove a document from the identityMap - uses incorrect index Created: 10/Aug/11 Updated: 15/Aug/11 Resolved: 15/Aug/11 |
|
| Status: | Resolved |
| Project: | Doctrine CouchDB ODM |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major |
| Reporter: | Marnus Weststrate | Assignee: | Benjamin Eberlei |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
In UnitOfWork on line 656 the oid is used to index the identity map instead of the document id when detaching an object. This is probably due to an incomplete port from the ORM. The following change fixes the bug (I will make the change and request a merge): Currently: Should be: Further suggestion Since the document id is guaranteed to be unique would it not be better to do away with the oid completely? It seems the following would be a relatively cheap substitute for the current getDocumentIdentifier() implementation (excluding the check that it is managed which is also currently done in this method): public function getDocumentIdentifier($document) Then all the arrays in the UnitOfWork can be indexed using the document id and the above method can be called to obtain that wherever spl_object_hash is currently used to obtain the $oid. (Of course, if running spl_object_hash is faster than retrieving the doc id as I suggest above then the current implementation is better.) |
[CODM-30] Align naming of Events namespace with other ORM/ODM (aka s/Events/Event) Created: 30/Jul/11 Updated: 30/Jul/11 Resolved: 30/Jul/11 |
|
| Status: | Resolved |
| Project: | Doctrine CouchDB ODM |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major |
| Reporter: | Lukas Kahwe | Assignee: | Benjamin Eberlei |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
[CODM-29] Install instructions - git clone local folder misnamed. Created: 27/Jul/11 Updated: 10/Aug/11 |
|
| Status: | Open |
| Project: | Doctrine CouchDB ODM |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Documentation | Priority: | Trivial |
| Reporter: | Marnus Weststrate | Assignee: | Benjamin Eberlei |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Environment: |
N/A |
||
| Description |
|
On the CouchDb ODM install instructions Current: $ git clone git://github.com/doctrine/couchdb-odm.git mongodb_odm Should be: $ git clone git://github.com/doctrine/couchdb-odm.git couchdb_odm |
[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: A temporary workaround: |
[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-23] Add support for @EmbedMany and @EmbedOne Created: 24/Nov/10 Updated: 20/May/11 Resolved: 20/May/11 |
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
We need support for nested value objects through the @EmbedMany and @EmbedOne annotations. |
| Comments |
| Comment by Bártfai Tamás [ 20/Mar/11 ] |
|
This is fixed in the master now. |
[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. |
[CODM-20] Add Caching to ClassMetadata Created: 24/Nov/10 Updated: 24/Nov/10 Resolved: 24/Nov/10 |
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
Metadata is currently parsed on every request. A caching layer for the ClassMetadata instances has to be implemented to work like in ORM or MongoDB ODM. |
| Comments |
| Comment by Benjamin Eberlei [ 24/Nov/10 ] |
|
Implemented |
Add Cascade Operations to Associations
(CODM-13)
|
|
| 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 |
Add Cascade Operations to Associations
(CODM-13)
|
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Comments |
| Comment by Benjamin Eberlei [ 19/Dec/10 ] |
|
Implemented |
Add Cascade Operations to Associations
(CODM-13)
|
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
Implement Cascade Persist |
| Comments |
| Comment by Benjamin Eberlei [ 19/Dec/10 ] |
|
Implemented |
Add Cascade Operations to Associations
(CODM-13)
|
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
Implement Cascade Detach |
Add Cascade Operations to Associations
(CODM-13)
|
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
Implement Cascade Merge |
| Comments |
| Comment by Benjamin Eberlei [ 24/Nov/10 ] |
|
This is mostly done, only missing the "persist by reachibility" checks that are necessary in computeChangeSet(). |
| Comment by Benjamin Eberlei [ 14/Feb/11 ] |
|
Seems done! |
[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-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: |
|
| Description |
|
Add Cascade Operations to Associations |
[CODM-12] Add DocumentManager::merge() and DocumentManager::detach() Created: 22/Nov/10 Updated: 21/May/11 Resolved: 21/May/11 |
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
Add DocumentManager::merge() and DocumentManager::detach() |
| Comments |
| Comment by Benjamin Eberlei [ 21/May/11 ] |
|
Implemented |
[CODM-11] Add Query API for couch-lucene Created: 22/Nov/10 Updated: 04/Dec/10 Resolved: 04/Dec/10 |
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
Couch-Lucene is a very nice tool to enhance CouchDB with lucence query api natively: https://github.com/rnewson/couchdb-lucene |
| Comments |
| Comment by Benjamin Eberlei [ 04/Dec/10 ] |
|
Implemented |
[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-9] implement lazy loading Created: 21/Sep/10 Updated: 03/Oct/10 Resolved: 03/Oct/10 |
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Comments |
| Comment by Benjamin Eberlei [ 03/Oct/10 ] |
|
Implemented for Collections and PRoxies. |
[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-6] add support for a query api Created: 21/Sep/10 Updated: 03/Oct/10 Resolved: 03/Oct/10 |
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
query view's, add limit/sort order/include_docs option etc. |
| Comments |
| Comment by Benjamin Eberlei [ 03/Oct/10 ] |
|
Implemented |
[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-4] add many2many support Created: 21/Sep/10 Updated: 03/Oct/10 Resolved: 03/Oct/10 |
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Comments |
| Comment by Benjamin Eberlei [ 03/Oct/10 ] |
|
Implemented |
[CODM-3] add many2one support Created: 21/Sep/10 Updated: 03/Oct/10 Resolved: 03/Oct/10 |
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Comments |
| Comment by Benjamin Eberlei [ 03/Oct/10 ] |
|
Implemented |
[CODM-2] add annotation/xml/yml support for metadata definition Created: 21/Sep/10 Updated: 21/May/11 Resolved: 21/May/11 |
|
| Status: | Resolved |
| 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: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Comments |
| Comment by Benjamin Eberlei [ 02/Oct/10 ] |
|
This issue raises the question: What set of metadata do we support? Obvious are the ones that are primitive json types: @String @Float @Integer @Array @Boolean Then primitive types that need conversion: @Date Then CouchDB specific stuff: @Id @Version On the Entity Class @Document - Without arguments References: @ReferenceMany(targetDocument=..) @ReferenceOne(targetDocument=..) @EmbedMany(targetDocument=..) @EmbedOne(targetDocument=..) Attachments: @Attachments - All attachments of the Document indexed by name (Should be wrapped by an attachment collection or something) @Attachment - A special attachment accessible through this field name, null if not exists |
| Comment by Benjamin Eberlei [ 21/May/11 ] |
|
Implemented Yaml and XML Metadata Drivers |
[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:
|