Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Zend Framework classes to their latest version + backport some changes #497

Closed
mattab opened this issue Jan 13, 2009 · 12 comments
Closed
Assignees
Labels
Bug For errors / faults / flaws / inconsistencies etc. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical.
Milestone

Comments

@mattab
Copy link
Member

mattab commented Jan 13, 2009

Piwik is using ZF 1.0 classes. We should update to the latest ZF classes, as long as they don’t add an enormous overhead.

Also, we had to patch some files in the early days: look at core/misc/TODO. I noted some changes I had to make in ZF libraries due to some limitations. I created bugs in ZF bug tracker for some of them so some should be fixed by now. we may have to backport some of these changes though.

CHANGES DONE TO LIBRARIES

  1. ===
    - edited Zend/Db/Adapter/Abstract.php added resetConfigArray()
    - edited zend_log and changed attr to protected
    - fixed bug fwrite in zend_log stream writer
    - ~fixed PEAR so that it works under PHP5 with STRICT MODE enabled~
    - edited line 145 registry.php from require_once ‘Zend/Exception.php’; to require_once ‘Exception.php’; so that it works when calling Piwik in CLI mode
@robocoder
Copy link
Contributor

ZF 1.7 has ballooned in size from 1.0. Would you propose to import the whole thing or piecemeal?

@robocoder
Copy link
Contributor

Having worked through ticket #243, it’s perhaps premature to contemplate this, but I will note (given comments about replacing some of the jquery plugins) that ZF includes the dojo toolkit.

@robocoder
Copy link
Contributor

Should we include the complete ZF 1.7.x library?

Benefits:
- 3rd party plugins can assume all Zend components available
- wouldn’t have to test for interdependies between Zend components that we include vs exclude

Negatives:
- increases size of distribution (Piwik uses a 6 MB subset from ZF 1.0; the library in ZF 1.7.6 is ~22MB)
- increases number of inodes used (could be an issue for some hosting accounts)

@mattab
Copy link
Member Author

mattab commented Mar 9, 2009

no we should defintely not include all libs, small piwik.zip size is critical feature. we only include modules that we know we’re using. If plugins need special modules then they can include it in the plugin code.

I think zend is pretty good as having each module autonomous so testing for dependency would be small effort.

@robocoder
Copy link
Contributor

... ZF 1.8 preview released earlier this month; looks like they're targeting for a release at the end of this month ...

@robocoder
Copy link
Contributor

According to http://www.zendframework.com/manual/en/requirements.html, ZF "supports" PHP 5.2.4 or later. Should Piwik raise its minimum PHP requirement?

@halfdan
Copy link
Member

halfdan commented Jul 1, 2009

Refering to zend.com they are targetting 1.9.0 for late July of this year.

I concur with matt, piwik should only use the required subset of Zend classes.

@mattab
Copy link
Member Author

mattab commented Jul 1, 2009

piwik should not raise php minimum requirements as long as the subset of zend we need to use doesn't require higher php version. if this is the case that a zend lib we use require a higher php version, we might want to make sure this is necessary - as increasing php versions might mean lose a few users on the way :)

@robocoder
Copy link
Contributor

The minimum requirements should be increased periodically for practical purposes, otherwise "costs" (time, effort, opportunity, etc) increase to provide end-user support and to maintain backwards compatibility (e.g., workarounds).

Does anyone still have a box running PHP 5.1.3 and MySQL 4.1 to test releases?

@robocoder
Copy link
Contributor

PEAR isn't part of ZF and won't be addressed by this ticket.

The following changes have (since 1.0) been fixed/resolved upstream:

  • edited line 145 registry.php from require_once 'Zend/Exception.php'; to require_once 'Exception.php'; so that it works when calling Piwik in CLI mode
  • ![ZF-1791] edited zend_log and changed attr to protected
  • ![ZF-1790] fixed bug fwrite in zend_log stream writer
  • ![ZF-1832] Zend_Date bug
  • ![ZF-1796] Mysql adapter assumes Mysqli class is available

I submitted ![ZF-7788] for the resetConfigArray() enhancement.

@robocoder
Copy link
Contributor

In [1454], fixes #497 - update to Zend Framework 1.9.2 (subset); remove svn:keywords to preserve the original $Id; misc changes to handle fetchRow() sometimes returning null (instead of false)

@robocoder
Copy link
Contributor

In [1457], refs #497 - fix regression; remove call to Zend_Session::destroy()

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug For errors / faults / flaws / inconsistencies etc. Major Indicates the severity or impact or benefit of an issue is much higher than normal but not critical.
Projects
None yet
Development

No branches or pull requests

3 participants