<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>I suppose my issues were not with HFH itself but rather the DBIC interface.</div><div><br></div><div>I had some meh experience with it when I was writing a demo CRUD app (project was eventually dropped for external reasons).</div><div>It was fine as far as the basic stuff went, but when I tried to extend it to some complicated forms across DBIC relationships (that did not behave as HFH expected), I ended up having to hack on&nbsp;</div><div>DBIx::Class::ResultSet::RecursiveUpdate. &nbsp;(This was not a bug per se, but more of an edge case)</div><div><br></div><div>That was not particularly fun. &nbsp;On the other hand if I used FormFu I would have had to essentially write the (recursive) update logic myself anyway.</div><div>I checked my notes on this (and it's possible that issued have been fixed since then, this dates from 6/15/2010).</div><div><br></div><div>Without too much gory detail:</div><div><br></div><div>given:</div><div>table colleague has_many colleague_keywords belongs_to keywords</div><div>so colleague has_many keywords</div><div><br></div><div>* if I set the forms up with a m2m pseudorel (like docs suggest) then when I deleted a keyword from the Form it would instead UPDATE it setting all columns to NULL.&nbsp;</div><div>* If I changed the kw (attempted UPDATE) to a new keyword that didn't exist, then it UPDATES the keyword record, instead of deleting the linking table record and creating a new keyword record. &nbsp;It also deletes all the linking table entries and recreates them ... which I suppose technically works (but annoys my DBA)</div><div>* If I had a colleague and tried to add a keyword (that was already linked to another colleague) it would fail. &nbsp;Because the form didn't know the primary key of the keyword.</div><div>* If I added a brand new keyword to a colleague it would work but did strange things with the linking table.</div><div><br></div><div>Probably the schema could have been refactored to work with HFH, but that was not really an option. &nbsp;There also could have been bugs in my forms, although I was working with GShank a little on this.</div><div><br></div><div><br></div><div>Ben</div><div><br></div><div><br></div><br><div><div>On Nov 30, 2010, at 7:34 AM, will trillich wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Anybody else *dissing* FormHandler? We've started developing based on FormHandler lately and haven't had troubles... yet?<div><br><br><div class="gmail_quote">On Tue, Nov 30, 2010 at 5:26 AM, Shlomi Fish <span dir="ltr">&lt;<a href="mailto:shlomif@iglu.org.il">shlomif@iglu.org.il</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">I can recommend *against* HTML-FormHandler.</div>
<br>
For my day job's Perl and Catalyst project, we initially decided to go with<br>
HTML-FormHandler, only to discover it was buggy, quirky and had severe memory<br>
leaks. We ended up doing many workarounds and recently made a transition from<br>
it to HTML-FormFu, which while by no means perfect, is much saner.<br>
<br>
My co-worker "nothingmuch" who has done many of the workarounds can provide<br>
further comments on it. Recently I had to over-ride a role in the login form<br>
(for which we need to use HTML-FormHandler due to CatalystX::SimpleLogin) that<br>
will accept an empty string as the 'action=""' attribute because it only<br>
placed true values of the attribute there, which ruled out empty strings. But<br>
I recall many other fun hours debugging HTML-FormHandler.<br>
<br>
Stay away if you can.<br>
<br>
Regards,<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;Shlomi Fish<br>
<br>
--<br>
-----------------------------------------------------------------<br>
Shlomi Fish &nbsp; &nbsp; &nbsp; <a href="http://www.shlomifish.org/" target="_blank">http://www.shlomifish.org/</a><br>
What does "Zionism" mean? - <a href="http://shlom.in/def-zionism" target="_blank">http://shlom.in/def-zionism</a><br>
<br>
&lt;rindolf&gt; She's a hot chick. But she smokes.<br>
&lt;go|dfish&gt; She can smoke as long as she's smokin'.<br>
<br>
Please reply to list if it's a mailing list post - <a href="http://shlom.in/reply" target="_blank">http://shlom.in/reply</a> .<br>
<div><div></div><div class="h5"><br>
_______________________________________________<br>
List: <a href="mailto:Catalyst@lists.scsys.co.uk">Catalyst@lists.scsys.co.uk</a><br>
Listinfo: <a href="http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst" target="_blank">http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst</a><br>
Searchable archive: <a href="http://www.mail-archive.com/catalyst@lists.scsys.co.uk/" target="_blank">http://www.mail-archive.com/catalyst@lists.scsys.co.uk/</a><br>
Dev site: <a href="http://dev.catalyst.perl.org/" target="_blank">http://dev.catalyst.perl.org/</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Failure is not important. How you overcome it, is.<br>--&nbsp;Nick Vujicic<br>
</div>
_______________________________________________<br>List: <a href="mailto:Catalyst@lists.scsys.co.uk">Catalyst@lists.scsys.co.uk</a><br>Listinfo: <a href="http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst">http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst</a><br>Searchable archive: <a href="http://www.mail-archive.com/catalyst@lists.scsys.co.uk/">http://www.mail-archive.com/catalyst@lists.scsys.co.uk/</a><br>Dev site: <a href="http://dev.catalyst.perl.org/">http://dev.catalyst.perl.org/</a><br></blockquote></div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div>--</div><div>Ben Hitz&nbsp;</div><div>Senior Scientific Programmer ** Saccharomyces Genome Database ** GO Consortium</div><div>Stanford University ** <a href="mailto:hitz@genome.stanford.edu">hitz@genome.stanford.edu</a></div><div><br class="khtml-block-placeholder"></div><br class="Apple-interchange-newline"></span></span></span></span>
</div>
<br></body></html>