[Melbourne-pm] CPAN module

Mathew Robertson mathew.robertson at netratings.com.au
Tue Mar 14 22:22:07 PST 2006


The short answer is maybe... The module(s) themselves are 100% API 
compatible, but the implementation is about 20% different.

The main problem with the existing H::T module, is that you cant 
strictly** sub-class it. Some of the changes are specifically there so 
that sub-classing works correctly.

** Where the definition of strictly in Perl could mean that I could, at 
run-time, patch the symbol table so that I could overcome the lack of 
sub-classing support.  But I would consider this to be a major hack.

Regards,
Mathew



leif.eriksen at hpa.com.au wrote:
>
> That's a good idea, but I don't know if the powers-that--be at CPAN 
> will allow it.
>
>  
>
> I don't know your code, but do you just add functions, or are you 
> changing functions in H::T ?
>
>  
>
> What I am driving at is you release your extension with "use base 
> qw(HTML::Template);" -- so your package is only your extensions, 
> everything else falls back to "default" H::T
>
>  
>
> Can you separate your work cleanly from the default H::T ?
>
>  
>
>  
>
> L
>
>  
>
> ------------------------------------------------------------------------
>
> *From:* mathew.robertson at netratings.com.au 
> [mailto:mathew.robertson at netratings.com.au]
> *Sent:* Thursday, 9 March 2006 3:00 PM
> *To:* melbourne-pm at pm.org
> *Subject:* Re: [Melbourne-pm] CPAN module
>
>  
>
> Correct - and he has every right to make his own decisions.
>
> That said, if I take a leaf from Linux kernel development or the 
> Gentoo package tree, I can easily overlay a snapshot branch of any 
> package I like, simply by setting an environmental variable.  The 
> point being that I can happily release my own version of H::T without 
> breaking anyone else's version.  And I can do this without forking the 
> namespace.
>
> Having looked at CPAN module install semantics, I was under the 
> impression that it was possible for two independent people to upload 
> their modules.  Then using the cpan shell, a user could fetch a 
> specific developer's version of a package, as in:
>
> cpan>  install M/MA/Mathew/HTML-Template-2.8_01.tar.gz
>
> thoughts?
>
> Mathew
>
> leif.eriksen at hpa.com.au <mailto:leif.eriksen at hpa.com.au> wrote:
>
> The decision to create a new namespace has already been made for you by
> the H::T developer - he doesn't want your extra features in his
> namespace, so you need another.
>  
> Did he give a reason - I suspect he felt the new features didn't fit
> with his idea of what H::T should do. The doco and design seem to
> indicate they have refined H::T to be exactly what they want.
>  
> L
>  
> -----Original Message-----
> From: mathew.robertson at netratings.com.au <mailto:mathew.robertson at netratings.com.au>
> [mailto:mathew.robertson at netratings.com.au] 
> Sent: Thursday, 9 March 2006 12:32 PM
> To: melbourne-pm at pm.org <mailto:melbourne-pm at pm.org>
> Subject: Re: [Melbourne-pm] CPAN module
>  
> hmm... I was hoping there was something more akin to a 'developer tree' 
> which would allow updates to a package, but not  be part of an 
> "official" package.
>  
> Scott Penrose wrote:
>   
>> On 09/03/2006, at 10:13, Mathew Robertson wrote:
>>  
>>     
>>> Hi folks,
>>>  
>>> I use a CPAN module called HTML::Template, which is used as a
>>>       
> web-page
>   
>>> templating engine (in a similar vein to Template-Toolkit).
>>>  
>>> I have made some changes to increase its functionality - which
>>>       
> amounts
>   
>>> to about 20% of the code (ie: not a small patch).  I have suggested
>>>       
> that
>   
>>> some of these changes be added to the real module, but the developer
>>> isn't interested.
>>>  
>>> Since I dont really want to do a complete fork of the code, as the
>>> existing community is quite lively...  The question is, is there a
>>>       
> way
>   
>>> to release a modified version into CPAN?
>>>       
>> No not really, and that would not be fair either - you can't have two 
>> bosses of one bit of code.
>>  
>> But you have already touched on the answer - fork it and release as a 
>> new module.
>>  
>> eg:
>>  
>>     HTML::TemplateX
>>  
>> Or maybe
>>  
>>     HTML::Template::Extended
>>  
>> Once you do that - and that is fair and safe - you can then encourage 
>> the use of your changes. If the changes are good and acceptable, then 
>> people will use that module instead - eventually it will become the 
>> standard, and probably even get incorporated or replace the old one.
>>  
>> This is not unprecedented - quite common actually :-)
>>  
>> Scott
>> --* - *  http://www.osdc.com.au - Open Source Developers Conference *
>>     
> - *
>   
>> Scott Penrose
>> Open source developer
>> http://linux.dd.com.au/
>> scottp at dd.com.au <mailto:scottp at dd.com.au>
>>  
>> Dismaimer: Open sauce usually ends up never coming out (of the
>>     
> bottle).
>   
>> Please do not send me Word or PowerPoint attachments.
>> See http://www.gnu.org/philosophy/no-word-attachments.html
>>  
>> Microsoft is not the answer. It's the question. And the answer is no.
>>  
>>  
>>     
> _______________________________________________
> Melbourne-pm mailing list
> Melbourne-pm at pm.org <mailto:Melbourne-pm at pm.org>
> http://mail.pm.org/mailman/listinfo/melbourne-pm
> **********************************************************************
> IMPORTANT
> The contents of this e-mail and its attachments are confidential and intended
> solely for the use of the individual or entity to whom they are addressed.  If
> you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au <mailto:postmaster at hpa.com.au>,
> then delete  the e-mail.
> This footnote also confirms that this e-mail message has been swept for the
> presence of computer viruses by Ironport. Before opening or using any
> attachments, check them for viruses and defects.
> Our liability is limited to resupplying any affected attachments.
> HPA collects personal information to provide and market our services. For more
> information about use, disclosure and access see our Privacy Policy at
> www.hpa.com.au <http://www.hpa.com.au>
> **********************************************************************
>   
> **********************************************************************
> IMPORTANT
> The contents of this e-mail and its attachments are confidential and intended
> solely for the use of the individual or entity to whom they are addressed.  If
> you received this e-mail in error, please notify the HPA Postmaster, postmaster at hpa.com.au,
> then delete  the e-mail.
> This footnote also confirms that this e-mail message has been swept for the
> presence of computer viruses by Ironport. Before opening or using any
> attachments, check them for viruses and defects.
> Our liability is limited to resupplying any affected attachments.
> HPA collects personal information to provide and market our services. For more
> information about use, disclosure and access see our Privacy Policy at
> www.hpa.com.au
> **********************************************************************
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/melbourne-pm/attachments/20060315/48a13593/attachment-0001.html


More information about the Melbourne-pm mailing list