Mosh Teitelbaum wrote:
> >Concerning the benefit to team development, I'm not sure I see it.
You're
> >right, the members of your development team don't need to know that the
> >store circuit is actually a directory called "MungeMe" but they still
need
> >to know that they are to use the circuit named "store."  In essence,
you're
> >creating a virtual file system and requiring that the development team
> >learn the virtual file system instead of the physical file system.

Brian Kotek wrote:
> This is not accurate.  All the developer knows is that a link or
> a form in the page they are working on must use an XFA varible
> such as xfa.submitForm.  With XFA's the developer actually
> doesn't even know what the actual target fuseaction is.  This is
> determined outside of the context of the individual file the
> developer is working on.  Instead, the architect has the power to
> determine program flow by setting the XFA's in the switch files
> or circuit.xml files.

OK, so let me flip this around a bit (no pun intended):  In your experience,
how often do you have one developer working on the form and another working
on the action file?  Or, more generically, how often do you have developers
working on individual files instead of groups of files collectively (i.e.,
all of the files needed to add an item to the shopping cart)?

Granted, for maintenance purposes, this might happen frequently, but in most
of those cases, the issue being resolved is a code error and not a
redirection update.  And in the cases of redirections, the person making the
fix would have to know where to redirect the request, making the whole
"doesn't need to know anything" point moot.

On a similar note, I much prefer that my developers know the internals of a
system instead of working blind.  Not so much that they can make changes but
rather so that they can understand the reason why things work out the way
they do.

> >And this just speaks to the development team.  How does this benefit the
> >architect(s)?  The way I see it, it makes their lives more difficult
> >because they now need to craft a physical and a virtual file system.
>
> Isn't this what the architect is SUPPOSED to do?

I think you misread what I wrote.  Whereas part of an architect's
responsibility is, without a doubt, the definition of a file structure,
Fusebox seems to add the additional overhead of *ALSO* having to create a
virtual file structure (or more accurately, in FB terms, a series of
circuits and fuseactions).  So my point was that it seems to require more
work from the architect instead of making her life easier.

> >As Benoit indicated, and as I mentioned above, you're still hard coding
> >targets, you're just targeting the virtual file system instead of the
> >physical one.
>
> Benoit's assessment is making the incorrect assumption that the
> developer needs to "memorize" a ciruit structure.  They do not.
> They are given XFA variables and that's all.  No knowledge of the
> circuit structure or the directory structure is needed at all by
> any developer.

Thanks for the correction concerning XFAs.  But my points earlier points
about XFAs, reuse, and working blind still apply.

> This was a simplistic example...surely you can think of instances
> where creating generic content components that need to respond
> differently in different situations would be a benefit?

Yes, the add/edit example was simplistic, but the application of security
privileges was not.  Let me give you a more fleshed out example of the
security privilege dialog.

Let's say I'm building a document library and I want to be able to define
grant/deny privileges on whole directories or individual files.
Additionally, any privileges I define on a directory can optionally be
specified to cascade to the subdirectories and files contained within that
directory.  Regardless of whether I'm setting the privilege on a directory
or on a file, the dialog itself will look the same with the exception that
directory privilege dialogs have an additional checkbox concerning the
cascade.  In this situation, there are a few potential problems with the
reuse:

1) I have to have logic in my form that, based on the object type, displays
or hides the cascade checkbox.  Personally, I don't have much of a problem
with this example.  But if we extend the example to include other systems,
objects, etc. each with their own set of additional form controls, we start
having problems.

2) Like the additional logic in the display code, the action code also has
to include IF/ELSE blocks that check the object type, etc.

3) This can get way out of hand when privileges differ from object type to
object type.  Also, if each object is stored in its own table (i.e., you
have separate FILE and DIRECTORY tables instead of a single DocLibObject
table) then the action code now needs to determine which DB query to call
(add to FILE or add to DIRECTORY)?

> Refactoring parts of an application is an incredibly common act,
> in fact I would say a constantly ongoing act.  It does not
> necessarily mean changing the name of a circuit, this happens
> rarely.  Far more common is the act of breaking up a circuit,
> realizing that you've grouped too much together, or realizing
> that you've split things up too much, or a dozen other
> refactoring considerations.  The point is that the logical
> structure of the application is totally separated from the
> physical structure of the application.

Refactoring to optimize performance, add new functionality (fuseaction) to
an existing feature (circuit), or adding a whole new feature (circuit) are
common but usually do not require renaming of directories and/or files.
Splitting a circuit seems to me like there was a problem with the original
design of the system.

> >Again, my question wasn't really directed solely at Fusebox.  Nor was it
> >meant to be any sort of swipe at FB.  I'm just curious as what the
practical
> >and realized benefits and downsides are of using a central spine
architecture.
>
> No problem Mosh, and no swipes or attacks are percieved.  I love
> the chance to talk about Fusebox and understand things about it
> that people don't like or don't understand completely. Thanks for
> your views.

Likewise 8^).

--
Mosh Teitelbaum
evoch, LLC
Tel: (301) 942-5378
Fax: (301) 933-3651
Email: [EMAIL PROTECTED]
WWW: http://www.evoch.com/

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4
Subscription: 
http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq

Your ad could be here. Monies from ads go to support these lists and provide more 
resources for the community. 
http://www.fusionauthority.com/ads.cfm

                                Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
                                

Reply via email to