Uploaded image for project: 'Doctrine Common'
  1. Doctrine Common
  2. DCOM-74

Ideas for Event Manager Improvements

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Incomplete
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Security Level: All
    • Labels:
      None

      Description

      I have two ideas for improving the event manager.

      1. Add a lazy-loading implementation as we discussed on IRC already (helpful for keeping the overhead of post generation schema listener down for example)
      2. Providing better debugging information of what is going on (which listeners have been called for which event, similar to Symfony2's event dispatcher)

        Activity

        johannes Johannes Schmitt created issue -
        Hide
        guilhermeblanco Guilherme Blanco added a comment -

        I'm still a huge fan of DOM2 Events.

        I even have the code somewhere here, but that would break BC.

        Show
        guilhermeblanco Guilherme Blanco added a comment - I'm still a huge fan of DOM2 Events. I even have the code somewhere here, but that would break BC.
        beberlei Benjamin Eberlei made changes -
        Field Original Value New Value
        Workflow jira [ 13136 ] jira-feedback2 [ 17858 ]
        beberlei Benjamin Eberlei made changes -
        Workflow jira-feedback2 [ 17858 ] jira-feedback3 [ 19821 ]
        Hide
        marijn Marijn Huizendveld added a comment -

        Would you care to elaborate on your DOM2 Events implementation Guilherme?

        Show
        marijn Marijn Huizendveld added a comment - Would you care to elaborate on your DOM2 Events implementation Guilherme?
        Hide
        guilhermeblanco Guilherme Blanco added a comment -

        Marijn Huizendveld sure (like... 1 year later!)
        DOM2 Events ( http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/ )
        The idea is to create an event system where you can control the flow over the listeners, such as prevent the default operation or stop propagation.
        I'm a big fan of this because that way any piece can be easily decoupled from the base system and become a specialized event if needed. It also can be controlled depending on the conditions to be introspected by an specific listener.

        Show
        guilhermeblanco Guilherme Blanco added a comment - Marijn Huizendveld sure (like... 1 year later!) DOM2 Events ( http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/ ) The idea is to create an event system where you can control the flow over the listeners, such as prevent the default operation or stop propagation. I'm a big fan of this because that way any piece can be easily decoupled from the base system and become a specialized event if needed. It also can be controlled depending on the conditions to be introspected by an specific listener.
        Hide
        guilhermeblanco Guilherme Blanco added a comment -

        I also provided a very initial draft 2 years ago, as of https://github.com/doctrine/common/pull/153

        Show
        guilhermeblanco Guilherme Blanco added a comment - I also provided a very initial draft 2 years ago, as of https://github.com/doctrine/common/pull/153
        Hide
        doctrinebot Doctrine Bot added a comment -

        A related Github Pull-Request [GH-153] was closed:
        https://github.com/doctrine/common/pull/153

        Show
        doctrinebot Doctrine Bot added a comment - A related Github Pull-Request [GH-153] was closed: https://github.com/doctrine/common/pull/153
        Hide
        doctrinebot Doctrine Bot added a comment -

        A related Github Pull-Request [GH-153] was assigned:
        https://github.com/doctrine/common/pull/153

        Show
        doctrinebot Doctrine Bot added a comment - A related Github Pull-Request [GH-153] was assigned: https://github.com/doctrine/common/pull/153
        ocramius Marco Pivetta made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Assignee Benjamin Eberlei [ beberlei ] Marco Pivetta [ ocramius ]
        Resolution Incomplete [ 4 ]

        This list may be incomplete, as errors occurred whilst retrieving source from linked applications:

        • Request to http://www.doctrine-project.org/fisheye/ failed: Error in remote call to 'FishEye 0 (http://www.doctrine-project.org/fisheye/)' (http://www.doctrine-project.org/fisheye) [AbstractRestCommand{path='/rest-service-fe/search-v1/crossRepositoryQuery', params={expand=changesets[0:20].revisions[0:29],reviews, query=DCOM-74}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)

          People

          • Assignee:
            ocramius Marco Pivetta
            Reporter:
            johannes Johannes Schmitt
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: