Quantcast

Which components to ship?

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Which components to ship?

akrabat
Hi all,

We also need to start thinking about the list of components that we will actually ship as 2.0 and decide what to do about those we won't.


This is a list of components that we have in git. For each one, I've noted if we test it with Travis CI, ship it as a standalone component for beta 4 on packages.zendframework.com and whether we have any docs for it on http://packages.zendframework.com/docs/latest/manual/en/index.html.

(This table works best with a monospace font!)

Component in git              Travis  Packaged  Docs
----------------------------------------------------
Zend\Acl                       Yes      Yes    
Zend\Amf                                        
Zend\Authentication            Yes      Yes    
Zend\Barcode                   Yes      Yes    
Zend\Cache                     Yes      Yes     Yes
Zend\Captcha                   Yes      Yes    
Zend\Cloud                     Yes      Yes    
Zend\Code                      Yes      Yes    
Zend\Config                    Yes      Yes     Yes
Zend\Console                   Yes      Yes    
Zend\Crypt                     Yes      Yes     Yes
Zend\Currency                  Yes              
Zend\Date                               Yes    
Zend\Db                        Yes      Yes     Yes
Zend\Debug                              Yes    
Zend\Di                        Yes      Yes     Yes
Zend\DocBook                   Yes              
Zend\Dojo                      Yes              
Zend\Dom                       Yes      Yes    
Zend\EventManager              Yes      Yes     Yes
Zend\Feed                      Yes      Yes    
Zend\File                      Yes      Yes    
Zend\Filter                    Yes      Yes    
Zend\Form                      Yes      Yes     Yes
Zend\GData                     Yes              
Zend\Http                      Yes      Yes     Yes
Zend\InfoCard                  Yes      Yes    
Zend\InputFilter               Yes      Yes     Yes
Zend\Json                      Yes      Yes    
Zend\Ldap                      Yes      Yes     Yes
Zend\Loader                    Yes      Yes     Yes
Zend\Locale                    Yes      Yes    
Zend\Log                       Yes      Yes    
Zend\Mail                      Yes      Yes     Yes
Zend\Markup                    Yes              
Zend\Math                      Yes              
Zend\Measure                   Yes      Yes    
Zend\Memory                    Yes              
Zend\Mime                      Yes      Yes    
Zend\ModuleManager             Yes      Yes     Yes
Zend\Mvc                       Yes      Yes     Yes
Zend\Navigation                Yes      Yes    
Zend\OAuth                     Yes      Yes    
Zend\OpenId                    Yes      Yes    
Zend\Paginator                 Yes      Yes    
Zend\Pdf                       Yes              
Zend\ProgressBar               Yes              
Zend\Queue                                      
Zend\Registry                  Yes      Yes    
Zend\Rest                      Yes              
Zend\Search                    Yes              
Zend\Serializer                Yes      Yes    
Zend\Server                    Yes              
Zend\ServiceManager                     Yes     Yes
Zend\Service\AgileZen                   Yes    
Zend\Service\Akismet                    Yes    
Zend\Service\Amazon                     Yes    
Zend\Service\Audioscrobbler                    
Zend\Service\Delicious                          
Zend\Service\DeveloperGarden                    
Zend\Service\Flickr                            
Zend\Service\GoGrid                     Yes    
Zend\Service\LiveDocx                   Yes    
Zend\Service\Nirvanix                   Yes    
Zend\Service\Rackspace                  Yes    
Zend\Service\ReCaptcha                  Yes    
Zend\Service\SlideShare                 Yes    
Zend\Service\StrikeIron                 Yes    
Zend\Service\Technorati                 Yes    
Zend\Service\Twitter                    Yes    
Zend\Service\WindowsAzure               Yes    
Zend\Service\Yahoo                              
Zend\Session                   Yes      Yes    
Zend\Soap                      Yes              
Zend\Stdlib                    Yes      Yes     Yes
Zend\Tag                       Yes      Yes    
Zend\Test                                      
Zend\Text                      Yes      Yes    
Zend\TimeSync                  Yes              
Zend\Translator                Yes      Yes    
Zend\Uri                       Yes      Yes     Yes
Zend\Validator                 Yes      Yes    
Zend\Version                   Yes      Yes    
Zend\View                      Yes      Yes     Yes
Zend\Wildfire                                  
Zend\XmlRpc                    Yes              

i.e. out of 86 components in git, we test 61, ship 63 and document 18.

I'm mildly concerned that we ship components that we don't test via Travis. Conversely, we don't ship components that we test.

I think we need to sort out for RC1 exactly which components we want to ship.

To my mind, a shippable component should:

1. be of good quality(!)
1. have passing Travis CI tests
2. have documentation
3. have a maintainer

Clearly, we'll need to update http://framework.zend.com/wiki/display/ZFDEV2/Component+Maintainers!


I also think we should ship a smaller number of components that we are happy with and are sure we can maintain long term. In an ideal world, I'd like to see two maintainers per component that we ship.


Somehow we have to get to a list that we're comfortable with. This is just the initial post on this and I'm sure we'll have a few stops and starts on this general conversation! I wanted to start it now though as clearly, we need to do a lot of documentation work and we should be gathering volunteers for this effort soon!


Thoughts?


Regards,

Rob...







Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Which components to ship?

DeNix
On 10.06.2012 21:59, Rob Allen wrote:
> Hi all,
>
> We also need to start thinking about the list of components that we will actually ship as 2.0 and decide what to do about those we won't.
>
>
I think this thread is going to be huge, so mabe it's better to discuss
each component seprately
for now few notes inline regarding components I've studied
> Zend\Authentication            Yes      Yes
Lacks Stdlib\Options support and plugin loading, but it's hard to
refactor because component is tightly coupled with Db, InfoCard, Ldap
via adapters
> Zend\Barcode                   Yes      Yes
partly depends on Zend\Pdf wich is not maintained
> Zend\Date                               Yes
Will it be superseeded by \DateTime and i18n?
> Zend\Filter                    Yes      Yes
few problems here, it still has Filter\InputFilter, Filter\Compress\Tar
depends on PEAR extension, not sure if it's ok
Filter\Encrypt should be removed in favor of Zend\Crypt
> Zend\GData                     Yes
Is it time to rename it to Service\Google?
> Zend\Http                      Yes      Yes     Yes
Shahar Evron has set of new features Http\Entity and refactored
Http\Client I think it's good to have in 2.0
I myself work on Http\Headers and bridging Uri and Http\Request wich I
plan to finish next week
> Zend\InfoCard                  Yes      Yes
While it passes tests not sure it works and maintained
> Zend\Ldap                      Yes      Yes     Yes
lacks support of Stdlib\Options, few CS breaks (config keys are camelCase)
> Zend\Locale                    Yes      Yes
> Zend\Measure                   Yes      Yes
superseeded by i18n, Measure is heavily based on Zend\Locale
> Zend\Memory                    Yes
with the new refactored Zend\Cache don't see the purpose of this component
right now it's basically a facade to Zend\Cache memory storage adapter
> Zend\OAuth                     Yes      Yes
> Zend\OpenId                    Yes      Yes
some tests are disabled, not sure those are working
> Zend\Pdf                       Yes
not maintained, not sure if really works
> Zend\Queue
not sure if works, also partly depends on old Zend\Db
> Zend\Search                    Yes
Search\Lucene is not maintained, not sure if it works at all

Thanks
Denis

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Which components to ship?

Tomáš Fejfar
In reply to this post by akrabat
Please note I didn't have much time in the last month to follow the development as I did in the months before, so some things may be outdated. 

I'd stick with the most basic ones + their dependencies. 

* MVC (Controllers, REST, session, View, helpers, JSON, forms, validation) + events
* Db
* Acl + Auth
* Log
* Cache
* Server/Client
* translation

Skip 
* Currency
* Date
* ALL SERVICES 
* InfoCard
* Amf
* Memory
* etc.

And maybe expose skipped components via some beta channel (if it can be done using composer). 

In other words - make 2.0 be the minimal framework to create a website or web service. Leave all the candy to be added later. Things like Zend\Crypt are great, but they are not needed for every project. We can start without them. 

Our main goal should be to polish all the core functionality as much as possible before 2.0. Because of the BC policy anything that will go to 2.0 should never disappear, for that reason I vote for minimal 2.0. With components added in short release cycles afterwards when ZF2 is out in the wild - priority based on.. .say ...  the use cases that would have most SO questions :D 

I'd prioritize the creation of convenience layers for existing components with rough edges :)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Which components to ship?

Frank Brückner
In reply to this post by akrabat
Am 10.06.2012, 19:59 Uhr, schrieb Rob Allen <[hidden email]>:

> Hi all,
>
> We also need to start thinking about the list of components that we will  
> actually ship as 2.0 and decide what to do about those we won't.
>
>
> This is a list of components that we have in git. For each one, I've  
> noted if we test it with Travis CI, ship it as a standalone component  
> for beta 4 on packages.zendframework.com and whether we have any docs  
> for it on  
> http://packages.zendframework.com/docs/latest/manual/en/index.html.
>
> (This table works best with a monospace font!)
>
> Component in git              Travis  Packaged  Docs
> ----------------------------------------------------
> …
> Zend\Pdf                       Yes

Hi,
I think Zend\Pdf is definitely not ready. The current version is useless:  
No support for paragraphs and tables!
In ZF1 there are 57 issues with status "Major" and in the top ten of  
popular issues is the component represented three times.

http://framework.zend.com/issues/browse/ZF-313
http://framework.zend.com/issues/browse/ZF-1254
http://framework.zend.com/issues/browse/ZF-1290

(Issues created in 2006 and 2007!)


King regards,
Frank
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Which components to ship?

padraicb
In reply to this post by akrabat
Hi Rob,

I
 think the main point from below is to define what we mean by a
"shippable component". If that can be agreed, the rest follows
naturally. Some components, particularly those without a maintainer, should possibly be omitted if they are known to be of poor quality/obsolete functionality (e.g. the Twitter service badly needs an overhaul that I undertook to do for ZF 2.0 - obviously my restricted time has put that out to a later date so the current version should be dropped IMO). Let's not start 2.0 off by forcing it to inherit 1.x's unnecessary kludges.


P.S. Looks like we need a focus on documentation from the below. Says Mr. Zend\Feed-Has-No-Docs ;).

Paddy

 
Pádraic Brady
http://blog.astrumfutura.com
http://www.survivethedeepend.com
Zend Framework Community Review Team



----- Original Message -----

> From: Rob Allen <[hidden email]>
> To: Zend Framework Contributors <[hidden email]>
> Cc:
> Sent: Sunday, June 10, 2012 6:59 PM
> Subject: [zf-contributors] Which components to ship?
>
> Hi all,
>
> We also need to start thinking about the list of components that we will
> actually ship as 2.0 and decide what to do about those we won't.
>
>
> This is a list of components that we have in git. For each one, I've noted
> if we test it with Travis CI, ship it as a standalone component for beta 4 on
> packages.zendframework.com and whether we have any docs for it on
> http://packages.zendframework.com/docs/latest/manual/en/index.html.
>
> (This table works best with a monospace font!)
>
> Component in git              Travis  Packaged  Docs
> ----------------------------------------------------
> Zend\Acl                       Yes      Yes   
> Zend\Amf                                       
> Zend\Authentication           Yes      Yes   
> Zend\Barcode                   Yes      Yes   
> Zend\Cache                     Yes      Yes     Yes
> Zend\Captcha                   Yes      Yes   
> Zend\Cloud                     Yes      Yes   
> Zend\Code                     Yes      Yes   
> Zend\Config                   Yes      Yes     Yes
> Zend\Console                   Yes      Yes   
> Zend\Crypt                     Yes      Yes     Yes
> Zend\Currency                 Yes             
> Zend\Date                               Yes   
> Zend\Db                       Yes      Yes     Yes
> Zend\Debug                             Yes   
> Zend\Di                       Yes      Yes     Yes
> Zend\DocBook                   Yes             
> Zend\Dojo                     Yes             
> Zend\Dom                       Yes      Yes   
> Zend\EventManager             Yes      Yes     Yes
> Zend\Feed                     Yes      Yes   
> Zend\File                     Yes      Yes   
> Zend\Filter                   Yes      Yes   
> Zend\Form                     Yes      Yes     Yes
> Zend\GData                     Yes             
> Zend\Http                     Yes      Yes     Yes
> Zend\InfoCard                 Yes      Yes   
> Zend\InputFilter               Yes      Yes     Yes
> Zend\Json                     Yes      Yes   
> Zend\Ldap                     Yes      Yes     Yes
> Zend\Loader                   Yes      Yes     Yes
> Zend\Locale                   Yes      Yes   
> Zend\Log                       Yes      Yes   
> Zend\Mail                     Yes      Yes     Yes
> Zend\Markup                   Yes             
> Zend\Math                     Yes             
> Zend\Measure                   Yes      Yes   
> Zend\Memory                   Yes             
> Zend\Mime                     Yes      Yes   
> Zend\ModuleManager             Yes      Yes     Yes
> Zend\Mvc                       Yes      Yes     Yes
> Zend\Navigation               Yes      Yes   
> Zend\OAuth                     Yes      Yes   
> Zend\OpenId                   Yes      Yes   
> Zend\Paginator                 Yes      Yes   
> Zend\Pdf                       Yes             
> Zend\ProgressBar               Yes             
> Zend\Queue                                     
> Zend\Registry                 Yes      Yes   
> Zend\Rest                     Yes             
> Zend\Search                   Yes             
> Zend\Serializer               Yes      Yes   
> Zend\Server                   Yes             
> Zend\ServiceManager                     Yes     Yes
> Zend\Service\AgileZen                   Yes   
> Zend\Service\Akismet                   Yes   
> Zend\Service\Amazon                     Yes   
> Zend\Service\Audioscrobbler                   
> Zend\Service\Delicious                         
> Zend\Service\DeveloperGarden                   
> Zend\Service\Flickr                           
> Zend\Service\GoGrid                     Yes   
> Zend\Service\LiveDocx                   Yes   
> Zend\Service\Nirvanix                   Yes   
> Zend\Service\Rackspace                  Yes   
> Zend\Service\ReCaptcha                  Yes   
> Zend\Service\SlideShare                 Yes   
> Zend\Service\StrikeIron                 Yes   
> Zend\Service\Technorati                 Yes   
> Zend\Service\Twitter                    Yes   
> Zend\Service\WindowsAzure               Yes   
> Zend\Service\Yahoo                             
> Zend\Session                   Yes      Yes   
> Zend\Soap                      Yes             
> Zend\Stdlib                    Yes      Yes     Yes
> Zend\Tag                       Yes      Yes   
> Zend\Test                                     
> Zend\Text                      Yes      Yes   
> Zend\TimeSync                  Yes             
> Zend\Translator                Yes      Yes   
> Zend\Uri                       Yes      Yes     Yes
> Zend\Validator                 Yes      Yes   
> Zend\Version                   Yes      Yes   
> Zend\View                      Yes      Yes     Yes
> Zend\Wildfire                                 
> Zend\XmlRpc                    Yes             
>
> i.e. out of 86 components in git, we test 61, ship 63 and document 18.
>
> I'm mildly concerned that we ship components that we don't test via
> Travis. Conversely, we don't ship components that we test.
>
> I think we need to sort out for RC1 exactly which components we want to ship.
>
> To my mind, a shippable component should:
>
> 1. be of good quality(!)
> 1. have passing Travis CI tests
> 2. have documentation
> 3. have a maintainer
>
> Clearly, we'll need to update
> http://framework.zend.com/wiki/display/ZFDEV2/Component+Maintainers!
>
>
> I also think we should ship a smaller number of components that we are happy
> with and are sure we can maintain long term. In an ideal world, I'd like to
> see two maintainers per component that we ship.
>
>
> Somehow we have to get to a list that we're comfortable with. This is just
> the initial post on this and I'm sure we'll have a few stops and starts
> on this general conversation! I wanted to start it now though as clearly, we
> need to do a lot of documentation work and we should be gathering volunteers for
> this effort soon!
>
>
> Thoughts?
>
>
> Regards,
>
> Rob...
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Which components to ship?

ThaDafinser
In reply to this post by Frank Brückner
Hi all,

Zend_Pdf:
I must agree that Zend_Pdf is not the best component at all currently. 
I tried using it, but ended in using Tcpdf. It's a very ugly class, but it works good and you get fast your wanted result.

To Zend_Date maybe an addition:
I didn't followed the complete work from ZF1 to ZF2.
But at this component i wanted to point out some features/problems, which made it hard to learn for me at the beginning (and nearly skiped the component)
- ISO year "problem/feature" - very hard to find this, if you didnt know this from the beginning on (didn't read it) http://framework.zend.com/issues/browse/ZF-5297
- "getDate" Method returns a clone of your date object, but the timezone is reseted
- if you work with "addMonth/addYear/addDay/..." you have to pay attention on the options "fix_dst => false and extend_month => true" (also a very hard bug to find later)

Maybe just the documentation has to highlight this "hidden" features more efficient.
In summarize the locale/internationalisation is the best component in ZF1, because this saves you a lot of development time!

Best regards
Martin Keckeis

2012/6/11 Frank Brückner <[hidden email]>
Am 10.06.2012, 19:59 Uhr, schrieb Rob Allen <[hidden email]>:

Hi all,

We also need to start thinking about the list of components that we will actually ship as 2.0 and decide what to do about those we won't.


This is a list of components that we have in git. For each one, I've noted if we test it with Travis CI, ship it as a standalone component for beta 4 on packages.zendframework.com and whether we have any docs for it on http://packages.zendframework.com/docs/latest/manual/en/index.html.

(This table works best with a monospace font!)

Component in git              Travis  Packaged  Docs
----------------------------------------------------

Zend\Pdf                       Yes

Hi,
I think Zend\Pdf is definitely not ready. The current version is useless: No support for paragraphs and tables!
In ZF1 there are 57 issues with status "Major" and in the top ten of popular issues is the component represented three times.

http://framework.zend.com/issues/browse/ZF-313
http://framework.zend.com/issues/browse/ZF-1254
http://framework.zend.com/issues/browse/ZF-1290

(Issues created in 2006 and 2007!)


King regards,
Frank

Loading...