compared with
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (26)

View Page History
During the [IRC meeting on 2011-08-17|2011-08-17 Meeting Log], one big question arose: what will ZF2 include? The basic consensus is that it should be "core" plus the MVC. The questions remaining are:
<p>During the <ac:link><ri:page ri:content-title="2011-08-17 Meeting Log" /><ac:link-body>IRC meeting on 2011-08-17</ac:link-body></ac:link>, one big question arose: what will ZF2 include? The basic consensus is that it should be &quot;core&quot; plus the MVC. The questions remaining are:</p>

* What is core?
* What needs to be done for the MVC?
* How should we distribute ZF2?
<ul>
<li>What is core?</li>
<li>What needs to be done for the MVC?</li>
<li>How should we distribute ZF2?</li>
</ul>

This RFC is intended for gathering feedback as to how we might categorize the various pieces of the distribution, and what the "standard" distribution might include.

Based on feedback on the mailing list and during the [2011-08-31 IRC meeting|2011-08-31 Meeting Log], we propose the following categories. Items marked in italics are considered optional within their category.
<p>This RFC is intended for gathering feedback as to how we might categorize the various pieces of the distribution, and what the &quot;standard&quot; distribution might include.</p>

* *Core*
** Autoloading and Plugin Loading
** Configuration
** Caching
** Logging
** EventManager
** DI
** Code Generation and Reflection
** HTTP and REST client
** URI
** Session
** Console
** DOM manipulation and querying
** Crypt
** Filter and Validator
** Stdlib
*** SPL extensions
*** Dispatchable
*** Callback
** Memory
** Version
<p>Based on feedback on the mailing list and during the <ac:link><ri:page ri:content-title="2011-08-31 Meeting Log" /><ac:link-body>2011-08-31 IRC meeting</ac:link-body></ac:link>, we propose the following categories. Items marked in italics are considered optional within their category.</p>

* *DB and Data Formats*
** Db
** DOM manipulation and querying
** Feed reader, writer, and PuSH
** Mail
*** MIME
** Serialization
*** JSON
*** AMF
*** etc.
** ICal
<ul>
<li><strong>Core</strong>
<ul>
<li>Autoloading and Plugin Loading</li>
<li>Configuration</li>
<li>Caching</li>
<li>Logging</li>
<li>EventManager</li>
<li>DI</li>
<li>Code Generation and Reflection</li>
<li>HTTP and REST client</li>
<li>URI</li>
<li>Session</li>
<li>Console</li>
<li>DOM manipulation and querying</li>
<li>Crypt</li>
<li>Filter and Validator</li>
<li>Stdlib
<ul>
<li>SPL extensions</li>
<li>Dispatchable</li>
<li>Callback</li>
</ul>
</li>
<li>Memory</li>
<li>Version</li>
</ul>
</li>
</ul>

* *Security*
** Authentication
** Authorization (ACL)
** Identity
*** _OpenID_
*** _OAuth_
*** _InfoCard_
*** _LDAP_

* *I18n/L10n*
** Translator
** Locale
*** Currency
*** Date
*** Locale
*** Measure
*** Translator
*** TimeSync
<ul>
<li><strong>DB and Data Formats</strong>
<ul>
<li>Db</li>
<li>DOM manipulation and querying</li>
<li>Feed reader, writer, and PuSH</li>
<li>Mail
<ul>
<li>MIME</li>
</ul>
</li>
<li>Serialization
<ul>
<li>JSON</li>
<li>AMF</li>
<li>etc.</li>
</ul>
</li>
<li>ICal</li>
</ul>
</li>
</ul>

* *MVC*
** "Controller" (front controller, page/action controllers)
** View and Layout
*** Navigation
*** Paginator
*** ProgressBar
*** Tag Cloud
*** Text\Table
** Server components
*** XML-RPC
*** JSON-RPC
*** SOAP
*** AMF
** Form components

* *Development and Debug*
** Debug
** _Wildfire_
** _Tool_
** _Functional testing framework_
<ul>
<li><strong>Security</strong>
<ul>
<li>Authentication</li>
<li>Authorization (ACL)</li>
<li>Identity
<ul>
<li><em>OpenID</em></li>
<li><em>OAuth</em></li>
<li><em>InfoCard</em></li>
<li><em>LDAP</em></li>
</ul>
</li>
</ul>
</li>
</ul>

* *Other:* components currently uncategorized, but which would not be necessary in order to mark the framework stable. Instability of the component at time of stable release would result in its removal from the repository until it has been refactored.
** Queue
** Javascript
*** Dojo
*** jQuery
*** Wildfire
** Barcode
** Services
*** Including GData
** CAPTCHA
** Cloud
** PDF
** Search and/or Lucene
** Markup

The ZF2 "standard distribution" would be defined as "Core" + "DB and Data Formats" + "Security" + "I18n/L10n" + "MVC" (consensus surrounding the "Development and Debug" category was not really reached). Any components outside of this that, _assuming they are stable_ , could be included in a "full distribution" package. Assuming a package manager/installer capable of metapackages, developers could then install:
<ul>
<li><strong>I18n/L10n</strong>
<ul>
<li>Translator</li>
<li>Locale
<ul>
<li>Currency</li>
<li>Date</li>
<li>Locale</li>
<li>Measure</li>
<li>Translator</li>
<li>TimeSync</li>
</ul>
</li>
</ul>
</li>
</ul>

* individual components (with dependencies)
* individual categories (which would be meta-packages defining their components as dependencies)
* meta-distributions (custom packages aggregating one or more components or categories)
* standard distribution (categories as defined above)
* full distribution (all components)

Any components falling outside the standard distribution that are not passing tests and/or have not been refactored to ZF2 coding standards and requirements when we prepare for beta will be removed from the repository; developers may propose their inclusion in later releases assuming they do this work.
<ul>
<li><strong>MVC</strong>
<ul>
<li>&quot;Controller&quot; (front controller, page/action controllers)</li>
<li>View and Layout
<ul>
<li>Navigation</li>
<li>Paginator</li>
<li>ProgressBar</li>
<li>Tag Cloud</li>
<li>Text\Table</li>
</ul>
</li>
<li>Server components
<ul>
<li>XML-RPC</li>
<li>JSON-RPC</li>
<li>SOAP</li>
<li>AMF</li>
</ul>
</li>
<li>Form components</li>
</ul>
</li>
</ul>

h4.
* Updated 2011-08-31 following IRC meeting to reflect consensus reached.
<ul>
<li><strong>Development and Debug</strong>
<ul>
<li>Debug</li>
<li><em>Wildfire</em></li>
<li><em>Tool</em></li>
<li><em>Functional testing framework</em></li>
</ul>
</li>
</ul>


<ul>
<li><strong>Other:</strong> components currently uncategorized, but which would not be necessary in order to mark the framework stable. Instability of the component at time of stable release would result in its removal from the repository until it has been refactored.
<ul>
<li>Queue</li>
<li>Javascript
<ul>
<li>Dojo</li>
<li>jQuery</li>
<li>Wildfire</li>
</ul>
</li>
<li>Barcode</li>
<li>Services
<ul>
<li>Including GData</li>
</ul>
</li>
<li>CAPTCHA</li>
<li>Cloud</li>
<li>PDF</li>
<li>Search and/or Lucene</li>
<li>Markup</li>
</ul>
</li>
</ul>


<p>The ZF2 &quot;standard distribution&quot; would be defined as &quot;Core&quot; + &quot;DB and Data Formats&quot; + &quot;Security&quot; + &quot;I18n/L10n&quot; + &quot;MVC&quot; (consensus surrounding the &quot;Development and Debug&quot; category was not really reached). Any components outside of this that, <em>assuming they are stable</em> , could be included in a &quot;full distribution&quot; package. Assuming a package manager/installer capable of metapackages, developers could then install: </p>

<ul>
<li>individual components (with dependencies)</li>
<li>individual categories (which would be meta-packages defining their components as dependencies)</li>
<li>meta-distributions (custom packages aggregating one or more components or categories)</li>
<li>standard distribution (categories as defined above)</li>
<li>full distribution (all components)</li>
</ul>


<p>Any components falling outside the standard distribution that are not passing tests and/or have not been refactored to ZF2 coding standards and requirements when we prepare for beta will be removed from the repository; developers may propose their inclusion in later releases assuming they do this work.</p>


<ul>
<li>Updated 2011-08-31 following IRC meeting to reflect consensus reached.</li>
</ul>