Title: Message
Hi
Adam/Dave,
IKNEW there was something bothering me about this solution and I
couldn't figure out what it was. I just figured it out. This is not a cross
cutting concern!!!
I
agree that the business rules themselves would be in a Rules class somewhere
within the model -
: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Dave Ross
Sent: Wednesday, July 05, 2006 9:53 PM
To: CFCDev@cfczone.org
Subject: Re: [CFCDev] Aspect or not?
On 7/5/06, Peter Bell [EMAIL PROTECTED] wrote:
I KNEW there was something bothering me about this solution and I
couldn't figure
Hi There,
I tend to use structs (although arrays are also good) for passing
information in and out of methods as it allows you to pass status
information as well as queries and anything else you might want. It also
allows different methods to support the same interface without actually
returning
Hi Brendan,
Probably not a very helpful suggestion, but is there any way you can get
around this approach? It sucks!!!
Are you really going to be importing data and exporting data using XML as
frequently as you will be serving up page views (i.e. hopefully hundreds to
tens of thousands of times
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Peter Bell
Sent: Monday, July 17, 2006 10:03 AM
To: CFCDev@cfczone.org
Subject: RE: [CFCDev] Coldfusion and XSLT Transformation
Hi Brendan,
Probably not a very helpful suggestion, but is there any way you can get
around
Hi Geoff,
A few quick comments . . .
Firstly, don't worry about performance. If it becomes a problem you can
always refactor. All of the approaches you described are reasonably
performing (you're not creating arrays of hundreds of objects), so I'd worry
more about maintainability and
Maybe it goes to what Matt and Pete mentioned in CF weekly this week - there
seems to be a surprising dearth of intermediate developers. From what I hear
CF Talk keeps busy and the framework lists have some good posts, but there
seems to be a lack of people asking intermediate OO questions. I can
Hi Geoff,
In a rush, but couple of quick comments.
The User is a cfc not a struct so your type is wrong:
cfargument name=user type=struct required=yes/
No real reason to pass address as a struct at all. If you're getting started
I'd just pass User to the address function and get it to do
As long as it doesn't also have business rules, database calls and the like.
Nothing wrong with display helper cfc's as along as all they do is display .
. .
On 10/26/06 4:15 AM, Tom Chiverton [EMAIL PROTECTED] wrote:
On Wednesday 25 October 2006 15:57, Barry Beattie wrote:
and what CFC's
Title: Re: [CFCDEV] Design Patterns
Hi Eric,
Great overview! Im just going to suggest a couple of optional decision points where you could do things differently (not generally better or worse just different options depending on preference and use case).
Firstly, I tend to think of the
Wishes,
Peter
On 11/1/06 12:38 PM, Peter Bell [EMAIL PROTECTED] wrote:
Hi Eric,
Great overview! Im just going to suggest a couple of optional decision points where you could do things differently (not generally better or worse just different options depending on preference and use case).
Firstly
Title: Re: [CFCDEV] Design Patterns
Im guessing because while it isnt meant to be a complete port of the Java Spring framework, it is heavily influenced and supports a substantial subset of the 1.2 Spring XML syntax (just in case anyone didnt know).
BTW, Spring 2.0 is well worth checking out
Title: Re: [CFCDEV] Design Patterns
Spring :-
On 11/1/06 3:13 PM, Eric Knipp [EMAIL PROTECTED] wrote:
It's called ColdSpring because its a ColdFusion (COLD) interpretation of Java's Swing.
Eric
On 11/1/06, Phillip Senn [EMAIL PROTECTED] wrote:
Why isn't ColdSpring called Cool beans?
Or
We use a UI focused design process as well. Start by getting the business
intent for the website (why bother?), then a list of roles (including
non-human roles like web service consumers and exports and the like) and the
intent for each (what do they get out of using the system). We then
complex that
you may use the UI design to tease out the application scope but then you
may need to model certain actions using state diagrams or some other kind of
approach depending on what you're trying to implement.
Best Wishes,
Peter
On 11/8/06 11:04 AM, Peter Bell [EMAIL PROTECTED] wrote:
We
+1
I now buy a copy for all of my clients. Best few dollars you can spend as it
gives vocabulary required to keep business users realistic.
Best Wishes,
Peter
On 11/8/06 1:52 PM, Patrick McElhaney [EMAIL PROTECTED] wrote:
Also check out 37Signals' book, Getting Real, which dovetails nicely
Until an AOL user marks your messages as spam. You set up a feedback loop so
anything marked as spam gets sent back to you, but if too many in a time
period, you get blocked.
All in all handling emails is a thankless task as it is perceived as free
(e.g. Gmail), but providing the service is
just that right now, because the semester is coming to a
close, I can't give it the time/attention a good response deserves. I
hope you'll excuse the delay =).
-Sam
Peter Bell wrote, On 11/25/2006 10:44 AM:
Hi Sam,
There are a few reasons. And what was going to be an email turned
saying anything
new here:
http://www.codeodor.com/index.cfm/2006/11/30/Re-Should-you-use-XML-for-your-co
nfig-files/849
Peter Bell wrote, On 11/26/2006 2:48 PM:
Hi Sam,
Looking forward to your thoughts when you have the time to respond. Truth is
I don't like XML, so I'm looking
Hi Sam,
On 11/30/06 5:42 PM, Sammy Larbi [EMAIL PROTECTED] wrote:
Given that I'm generating the files, it matters less to me whether they are
validated or not as I can validate metadata pre-generation, but I still like
the self validating benefits of the XML files with DTD enough to use them
Hi Aaron,
To take a slightly different tack:
Q1:
- You don't want to track this in view as responsibility of view is to
display state - not to change it (by recording an updated number of views)
- If you ever added an AJAX or Flex or web service front end, would you want
to keep track of number
Hi Aaron,
You'd have to lay out all of the details of the use case for us to really
lock this, but let me get you thinking in a direction . . .
From an object perspective, what is keeping track of the views? Lets say we
are tracking the views of a product - should the product object know how
cluttering
with other concerns?
just a thought
b
On 12/22/06, Aaron Roberson [EMAIL PROTECTED] wrote:
On 12/21/06, Peter Bell [EMAIL PROTECTED] wrote:
Hi Aaron,
To take a slightly different tack:
Q1:
- You don't want to track this in view as responsibility of view is to
display state
I haven't made the TDD jump yet (top resolution for next year - that and
FitNess for integration testing), but I'm having a hard time understanding
how you'd do unit testing WITHOUT some kind of mock object.
BTW, have you blogged about HOW you implemented the mock object? I'd love to
get an idea
Hi Sammy,
Just got to jump in on a point here . . .
I'm not familiar with Mach-II, but I would have thought long dependency
chains are not generally advisable. And I'm certainly no expert on
that, so I could well be wrong. I can't remember a time when I've had
more than 4 or 5 in a chain
Hi Sam,
Main benefit I've heard is if you want to change the way you handle sessions
in general - otherwise scope facades have limited utility.
Best Wishes,
Peter
You might also have some method setVarInStruct(var, struct), but I'm
not sure what advantages or disadvantages that may provide.
Yeah, thanks everyone for their input. I'm still trying to get my head
around this so have files all these posts for further review in January!
Happy Holidays,
Peter
On 12/22/06 1:21 PM, Sammy Larbi [EMAIL PROTECTED] wrote:
Thanks Jeff. I had thought you were simply asking about dependencies
On 1/9/07 2:44 PM, Kevan Stannard [EMAIL PROTECTED] wrote:
Any feedback from anyone on the list is appreciated.
Well, you asked! Nice blog, btw.
Best Wishes,
Peter
Best Regards
Kevan
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Aaron
). Something doesn't seem right about
passing the username and password to the siteUser and asking it to
authenticate itself.
What do you think?
Best Regards
Kevan
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Bell
Sent: Wednesday, 10
On 1/10/07 12:22 PM, Aaron Roberson [EMAIL PROTECTED] wrote:
Example:
cfset session.siteuser =
application.siteUser.getAuthenticatedUser(username,password) /
Well, I'd probably do something more like:
cfset session.SiteUser =
attributes.UserService.getAuthenticatedUser(Username,Password)
CF Eclipse also. DW is fine if you need the visual mode, but for pure
programming I like CF Eclipse. Google CF Eclipse to check out the various
blog postings on the cool features (as not all have been migrated to the
official site yet). Mark Drew also did some good videos a while back on
using
I use . . . TextMate . . .
Yeah, and I bet you DO think of performance optimized RegExs when walking
down the cereal aisle you geek you!
:-
On 2/4/07 9:36 AM, Mark Drew [EMAIL PROTECTED] wrote:
I use CFEclipse, TextMate and CSSEdit
MD
On 4 Feb 2007, at 14:28, Ryan Everhart wrote:
Yes. I do exactly that. I happen to use FTP instead of RDS, but same
principle. Check out the file explorer there are blog entries on the
somewhere.
On 2/7/07 2:41 PM, Jim Cassata [EMAIL PROTECTED] wrote:
Well, in the case of me the lone developer, I test the code on my dev
system. A partner
Hey Nando,
Mark has gone home for the evening, so no doubt ensconced somewhere with a
bottle of Babysham, but I happen to have it on good authority that he¹s
always looking for contributors so I¹ll be sure to let him know that you¹ve
signed up for adding these features next time I see him online.
Head first OOAD is a good book, but it assumes a familiarity with OO
coding. I'd actually read head first design patterns before their OOAD book
(which is good, but to my mind, not intro level). The DP book isn't
specifically about OO, but it covers the basics and also introduces a bunch
of
design patterns book is not where I'd go to get
my feet wet though =).
-Sam
Peter Bell wrote, On 2/20/2007 7:47 AM:
Head first OOAD is a good book, but it assumes a familiarity with OO
coding. I'd actually read head first design patterns before their OOAD book
(which is good, but to my
Do a sense a backlash from the procedural posse :-
Best Wishes,
Peter
On 2/28/07 3:13 PM, Phillip Senn [EMAIL PROTECTED] wrote:
When objects attack
Objects gone bad
Objects gone wild
You are subscribed to cfcdev. To unsubscribe, please follow the instructions
at
Actually, I'd allow the user bean to be unfussy in terms of typing. I let my
beans take any old input and then validate it before allowing it to be
saved. I find that works better as I can keep all my user specific
validation either in or composed via my user bean. Same for products,
categories,
Hi Paul,
On 2/28/07 6:45 PM, Paul Marcotte [EMAIL PROTECTED] wrote:
To Mr. Bell: User.authenticate() looks very ActiveRecord to me (which
I am not using). I'll hazzard a guess that User (as a transient) has
UserDAO LightWired into it. ;-)
Absolutely correct in concept. I love being able to
+1 for Sam's approach below. Only difference is that I use the idea of
custom data types which encapsulate all of the things that a property as
object should know about itself. Because I can't code everything as an
object in CF, I implement via a bunch of data type specific singletons that
Fusebox. Doesn't require OO, but supports it.
www.fusebox.org
Best Wishes,
Peter
On 3/13/07 9:29 AM, Joe Lakey [EMAIL PROTECTED] wrote:
Is there a light CF framework--something that we novice coders with
little or no OO background could use to transition to the more elegant,
comprehensive
DataMgr is great, but it isn't an MVC framework which is where you want to
start. Once you've picked an MVC framework (and I can't recommend FuseBox
too strongly for a team that isn't all the way OO - and as Matt said - use
the latest version), you might then want to check into something to save
Great point. If you do get a chance, take a non-time critical project and
play with Mach-II and Model-Glue (there are lots of great MVC frameworks,
but those are the two reference frameworks you want to start with) to get
the hang of things, but in the meantime, start with Fusebox and maybe
Ahhh Nando,
I was with you all the way until the last paragraph:
But the simple truth is you don't need to conceptually understand a thing
about IoC or DI or whatever else is written there to use ColdSpring, any
more than you need to understand exactly how the engine of your car works in
order
Sounds like a great posting to me. Let us know when it¹s on your blog
(you¹ve pretty much written it, lets share the love outside of the CFC Dev
list) so we can link people to it :-
Great intro, btw.
Best Wishes,
Peter
On 3/14/07 2:16 PM, Nando [EMAIL PROTECTED] wrote:
Sammy,
As someone
a question, please leave a comment!
Nando
On 3/14/07, Peter Bell [EMAIL PROTECTED] wrote:
Sounds like a great posting to me. Let us know when it's on your blog
(you've pretty much written it, lets share the love outside of the CFC Dev
list) so we can link people to it :-
Great intro, btw
Hi Phillip,
You might want to check out Iterating Business Objects
http://www.pbell.com/index.cfm/2006/11/21/My-First-CFDJ-Article-Encapsulatin
g-Recordsets (and search for iterating business object at www.pbell.com).
One piece is a generic getter and setter that allows for information hidig
How about displaying it on screen? There ARE use cases for
#Product.display('Title')# #Product.display('Price')#,
#Product.display(ThumbnailImage')#, etc. You could compose the cf display
template within the bean, but you'd still be left with
#THIS.display('Title')# all over the template.
Do
ColdFusion mapping not virtual directory. If you create (say) a .com
mapping, your code can access the components in that directory, but nobody
can just call the components at www.whatever.com/com/component_name.cfc,
hence it is a little more secure.
Best Wishes,
Peter
On 3/26/07 9:57 PM, J
Hi Aaron,
Most common solutions are replicating environments between dev and
production or an ant script with a Regex for the changes on pushing to your
production server.
Best Wishes,
Peter
On 3/27/07 1:42 AM, Aaron Roberson [EMAIL PROTECTED] wrote:
On my local windows machine running XP
It works
On 3/29/07 12:12 PM, Sammy Larbi [EMAIL PROTECTED] wrote:
Ryan Everhart wrote, On 3/29/2007 6:25 AM:
This may be a dumb question, but can you use a cfc to upload files?
Do they have access to the form scope when executed? The way my
application is being built is sorta like a
Hi Joe,
Typically the user action will go to a front controller - a single file (in
cf, by convention, usually index.cfm which calls the appropriate
controller(s) to handle a given action. However, there is a story for using
a pseudo-page controller where you have a about-us.cfm page stub that
Another option (but I wouldn't recommend it until you've played with the
others)
I have a render.cfc that does all of my rendering. It includes in the init()
method a variables.display = THIS;
When controller is ready it passes my PageRequest bucket object into
render.page(PageRequest). That
Well, I just posted a couple of entries:
http://www.pbell.com/index.cfm/2007/4/5/LightWire-The-Benefits-of-a-Programm
able-Configuration-Object
http://www.pbell.com/index.cfm/2007/4/5/LightWire-Why-I-Love-Mixin-Injection
s
Here are some thoughts:
ColdSpring is much more widely used. It has been
If anyone wants to add comments to a single place so we could pull together
a set of pros and cons, I¹ve just posted my response so people can comment
directly. In particular, I¹m sure there are a bunch of benefits to
ColdSpring I haven¹t included, so please add those in the comments if you
don¹t
If by elephant you mean pretty much irrelevant in the modern age, then we
agree :-
While there are definitely use cases where performance is critical, for the
vast majority of business apps it takes a distant third place in priorities
between some combination of speed to market and
Keep adjacency model, but consider either adding left and right fields or
something like what I did:
http://www.pbell.com/index.cfm/2007/4/10/Tree-table-metadata-using-an-adjace
ncy-model-cool-recursive-code
That way you can add metadata to make the runtime queries way simpler and
more
Hi Aaron,
Lots of ways of doing this depending on what you want to do. These days I
have a getMetaData() and setMetaData() method in the IBO to distinguish
between the actual object data which has n-records and the data I want to
know ABOUT the object which is only a single record. My service
Hey Aaron,
No point even getting into this while you still have a display issue with
the code you're displaying. Start by pulling all display code out like
yesterday when you had it working. Then add one element at a time and test.
Identify problem in display code and fix that. Then you should be
I started messing with the
code in the next() function of the IBO.
-Aaron
On 4/13/07, Peter Bell [EMAIL PROTECTED] wrote:
Hey Aaron,
No point even getting into this while you still have a display issue with
the code you're displaying. Start by pulling all display code out like
Another approach:
Call NotificationObject = NotificationService.new() to create a new
notification object which can have lots of smart getters and setters to
default things.
Manually set or use a property name list loop to set the appropriate
properties for the Notification object.
Then call
+1, I support both approaches, but one is saving an object so I call it
saveObject(Object: object) and the other is saveStruct(Struct: struct,
PropertyNameList: string). In the first I¹m taking a well formed object and
depending on my implementation either asking it to save itself or asking it
for
Nope.
Best Wishes,
Peter
On 4/30/07 12:39 PM, Aaron DC [EMAIL PROTECTED] wrote:
Is there a concept similar to a destructor built in to CFMX CFCs?
Thanks
Aaron
You are subscribed to cfcdev. To unsubscribe, please follow the instructions
at http://www.cfczone.org/listserv.cfm
Hi Aaron,
If you're talking about a method called getProperty(), of course you could
rename your generic getter to getProperty() and that would work. I'm
assuming you're more talking about a get#PropertyName#() solution so you
could call getFirstName() an getLastName() without actually having to
Hi Aaron,
See comments below.
On 5/4/07 12:56 PM, Aaron Roberson [EMAIL PROTECTED] wrote:
Yes Peter, purely syntactic sugar. However, I think that syntax is
just as important to you as it is to me :)
For sure!
Just so that we are all on the same page, here is the methods from
Hal's
Actually, it was a crazed Ruby programmer who wrested control of my keyboard
from me - apologies. You know I'd never say something like that about the
one true language (after ColdFusion) :-
On 5/4/07 3:18 PM, Aaron Roberson [EMAIL PROTECTED] wrote:
Personally I'd leave that to the enterprise
On 5/6/07 10:47 AM, Sammy Larbi [EMAIL PROTECTED] wrote:
I don't know where this inferiority complex comes from, but its seems to
persist in the CF community. I know I used to feel it, but I don't any
more.
I think from CF'ers who've heard of other languages (or from advocates of
other
Prefernces apply and use cases vary, but FWW, here's what I do:
Tbl_Order
Tbl_OrderItem
OrderService, OrderDAO, Order
OrderItemService, OrderItemDAO, OrderItem
I define the Order has-many composed OrderItems (on OrderID) and if I wanted
to see the total price, date and a list of items for order
Hi Tom,
I haven't spoken with Mark about this, but if you're looking for him to
implement the ability to run ColdFusion within Eclipse so he can do dynamic
analysis of your code to infer types and semantic meaning of string
identifiers for methods from runtime behavior and then provide static
+1. Only thing I put into application.cfc (in terms of a config property) is
application.name which I need to include the framework that calls the
application specific config bean that contains all of the other app specific
config info. Encapsulating it in a config bean gives you a bunch more
-- Jeff
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Bell
Sent: Thursday, June 07, 2007 3:44 PM
To: cfcdev@cfczone.org
Subject: Re: [CFCDEV] Application.cfc: where to set DSN
+1. Only thing I put into application.cfc (in terms of a config property
Actually, Brian is spoiled by ColdSpring. I'm spoiled by LightWire. Horses
for courses . . .
On 6/8/07 9:53 AM, Phillip Senn [EMAIL PROTECTED] wrote:
What would be the benefit of this approach
Hello! Brian and Peter are saying
I'm just so spoiled by ColdSpring that I would never build an
Use an arguments collection or name arguments so the order doesn¹t matter.
Typically when you have more than 2-3 arguments for a method call you want
to look at named arguments or arguments collections otherwise your code
becomes hard to read and hard to maintain.
Best Wishes,
Peter
On 7/2/07
I wouldn't worry too much about where things like lists are stored.
Presumably you'd persist them in some kind of way (database, maybe XML
file), but all you need is a ListService.cfc that provides access to them.
If might query a db (or call a DAO to query a db) or it might store them in
session
On 7/7/07 3:54 AM, Jaime Metcher [EMAIL PROTECTED] wrote:
I do find some of the CF idioms baffling.
Applying the principles of encapsulation, coherency and DRY I come up with
very different answers.
I find Service classes work well to separate the concerns of class methods
from instance
Hi Geoff,
I have a SiteUser.cfc which is session scoped (the equivalent of your User
object). In my e-commerce applications it has a composed Cart object and has
methods for interacting with and exposing that cart. In my system, I persist
carts in the DB between visits (running garbage collection
Hi Justin,
Re: the IBO, it is pretty simple. If you want to display a list of records,
but some of the properties are calculated (or may be in the future, or for
some other reason you want to use an object rather than just cfoutputting a
recordset), the IBO is a simple performant solution. You¹d
you¹ll probably want to tweak the code to make it ³yours².
Best Wishes,
Peter
On 8/20/07 5:50 PM, Justin Treher [EMAIL PROTECTED] wrote:
Regarding the IBO, does that require me to use generic getters and setters?
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Bell
If you have what sounds like framework code, put it in a separate framework
directory and create a CF mapping to access it. Before you do so, think
carefully of versioning issues. Let¹s say you have a framework
³MyDataAccess² - what happens when you want to make a non-trivial change to
it? If you
? Should they, at that point, become an object with a GW and DAO? Or is
there a simpler way to provide an interface to edit those list values?
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Bell
Sent: Wednesday, August 29, 2007 5:57 PM
To: cfcdev@cfczone.org
Subject: Re
Just let me know if any outstanding questions!
Best Wishes,
Peter
On 8/29/07 11:00 PM, Justin Treher [EMAIL PROTECTED] wrote:
Peter
I see you have a blog entry about it from March. I¹ll check that out.
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Bell
Sent
101 - 181 of 181 matches
Mail list logo