Skip to content
Browse files

Add all news entries, provide ant build.xml script that grabs all dep…

…endencies, add patch for feed sphinx-contrib
  • Loading branch information...
1 parent 55c6340 commit bf5d7d965f561353674277c8062b81116f6039c9 @beberlei beberlei committed
Showing with 9,635 additions and 0 deletions.
  1. +1 −0 .gitignore
  2. +28 −0 build.xml
  3. +93 −0 pages/source/_exts/configurationblock.py
  4. +13 −0 pages/source/blog/0-10-2-released.rst
  5. +18 −0 pages/source/blog/0-10-3-released.rst
  6. +18 −0 pages/source/blog/0-10-4-released-46-closed-tickets.rst
  7. +14 −0 pages/source/blog/0-11-0-rc3-released.rst
  8. +83 −0 pages/source/blog/0-11-0-release-candidate-1.rst
  9. +15 −0 pages/source/blog/0-11-0-release-candidate-2.rst
  10. +65 −0 pages/source/blog/0-11-0-stable-released.rst
  11. +14 −0 pages/source/blog/1000th-ticket-closed.rst
  12. +43 −0 pages/source/blog/2nd-1-1-beta-released.rst
  13. +32 −0 pages/source/blog/4-000th-svn-commit-revision.rst
  14. +46 −0 pages/source/blog/a-doctrine-triple-play.rst
  15. +33 −0 pages/source/blog/a-few-updates-for-2008.rst
  16. +32 −0 pages/source/blog/a-few-website-changes.rst
  17. +19 −0 pages/source/blog/beta-2.rst
  18. +15 −0 pages/source/blog/beta2_released.rst
  19. +53 −0 pages/source/blog/birthday-release-party.rst
  20. +69 −0 pages/source/blog/bringing-it-all-together.rst
  21. +39 −0 pages/source/blog/cleaning_up_the_mess.rst
  22. +30 −0 pages/source/blog/common-rc2-dbal-rc2-release.rst
  23. +268 −0 pages/source/blog/cookbook-recipe-relation-dql-behavior.rst
  24. +19 −0 pages/source/blog/creating-a-unit-of-work-using-doctrine.rst
  25. +185 −0 pages/source/blog/cross-database-joins.rst
  26. +59 −0 pages/source/blog/database-support-doctrine2.rst
  27. +26 −0 pages/source/blog/dbal-security-2011-1.rst
  28. +37 −0 pages/source/blog/dbal2-beta3-released.rst
  29. +123 −0 pages/source/blog/dc2-experimental-associations-id-fields.rst
  30. +35 −0 pages/source/blog/doctrine-0-11-1-and-1-0.rst
  31. +27 −0 pages/source/blog/doctrine-0-9-1-0-10-1-released.rst
  32. +14 −0 pages/source/blog/doctrine-1-0-1-released.rst
  33. +26 −0 pages/source/blog/doctrine-1-0-10-and-1-1-2-released.rst
  34. +21 −0 pages/source/blog/doctrine-1-0-11-and-1-1-3-released.rst
  35. +24 −0 pages/source/blog/doctrine-1-0-12-and-1-1-4-released.rst
  36. +14 −0 pages/source/blog/doctrine-1-0-2-released.rst
  37. +14 −0 pages/source/blog/doctrine-1-0-3-released.rst
  38. +16 −0 pages/source/blog/doctrine-1-0-4-released.rst
  39. +35 −0 pages/source/blog/doctrine-1-0-6-released.rst
  40. +33 −0 pages/source/blog/doctrine-1-0-7-is-available.rst
  41. +54 −0 pages/source/blog/doctrine-1-0-8-and-1-1-0-rc2-released.rst
  42. +20 −0 pages/source/blog/doctrine-1-0-9-and-1-1-1-released.rst
  43. +17 −0 pages/source/blog/doctrine-1-0-and-symfony-1-2.rst
  44. +27 −0 pages/source/blog/doctrine-1-0-beta1-released.rst
  45. +68 −0 pages/source/blog/doctrine-1-0-released.rst
  46. +7 −0 pages/source/blog/doctrine-1-1-development-begins.rst
  47. +27 −0 pages/source/blog/doctrine-1-1-documentation.rst
  48. +33 −0 pages/source/blog/doctrine-1-1-is-right-around-the-corner.rst
  49. +61 −0 pages/source/blog/doctrine-1-1-released.rst
  50. +39 −0 pages/source/blog/doctrine-1-2-0-alpha-released.rst
  51. +21 −0 pages/source/blog/doctrine-1-2-0-beta2-released.rst
  52. +20 −0 pages/source/blog/doctrine-1-2-0-beta3-released.rst
  53. +23 −0 pages/source/blog/doctrine-1-2-0-rc1-released.rst
  54. +46 −0 pages/source/blog/doctrine-1-2-0-stable-released.rst
  55. +103 −0 pages/source/blog/doctrine-1-2-1-released.rst
  56. +20 −0 pages/source/blog/doctrine-1-2-2-released.rst
  57. +27 −0 pages/source/blog/doctrine-1-2-alpha3-released.rst
  58. +25 −0 pages/source/blog/doctrine-1-2-documentation-available.rst
  59. +24 −0 pages/source/blog/doctrine-1-2-nearing-stable-release.rst
  60. +40 −0 pages/source/blog/doctrine-2-0-0-alpha3-released.rst
  61. +42 −0 pages/source/blog/doctrine-2-0-0-alpha4-released.rst
  62. +40 −0 pages/source/blog/doctrine-2-0-0-beta1-released.rst
  63. +23 −0 pages/source/blog/doctrine-2-0-6.rst
  64. +26 −0 pages/source/blog/doctrine-2-0-7-and-eol.rst
  65. +137 −0 pages/source/blog/doctrine-2-0-quality-assurance.rst
  66. +101 −0 pages/source/blog/doctrine-2-1-beta-release.rst
  67. +37 −0 pages/source/blog/doctrine-2-1-rc1.rst
  68. +20 −0 pages/source/blog/doctrine-2-1-rc2.rst
  69. +49 −0 pages/source/blog/doctrine-2-1-rc3.rst
  70. +113 −0 pages/source/blog/doctrine-2-1.rst
  71. +37 −0 pages/source/blog/doctrine-2-at-confoo-2010.rst
  72. +43 −0 pages/source/blog/doctrine-2-documentation.rst
  73. +85 −0 pages/source/blog/doctrine-2-give-me-my-constructor-back.rst
  74. +78 −0 pages/source/blog/doctrine-all-grown-up.rst
  75. +23 −0 pages/source/blog/doctrine-and-symfony-frameworks-collaborating.rst
  76. +7 −0 pages/source/blog/doctrine-at-latino-ware-2008.rst
  77. +15 −0 pages/source/blog/doctrine-at-symfony-camp2008.rst
  78. +21 −0 pages/source/blog/doctrine-changing-homes.rst
  79. +13 −0 pages/source/blog/doctrine-cheat-sheet.rst
  80. +236 −0 pages/source/blog/doctrine-database-abstraction-layer.rst
  81. +19 −0 pages/source/blog/doctrine-fedora-package.rst
  82. +15 −0 pages/source/blog/doctrine-frequently-asked-questions.rst
  83. +37 −0 pages/source/blog/doctrine-future-roadmap.rst
  84. +74 −0 pages/source/blog/doctrine-gets-its-first-employee.rst
  85. +14 −0 pages/source/blog/doctrine-goes-pecl.rst
  86. +30 −0 pages/source/blog/doctrine-growth.rst
  87. +19 −0 pages/source/blog/doctrine-in-your-language.rst
  88. +125 −0 pages/source/blog/doctrine-lazy-loading.rst
  89. +24 −0 pages/source/blog/doctrine-maintenance-jan2011.rst
  90. +22 −0 pages/source/blog/doctrine-maintenance-mar05.rst
  91. +25 −0 pages/source/blog/doctrine-maintenance-may11.rst
  92. +22 −0 pages/source/blog/doctrine-maintenance-sep2011.rst
  93. +127 −0 pages/source/blog/doctrine-mongodb-object-document-mapper.rst
  94. +125 −0 pages/source/blog/doctrine-mongodb-odm-1-0-0alpha1-released.rst
  95. +159 −0 pages/source/blog/doctrine-mongodb-odm-1-0-0alpha2-released.rst
  96. +64 −0 pages/source/blog/doctrine-mongodb-odm-beta2-released.rst
  97. +23 −0 pages/source/blog/doctrine-orm-for-php-available-in-print.rst
  98. +20 −0 pages/source/blog/doctrine-orm-sandbox.rst
  99. +7 −0 pages/source/blog/doctrine-orm-version-1-2-3-released.rst
  100. +57 −0 pages/source/blog/doctrine-oxm-intro.rst
  101. +251 −0 pages/source/blog/doctrine-performance-revisited.rst
  102. +43 −0 pages/source/blog/doctrine-security-fix.rst
  103. +38 −0 pages/source/blog/doctrine-statistics.rst
  104. +145 −0 pages/source/blog/doctrine-visiting-conferences-around-the-world.rst
  105. +22 −0 pages/source/blog/doctrine2-1-1.rst
  106. +22 −0 pages/source/blog/doctrine2-april-2011-maintenance.rst
  107. +250 −0 pages/source/blog/doctrine2-batch-processing.rst
  108. +901 −0 pages/source/blog/doctrine2-behavioral-extensions.rst
  109. +402 −0 pages/source/blog/doctrine2-behaviours-nutshell.rst
  110. +71 −0 pages/source/blog/doctrine2-beta2-released.rst
  111. +245 −0 pages/source/blog/doctrine2-custom-dql-udfs.rst
  112. +99 −0 pages/source/blog/doctrine2-large-collections.rst
  113. +68 −0 pages/source/blog/doctrine2-native-queries.rst
  114. +90 −0 pages/source/blog/doctrine2-orm-beta3.rst
  115. +51 −0 pages/source/blog/doctrine2-orm-rc2-released.rst
  116. +89 −0 pages/source/blog/doctrine2-preview-release.rst
  117. +22 −0 pages/source/blog/doctrine2-rc1.rst
  118. +190 −0 pages/source/blog/doctrine2-released.rst
  119. +146 −0 pages/source/blog/doctrine2-validations.rst
  120. +294 −0 pages/source/blog/doctrine2-versionable.rst
  121. +84 −0 pages/source/blog/document-oriented-databases-vs-relational-databases.rst
  122. +34 −0 pages/source/blog/documentation-updates.rst
  123. +24 −0 pages/source/blog/double-dose-of-doctrine.rst
  124. +25 −0 pages/source/blog/first-1-1-alpha-version-released.rst
  125. +68 −0 pages/source/blog/first-symfony-1-1-workshop-in-atlanta-usa.rst
  126. +57 −0 pages/source/blog/get-expert-training.rst
  127. +78 −0 pages/source/blog/get-trained-by-doctrine-experts.rst
  128. +16 −0 pages/source/blog/getting-started-with-doctrine-and-symfony-1-1.rst
  129. +177 −0 pages/source/blog/glimpse-of-doctrine-2-0.rst
  130. +137 −0 pages/source/blog/help-write-tests-for-new-dql-parser.rst
  131. +378 −0 pages/source/blog/implementing-aggregate-fields.rst
  132. +8 −0 pages/source/blog/index.rst
  133. +100 −0 pages/source/blog/introducing-doctrine-orm-for-php.rst
  134. +57 −0 pages/source/blog/introducing-the-doctrine-cookbook.rst
  135. +14 −0 pages/source/blog/introducing-the-doctrine-forum.rst
  136. +7 −0 pages/source/blog/introducing-the-google-i18n-extension.rst
  137. +7 −0 pages/source/blog/introduction-to-doctrine-2-webinar.rst
  138. +70 −0 pages/source/blog/major-site-enhancements.rst
  139. +18 −0 pages/source/blog/master-and-slave-connections.rst
  140. +232 −0 pages/source/blog/mixing-types-of-documents.rst
Sorry, we could not display the entire diff because it was too big.
View
1 .gitignore
@@ -1,2 +1,3 @@
pages/build
+build
*.pyc
View
28 build.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" ?>
+<project name="Doctrine Website" default="build">
+ <target name="install-sphinx">
+ <exec executable="easy_install">
+ <arg value="sphinx" />
+ </exec>
+ <mkdir dir="build" />
+ <exec executable="hg">
+ <arg value="clone" />
+ <arg value="https://bitbucket.org/birkenfeld/sphinx-contrib"/>
+ <arg value="build/sphinx-contrib" />
+ </exec>
+ <exec executable="python" dir="build/sphinx-contrib/feed">
+ <arg value="setup.py" />
+ <arg value="install" />
+ </exec>
+ </target>
+
+ <target name="build" depends="install-sphinx">
+ <exec executable="make" dir="pages/">
+ <arg value="html" />
+ </exec>
+ </target>
+
+ <target name="clean">
+ <delete dir="pages/build" />
+ </target>
+</project>
View
93 pages/source/_exts/configurationblock.py
@@ -0,0 +1,93 @@
+#Copyright (c) 2010 Fabien Potencier
+#
+#Permission is hereby granted, free of charge, to any person obtaining a copy
+#of this software and associated documentation files (the "Software"), to deal
+#in the Software without restriction, including without limitation the rights
+#to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+#copies of the Software, and to permit persons to whom the Software is furnished
+#to do so, subject to the following conditions:
+#
+#The above copyright notice and this permission notice shall be included in all
+#copies or substantial portions of the Software.
+#
+#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+#IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+#FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+#AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+#LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+#OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+#THE SOFTWARE.
+
+from docutils.parsers.rst import Directive, directives
+from docutils import nodes
+from string import upper
+
+class configurationblock(nodes.General, nodes.Element):
+ pass
+
+class ConfigurationBlock(Directive):
+ has_content = True
+ required_arguments = 0
+ optional_arguments = 0
+ final_argument_whitespace = True
+ option_spec = {}
+ formats = {
+ 'html': 'HTML',
+ 'xml': 'XML',
+ 'php': 'PHP',
+ 'yaml': 'YAML',
+ 'jinja': 'Twig',
+ 'html+jinja': 'Twig',
+ 'jinja+html': 'Twig',
+ 'php+html': 'PHP',
+ 'html+php': 'PHP',
+ 'ini': 'INI',
+ 'php-annotations': 'Annotations',
+ }
+
+ def run(self):
+ env = self.state.document.settings.env
+
+ node = nodes.Element()
+ node.document = self.state.document
+ self.state.nested_parse(self.content, self.content_offset, node)
+
+ entries = []
+ for i, child in enumerate(node):
+ if isinstance(child, nodes.literal_block):
+ # add a title (the language name) before each block
+ #targetid = "configuration-block-%d" % env.new_serialno('configuration-block')
+ #targetnode = nodes.target('', '', ids=[targetid])
+ #targetnode.append(child)
+
+ innernode = nodes.emphasis(self.formats[child['language']], self.formats[child['language']])
+
+ para = nodes.paragraph()
+ para += [innernode, child]
+
+ entry = nodes.list_item('')
+ entry.append(para)
+ entries.append(entry)
+
+ resultnode = configurationblock()
+ resultnode.append(nodes.bullet_list('', *entries))
+
+ return [resultnode]
+
+def visit_configurationblock_html(self, node):
+ self.body.append(self.starttag(node, 'div', CLASS='configuration-block'))
+
+def depart_configurationblock_html(self, node):
+ self.body.append('</div>\n')
+
+def visit_configurationblock_latex(self, node):
+ pass
+
+def depart_configurationblock_latex(self, node):
+ pass
+
+def setup(app):
+ app.add_node(configurationblock,
+ html=(visit_configurationblock_html, depart_configurationblock_html),
+ latex=(visit_configurationblock_latex, depart_configurationblock_latex))
+ app.add_directive('configuration-block', ConfigurationBlock)
View
13 pages/source/blog/0-10-2-released.rst
@@ -0,0 +1,13 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-03-01 08:53:18
+
+===============
+0.10.2 Released
+===============
+
+Today we have released Doctrine 0.10.2. This is a bug fix only
+release. It brings many new bugs fixes to the 0.10 branch. We will
+continue with point releases on the 0.10 branch until the 0.9
+branch is completely phased out. Thanks for using Doctrine :)
+
+
View
18 pages/source/blog/0-10-3-released.rst
@@ -0,0 +1,18 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-03-18 21:03:17
+
+===============
+0.10.3 Released
+===============
+
+A few days late, but the 0.10.3 release has been packaged and
+released. This release contains nearly 40 closed tickets, and is a
+huge step towards bringing the 1st generation of Doctrine to a
+stable release. We have already begun development on the 0.10.4
+release, and have a few dozen tickets associated to it already. If
+you have a ticket associated to the 0.10.4 milestone or any other
+release then it is likely their is not a failing test case for it,
+as the 0.10 branch now only has 1 failing test case. Make our job
+easier and provide a failing test case for your issues. Thanks.
+
+
View
18 pages/source/blog/0-10-4-released-46-closed-tickets.rst
@@ -0,0 +1,18 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-03-28 19:32:21
+
+===================================
+0.10.4 Released - 46 Closed Tickets
+===================================
+
+Today we would like to announce the 0.10.4 release. This release
+addresses 46 tickets and is a major step in stabilizing the 1st
+generation of Doctrine for the 1.0 release. We will continue with
+bug fix only releases until we feel the 0.10 branch is ready for a
+1.0 title. Give it a try and give us some tickets and failing test
+cases to fix :)
+
+You can checkout the change log for the 0.10.4 release as well as
+previous releases here.
+
+
View
14 pages/source/blog/0-11-0-rc3-released.rst
@@ -0,0 +1,14 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-05-31 03:06:01
+
+===================
+0.11.0-RC3 Released
+===================
+
+A little late, but the third release candidate of the 0.11.0
+version of Doctrine has been released. This will be the last
+scheduled release candidate before 0.11 becomes the latest stable
+version of Doctrine. This release contains dozens of bug fixes and
+a few small enhancements. The change log can be read here.
+
+
View
83 pages/source/blog/0-11-0-release-candidate-1.rst
@@ -0,0 +1,83 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-04-21 21:53:08
+
+==========================
+0.11.0 Release Candidate 1
+==========================
+
+
+.. raw:: html
+
+ <p>
+
+Today I am happy to announce the first release candidate for the
+next major version of Doctrine, 0.11. The 0.11 version of Doctrine
+brings over 50 addressed tickets, a few new features, a few
+performance improvements and lots of updates to the
+documentation/manual.
+
+.. raw:: html
+
+ </p><p>
+
+
+.. raw:: html
+
+ </p><p>
+
+Here are the highlights:
+
+.. raw:: html
+
+ </p><p>
+
+
+- \*Table.php classes are no longer generated by default when
+ generating models from an existing database schema. This also means
+ that ATTR\_AUTOLOAD\_TABLE\_CLASSES now defaults to FALSE
+
+.. raw:: html
+
+ </p><p>
+
+
+ - Fixed some serious hydration bugs.
+
+.. raw:: html
+
+ </p><p>
+
+
+ - Improved the hydration performance for large (joined) result
+ sets.
+
+.. raw:: html
+
+ </p><p>
+
+
+ - Application-level cascading deletes are back.
+
+.. raw:: html
+
+ </p><p>
+
+ We encourage everyone to test this release candidate thoroughly.
+ Please report any issues through trac.
+
+.. raw:: html
+
+ </p><p>
+
+ You can view the complete changelog for this release here.
+
+.. raw:: html
+
+ </p>
+
+
+
+
+
+
View
15 pages/source/blog/0-11-0-release-candidate-2.rst
@@ -0,0 +1,15 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-04-30 22:51:18
+
+==========================
+0.11.0 Release Candidate 2
+==========================
+
+Quick! Come and get it! The second release candidate of the latest
+Doctrine version, 0.11.0, has just been released. This release
+includes a few dozen fixed tickets and a few new features required
+in order to address existing issues/tickets. The complete changelog
+as always can be found in the CHANGELOG file included with the
+source or online here.
+
+
View
65 pages/source/blog/0-11-0-stable-released.rst
@@ -0,0 +1,65 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-06-24 01:24:51
+
+======================
+0.11.0 Stable Released
+======================
+
+
+.. raw:: html
+
+ <p>
+
+Today, I would like to introduce the latest stable version of
+Doctrine, 0.11.0. This release is a major release but it contains
+bug fixes only. It contains a few BC enhancements that were
+required in order to fix some bugs. We recommend everyone upgrade
+to 0.11. Below are some highlights of this release.
+
+.. raw:: html
+
+ </p><ul><li>
+
+131 Tickets Closed
+
+.. raw:: html
+
+ </li><li>
+
+[4433] Introduced preDql\*() Hooks
+
+.. raw:: html
+
+ </li><li>
+
+Introduced SoftDelete Behavior
+
+.. raw:: html
+
+ </li><li>
+
+Introduced Application Level Cascading Deletes
+
+.. raw:: html
+
+ </li><li>
+
+Many fixes to Behavior system, primarily Nesting Behaviors.
+
+.. raw:: html
+
+ </li></ul> <p>
+
+Another item worth mentioning about the 0.11 release is that the
+integration between Doctrine and symfony has evolved quite well
+over the first quarter of 2008 as symfony 1.1 is coming out and
+0.11 is released. The integration between symfony 1.1 and Doctrine
+with sfDoctrinePlugin is now officially supported by the symfony
+core team and we will slowly be introducing more documentation over
+the coming months.
+
+.. raw:: html
+
+ </p>
+
+
View
14 pages/source/blog/1000th-ticket-closed.rst
@@ -0,0 +1,14 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-06-29 09:35:24
+
+====================
+1000th Ticket Closed
+====================
+
+Tonight I have closed the 1000th ticket in the Doctrine Trac. This
+is a big milestone for Doctrine and it has taken the work of many
+people to reach this. Thanks to all the users who took the time to
+report issues to us (test case or not ;) ), it is much appreciated
+and Doctrine would not be able to move forward without it.
+
+
View
43 pages/source/blog/2nd-1-1-beta-released.rst
@@ -0,0 +1,43 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-01-06 21:35:00
+
+======================
+2nd 1.1 Beta Released!
+======================
+
+Today we are happy to introduce the 2nd beta version of the 1.1
+branch. This means we are getting very close to delivering a stable
+version to you.
+
+Development Highlights
+^^^^^^^^^^^^^^^^^^^^^^
+
+
+- `5311 <http://trac.doctrine-project.org/changset/5311>`_ - Fixed
+ infinite loop problem with isValid()
+- `5336 <http://trac.doctrine-project.org/changeset/5336>`_ -
+ Added $deep argument for isValid() and isModified() and defaulted
+ it to false to maintain BC
+- `5337 <http://trac.doctrine-project.org/changeset/5337>`_ -
+ Removes used of \_identifiers in synchronizeWithArray()
+- `5339 <http://trac.doctrine-project.org/changeset/5339>`_ -
+ Reverting `5084 <http://trac.doctrine-project.org/changeset/5084>`_
+ as it introduces some bugs which cannot be fixed until a later
+ version
+- `5341 <http://trac.doctrine-project.org/changeset/5341>`_ -
+ Fixed issue with named parameters
+- `5344 <http://trac.doctrine-project.org/changeset/5344>`_ -
+ Added checking for obj.field IN :named to prevent possible issues
+ of DQL
+- `5345 <http://trac.doctrine-project.org/changeset/5345>`_ -
+ Fixed issue with temporary generated models not being cleaned up
+ properly
+
+You can also check out the
+`detailed documentation <http://www.doctrine-project.org/upgrade/1_1>`_
+of all the changes that are contained in the 1.1 version of
+Doctrine as well as the
+`changelog <http://www.doctrine-project.org/change_log/1_1_0_BETA2>`_
+to help ease the upgrade process.
+
+
View
32 pages/source/blog/4-000th-svn-commit-revision.rst
@@ -0,0 +1,32 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-03-16 08:04:36
+
+===========================
+4,000th svn commit/revision
+===========================
+
+This evening Doctrine reached a milestone of four thousand commits
+in svn. Doctrine has maintained steady development for almost three
+years strong, and we feel this milestone is very significant for
+the evolution of Doctrine. Today, we would like to announce that
+the first generation of Doctrine, also know as 0.10, will be the
+first real candidate for the first(second) stable 1.0 version.
+After 3 point releases of the 0.10 branch we have fixed over 100
+tickets, and made huge steps towards the first stable release of
+Doctrine. Several months ago, we decided to make a feature freeze
+as 0.9 branch, so that we could continue on going refactorings to
+Doctrine while providing a stable branch for our users. Now,
+several months later, we have evolved to 0.10 and are beginning to
+become more and more stable. We have also decided that the
+developments in trunk are so significant that they deserve a title
+of Doctrine 2.0, the second generation of Doctrine.
+
+Now, we need some help from our users. The 0.10 branch is down to
+one failing test case(soon to be fixed). With over 100 unfixed
+tickets, and 1 failing test case, this means we need some failing
+test case writing done :) As I've said before, the best way to
+ensure your issue is fixed, is to create a failing test case
+replicating the issue. You can read about how to write test cases
+for the 0.10 branch here.
+
+
View
46 pages/source/blog/a-doctrine-triple-play.rst
@@ -0,0 +1,46 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-11-03 18:03:00
+
+======================
+A Doctrine Triple Play
+======================
+
+Today I am happy to bring you three new versions of Doctrine:
+
+Doctrine 1.0.13
+~~~~~~~~~~~~~~~
+
+This is a regular maintenance release for the Doctrine 1.0 branch
+and contains several bug fixes. Check out the
+`change log <http://www.doctrine-project.org/change_log/1_0_13>`_
+for the changes contained in this release.
+
+Doctrine 1.1.5
+~~~~~~~~~~~~~~
+
+This is a regular maintenance release for the Doctrine 1.1 branch.
+This will be the one of the last maintenance release for the
+Doctrine 1.1 branch as the scheduled support for this version has
+technically ended on November 1st. We will have a few more
+maintenance releases for 1.1 since Doctrine 1.2 is not out yet.
+We'll give a few months of overlap to give people some time to
+upgrade to Doctrine 1.2. Check out the
+`change log <http://www.doctrine-project.org/change_log/1_1_5>`_
+for the changes contained in this release.
+
+Doctrine 1.2.0-BETA1
+~~~~~~~~~~~~~~~~~~~~
+
+This is the first BETA of the Doctrine 1.2 branch. This release is
+a very exciting one as it will be a LTS(long term support) version
+and it contains lots of new features and bug fixes. Check out the
+`change log <http://www.doctrine-project.org/change_log/1_2_0_BETA1>`_
+for the changes contained in this release. You can also see
+documentation for everything that has changed or is new in Doctrine
+1.2 on the
+`What's New <http://www.doctrine-project.org/upgrade/1_2>`_ page.
+
+Like always, you can grab the package for these new versions on the
+`download <http://www.doctrine-project.org/download>`_ page.
+
+
View
33 pages/source/blog/a-few-updates-for-2008.rst
@@ -0,0 +1,33 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-01-25 19:34:58
+
+======================
+A few updates for 2008
+======================
+
+Some of these announcements are a little late but I think they
+deserve a proper announcement.
+
+First, we have setup a way for you to give us all your money :)
+Please feel free to give a little. The purpose of the Doctrine
+donation collection is simple. The creators of Doctrine don't work
+on this great product for any money. The contributions are made out
+of the pure enjoyment of working on a great open source project
+such as Doctrine. It is not totally clear what *exactly* the
+donations will be used for now, but in the future they may be used
+to fund infrastructure expenses required by the project, sending
+developers to conferences, marketing, or even split amongst the
+developers of Doctrine. So if you or your company uses Doctrine and
+are happy with it, a donation to further the project would be much
+appreciated.
+
+Secondly, we have made some updates to the website. Specifically
+the Download page. It now has proper links to packages and svn for
+each release of Doctrine. These packages are generated nightly from
+the source in svn.
+
+Finally, as some of you all may already know, we have finally
+gotten our release/package management under control and you can
+expect stability in the area of releases, branches and BC breaks!
+
+
View
32 pages/source/blog/a-few-website-changes.rst
@@ -0,0 +1,32 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2010-05-12 15:22:00
+
+===============
+Website Updates
+===============
+
+As you probably already noticed, the Doctrine website looks a
+little bit different. In preparation for the Doctrine 2.0 release,
+the website needed to be improved a little bit to better handle the
+multiple versions and projects under the Doctrine umbrella. Along
+the way I did a little spring cleaning of some code from the early
+Doctrine days as well!
+
+You can now find dedicated sections of the website for both the
+Object Relational Mapper and Database Abstraction Layer projects:
+
+
+- `ORM Project <http://www.doctrine-project.org/projects/orm>`_
+- `DBAL Project <http://www.doctrine-project.org/projects/dbal>`_
+
+The new website also introduces a new API Documentation thanks to
+`PHP Doctor <http://peej.github.com/phpdoctor/>`_!
+
+
+- `Doctrine 2 ORM API Documentation <http://www.doctrine-project.org/projects/orm/2.0/api>`_
+- `Doctrine 2 DBAL API Documentation <http://www.doctrine-project.org/projects/dbal/2.0/api>`_
+
+If you have any problems with the website please let me know by
+e-mail at jonwage [at] gmail.com.
+
+
View
19 pages/source/blog/beta-2.rst
@@ -0,0 +1,19 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2007-11-02 00:16:33
+
+======
+Beta 2
+======
+
+The Doctrine team is proud to announce that we have scheduled the
+release of the second beta snapshot for November 31st, 2007. This
+is very exciting news for the Doctrine team and community.
+
+This means Doctrine is nearing a real release candidate :) As you
+all know, we had a RC1 that was released a little while back, but
+it was a mistake to call it an RC since we planned on still making
+many changes that would break BC. We have corrected ourselves and
+renamed it Beta1. We will continue with beta releases until we are
+comfortable with releasing a true RC1.
+
+
View
15 pages/source/blog/beta2_released.rst
@@ -0,0 +1,15 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2007-12-03 23:59:04
+
+===============
+Beta 2 Released
+===============
+
+On Friday November 30th, the second beta release of the PHP5
+Doctrine ORM software was released. A lot of progress has been made
+since the first beta(formerly known as RC1). Dozens and dozens of
+tickets have been fixed, new features have been added, much needed
+re-factorings have taken place and the community behind Doctrine is
+growing daily.
+
+
View
53 pages/source/blog/birthday-release-party.rst
@@ -0,0 +1,53 @@
+:author: romanb <r.borschel@gmx.net>
+:date: 2010-09-01 16:45:56
+
+======================
+Birthday Release Party
+======================
+
+Today is Jonathan's birthday and in order to celebrate properly
+we're rolling out three new releases.
+
+Doctrine Common RC1
+-------------------
+
+The first release candidate of the Doctrine Common project.
+
+
+- `Installation <http://www.doctrine-project.org/projects/common/2.0/download/2.0.0RC1>`_
+- `Changelog <http://www.doctrine-project.org/jira/browse/DCOM/fixforversion/10081>`_
+
+Doctrine DBAL BETA4
+-------------------
+
+The last beta release of the Doctrine DBAL project.
+
+
+- `Installation <http://www.doctrine-project.org/projects/dbal/2.0/download/2.0.0BETA4>`_
+- `Changelog <http://www.doctrine-project.org/jira/browse/DBAL/fixforversion/10071>`_
+
+Doctrine ORM BETA4
+------------------
+
+The last beta release of the Doctrine ORM project.
+
+
+- `Installation <http://www.doctrine-project.org/projects/orm/2.0/download/2.0.0BETA4>`_
+- `Changelog <http://www.doctrine-project.org/jira/browse/DDC/fixforversion/10072>`_
+
+Again we want to thank everyone who participated in the ongoing
+development efforts, whether it was through bug reports, comments,
+critique, praise and/or actual code contributions.
+
+What next
+---------
+
+Some might know that we originally planned to release 2.0 stable
+today but we're simply not there yet. However, things are going
+quite well and we're confident that the final releases of the 2.0
+versions are close. The ORM and DBAL now enter a final phase of
+bug-fixing to resolve any issues we find critical for the final
+releases and will then follow the Common project into RC (release
+candidate) status.
+
+
View
69 pages/source/blog/bringing-it-all-together.rst
@@ -0,0 +1,69 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2010-05-27 09:14:00
+
+========================
+Bringing it all together
+========================
+
+Recently we've been making some pretty serious changes around here.
+This blog post aims to overview it all and make sure people are
+aware of what is going on!
+
+Website Changes
+---------------
+
+A few weeks ago I made some
+`updates <http://www.doctrine-project.org/blog/a-few-website-changes>`_
+to the Doctrine website. Some said it looked like we took a step
+backwards. Well, we kind of did. I had to rip apart the website,
+remove old legacy code and reorganize things so that it can be
+integrated with the changes we wanted to make next. So I've sort of
+had to tear it all apart and put it back together a new way. It's
+been a bumpy road but we're starting to get the remaining issues
+worked out.
+
+The Switch to git
+-----------------
+
+The next big change we wanted to make was to switch to
+`github.com <http://www.doctrine-project.org>`_ for our source
+control. This has a lot of impact on the project since everything
+is built around the source control, including the website. That is
+why the previous change was necessary in order to make this move
+complete.
+
+Splitting Doctrine 2 Sources
+----------------------------
+
+The next step for us was to split the Doctrine 2 sources into
+separate repositories on github. So now the source code of the
+Common, DBAL, and ORM packages are truly separated.
+
+
+- `Common <http://github.com/doctrine/common>`_
+- `DBAL <http://github.com/doctrine/dbal>`_
+- `ORM <http://github.com/doctrine/doctrine2>`_
+
+This means the packages can evolve independently and will be
+maintained separately from now on. The website also has dedicated
+project pages for the
+`DBAL <http://www.doctrine-project.org/projects/dbal>`_ and
+`ORM <http://www.doctrine-project.org/projects/orm>`_ with plenty
+of documentation.
+
+Bringing it all together
+------------------------
+
+The last piece that brings it all together is the new
+`Guide for Doctrine Contributors and Collaborators <http://www.doctrine-project.org/contribute>`_.
+Now that we've moved to git we had to reinvent a lot of stuff we
+had already learned for SVN. Thanks to our git mentor David
+Abdemoulaie (`hobodave <http://www.twitter.com/hobodave>`_) we have
+figured out a workable solution for dealing with the project
+dependencies via git submodules that does most of what we want.
+Through this process we all worked on some new documentation that
+detailed how contributors and collaborators for the Doctrine
+Project should work. We really hope that this will help get people
+involved with the project and mature things more.
+
+
View
39 pages/source/blog/cleaning_up_the_mess.rst
@@ -0,0 +1,39 @@
+:author: guilhermeblanco <guilhermeblanco@gmail.com>
+:date: 2008-01-16 14:05:03
+
+====================
+Cleaning up the mess
+====================
+
+Starting from last blog post, development team went under some
+general discussions to reach a commom sense regarding the project
+versions. We are finally organizing our project from a
+non-versioned stage to a versionable stage, which was causing a lot
+troubles to everyone. Currently we are under heavy development to
+reach a stable version of 1.0 release. Until here, we are under
+some internal refactorings and we decided to create a branch which
+we named 1.0beta2. Since then, we got a feature freeze version and
+without big refactorings. The trunk went under big changes and we
+decided to not keep the 1.0beta2 as the branch name; we renamed it
+0.10. We know it is a big impact for those that checked-out the
+branch, but we think it is safer to do it now instead of have to
+deal with versions confusion in a near future. It's the best
+organization we can reach and it's the last one (thanks God!). Now
+that we have the branches 0.9 and 0.10, it is time to define minor
+versions. We caught from our history what was the first release of
+0.9 and we tagged it as 0.9.0. We also got the old 1.0beta2 release
+and tagged it as 0.10-beta2. So currently we have 2 commit-free
+tagged versions and 2 branches with feature freeze. We highly
+discourage users from using trunk, since it is a very unstable
+environment and your code may not work. Please update your
+repository locations. These are the changes we did: tags/1.0beta1
+=> tags/0.9.0 tags/1.0beta2 => tags/0.10-beta2 branches/1.0beta2 =>
+branches/0.10 branches/0.9 => no change We also schedule new tagged
+releases in a near future. The next releases will be 0.9.1 and
+0.10-rc1. You can join #doctrine channel (at irc.freenode.net) or
+group list to follow discussions regarding this subject. We
+apologize the mess we caused to users until now and we hope to not
+have this problem again, specially because we didn't have much
+release management knowledge. Thanks.
+
+
View
30 pages/source/blog/common-rc2-dbal-rc2-release.rst
@@ -0,0 +1,30 @@
+:author: beberlei <kontakt@beberlei.de>
+:date: 2010-11-18 17:44:00
+
+================================
+Common RC2 and DBAL RC3 released
+================================
+
+Today we are happy to announce the second release candidate of
+Doctrine Common and the first, second and third release candidate
+(yes, all in one!) of DBAL.
+
+In the Common package 3 bugs have been fixed, in the DBAL package 9
+bugs have been fixed. See the changelogs for details:
+
+
+- `Common RC1 Changelog <http://www.doctrine-project.org/jira/browse/DCOM/fixforversion/10093>`_
+- `DBAL RC3 Changelogt <http://www.doctrine-project.org/jira/browse/DBAL/fixforversion/10094>`_
+
+We are especially thankful for the support Microsoft has been
+giving us to integrate PDO Sqlsrv. Juozas was invited to
+`Jumpin Camp <http://www.jumpincamp.com>`_ and had time to finish
+full support for the SQL Server.
+
+The release of the first release candidate of the ORM package is
+not far away. We will be waiting some days to get some early
+feedback on the latest updates (updated Common and DBAL
+dependencies). Expect the first release candidate for someday next
+week.
+
+
View
268 pages/source/blog/cookbook-recipe-relation-dql-behavior.rst
@@ -0,0 +1,268 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-01-28 07:43:00
+
+======================================
+Cookbook Recipe: Relation DQL Behavior
+======================================
+
+Today I will teach you how to write a simple Doctrine behavior. You
+will learn some of the basics of creating a behavior and you will
+gain some pretty cool functionality for your relationships.
+
+We will write a behavior called ``RelationDql`` which allows you to
+add default query parts that are automatically added to your
+queries when you reference the specified relationships. So first we
+will get started by looking at an example schema we can apply this
+to.
+
+Here is an example schema where we have a ``Site``, ``BlogPost``
+and ``Tag`` model:
+
+::
+
+ [yml]
+ Site:
+ columns:
+ name: string(255)
+
+ BlogPost:
+ actAs: [Timestampable]
+ columns:
+ title: string(255)
+ body: clob
+ site_id: integer
+ relations:
+ Site:
+ foreignAlias: BlogPosts
+ Tags:
+ class: Tag
+ refClass: BlogPostTag
+ foreignAlias: BlogPosts
+
+ Tag:
+ columns:
+ name: string(255)
+
+ BlogPostTag:
+ columns:
+ blog_post_id:
+ type: integer
+ primary: true
+ tag_id:
+ type: integer
+ primary: true
+ relations:
+ BlogPost:
+ foreignAlias: BlogPostTags
+ Tag:
+ foreignAlias: BlogPostTags
+
+This is a fairly simple schema as you can see, but what if we want
+to have a relationship on the ``Site`` model to retrieve the latest
+five ``BlogPost`` records or order the ``Tags`` relationship
+alphabetically by default?
+
+Lets modify our schema to take into account a new behavior that we
+will write in the next step. First modify the ``Site`` model and a
+relationship named ``LatestBlogPosts``:
+
+::
+
+ [yml]
+ Site:
+ actAs:
+ RelationDql:
+ relations:
+ LatestBlogPosts:
+ orderBy: %s.created_at DESC
+ limit: 5
+ columns:
+ name: string(255)
+ relations:
+ LatestBlogPosts:
+ autoComplete: false
+ class: BlogPost
+ local: id
+ foreign: site_id
+
+ **TIP** The ``autoComplete`` option is set to ``false`` so that the
+ relationship is not reflected and added to the opposite end,
+ ``BlogPost`` automatically.
+
+
+Now lets modify the ``BlogPost`` model to change the ``Tags``
+relationship so that it is ordered alphabetically by name by
+default:
+
+::
+
+ [yml]
+ BlogPost:
+ actAs:
+ Timestampable:
+ RelationDql:
+ relations:
+ Tags:
+ orderBy: %s.name ASC
+ columns:
+ title: string(255)
+ body: clob
+ site_id: integer
+ relations:
+ Site:
+ foreignAlias: BlogPosts
+ Tags:
+ class: Tag
+ refClass: BlogPostTag
+ foreignAlias: BlogPosts
+
+ **TIP** The ``relations`` array is an array of changes to make to
+ the DQL query. The key can be any valid function on the
+ ``Doctrine_Query`` API and the value is of course the parameter to
+ pass to the function.
+
+
+Now that we have our schemas modified to take into account the new
+``RelationDql`` behavior we need to actually write the code:
+
+::
+
+ [php]
+ class RelationDql extends Doctrine_Template
+ {
+ protected $_options = array();
+
+ public function __construct($options)
+ {
+ $this->_options = $options;
+ }
+
+ public function setTableDefinition()
+ {
+ $this->_table->addRecordListener(new RelationDqlListener($this->_options));
+ }
+ }
+
+The template is very simple. It only attaches a record listener to
+the invoking table. Their is where most of the magic happens. So
+now lets define the ``RelationDqlListener`` class:
+
+::
+
+ [php]
+ class RelationDqlListener extends Doctrine_Record_Listener
+ {
+ protected $_options = array('relations' => array());
+
+ public function __construct($options)
+ {
+ $this->_options = $options;
+ }
+
+ public function preDqlSelect(Doctrine_Event $event)
+ {
+ $query = $event->getQuery();
+
+ if (empty($this->_options['relations']))
+ {
+ throw new Doctrine_Exception(
+ 'You must specify at least one relationship to add DQL to'
+ );
+ }
+
+ $relations = $this->_options['relations'];
+
+ $components = $this->_getDqlCallbackComponents($query);
+ foreach ($components as $alias => $component)
+ {
+ if (isset($component['relation']) && isset($relations[$component['relation']->getAlias()]))
+ {
+ $dqls = $relations[$component['relation']->getAlias()];
+ foreach ($dqls as $func => $dql)
+ {
+ $dql = str_replace('%s', $alias, $dql);
+ $query->$func($dql);
+ }
+ unset($relations[$component['relation']->getAlias()]);
+ }
+ }
+ }
+
+ protected function _getDqlCallbackComponents($query)
+ {
+ $params = $query->getParams();
+ $componentsBefore = array();
+ if ($query->isSubquery()) {
+ $componentsBefore = $query->getQueryComponents();
+ }
+
+ $copy = $query->copy();
+ $copy->getSqlQuery($params);
+ $componentsAfter = $copy->getQueryComponents();
+
+ if ($componentsBefore !== $componentsAfter) {
+ return array_diff($componentsAfter, $componentsBefore);
+ } else {
+ return $componentsAfter;
+ }
+ }
+ }
+
+So now we have the behavior defined so lets look at some example
+DQL queries and the SQL that is outputted:
+
+ **TIP** Remember, in order for the dql callbacks to be executed we
+ must enable an attribute first.
+
+ ::
+
+ [php]
+ $manager->setAttribute('use_dql_callbacks', true);
+
+
+::
+
+ [php]
+ $q = Doctrine_Query::create()
+ ->select('s.name, p.title, p.created_at')
+ ->from('Site s')
+ ->leftJoin('s.LatestBlogPosts p');
+
+ echo $q->getSql();
+
+The above would output the following SQL:
+
+::
+
+ [sql]
+ SELECT s.id AS s__id, s.name AS s__name, b.id AS b__id, b.title AS b__title, b.created_at AS b__created_at FROM site s LEFT JOIN blog_post b ON s.id = b.site_id ORDER BY b.created_at DESC LIMIT 5
+
+ **NOTE** Notice how the ``ORDER BY`` and ``LIMIT`` were added to
+ the query.
+
+
+Now lets look at an example that involves the ``BlogPost`` tags:
+
+::
+
+ [php]
+ $q = Doctrine_Query::create()
+ ->from('BlogPost p')
+ ->leftJoin('p.Tags t');
+
+ echo $q->getSql();
+
+The above would output the following SQL query:
+
+::
+
+ [sql]
+ SELECT b.id AS b__id, b.title AS b__title, b.body AS b__body, b.site_id AS b__site_id, b.created_at AS b__created_at, b.updated_at AS b__updated_at, t.id AS t__id, t.name AS t__name FROM blog_post b LEFT JOIN blog_post_tag b2 ON b.id = b2.blog_post_id LEFT JOIN tag t ON t.id = b2.tag_id ORDER BY t.name ASC
+
+As you can see the ``ORDER BY`` clause to order the related tags by
+``name`` was added for us.
+
+Pretty cool huh? You can use this in your projects to make your
+relationships a little nicer.
+
+
View
19 pages/source/blog/creating-a-unit-of-work-using-doctrine.rst
@@ -0,0 +1,19 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-08-08 21:57:00
+
+======================================
+Creating a Unit of Work Using Doctrine
+======================================
+
+I am happy to introduce the latest contribution to the 1.0
+cookbook, Creating a Unit of Work Using Doctrine by Jon Lebensold.
+Big thanks to him, he reached out to me wanting to contribute
+something to the project so he offered to add this great recipe to
+the cookbook. It properly demonstrates the unit of work pattern for
+saving and deleting Doctrine objects. If you are interested in
+contributing to Doctrine, adding something to the cookbook is a
+great way to help out by only giving 1 hour of your time. Contact
+me at jonwage [at] gmail.com if you are interested in
+contributing.
+
+
View
185 pages/source/blog/cross-database-joins.rst
@@ -0,0 +1,185 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-06-19 00:06:00
+
+====================
+Cross Database Joins
+====================
+
+Cross Database Joins
+====================
+
+In Doctrine, joining data across databases is not technically
+"supported" by a designed feature, but you can make it work by
+tricking Doctrine a little bit.
+
+In this article I'll show you how you can setup a database schema
+that specifies relationships across two databases and then issue a
+query which joins data from these two databases.
+
+I used the Doctrine sandbox to prepare this test so if you want to
+try it, you can use it too.
+
+Database Connections
+--------------------
+
+First lets setup our two database connections we'll use to query
+from. Modify the ``config.php`` file included with the sandbox and
+replace the default single connection with the following code.
+
+::
+
+ [php]
+ Doctrine_Manager::connection('mysql://root@localhost/doctrine_test1', 'doctrine_test1');
+ Doctrine_Manager::connection('mysql://root@localhost/doctrine_test2', 'doctrine_test2');
+
+Schema
+------
+
+Now lets define our YAML schema file that we'll use to run our
+tests against. You can modify the ``config/doctrine/schema.yml``
+file and include the following YAML.
+
+::
+
+ [yml]
+ User:
+ tableName: doctrine_test1.user
+ connection: doctrine_test1
+ columns:
+ username: string(255)
+ password: string(255)
+
+ Profile:
+ tableName: doctrine_test2.profile
+ connection: doctrine_test2
+ columns:
+ user_id: integer
+ first_name: string(255)
+ last_name: string(255)
+ relations:
+ User:
+ foreignType: one
+ onDelete: CASCADE
+
+ **NOTE** Notice how we specify the full table name, including the
+ name of the database. Currently, Doctrine does not generate the SQL
+ that includes the database name. It only includes the table name,
+ but we can trick Doctrine by simply specifying the
+ ``database_name.table_name`` as the table name.
+
+
+Test Data Fixtures
+------------------
+
+In the ``data/fixtures`` directory create a ``data.yml`` file and
+paste the following fixtures inside so we can have some data in
+each database to run our tests against.
+
+::
+
+ [yml]
+ User:
+ jwage:
+ username: jwage
+ password: changeme
+ Profile:
+ first_name: string(255)
+ last_name: string(255)
+
+Build the Database
+------------------
+
+Now lets build our database and import the data fixtures from
+above. This can be easily done by running the following from the
+Doctrine command line interface.
+
+::
+
+ $ php doctrine build-all-reload
+
+Run the Test
+------------
+
+Now we have our models created, we have our database created and we
+have our test fixtures loaded in to the database. Now it is time to
+run some sample code and see what we get!
+
+First lets write our ``Doctrine_Query`` and look at the generated
+SQL. Paste the following code in to index.php and lets execute it!
+
+::
+
+ [php]
+ $q = Doctrine::getTable('User')
+ ->createQuery('u')
+ ->leftJoin('u.Profile p');
+
+ echo $q->getSql();
+
+The above code would output the following SQL query.
+
+::
+
+ [sql]
+ SELECT d.id AS d__id, d.username AS d__username, d.password AS d__password, d2.id AS d2__id, d2.user_id AS d2__user_id, d2.first_name AS d2__first_name, d2.last_name AS d2__last_name FROM doctrine_test1.user d LEFT JOIN doctrine_test2.profile d2 ON d.id = d2.user_id
+
+ **NOTE** Notice how in the above SQL that is generated it include
+ the database name and the table name. So now the query is able to
+ join across databases if your RDBMS supports it.
+
+
+Now lets execute the above query and look at the results.
+
+::
+
+ [php]
+ $q = Doctrine::getTable('User')
+ ->createQuery('u')
+ ->leftJoin('u.Profile p');
+
+ $users = $q->fetchArray();
+
+ print_r($users);
+
+The above would output just exactly what you'd expect.
+
+::
+
+ Array
+ (
+ [0] => Array
+ (
+ [id] => 1
+ [username] => jwage
+ [password] => changeme
+ [Profile] => Array
+ (
+ [id] => 1
+ [user_id] => 1
+ [first_name] => string(255)
+ [last_name] => string(255)
+ )
+
+ )
+
+ )
+
+The data from the ``User`` model came from one database, and the
+data from the ``Profile`` model came from the other database.
+
+ **NOTE** This will only work if your database supports foreign keys
+ and joins across databases. I know MySQL does support this but I am
+ unsure about others. This same method can be used to query for data
+ across PostgreSQL schemas too.
+
+
+That is it! Joining data from across different databases is no
+problem in Doctrine.
+
+ **CAUTION** This is not a designed feature of Doctrine and you may
+ experience edge cases that may not work as you'd expect. This is
+ just useful if you need to join data across databases and if you
+ experience edge cases you can work around them in your project.
+
+
+
View
59 pages/source/blog/database-support-doctrine2.rst
@@ -0,0 +1,59 @@
+:author: beberlei <kontakt@beberlei.de>
+:date: 2010-02-11 16:50:00
+
+=====================================
+Database-Driver Support in Doctrine 2
+=====================================
+
+Not only the ORM part of Doctrine will see major changes for the
+step from the 1.x to the Doctrine 2 series. The DBAL layer has
+undergone major refactorings and there has been a very throughout
+separation of concerns. Any database platform that will be
+supported has to extend four different classes/interfaces.
+
+
+- Doctrine and Doctrine - Both interfaces implement the
+ interference between PHP and the Database, they are the lowest
+ layer of any platform support.
+- Doctrine - This abstract class requires you to specify the
+ specialites of the SQL dialect of the database-platform you are
+ going to implement.
+- Doctrine - This abstract class defines the interaction of the
+ database platform to create a database schema, for example in
+ combination with the ORM SchemaTool.
+
+For the Doctrine 2.0 release we plan to support 4 different
+platforms, all tested in-depth:
+
+
+- MySQL using the PDO Mysql extension
+- PgSQL using the PDO PostgresSQL extension
+- Oracle using the OCI extension
+- Sqlite using the PDO SQLite extension
+
+Both the SchemaManager and Platform can be re-used for any Driver
+that is connected to the database. If you would want to use Mysqli
+instead of PDO MySQL you would only need to implement a new Driver
+and Statement. And if you just want to change some of the sql
+specific details in regard to schema generation you would only need
+to extend the AbstractPlatform.
+
+Still, from a database-platform point of view the default support
+is lacking, for example MsSql support with both PDO and SqlSrv is
+currently missing. Firebird or IBM Db2 are other platforms that are
+wide-spread and not supported currently. However we don't want to
+rush only half-finished support into Doctrine 2. That is where you
+come in: We would greatly appreciate any help in getting support
+for any new database platform into Doctrine 2.
+
+For the implementation of a completly new database platform you can
+rely on the powerful PHPUnit Testsuite of Doctrine 2. There are
+lots of tests that check the functionality of your driver, platform
+and schema implementations against various scenarios. Additionally
+the complete ORM functional test-suite can run against your new
+database platform. Furthermore you can count of everyone in the
+Doctrine DEV Team for help, we are hanging around on Freenode IRC
+in the #doctrine-dev Channel. You could also create a ticket on
+Jira and attach a patch or just discuss your ideas.
+
+
View
26 pages/source/blog/dbal-security-2011-1.rst
@@ -0,0 +1,26 @@
+:author: beberlei <kontakt@beberlei.de>
+:date: 2011-08-29 20:59:00
+
+=================================
+Security releases 2.0.8 and 2.1.2
+=================================
+
+It was brought to our attention that identifier quoting in Doctrine
+DBAL has a potential security problem when user-input is passed
+into this function, making the security aspect of this
+functionality obsolete. We fixed as soon as we realized it and
+apologize for to our users for this error.
+
+We released versions 2.1.2 and 2.0.8 of DBAL that both contain a
+fix for the problem. You can grab the code from
+`PEAR <http://pear.doctrine-project.org>`_,
+`Github <http://github.com/doctrine/dbal>`_ or the
+`Downloads section <http://www.doctrine-project.org/projects/dbal/download>`_.
+
+If you make use of AbstractPlatform::quoteIdentifier() or
+Doctrine::quoteIdentifier() please upgrade immediately. The ORM
+itself does not use identifier quoting in combination with
+user-input, however we still urge everyone to update to the latest
+version of DBAL.
+
+
View
37 pages/source/blog/dbal2-beta3-released.rst
@@ -0,0 +1,37 @@
+:author: beberlei <kontakt@beberlei.de>
+:date: 2010-07-27 12:00:00
+
+===========================
+Release of DBAL 2.0.0 Beta3
+===========================
+
+In preparation of the next ORM Beta Release in the next days we
+already released Doctrine DBAL 2.0.0BETA3 today. Noteworthy changes
+include:
+
+
+- BC Break: Changed behaviour of Postgres and Oracle DateTime now
+ without Timezone (TIMESTAMP WITHOUT TIME ZONE instead of TIMESTAMP
+ WITH TIME ZONE) See
+ `Ticket DBAL-22 <http://www.doctrine-project.org/jira/browse/DBAL-22>`_
+ for more details aswell as migration issues for PostgreSQL and
+ Oracle. This will be re-announced for the ORM Beta 3 release, which
+ is affected from this change.
+- SQL Loggers can now log execution times of queries
+ `DBAL-11 <http://www.doctrine-project.org/jira/browse/DBAL-11>`_
+- Several Issue with AutoIncrement Detection in Doctrine
+
+A total of 13 issues on DBAL has been fixed.
+
+Links:
+
+
+- `Changelog <http://www.doctrine-project.org/jira/browse/DBAL/fixforversion/10066>`_
+- `Installation <http://www.doctrine-project.org/projects/dbal/2.0/download/2.0.0BETA3>`_
+
+ **NOTE** DBAL BETA 3 is not currently compatible with the ORM
+ master, we still have to make some changes. Please wait to use DBAL
+ Beta 3 with ORM until the ORM Beta 3 is released.
+
+
+
View
123 pages/source/blog/dc2-experimental-associations-id-fields.rst
@@ -0,0 +1,123 @@
+:author: beberlei <kontakt@beberlei.de>
+:date: 2010-08-07 14:00:00
+
+=================================================================
+Experimental Doctrine 2 Feature: Associated Entities as Id Fields
+=================================================================
+
+Doctrine 2 supports composite keys of primitive types from the
+beginning, however we realized early that a very common use-case is
+a composite key with one or more elements being associated
+entities. For example think of a CMS System which allows Article
+Translations. A common SQL schema for this case would be:
+
+::
+
+ [sql]
+ CREATE TABLE article (id INT PRIMARY KEY, title VARCHAR(255), body LONGTEXT);
+
+ CREATE TABLE article_translations (article_id INT, language CHAR(3), title VARCHAR(255), body LONGTEXT, PRIMARY KEY (article_id, language));
+
+This sort of schema cannot be mapped with Doctrine 2 currently, it
+would be required to add another column ``id`` on the
+article\_translations table and enforce a unique constraint on
+article\_id + language.
+
+Under the umbrella of
+`DDC-117 <http://www.doctrine-project.org/jira/browse/DDC-117>`_
+and some related tickets there were discussions about adding a
+feature that would help solve this problem: Allowing to add @Id to
+@ManyToOne or @OneToOne mappings. I committed this feature into an
+experimental Git branch today and we ask you to test this with as
+many crazy scenarios and use-cases as possible.
+
+This feature can potentially be uber-powerful, however we want to
+be sure that it works correctly and does not have to many
+problematic edge-cases. Therefore we need your feedback.
+
+
+- Go to
+ `http://github.com/doctrine/doctrine2/commits/DDC-117 <http://github.com/doctrine/doctrine2/commits/DDC-117>`_
+ to see the code
+- `Have a look at the functional tests <http://github.com/doctrine/doctrine2/blob/DDC-117/tests/Doctrine/Tests/ORM/Functional/Ticket/DDC117Test.php>`_
+ to see the synatx
+- Checkout the Git Repository and switch to the experimental
+ branch ``git checkout DDC-117``
+- Do crazy testing against this branch!
+
+Personally I want this feature in core very much, however composite
+keys are very tricky. We want to find as many problematic cases
+with this feature as possible. That would enable us to evaluate if
+this approach will be merged into Doctrine 2.1 or not.
+
+ **NOTE**
+
+ This feature currently only works with Annotations Mapping Driver.
+ XML and YAML will follow later.
+
+
+By the way, the previous example is actually one of the functional
+test-cases for this feature:
+
+::
+
+ [php]
+ /**
+ * @Entity
+ */
+ class DDC117Article
+ {
+ /** @Id @Column(type="integer") @GeneratedValue */
+ private $id;
+ /** @Column */
+ private $title;
+
+ /**
+ * @OneToMany(targetEntity="DDC117Translation", mappedBy="article")
+ */
+ private $translations;
+
+ public function __construct($title)
+ {
+ $this->title = $title;
+ $this->translations = new \Doctrine\Common\Collections\ArrayCollection();
+ }
+ }
+
+ /**
+ * @Entity
+ */
+ class DDC117Translation
+ {
+ /**
+ * @Id @ManyToOne(targetEntity="DDC117Article")
+ */
+ private $article;
+
+ /**
+ * @Id @column(type="string")
+ */
+ private $language;
+
+ /**
+ * @column(type="string")
+ */
+ private $title;
+
+ public function __construct($article, $language, $title)
+ {
+ $this->article = $article;
+ $this->language = $language;
+ $this->title = $title;
+ }
+ }
+
+ $article = new DDC117Article("foo");
+ $em->persist($article);
+ $em->flush();
+
+ $translation = new DDC117Translation($article, "en", "Bar");
+ $em->persist($translation);
+ $em->flush();
+
+
View
35 pages/source/blog/doctrine-0-11-1-and-1-0.rst
@@ -0,0 +1,35 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-07-12 06:53:47
+
+=======================
+Doctrine 0.11.1 and 1.0
+=======================
+
+
+.. raw:: html
+
+ <p>
+
+Today we have released a new version, 0.11.1. As with all point
+releases it is a bug fix only release. With over 81 tickets closed,
+this is definetly a significant release for Doctrine towards 1.0.
+We recommend that you upgrade.
+
+.. raw:: html
+
+ </p><p>
+
+We have also created the 1.0 branch and will begin actively working
+on it. We have hit the final straight away towards 1.0! This was
+originally slated to be the 0.12 branch but we feel it is ready and
+we will spend the next 2 months furiously working on tickets before
+we release it on September 1st. We will have some short
+intermediate BETA and RC releases before then but these will
+primarily be bug fix releases only. Make some hype please, thanks.
+;)
+
+.. raw:: html
+
+ </p>
+
+
View
27 pages/source/blog/doctrine-0-9-1-0-10-1-released.rst
@@ -0,0 +1,27 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-02-16 09:33:51
+
+================================
+Doctrine 0.9.1 / 0.10.1 Released
+================================
+
+Today the Doctrine team is proud to announce the release of
+Doctrine 0.9.1 and 0.10.1. Both releases bring many fixes and a few
+minor additions for missing features in each of the branches. The
+next release of 0.10.2 will replace the 0.9 branch and all users
+will be recommended to upgrade as the 0.9 branch will no longer be
+supported and maintained by the core dev team. We except that
+0.10.2 is due in two to three weeks. Please upgrade your existing
+projects from 0.9 to 0.10 and let us know what issues you come
+across when switching so we can ensure a smooth migration from 0.9
+to 0.10 for all of our users.
+
+On a side note, many new changes have been made to the website. A
+few visual things and a few functional things. You will now find on
+the Download page you can now get Doctrine in either zip or tgz
+format. We also have our very own PEAR server so you are able to
+install Doctrine via the pear command line interface. Our channel
+is located at pear.phpdoctrine.org and can be discovered by running
+'pear channel-discover pear.phpdoctrine.org'
+
+
View
14 pages/source/blog/doctrine-1-0-1-released.rst
@@ -0,0 +1,14 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-09-09 20:42:00
+
+=======================
+Doctrine 1.0.1 Released
+=======================
+
+Today we would like to announce the immediate availability of the
+first maintenance release of the Doctrine 1.0 branch. This release
+contains several important bug fixes and we recommend that you
+upgrade as soon as possible. You can upgrade via pear or download
+the package here.
+
+
View
26 pages/source/blog/doctrine-1-0-10-and-1-1-2-released.rst
@@ -0,0 +1,26 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-06-15 08:21:00
+
+==================================
+Doctrine 1.0.10 and 1.1.2 Released
+==================================
+
+Today I am happy to release two new maintenance releases for
+Doctrine. As usual we have a new version for the 1.0 branch and a
+new version for the 1.1 branch. The new versions can be gotten on
+the `Download <http://www.doctrine-project.org/download>`_ page.
+
+You can review the changelogs for
+`1.0.10 <http://www.doctrine-project.org/change_log/1_0_10>`_ and
+`1.1.2 <http://www.doctrine-project.org/change_log/1_1_2>`_ to see
+what all issues have been addressed in these releases.
+
+On a side note, development on the Doctrine 1.2 version will begin
+very soon so if you have any ideas or features you'd like to see in
+this version please bring them to our attention and we may be able
+to address them in this version. We plan for the 1.2 version to
+concentrate on bug fixes, performance fixes and small features to
+make the use of the 1.x version of Doctrine more enjoyable without
+any major BC breaks.
+
+
View
21 pages/source/blog/doctrine-1-0-11-and-1-1-3-released.rst
@@ -0,0 +1,21 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-07-27 11:43:00
+
+==================================
+Doctrine 1.0.11 and 1.1.3 Released
+==================================
+
+Today I am happy to introduce two new maintenance releases for
+Doctrine, 1.0.11 and 1.1.3. As always these are regular maintenance
+releases and contain dozens of bug fixes. Below you will find links
+to view the changelogs for both releases.
+
+
+- `Doctrine 1.0.11 Changelog <http://www.doctrine-project.org/change_log/1_0_11>`_
+- `Doctrine 1.1.3 Changelog <http://www.doctrine-project.org/change_log/1_1_3>`_
+
+It is recommended that you upgrade as soon as possible. You can
+download the new versions from the
+`download <http://www.doctrine-project.org/download>`_ page.
+
+
View
24 pages/source/blog/doctrine-1-0-12-and-1-1-4-released.rst
@@ -0,0 +1,24 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-09-25 17:30:00
+
+==================================
+Doctrine 1.0.12 and 1.1.4 Released
+==================================
+
+Today I am happy to bring you two new maintenance releases for the
+1.0 and 1.1 versions of Doctrine. These are both standard
+maintenance releases and only contain bug fixes.
+
+ **NOTE** **1.1 End of Life**
+
+ This is the second to last maintenance release for the 1.1 version
+ and we are still scheduled to hit the end of life on
+ **November 1, 2009**. The good news is 1.2 will be a
+ **LTS(long term support)** release and will have **18** months of
+ support from the date it is released.
+
+
+You can view the change logs and download these releases on the
+`download <http://www.doctrine-project.org>`_ page.
+
+
View
14 pages/source/blog/doctrine-1-0-2-released.rst
@@ -0,0 +1,14 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-09-11 21:35:25
+
+=======================
+Doctrine 1.0.2 Released
+=======================
+
+Due to a minor regression in 1.0.1 we are releasing 1.0.2 which
+addresses the issue discovered. The issue was reported and fixed
+immediately. Big thanks to Adam Huttler for the detailed report
+which allowed us to fix the issue right away. You can download the
+new version here or upgrade via pear as usual.
+
+
View
14 pages/source/blog/doctrine-1-0-3-released.rst
@@ -0,0 +1,14 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-10-13 21:20:25
+
+========================
+Doctrine 1.0.3 Released!
+========================
+
+Today I am happy to introduce another important maintenance release
+for the increasingly stable Doctrine 1.0. This release contains
+over 60 closed tickets and 80 changesets. It is recommended that
+you upgrade your project right away. You can view the 1.0.3
+changelog here.
+
+
View
16 pages/source/blog/doctrine-1-0-4-released.rst
@@ -0,0 +1,16 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-11-25 23:41:00
+
+=======================
+Doctrine 1.0.4 Released
+=======================
+
+Today we are happy to introduce the immediate availability of
+Doctrine 1.0.4. This is a major bug fix release for the 1.0 branch
+of Doctrine. It contains over 75 bug fixes and it is recommended
+that you upgrade as soon as possible. As always you can view the
+`change log <http://www.doctrine-project.org/change_log/1_0_4>`_ on
+the website and
+`download here <http://www.doctrine-project.org/download>`_.
+
+
View
35 pages/source/blog/doctrine-1-0-6-released.rst
@@ -0,0 +1,35 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-01-05 20:36:00
+
+=======================
+Doctrine 1.0.6 Released
+=======================
+
+Welcome Back
+^^^^^^^^^^^^
+
+Don't worry! Doctrine is alive :) It has been a bit quiet around
+here due to the holidays. I was able to take a week long vacation
+and it was very nice being away from everything for the first time
+in almost three years. I hope everyone enjoyed the holidays as much
+as I did.
+
+1.0.6 Released
+^^^^^^^^^^^^^^
+
+Anyways, on my first day back I am happy to introduce the freshly
+packaged Doctrine 1.0.6 bug fix release. This release contains
+dozens of fixes and the change log can be read
+`here <http://www.doctrine-project.org/change_log/1_0_6>`_. It is
+strongly encouraged that you upgrade as soon as possible.
+
+Doctrine 1.1
+^^^^^^^^^^^^
+
+On a side note, we will be releasing the 2nd beta of 1.1 later this
+week and we have a few other surprises that will be a part of the
+1.1 stable release. So, you will have to stick around to see what
+we have planned. You can check out what is new in 1.1 by reading
+the `upgrade <http://www.doctrine-project.org/upgrade/1_1>`_ file.
+
+
View
33 pages/source/blog/doctrine-1-0-7-is-available.rst
@@ -0,0 +1,33 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-02-03 19:06:00
+
+============================
+Doctrine 1.0.7 is Available!
+============================
+
+Today I have made available
+`Doctrine 1.0.7 <http://www.doctrine-project.org/download>`_, the
+latest bug fix release for the 1.0 version of Doctrine. This
+release is a significant one with a few dozen bugs fixed. Below is
+a list that highlights some of the fixes.
+
+Highlights
+~~~~~~~~~~
+
+
+- [r5361] Fixed NestedSet to not create column for root column if
+ it already exists (closes #1817)
+- [r5419] Fixes #1856. Added checking to schema file to ensure
+ correct file extension (format).
+- [r5429] Fixes issue with generated count queries (closes #1766)
+- [r5438] Fixes issue with saveRelated() being called too early
+ (closes #1865)
+- [r5441] Fixing generated models to adhere to coding standard of
+ using 4 spaces (closes #1846)
+- [r5459] Fixes issue with I18n and column aliases (closes #1824)
+
+Lots of other fixes have been made in this release so if you want
+to see a list of all the changes be sure to check the
+`changelog <http://www.doctrine-project.org/change_log/1_0_7>`_.
+
+
View
54 pages/source/blog/doctrine-1-0-8-and-1-1-0-rc2-released.rst
@@ -0,0 +1,54 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-03-02 23:36:00
+
+=====================================
+Doctrine 1.0.8 and 1.1.0-RC2 Released
+=====================================
+
+Today I am happy to tell you that we have two new versions of
+Doctrine available for you to use. The first is the monthly
+maintenance release for Doctrine 1.0 and the second is another
+release candidate for the newest major version of Doctrine, 1.1. As
+always you can grab them from the
+`downloads <http://www.doctrine-project.org/download>`_ page.
+
+1.0.8 Highlights
+~~~~~~~~~~~~~~~~
+
+
+- Backported a few fixes from 1.1
+- Several fixes and optimizations to Doctrine\_Query::count()
+- Dozens and dozens of other small fixes
+
+You can read the full change log for the 1.0.8 release
+`here <http://www.doctrine-project.org/change_log/1_0_8>`_.
+
+1.1.0-RC2 Highlights
+~~~~~~~~~~~~~~~~~~~~
+
+
+- Fixed issue with migration diff not paying attention to table
+ options
+- Made the SoftDelete behavior backwards compatible with 1.0
+- Several fixes and optimizations to Doctrine\_Query::count()
+- Fixed duplicated params when using LIMIT/OFFSET under MySQL
+- Fixed issue with new utf8 search analyzer
+- Fixed issue with prefixes causing invalid results in the
+ migration diff tool
+- Fixed issues that arrise when re-using query objects with DQL
+ callbacks enabled.
+
+You can read the full change log for the 1.1.0-RC2 release
+`here <http://www.doctrine-project.org/change_log/1_1_0_RC2>`_.
+
+
+.. raw:: html
+
+ <hr />
+
+I realize we are a little late on the 1.1.0 release but we had some
+regressions reported that were a bit tricky and time consuming to
+fix. All is well now and we were able to make hopefully the last
+release candidate for the 1.1 version of Doctrine.
+
+
View
20 pages/source/blog/doctrine-1-0-9-and-1-1-1-released.rst
@@ -0,0 +1,20 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-05-11 18:49:00
+
+=================================
+Doctrine 1.0.9 and 1.1.1 Released
+=================================
+
+Today I am very happy to make available two new releases of
+Doctrine for the 1.0 and 1.1 code bases. These are both significant
+bug fix releases and it is recommended that you upgrade right
+away.
+
+
+- `1.1.1 <http://www.doctrine-project.org/download/1_1_1/format/tgz>`_
+- `1.0.9 <http://www.doctrine-project.org/download/1_0_9/format/tgz>`_
+
+You can find more information about these releases as usual on the
+`download <http://www.doctrine-project.org/download>`_ page.
+
+
View
17 pages/source/blog/doctrine-1-0-and-symfony-1-2.rst
@@ -0,0 +1,17 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-07-02 02:01:14
+
+============================
+Doctrine 1.0 and symfony 1.2
+============================
+
+This morning Fabien from the symfony project announced the roadmap
+for the next major version of symfony, 1.2. He announced that
+Doctrine would be officially supported as a "first class citizen."
+The time couldn't be better as symfony 1.2 is scheduled to be
+released in October and Doctrine is slated to release 1.0 around
+the same time. This is good news for Doctrine, symfony and more
+importantly PHP in general. I look forward to seeing what comes of
+all this in the coming months.
+
+
View
27 pages/source/blog/doctrine-1-0-beta1-released.rst
@@ -0,0 +1,27 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-08-05 17:13:00
+
+===========================
+Doctrine 1.0 BETA1 Released
+===========================
+
+
+.. raw:: html
+
+ <p>
+
+Today I am happy to announce the release of Doctrine 1.0-BETA1.
+This marks the true start for the 1st generation Doctrine stable
+lifecycle. As you may already know, Doctrine 1.0 has been slated to
+be released on September 1st 2008 for quite some time now. We still
+have a few more pre-1.0 releases to go until 1.0. The roadmap for
+now is BETA1, RC1, RC2 and then 1.0 STABLE. You can see the roadmap
+in trac if you're interested in keeping up with the Doctrine
+schedule. More information on 1.0 and what other things to expect
+on September 1st will be given soon. Make some noise!
+
+.. raw:: html
+
+ </p>
+
+
View
68 pages/source/blog/doctrine-1-0-released.rst
@@ -0,0 +1,68 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-09-01 22:14:00
+
+=====================
+Doctrine 1.0 Released
+=====================
+
+
+.. raw:: html
+
+ <p>
+
+Today I am extremely happy to introduce the first stable version of
+Doctrine, 1.0.0. If you've been around for a while, then you know
+this is a long time coming. We've been hard at work on Doctrine for
+nearly 3 years and it is finally time to release a version we will
+support with bug fix releases every month. This 1.0 release will be
+maintained until March 1st 2010. Now we have 1.0, what is next?
+Below are some highlights of what to expect in the future of
+Doctrine.
+
+.. raw:: html
+
+ </p><ul><li>
+
+Doctrine 2.0 - We've been working in trunk on Doctrine 2.0 for
+quite sometime now and this is the next really big milestone for
+the project. As we work on 2.0 we will backport things for
+intermediate major versions(1.1, 1.2, etc.)
+
+.. raw:: html
+
+ </li><li>
+
+The Doctrine Company? - We'll be working on a new side to the
+Doctrine project for organizing commercial support contracts,
+trainings, seminars, certifications, training material and much
+more.
+
+.. raw:: html
+
+ </li><li>
+
+Doctrine supported by symfony 1.2 - We will be contributing to the
+integration process of Doctrine with sfDoctrinePlugin. 1.2 will be
+the first symfony release to bundle Doctrine and support it.
+
+.. raw:: html
+
+ </li><li>
+
+More and Better Documentation - Expect updated documentation as
+well as some new pieces introduced. Doctrine Book?
+
+.. raw:: html
+
+ </li></ul><p>
+
+What are you waiting for? Download Doctrine 1.0 now and give it a
+try. Check out the Cookbook and Manual to help you get started. The
+My First Project Tutorial is good for just getting started and
+getting your feet wet.
+
+.. raw:: html
+
+ </p>
+
+
View
7 pages/source/blog/doctrine-1-1-development-begins.rst
@@ -0,0 +1,7 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2008-10-02 09:27:00
+
+===============================
+Doctrine 1.1 Development Begins
+===============================
+
View
27 pages/source/blog/doctrine-1-1-documentation.rst
@@ -0,0 +1,27 @@
+:author: jwage <jonwage@gmail.com>
+:date: 2009-03-03 23:01:00
+
+==========================
+Doctrine 1.1 Documentation
+==========================
+
+Today I have begun updating the documentation to reflect the
+changes made in 1.1 and
+`The Guide to Doctrine for PHP <http://www.doctrine-project.org/documentation/manual/1_1/en>`_
+is now available. We still have some more changes to make but most
+things have been updated and added.
+
+Below is a list of some of the things that still need some
+updating.
+
+
+- Migrations
+- SoftDelete
+- Searchable
+
+Please lend a hand to us by reviewing the documentation and helping
+us identify things that are lacking or 100% missing. You can create
+new tickets in `trac <http://trac.doctrine-project.org>`_ under the
+"Documentation/Website" milestone and we'll get them fixed asap.
+
+
View
33 pages/source/blog/doctrine-1-1-is-right-around-the-corner.rst