View Source

<ac:macro ac:name="toc" />

<h2>Information</h2>

<ul>
<li>Date: 16 May 2012, 20:00-21:00 UTC</li>
<li><ac:link><ri:page ri:content-title="2012-05-16 Meeting Agenda" /><ac:link-body>Agenda</ac:link-body></ac:link></li>
<li>Moderator: Matthew Weier O'Phinney (nickname weierophinney)</li>
<li>Next meeting: 23 May 2012</li>
</ul>


<h2>Summary</h2>

<h3>Rename Zend\Module to Zend\ModuleManager</h3>

<p>(Search for &quot;20:02:00&quot; in the log.)</p>

<p>Several folks have called for some naming conventions around components. In particular, Ralph Schindler (ralphschindler) has recommended renaming <code>Zend\Module</code> to <code>Zend\ModuleManager</code> &ndash; largely as the big players in the new MVC are EventManager, ServiceManager, and modules.</p>

<p>Evan Coury (EvanDotPro), author of the module component, expressed that he doesn't like having &quot;Manager&quot; as part of the component name (and shared some interesting links pointing out why), but would go with whatever the consensus was.</p>

<p>A quick vote was in favor of renaming. Matthew (weierophinney) suggested he could do the renaming as part of a pull request he's doing on ServiceManager &lt;-&gt; MVC integration, as he's already touching the component.</p>

<p><strong>tl;dr</strong>: <code>Zend\Module</code> will be <code>Zend\ModuleManager</code> on master soon, and in beta4.</p>

<h3>Composer as a possible solution for autoloading in ZendSkeletonApplication</h3>

<p>(Search for &quot;20:12:23&quot; in the log.)</p>

<p>A number of people, including Marco Pivetta (ocramius), Rob Allen (Akrabat), and Kyle Spraggs (SpiffyJr) have been experimenting heavily with Composer (<a class="external-link" href="http://packagist.org">http://packagist.org</a>) for dependency management lately. Rob has provided groundwork for ZF2 to provide per-component Composer packages, and we have a composer.json in the ZF2 repository and registered with packagist.</p>

<p>Marco would like to take this further, to the skeleton application, for installing ZF2 itself. This would potentially prove simpler to maintain and support, particularly as git submodule usage is often hard to explain (especially to those not using the command line git tooling). </p>

<p>The primary discussion centered around:</p>

<ul>
<li>Should this be the default and suggested installation mechanism for the skeleton application?</li>
<li>If so, should we provide support for the composer autoloader?</li>
<li>If so, should we also still provide docs for using git submodules?</li>
</ul>


<p>The votes were overwhelmingly in favor of using composer. The consensus was that we should retain the directions for git submodule usage, but encourage composer usage. Additionally, we decided to try and provide support for the composer autoloader for components/packages/etc. managed by composer, while still supporting ZF2's autoloading mechanisms (which might be necessary for site-specific modules and/or libraries).</p>

<p>While we'd like to target beta4, it will not be a requirement for the beta4 release.</p>

<p><strong>tl;dr</strong>: Expect Composer to be the default install mechanism for the skeleton application and modules in the near future.</p>


<h3>Beta 4 Status Report</h3>

<p>(Search for &quot;20:23:05&quot; in the log.)</p>

<ul>
<li>Forms have been merged to master</li>
<li>ServiceManager has been merged to master</li>
<li>ServiceManager &lt;-&gt; MVC integration is close to completion and merging to master</li>
<li>A ton of DB updates have been merged to master, and the last features for beta4 are nearing completion</li>
<li>The &quot;rename interfaces&quot; story is complete, though a few pull requests are pending merges</li>
<li>i18n, console, and escaper have been dropped from beta4, and are currently targetted for beta5</li>
</ul>


<p>At this point, it looks like the release will happen Monday, 21 May 2012, or Tuesday, 22 May 2012.</p>

<p>We also started some discussion of what will occur for beta5, and what cleanup needs to occur before we can start the RC phase for 2.0.0. Read the log for details.</p>

<p><strong>tl;dr</strong>: Huge changes are either in place or about to be merged &ndash; and beta4 will drop in the next few days!</p>

<h2>Log</h2>

<ac:macro ac:name="html"><ac:parameter ac:name="output">html</ac:parameter><ac:plain-text-body><![CDATA[
<style>
pre.log {
white-space: -moz-pre-wrap; /* Mozilla, supported since 1999 */
white-space: -pre-wrap; /* Opera 4 - 6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: pre-wrap; /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */
word-wrap: break-word; /* IE 5.5+ */
border: 1px solid darkgray;
padding: 0.5em;
}
</style>
<pre class="log">
20:01:19 &lt;weierophinney &gt; Reminder, Agenda is HERE: http://bit.ly/K7gtJc
20:01:35 &lt;weierophinney &gt; I'm going to go in reverse order
20:02:00 &lt;weierophinney &gt; So, first topic is: "Rename Zend\Module to Zend\ModuleManager"
20:02:18 &lt;weierophinney &gt; ralphschindler: is this your topic? or is for EvanDotPro/Akrabat?
20:02:25 &lt; prolic &gt; mine
20:02:26 &lt; prolic &gt; :)
20:02:39 &lt;weierophinney &gt; ah, okay. :)
20:02:44 &lt;weierophinney &gt; So, let's discuss
20:02:55 &lt; prolic &gt; ralph and me proposed this to evan and we had a short discussion about that
20:03:09 &lt; EvanDotPro &gt; yeah... there's a mailing list thread as well
20:03:15 &lt; prolic &gt; the reason behind this change is consistency
20:03:23 &lt;ralphschindle &gt; ah, reverse order
20:03:23 &lt;ralphschindle &gt; yes
20:03:26 &lt;ralphschindle &gt; its both of us
20:03:40 &lt; EvanDotPro &gt; http://zend-framework-community.634137.n4.nabble.com/quot-Manager-quot-suffix-on-component-names-td4589647.html
20:03:41 &lt;ralphschindle &gt; I proposed, originally, that Module become ModuleManager
20:03:51 &lt;ralphschindle &gt; Zend\Module actually has no modules in it
20:03:58 &lt; prolic &gt; +1
20:04:08 &lt; mbn_18 &gt; +1
20:04:14 &lt; MikeA_ &gt; +1
20:04:16 &lt;weierophinney &gt; EvanDotPro: what are your thoughts, as author of the component?
20:04:32 &lt;ralphschindle &gt; it would make it more consistent with other things: EventManager and ServiceManager, and these 3, together, are the hero components of the MVC stack
20:04:39 &lt; SpiffyJr &gt; Holy crap. I got the channel right on the first try.
20:04:45 &lt; EvanDotPro &gt; i personally don't like classes that end in "Manager" or even "er"
20:05:02 &lt;ralphschindle &gt; why?
20:05:14 &lt; EvanDotPro &gt; http://objology.blogspot.com/2011/09/one-of-best-bits-of-programming-advice.html
20:05:15 &lt;ralphschindle &gt; Manager is just as much a noun as Module
20:05:18 &lt; mbn_18 &gt; But our is a manager...
20:05:35 &lt; mbn_18 &gt; Our/it
20:05:59 &lt; EvanDotPro &gt; but that's only a personal opinion i hold. i'm absolutely fine with whatever we choose as long as there's consistency
20:06:06 &lt; mbn_18 &gt; Name should be transparent as possible
20:06:39 &lt; prolic &gt; another reason: matthew brought this up in a thread on the ml, long time ago: the default implementation that we offer should have the same name as it's namespace, so we need to have another name for the interface
20:07:22 &lt; Bilge &gt; This looks like fun
20:07:31 &lt;ralphschindle &gt; prolic: i brought that up, its a identifiable "entry point" object
20:07:32 &lt; EvanDotPro &gt; i agree there. Zend\Module might be a little vague, and Zend\Module\Module wouldn't make a ton of sense.
20:07:36 &lt; prolic &gt; acutally, the module manager is the main thing the component offers
20:07:38 &lt;ralphschindle &gt; that was in my interface naming document
20:07:51 &lt; EvanDotPro &gt; ah yeah, that was ralphschindler's. i rememver that.
20:07:54 &lt; EvanDotPro &gt; remember*
20:07:54 &lt; prolic &gt; sorry @ralphschindler, i thought matthew was it ;)
20:08:01 &lt; mbn_18 &gt; Let's votes
20:08:21 &lt;weierophinney@&gt; !start-vote Rename Module component to ModuleManager?
20:08:21 &lt; Zend\Bot &gt; Vote "Rename Module component to ModuleManager?"; type either +1, -1 or 0
20:08:26 &lt; SpiffyJr &gt; +1
20:08:31 &lt; mbn_18 &gt; +1
20:08:32 &lt; prolic &gt; +1
20:08:32 &lt; MikeA_ &gt; +1
20:08:36 &lt; SocalNick &gt; 0
20:08:39 &lt; EvanDotPro &gt; -1
20:08:40 &lt;ralphschindle &gt; +1
20:08:43 &lt; pulpfree &gt; +1
20:08:48 &lt; SpiffyJr &gt; EvanDotPro, I think you lose. ;)
20:08:52 &lt; prolic &gt; lol
20:08:57 &lt; EvanDotPro &gt; (though i'm +1 for a better name than Zend\Module)
20:08:59 &lt; san &gt; -1
20:09:02 &lt;weierophinney@&gt; Akrabat, DASPRiD, WalterTamboer, Freeaqingme, Gabriel403 ?
20:09:06 &lt; SpiffyJr &gt; EvanDotPro, but I'll give you +0.5 for avoiding peer pressure
20:09:19 &lt;weierophinney@&gt; +1
20:09:30 &lt;weierophinney@&gt; rizza?
20:09:33 &lt; mbn_18 &gt; This is not football. No one loose :p
20:09:35 &lt;weierophinney@&gt; mwillbanks?
20:09:42 &lt; bjy &gt; +1
20:09:53 &lt; rizza &gt; +1
20:10:31 &lt; Gabriel403 &gt; 0
20:10:49 &lt;weierophinney@&gt; !end-vote
20:10:50 &lt; Zend\Bot &gt; Vote result for "Rename Module component to ModuleManager?": 9 positives, 2 negatives and 2 neutrals, consensus: 7
20:11:07 &lt;weierophinney@&gt; I think that can be called a majority no matter how you look at it.
20:11:14 &lt; SpiffyJr &gt; Erm hrm.
20:11:16 &lt;weierophinney@&gt; EvanDotPro: shall I make that change in the branch I'm working on?
20:11:26 &lt;weierophinney@&gt; since I'm already doing sweeping changes anyways?
20:11:36 &lt; EvanDotPro &gt; weierophinney: that's fine, so it's one big merge.
20:11:36 &lt; prolic &gt; i can do it, too ;)
20:11:50 &lt; EvanDotPro &gt; prolic: weierophinney is doing some stuff that would conflict, so might be best if he does it.
20:11:53 &lt; prolic &gt; but go ahead ;)
20:11:53 &lt;weierophinney@&gt; prolic: I'm working on changes to the Module component already -- best if I keep all changes together.
20:12:23 &lt;weierophinney@&gt; kk, next topic: "Composer as a possible solution for autoloading in ZendSkeletonApplication"
20:12:36 &lt;weierophinney@&gt; I believe SpiffyJr is already working on this
20:12:42 &lt; SpiffyJr &gt; and ocramius
20:12:49 &lt; SpiffyJr &gt; Might want to expand that to also include modules?
20:12:51 &lt;ralphschindle &gt; part 2 of this is, there is an abigious set of code in there called "Consumer/Provider", I suggested calling this "Feature" since features of a module could be provding or consuming "stuff"
20:12:54 &lt; SpiffyJr &gt; Although modules are entirely "userland"
20:12:59 &lt;weierophinney@&gt; I'd like to note that we _could_ actually have docs for both approaches; they're not mutually exclusive.
20:13:06 &lt; Akrabat &gt; sorry - back
20:13:11 &lt;weierophinney@&gt; ralphschindler: I already made that change in my branch.
20:13:18 &lt;ralphschindle &gt; oh:?
20:13:19 &lt;ralphschindle &gt; ok
20:13:22 &lt;weierophinney@&gt; :D
20:13:34 &lt;ralphschindle &gt; so its an AutoloadFeature implements FeatureInterface?
20:13:37 &lt;weierophinney@&gt; ralphschindler: discussed it in #zftalk.2 over the last couple days, and moved forward on it this morning.
20:13:42 &lt;ralphschindle &gt; ok
20:13:46 &lt;weierophinney@&gt; ralphschindler: no, no feature interface -- just feature namespace.
20:13:51 &lt; Akrabat &gt; FTR, I was +1 on ModuleManager too
20:13:55 &lt;weierophinney@&gt; Akrabat: cool
20:14:04 &lt;weierophinney@&gt; BACK TO TOPIC, please. :)
20:14:16 &lt;weierophinney@&gt; SpiffyJr and ... where's ocramius?
20:14:25 &lt; SpiffyJr &gt; Good question.
20:14:32 &lt; SpiffyJr &gt; He's the one that actually put it on the agenda...
20:14:41 &lt;weierophinney@&gt; I'm trying to summon him from #zftalk.2
20:14:58 &lt; SpiffyJr &gt; Any other topics we could skip to?
20:14:59 &lt;weierophinney@&gt; Has everybody read the agenda item?
20:15:09 &lt; Akrabat &gt; I'm generally in favour of Composer for Skeleton
20:15:15 &lt; prolic &gt; me too
20:15:15 &lt; mbn_18 &gt; Are you the summoner?
20:15:22 &lt;weierophinney@&gt; And does anybody have objections to having composer be one of the possibilities for installation?
20:15:35 &lt;ralphschindle &gt; im fine with it until a better solution presents itself
20:15:49 &lt; SocalNick &gt; can I ask a question about composer in the meantime? maybe someone knows...how does composer work when you are actively developing the Modules that are being included via composer? i.e. with Git submodules, each module is a separate repo I can commit to...
20:15:52 &lt; Akrabat &gt; we need to work out how to do autoloading
20:15:55 &lt; san &gt; Doesn't Pear or Pyrus could do almost the same things as Composer?
20:16:14 &lt; SpiffyJr &gt; SocalNick, Composer uses native tools (git, svn) to checkout
20:16:18 &lt;weierophinney@&gt; SocalNick: I _think_ you can point composer to a branch, and then just periodically update.
20:16:23 &lt; SpiffyJr &gt; SocalNick, so the modules that are included are repositories
20:16:30 &lt; SpiffyJr &gt; SocalNick, You can also specify alternative branches to use for dev
20:16:32 &lt;ralphschindle &gt; san: not really, no
20:16:35 &lt; Akrabat &gt; SocalNick: I would remove it from composer and use git if I was developing. However, I'll explore with Jordi
20:16:45 &lt; EvanDotPro &gt; if disadvantage #1 is true (i don't know), that may increase our support workload in #zftalk.2, but that said, i'm not against adding installation methods, regardless.
20:16:50 &lt;weierophinney@&gt; Akrabat: SpiffyJr was working on the autoloading bit, actually
20:17:00 &lt; Akrabat &gt; SpiffyJr: pear/pyrus seems to favour global install. Composer is always local
20:17:05 &lt; SpiffyJr &gt; weierophinney, was holding off until this meeting is finished
20:17:13 &lt;weierophinney@&gt; Akrabat: my suggestion was to use the composer autoloader for things installed via composer, and ZF2 autoloaders otherwise.
20:17:18 &lt; Akrabat &gt; san: pear/pyrus seems to favour global install. Composer is always local
20:17:24 &lt; prolic &gt; so perhabs invent a new solution entirely writting in php
20:17:32 &lt; Akrabat &gt; weierophinney: that's worth investigating
20:17:35 &lt;weierophinney@&gt; EvanDotPro: it'd only be an issue really until we go RC
20:17:42 &lt; SocalNick &gt; Akrabat - so if you are just using a module, composer works fine - if developing a module inside an app, use submodule?
20:17:47 &lt; mwillbanks &gt; sorry catching up now :( busy week so far
20:17:48 &lt; SpiffyJr &gt; EvanDotPro, once master is in a more stable state it won't change as often.
20:17:50 &lt; EvanDotPro &gt; weierophinney: right
20:17:55 &lt;WalterTamboer &gt; The main problem for me was that I used Doctrine in combination with ZF2, the submodule part of git made a BIG mess of the structure.
20:18:03 &lt; SpiffyJr &gt; WalterTamboer, very big mess
20:18:08 &lt; Akrabat &gt; SocalNick: as I say, we'll investigate with Jordi, but that's what' I'd do
20:18:10 &lt;weierophinney@&gt; Akrabat: actually, pyrus favors local installs at this time. But it's harder to get working, and not much info on creating channels currently
20:18:16 &lt; SpiffyJr &gt; There's also other instances were conflicting submodules might pose an issue.
20:18:22 &lt; Akrabat &gt; weierophinney: really? their docs suck then!
20:18:28 &lt;weierophinney@&gt; Akrabat: indeed. :)
20:18:54 &lt; Akrabat &gt; EvanDotPro: I think disadvantage 1 is actually an advantage
20:19:01 &lt; Akrabat &gt; if we play our cards carefully
20:19:18 &lt;WalterTamboer &gt; As I commented at the wiki, it's so easy to setup an application using Composer that I definitely think that Composer is the best option available right now.
20:19:22 &lt; san &gt; Akrabat, I think taht Pyrus aslo can install packages localy… just strange to use 2 tools for so commun task. Hard to lear so much new for developers who only starting to lear zf.
20:19:27 &lt;weierophinney@&gt; Akrabat: I think so as well -- it's also why I've liked using pyrus. Pinning is a good thing, as it prevents the WTF factor.
20:19:47 &lt;weierophinney@&gt; so...
20:19:48 &lt; Akrabat &gt; we need to ensure that we keep "casual" users on the released beta
20:20:13 &lt;weierophinney@&gt; !start-vote Use Composer as one solution (default) for ZendSkeletonApplication
20:20:13 &lt; Zend\Bot &gt; Vote "Use Composer as one solution (default) for ZendSkeletonApplication"; type either +1, -1 or 0
20:20:21 &lt; Akrabat &gt; +1
20:20:22 &lt; prolic &gt; +1
20:20:25 &lt;weierophinney@&gt; +1
20:20:25 &lt; mwillbanks &gt; +1
20:20:30 &lt;WalterTamboer &gt; +1
20:20:31 &lt; mbn_18 &gt; 0
20:20:31 &lt; SpiffyJr &gt; +1
20:20:31 &lt; EvanDotPro &gt; Akrabat: true... we'd just have to direct them to using the tag and tell them they're on their own if they're trying to follow master.
20:20:32 &lt; MikeA_ &gt; 0
20:20:35 &lt; EvanDotPro &gt; +1
20:20:35 &lt; rizza &gt; +1
20:20:39 &lt; SocalNick &gt; +1
20:20:41 &lt; mwillbanks &gt; composer makes me happy :)
20:20:46 &lt; rizza &gt; Indeed.
20:20:48 &lt; rhunwicks &gt; +1
20:20:49 &lt; bjy &gt; +1
20:20:50 &lt; SpiffyJr &gt; Yea, I was anti-composer until I started using it
20:20:52 &lt;weierophinney@&gt; EvanDotPro: as you say: ZF2_PATH if you want cutting edge. :)
20:20:55 &lt; SpiffyJr &gt; Now that I have it's incredibly easy to use.
20:20:59 &lt;ralphschindle &gt; 0
20:21:08 &lt; Akrabat &gt; EvanDotPro: exactly - and if they are on master, then they can deal with git
20:21:34 &lt; SpiffyJr &gt; There will still be the *option* to use submodules
20:21:35 &lt; Akrabat &gt; SpiffyJr: same here. I was dead against any package manager other than plain old zip files
20:21:37 &lt;weierophinney@&gt; !end-vote
20:21:38 &lt; Zend\Bot &gt; Vote result for "Use Composer as one solution (default) for ZendSkeletonApplication": 11 positives, 0 negatives and 3 neutrals, consensus: 11
20:22:03 &lt;weierophinney@&gt; SpiffyJr: exactly -- I think we retain the submodule docs, but have composer as the first option, and preferred.
20:22:18 &lt; prolic &gt; great :)
20:22:32 &lt;weierophinney@&gt; and docs to remove the ZF2 entry in composer.json if you opt for submodule.
20:23:05 &lt;weierophinney@&gt; Last topic: Beta4 Status Report
20:23:08 &lt;weierophinney@&gt; Lots to report!
20:23:09 &lt; prolic &gt; you can even use plain old zip files ;) should still work ;)
20:23:18 &lt;weierophinney@&gt; I'll start this one.
20:23:40 &lt;weierophinney@&gt; Forms have been merged to master. There's a post on the ML (somebody dig up a link, please!) with some links to examples.
20:23:46 &lt;weierophinney@&gt; I'll be getting docs in the next day or two.
20:23:57 &lt;weierophinney@&gt; ServiceManager has been merged to master. Docs are on their way.
20:24:12 &lt;weierophinney@&gt; Lots of DB updates (I'll have ralphschindler expand on this in a minute)
20:24:18 &lt; Akrabat &gt; http://zend-framework-community.634137.n4.nabble.com/Forms-now-in-master-td4637456.html
20:24:35 &lt;weierophinney@&gt; I'm zeroing in on ServiceManager &lt;-&gt; MVC integration, and working with EvanDotPro to finalize the last use cases.
20:25:12 &lt; prolic &gt; so mvc integration is not yet finished?
20:25:22 &lt; EvanDotPro &gt; EXPECT A HANDFUL OF BC BREAKS -- within the next couple of days before B4. We'll outline them on the ML and PR descriptions as they're merged... but know they're coming. :)
20:25:29 &lt;weierophinney@&gt; DASPRiD has indicated he'd like to move i18n to beta5. Artur has said the same for Console. No word from Padraic on Escaper. Those latter two may be moved to 2.1 if they cannot be completed in the next few weeks.
20:25:54 &lt;weierophinney@&gt; My goal is to release Friday, but, realistically, it'll likely be Monday or Tuesday.
20:26:05 &lt;weierophinney@&gt; ralphschindler: want to outline the DB updates now?
20:26:11 &lt;weierophinney@&gt; Akrabat: thanks!
20:26:11 &lt; Akrabat &gt; don't want Escaper to not be in 2.0
20:26:13 &lt;ralphschindle &gt; Sure
20:26:24 &lt;ralphschindle &gt; i am not going to recap stuff that happened earlier than last week
20:26:32 &lt;weierophinney@&gt; Akrabat: I'd rather not as well, but I cannot get any word from Padraic, unfortunately.
20:26:36 &lt;ralphschindle &gt; like the major pulls on expressions, joins, etc
20:26:47 &lt; Akrabat &gt; weierophinney: we need redundancy on that component anyway
20:27:12 &lt;weierophinney@&gt; ralphschindler: so, indicate what you're finishing up.
20:27:38 &lt;weierophinney@&gt; OH! quickly -- ezimuel finished up Zend\Crypt, including refactoring all components that were using it or using custom crypt/bigint solutions.
20:27:45 &lt;weierophinney@&gt; ralphschindler: I'm done. :)
20:27:59 &lt;ralphschindle &gt; but recently: mysqli buffer support, sqlite count() support, Exceptions for Zend\Db\Adapter have been completely (pull request to follow this meeting), I am also working on TableGateway API and RowGateway API improvments, and lastly, will look into Zend\Paginator integration (I believe all other integration with Zend\Db is working at this moment)
20:28:14 &lt;ralphschindle &gt; completed*
20:28:31 &lt; Akrabat &gt; ralphschindler: do we get pdo buffer support too?
20:28:38 &lt;WalterTamboer &gt; Sounds good guys but I'm actually interested in stuff that's still open :)
20:28:44 &lt; prolic &gt; me did a PR in db, too
20:28:48 &lt;ralphschindle &gt; Akrabat: theres actually no abstraction for PDO buffering that i know of
20:29:07 &lt; Akrabat &gt; ralphschindler: how do we foreach() twice over results from SQL Server ?
20:29:37 &lt;ralphschindle &gt; ah
20:29:38 &lt;ralphschindle &gt; so
20:29:45 &lt;ralphschindle &gt; buffer() is now part of the ResultInterface
20:30:03 &lt; EvanDotPro &gt; ralphschindler: just want to confirm that table aliases in a join is on your list (ie, for joining the same table twice)?
20:30:10 &lt;ralphschindle &gt; which means the API is always available, and we can determine on a driver by driver basis what it actually does, if anything
20:30:18 &lt; Akrabat &gt; also, is there any point in keeping Pdo-Mysql ?
20:30:20 &lt;ralphschindle &gt; EvanDotPro: i can do that, pretty simple
20:30:26 &lt;ralphschindle &gt; yes
20:30:48 &lt;ralphschindle &gt; well, first, if its part of PDO, its part of Zend\Db's Pdo implementation
20:30:49 &lt; Akrabat &gt; the main use-case fail I had at my ZF2 training when it came to Zend\Db was being able to foreach() twice over a resultset
20:30:51 &lt;ralphschindle &gt; theres no "taking it out"
20:30:54 &lt; EvanDotPro &gt; ralphschindler: great, that would be very useful for some stuff my team and i are working on.
20:31:20 &lt;ralphschindle &gt; Akrabat: buffer() for Pdo-mysqli could do a userland buffer
20:31:25 &lt; Akrabat &gt; that works for me
20:31:29 &lt;ralphschindle &gt; it would have to be called before first iteration
20:31:41 &lt;ralphschindle &gt; b/c with unbuffered results, after you pass a row, the server throws it out
20:31:42 &lt; Akrabat &gt; by "take out" I mkind of meant "we don't talk about it"
20:31:48 &lt;ralphschindle &gt; haha
20:32:03 &lt; Akrabat &gt; cos clearly, you could use pdo-anything
20:32:07 &lt;ralphschindle &gt; buffer() for mysqli effectively calls store_row
20:32:09 &lt;ralphschindle &gt; store_result*
20:32:10 &lt; Akrabat &gt; but we don't talk about the ones we know nothing about
20:32:11 &lt; mwillbanks &gt; weierophinney: so you're referencing 2.1 already; when is 2.0 supposed to be finalized or more or less finalized?
20:32:16 &lt; ocramius &gt; aaaaaaaaanf, connection, sorry guys
20:33:03 &lt; prolic &gt; hi ocramius
20:33:11 &lt; Akrabat &gt; mwillbanks: 2.0 is nearly feature complete
20:33:22 &lt;weierophinney@&gt; mwillbanks: We'll definitely have a beta5. I'd like that to be stable -- in other words, to look like what we plan to distribute. If we absolutely must, we can do another beta after that, but I'd rather focus beta5 on finalizing what the library looks like. After that, we'd start doing RCs until stable.
20:33:33 &lt; Akrabat &gt; I'll try and raise on the ML my thoughts about the 2.0 release train once b4 is out
20:33:39 &lt;ralphschindle &gt; we need to talk about pulling code out in the next beta ;)
20:33:40 &lt;weierophinney@&gt; Akrabat: awesome, thx
20:33:45 &lt;weierophinney@&gt; ralphschindler: exactly
20:33:47 &lt; Akrabat &gt; ralphschindler: yes - that's my view
20:33:58 &lt;weierophinney@&gt; but that goes along with other decisions we've made as well -- moving service components out, etc.
20:34:02 &lt; Akrabat &gt; that's lots of stuff that we need to decide if we want to sign up to support
20:34:09 &lt;weierophinney@&gt; precisely
20:34:10 &lt;ralphschindle &gt; im not really comfortable with Pdf, its nothing more than a namespaced version of the one in v1 (and serveral other components too)
20:34:12 &lt; Akrabat &gt; of defer that decision
20:34:22 &lt; Akrabat &gt; Pdf and Lucene are my top two
20:34:40 &lt; rhunwicks &gt; Will there be any improvements to Zend/Db/Metadata in Beta4
20:34:49 &lt; Akrabat &gt; but loosely, we need service moved out and have strong maintainers for anything we ship in 2.0
20:34:51 &lt;weierophinney@&gt; yeah, mine too. Problem is, those have been two of our runaway, most popular components. But nobody is capable of maintaining them right now.
20:35:00 * ocramius catching up. Are we at #1?
20:35:06 &lt; Akrabat &gt; (sorry, this is for post b4)
20:35:09 &lt;weierophinney@&gt; ocramius: yes. We went backwards.
20:35:17 &lt;ralphschindle &gt; rhunwicks: i am doing a TableGateway feature where it uses metadata to populate columns, so, I am not sure what more I need for that use case out of metadata, what do you need?
20:35:39 &lt; rhunwicks &gt; The ability to determine the primary and foreign keys for a table
20:35:45 &lt;ralphschindle &gt; you can do that currently
20:35:59 &lt; rhunwicks &gt; The ability to inject the Adapter
20:36:28 &lt; EvanDotPro &gt; rhunwicks: you can inject the adapter into a TG... in fact, you have to, iirc.
20:36:29 &lt;ralphschindle &gt; rhunwicks: see this example:
20:36:29 &lt; rhunwicks &gt; You can do it in /master, or in your branch?
20:36:31 &lt;ralphschindle &gt; https://github.com/ralphschindler/Zend_Db-Examples/blob/master/example-10.php
20:36:43 &lt;ralphschindle &gt; thats been working against master since the last beta
20:37:41 &lt; rhunwicks &gt; I'm confused :(
20:37:43 &lt; rhunwicks &gt; https://github.com/zendframework/zf2/blob/master/library/Zend/Db/Metadata/Object/TableObject.php
20:37:53 &lt; rhunwicks &gt; has
20:37:55 &lt; rhunwicks &gt; public function getConstraints()
20:37:55 &lt; rhunwicks &gt; {
20:37:55 &lt; rhunwicks &gt; return $this-&gt;columns;
20:37:55 &lt; rhunwicks &gt; }
20:38:19 &lt;ralphschindle &gt; that is odd now isnt it
20:38:22 &lt; prolic &gt; can we move that detailed db-specific question for after the meeting?
20:38:33 &lt;ralphschindle &gt; alright, ill clean it up, and check that functionality
20:38:40 &lt; EvanDotPro &gt; yeah, this can continue in #zftalk.2 :)
20:38:41 * ralphschind puts it on his list
20:38:42 &lt; rhunwicks &gt; Sorry, I mean the inject the Metadata/Adapter into Metadata
20:38:46 &lt; Akrabat &gt; Can I raise PR queue?
20:38:57 &lt; rhunwicks &gt; so I can use a custom Metadata adapter instead of InformationSchema
20:39:10 &lt;weierophinney@&gt; Akrabat: please do. :)
20:39:17 &lt;ralphschindle &gt; lets move this to other room rhunwicks
20:39:17 &lt; Akrabat &gt; right.
20:39:20 &lt; rhunwicks &gt; Sure
20:39:25 &lt;weierophinney@&gt; Akrabat: I need to go through the stuff from over the weekend and the last two days.
20:39:26 &lt; rhunwicks &gt; After meeting
20:39:36 &lt;weierophinney@&gt; But... there's also a lot of old, lingering items in there.
20:39:37 &lt;ralphschindle &gt; whats left in here?
20:39:41 &lt; Akrabat &gt; There's around 40 items in the PR queue
20:39:43 &lt;weierophinney@&gt; ralphschindler: go look. :)
20:39:51 &lt; prolic &gt; sorry :)
20:39:56 &lt; prolic &gt; should i stop PRing?
20:39:58 &lt; Akrabat &gt; 90% of them need a specialist to approve for merge
20:40:03 &lt;weierophinney@&gt; CR-Team is assigned to a number of them, so please check and see if you can merge those.
20:40:04 &lt;ralphschindle &gt; i'd love to look at the agenda, i really would ;)
20:40:09 &lt; Akrabat &gt; prolic: most arent' Zen-27
20:40:11 &lt;weierophinney@&gt; ralphschindler is assigned to quite a few. :)
20:40:15 &lt;WalterTamboer &gt; weierophinney: Do you have a list with items that still need to be done for a 2.0 release?
20:40:23 &lt; prolic &gt; zen-27 is finished today
20:40:32 &lt;weierophinney@&gt; prolic: I've merged most, other than the ones since Friday. :)
20:41:05 &lt; prolic &gt; i see that daily, thx @weierophinney
20:41:05 &lt; Akrabat &gt; It would be nice if DASPRiD, EvanDotPro, ralphschindler & weierophinney could run through and find the ones related to their specialities and either merge or close
20:41:10 &lt;weierophinney@&gt; WalterTamboer: I'm working on that. i18n is a must have; escaper is a should-have. There are some form additions I mention on the ML, and ralphschindler has a few DB things he's pushed to beta5.
20:41:26 &lt; Akrabat &gt; escaper is a must-have for me
20:41:28 &lt; EvanDotPro &gt; Akrabat: will do.. there's a couple that i was waiting on decisions from that i should be able to merge and/or close now.
20:41:32 &lt;ralphschindle &gt; Akrabat: im on it today, i konw there is a di one from ocramius that i will address soon
20:41:40 &lt;weierophinney@&gt; WalterTamboer: after beta4, I'm going to start making a list, and we'll vote on the items.
20:41:44 &lt; Akrabat &gt; thanks
20:41:52 &lt; Akrabat &gt; I'd like to set a deadline of Friday
20:42:10 &lt;WalterTamboer &gt; weierophinney: Ok. Maybe you can e-mail that around (just to inform the community)
20:42:23 &lt; Akrabat &gt; anythign that's not got a comment from this week on it by Friday, I'll close
20:42:40 &lt; Akrabat &gt; (on Saturday)
20:42:47 &lt;weierophinney@&gt; WalterTamboer: well, yeah -- that's what I meant by vote on it. I'll be doing an RFC, we'll discuss, and then vote during a meeting.
20:43:18 &lt;WalterTamboer &gt; ok cool.
20:43:24 &lt; EvanDotPro &gt; Akrabat: sounds fair to me
20:43:36 &lt;weierophinney@&gt; I like how Akrabat thinks. :)
20:43:50 &lt; Akrabat &gt; WalterTamboer: for b5, I'd look to look at convenience stuff too
20:43:51 &lt;weierophinney@&gt; some of those have been lingering way too long without updates.
20:43:56 &lt;weierophinney@&gt; Akrabat: +1
20:44:12 &lt; Akrabat &gt; yes - either we're going to actually merge, or we're working on them to get them merged
20:44:18 &lt; Akrabat &gt; otherwise, it's just noise
20:44:20 &lt;weierophinney@&gt; there's a fair bit in the controllers we could make simpler (accessing query, post, request body, headers, etc)
20:44:34 &lt;weierophinney@&gt; kk, any other topics for now?
20:44:45 &lt;weierophinney@&gt; we have a fair chunk of work to get done in the next couple days. :)
20:45:10 &lt;WalterTamboer &gt; There is also still the coding convention issue. The naming of methods. Is a decision made there already?
20:45:55 &lt; Akrabat &gt; WalterTamboer: get/set ?
20:45:57 &lt;ralphschindle &gt; WalterTamboer: i dont think we've voten on it
20:46:01 &lt;WalterTamboer &gt; Akrabat: yes
20:46:01 &lt;ralphschindle &gt; voted*
20:46:18 &lt;weierophinney@&gt; WalterTamboer: no RFC, no vote
20:46:30 &lt;ralphschindle &gt; I think we'd need to identify exactly all the code that is affected by the proposed change
20:46:37 &lt;ralphschindle &gt; and what exceptions would be allowed
20:46:38 &lt; prolic &gt; can someone put the naming of methods discussion on the next meetings agenda?
20:46:41 &lt; Akrabat &gt; yeah - need an RFC on that - preferably very small
20:46:54 &lt;weierophinney@&gt; prolic: you can do it. Create the new agenda page and add it. :)
20:47:01 &lt;weierophinney@&gt; crap, I won't be here next week
20:47:02 &lt;ralphschindle &gt; Zend\Db\Sql\Select, IMO, is a candidate for the exception as the API is the major feature
20:47:04 &lt; Akrabat &gt; and then I can vote for "always do it one way or the other, but not both ways" :)
20:47:10 &lt;weierophinney@&gt; haha
20:47:26 &lt; Akrabat &gt; ralphschindler: I would agree with that
20:47:56 &lt;ralphschindle &gt; in which case, to conform, i would also do mutator/accessors &lt;- i could go with that
20:47:56 &lt; Akrabat &gt; it's things like events() but getRequest() that bug me
20:48:11 &lt;WalterTamboer &gt; I'll see if I can create an RFC
20:48:15 &lt; prolic &gt; agreed @akrabat
20:48:17 &lt;ralphschindle &gt; setSelect(), getSelect(), and select() for fluency
20:48:21 &lt;ralphschindle &gt; for example
20:48:30 &lt;ralphschindle &gt; (just brainstorming)
20:48:31 &lt; Akrabat &gt; there's just enough ones that arent "get" that mean I get it wrong
20:48:36 &lt;ralphschindle &gt; but anyway
20:48:36 &lt;WalterTamboer &gt; It will probably contain a list of pro's and cons for each way
20:48:50 &lt; Bilge &gt; !start-vote Remove non-words like "prepend" with English words like "prefix"
20:48:53 &lt;weierophinney@&gt; I'm to a point where I hate "get", tbh.
20:48:53 &lt; Bilge &gt; :(
20:49:00 &lt;weierophinney@&gt; !end-vote
20:49:05 &lt; Akrabat &gt; the Sql stuff is different I think
20:49:16 &lt; Akrabat &gt; weierophinney: I'm fine with that - i code Objective-C too
20:49:24 &lt;ralphschindle &gt; like get() ? weierophinney or getSomething()
20:49:25 &lt;ralphschindle &gt; ?
20:49:29 &lt; Akrabat &gt; but then it should be $this-&gt;request()-query
20:49:32 &lt;WalterTamboer &gt; weierophinney: Call me old fashioned but I actually hate the opposite, but we had this discussion on the ML already
20:49:37 &lt;weierophinney@&gt; ralphschindler: getSomething()
20:49:39 &lt; Bilge &gt; Why isn't it getEvents()?
20:49:42 &lt;weierophinney@&gt; Akrabat: agreed
20:49:45 &lt;ralphschindle &gt; b/c having an IDE with code completion, get* groups everything nicely together
20:49:54 &lt; Akrabat &gt; Bilge: that's precisely the discussion
20:50:05 &lt;weierophinney@&gt; Bilge: because you're interacting with an object. Using the method just ensures you _have_ an object in scope.
20:50:06 &lt; Akrabat &gt; ralphschindler: and that's the big advantage of the get prefix :)
20:50:09 &lt; Bilge &gt; Well what's to discuss? It's wrong as it is now
20:50:16 &lt;ralphschindle &gt; not having that means i have to hunt 26 letters of the alphabet to explore a classes api
20:50:38 &lt;WalterTamboer &gt; Akrabat: Not only that but it also implies what the method does
20:50:43 &lt;weierophinney@&gt; Bilge: not cut and dried. It's definitely a matter of opinion and style, not wrong vs right.
20:50:44 &lt; Akrabat &gt; as I say, I don't mind much either way - I just want everything to be the same
20:51:07 &lt; Bilge &gt; I'm of the opinion that all functions names should be comprised of at least two words where the first is a verb
20:51:19 &lt;weierophinney@&gt; Akrabat: that, I feel, is the only real argument -- make a choice, but make it consistent.
20:51:20 &lt; Bilge &gt; So that you have some semblence of an idea about what it is the function is goign to do
20:51:27 &lt;WalterTamboer &gt; weierophinney: Agreed. I'll create an RFC with pro's and cons and than we can all shoot on it and discuss it during the next meeting
20:51:38 &lt; ocra &gt; I'd also prefer seeing get*, even if it lazily initializes stuff behind the scenes. I'm just a bit confused. Didn't we get that settled before?
20:51:42 &lt; Akrabat &gt; should have seen DASPRiD and I trying to remember how to get a param from the route when in a controller... :)
20:51:46 &lt; Akrabat &gt; WalterTamboer: thanks !
20:52:00 &lt; ocra &gt; (I mean the discussion)
20:52:03 &lt;weierophinney@&gt; WalterTamboer: thanks for offering to start the RFC. :)
20:52:05 &lt; Bilge &gt; I've actually forgotten to add parens () after calls like -&gt;events because it looks like a field instead of a function
20:52:10 &lt; Akrabat &gt; ocra: no - just a ML discussion
20:52:15 &lt; Bilge &gt; If it was called getEvents there is no way I would forget the parens
20:52:17 &lt; ocra &gt; thx Akrabat
20:52:38 &lt; Akrabat &gt; Bilge: that's a fair point to the advantages of the get prefix side :)
20:52:47 &lt;weierophinney@&gt; Bilge: well, the distinction is less when using DI -- as you can be reasonably assured the object is there when you need it.
20:53:01 &lt; Akrabat &gt; on the flip side, are there any ZF classes that expose public properties?
20:53:01 &lt;weierophinney@&gt; but yea, I get it.
20:53:08 &lt; Bilge &gt; I don't understand what you're talking about
20:53:17 &lt;WalterTamboer &gt; Akrabat: haha if so, they should be refactored immediately! ;)
20:53:22 &lt;ralphschindle &gt; Akrabat: no, in fact, to expose something as a read-only property, i use __get()
20:53:28 &lt;weierophinney@&gt; I fall on both sides. I like the feel of removing get from the verbiage, but I also mainly just want it consistent.
20:53:32 &lt; Bilge &gt; I assume it's something to do with the advantage of dropping get but to my mind there aren't any besides it being shorter to write
20:53:37 &lt; prolic &gt; i think we still have public properties somewhere
20:53:41 &lt; Akrabat &gt; Bilge: I mean that we would never ever have $this-&gt;events-&gt;something
20:53:48 &lt;ralphschindle &gt; like the convenience properties of TableGateway and Adapter
20:53:52 &lt;weierophinney@&gt; Bilge: what I mean is: if the property is $events, and the method is events(), and the property gets injected, $this-&gt;events and $this-&gt;events() are equivalent.
20:54:15 &lt; Bilge &gt; Yeah but $this-&gt;events is private or at least protected
20:54:17 &lt; Bilge &gt; So I get an error
20:54:20 &lt;ralphschindle &gt; since php doesn't have read-only properties, i dont think we should utilize property chaining via real properties
20:54:28 &lt; Akrabat &gt; ralphschindler: yeah - Db seems to have a number of exceptions to the rule in order to make it look right
20:54:32 &lt;weierophinney@&gt; Bilge: ah -- right, I'm talking about within the class itself.
20:54:47 &lt; Akrabat &gt; anyway
20:54:53 &lt; Bilge &gt; Well I speak as a consumer of the framework rather than a developer obviously
20:55:02 &lt;ralphschindle &gt; Akrabat: any of those things exposed magically are only there for consumer convenience
20:55:06 &lt;weierophinney@&gt; kk, let's call this meeting over for now -- we can move discussion to #zftalk.2
</pre>
]]></ac:plain-text-body></ac:macro>