<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[
Zend_RepoMon is a tool that identifies and reports programatic modifications made to PHP and JavaScript files within a version control system.Zend Framework: Zend_RepoMon Component Proposal
Proposed Component Name
Zend_RepoMon
Developer Notes
http://framework.zend.com/wiki/display/ZFDEV/Zend_RepoMon
Proposers
Eric David
Revision
1.1 - 27 December 2007: Initial draft. (wiki revision: 25)
Table of Contents
1. Overview
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
4. Dependencies on Other Framework Components
- Zend_Exception
5. Theory of Operation
RepoMon abstracts data gathered from the versioning system and generates a report of modifications to classes, method signatures and functions. Reports can be displayed via the browser or from the command line and can be sent via email as well. Various reporting output formats can be selected. The XHTML 1.1 format allows complete control over the display appearance via CSS.
6. Milestones / Tasks
- Milestone 1: Finalize a working draft of this proposal suitable for a basis to guide development
- Milestone 2: Establish a functional module within the Zend framework based on the initial Component Requirements, Constraints, and Acceptance Criteria
- Milestone 3: Debug and create test cases
- Milestone 4: Add support for other output formats such as JSON and XML
- Milestone 5: Enhance, improve and expand functionality based on feedback from Zend community
- Milestone 6: Add support for other versioning systems
7. Class Index
- Zend_RepoMon
- Zend_RepoMon_Exception
- Zend_RepoMon_EmailSender (This could possibly be replaced with Zend_Mail)
8. Use Cases
All use cases need a username, password and base path to repository. For brevity the use cases assume the following precedes them (and is substituted with values from your versioning system.)
| UC-01 |
|---|
Get revisions since yesterday
| UC-02 |
|---|
Get all the revisions from the previous week
| UC-03 |
|---|
Get revisions made to the Zend framework in the previous week
| UC-04 |
|---|
Send a text-based email containing November revisions
| UC-05 |
|---|
Send an HTML-based email formatted for legacy mail clients that do not support CSS
| UC-06 |
|---|
Display nicely formatted XHTML 1.1 modifications
example.css
2 Comments
comments.show.hideJan 10, 2007
Matthew Ratzloff
<p>Although I questioned the usefulness of this proposal initially, it occurred to me that PHP tools for repository viewing aren't recognized as the best of their type and that maybe something that does the "heavy lifting" would prompt the creation of some for those programmers who were more focused on user interface design.</p>
<p>You might rename this proposal, though. I know CPAN calls their interface VCS. Something like Zend_Repository, Zend_Vcs, Zend_VersionControl, etc.</p>
Jul 13, 2007
Darby Felton
<p>From the described functionality, it appears that this component would duplicate functionality perhaps better served, in the case of SVN, by hooks and shell scripting:</p>
<ul>
<li><a href="http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html#svn.reposadmin.create.hooks">Implementing Repository Hooks</a></li>
<li><a href="http://search.cpan.org/dist/SVN-Notify/lib/SVN/Notify.pm">SVN::Notify</a></li>
</ul>
<p>Though the project scope is a bit different, I think it is interesting that <a href="http://www.usvn.info">USVN - UserFriendly SVN</a> is built with ZF. <ac:emoticon ac:name="smile" /></p>