[dev] [commits] Horde branch refactor-Notification updated. 3b590095a4312f85639071510adc42d5dc9090fc

Gunnar Wrobel p at rdus.de
Wed Nov 4 23:25:00 UTC 2009


Quoting Jan Schneider <jan at horde.org>:

> Zitat von Gunnar Wrobel <p at rdus.de>:
>
>> Hi,
>>
>> as I need to use the Horde_Notification package in stand-alone mode  
>> I  was forced to refactor it a bit. The main problem was that the  
>> module  is firmly embedded into the global Horde context and  
>> contains a number  of calls to services such as Horde_Registry,  
>> Horde_Auth, Horde_Nls,  Horde::logMessage(). These service are of  
>> course missing if the  package is used on its own.
>>
>> I pushed the necessary refactorings into the  
>> "refactor-Notification"  branch. It would be nice if I could get  
>> some feedback on the changes.  Do they work or are there conflicts?  
>> Does the structure look okay? Can  I merge the branch?
>>
>> The main changes were two new components: The   
>> Horde_Notification_Storage and the Horde_Notification_Handler   
>> interfaces. The storage part allows to exchange the underlying  
>> storage  mechanism (for Horde this is the session by default). And  
>> the handler  part moves the references to global scope that were  
>> present in  Horde_Notification into separate decorators. This way  
>> they can be  avoided when using the Horde_Notification for itself.
>
> Looks good so far. Beside the small fixes that I already committed,

I understood why you removed the "array" type hint for the parameters.  
Why is it required to use Horde_String though?

> alarm snoozing doesn't work anymore though. It looks like the alarms  
> are being cached in the session somehow, but I didn't have to track  
> this down yet. That should be fixed before the merge.

Yes, the message stacks were not cleared anymore. I implemented  
ArrayAccess for the storage handler and that was aparently a bad idea  
as these functions do not pass the values by reference. I will remove  
that tomorrow morning and merge the branch then.

Thanks for the feedback!

Gunnar


>
> I'm not perfectly sure yet about the file and class name layout of  
> the decorators. The base handler and the decorators all implement  
> Horde_Notification_Handler, so it makes sense to have them in  
> Notification/Handler/. OTOH it might be more intuitive to make it  
> clearer that those are decorators, by using different class names.  
> Chuck might want to chime in here too.
> Also, I don't recall right now if we already discussed whether we  
> want interfaces to stick more out by using a naming scheme for  
> those. I would prefer that, to distinguish them from base classes.
> All this is general Horde CS stuff of course, and has nothing to do  
> with the Notification refactoring. Meaning that we can always change  
> this later if don't find an immediate agreement.
>
> Jan.
>
> -- 
> Do you need professional PHP or Horde consulting?
> http://horde.org/consulting/
>
>
> -- 
> Horde developers mailing list - Join the hunt: http://horde.org/bounties/
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: dev-unsubscribe at lists.horde.org
>




-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digitale PGP-Unterschrift
URL: <http://lists.horde.org/archives/dev/attachments/20091105/3e673a0d/attachment.bin>


More information about the dev mailing list