Thanks John,

I am going to think on this one some more...appreciate your response. I
think I was right, this is going to be painful :-)...however, if I am going
to do it once or twice, might as well try to think of a way it can be done
more generally.

I will let you know what I come up with.

Doug

-----Original Message-----
From: John Beynon [mailto:[EMAIL PROTECTED]
Sent: Thursday, February 03, 2005 8:06 AM
To: CF-Talk
Subject: Re: Integrating CF applications...


Hi doug,
It's something i've been looking into myself. Whilst we've not built our own
CMS we have a CF based commercial CMS. It identifies pages using an
articleID passed in the URL so you end up with index?articleID=27 in your
URLs.

The existing 'plugged' in applications have made heavy use of the CMS and
it's framework so they're difficult to unhook and hook into another CMS
should the need arise. Also you end up with considerable amounts of logic
within templates. For example, when you request articleID=27 it has an
associated template, within that template the previous applications have
used a cfswitch statement on an additional URL parameter, articleAction so
articleID=27 default case might so a login form whilst
articleID=27&articleAction=changepassword would present a change password
form - etc etc. It's fine for smaller sites but when you start building
enterprise level applications it all starts getting very complicated!

Building applications so closely tied to the underlying CMS framework didn't
appeal to me - being as my preferred framework for my applications is
Fusebox4.1. So now what I've built is a CFC facade to the CMS API (which is
entirely custom tag based). My applications call public methods of my facade
layer which inturn call private methods which interacts with the custom tag
based API. So if (and there is always a chance) the CMS is changed then i
can tweak the API, unit test the CFCs and applications would still operate.

I've now got a way to plug my fusebox41 applications into the CMS, they live
in their own folder but pull layouts in from common include folders (
technique discussed in the MM coding guidelines doc) and utilise
application.cfm files above them so they operate in harmony with the main
site

hope that helps,

john.

>Maybe I am just tired, but need some help. I have puttered around a bit,
and
>can't figure an easy way on this one. I am interested in figuring out how
to
>integrate existing applications inside each other without using frames. For
>example, I have built a simple content management solution, and I want to
be
>able to integrate a discussion board system I have downloaded, both built
in
>CF, and both with separate application.cfm ...from the user's perspective,
>the content management serves up the general content, but one link within
>this content could trigger on the discussion board for them. For an
example,
>goto http://www.naturenetwork.ca/novascotia and click on "discuss" - this
is
>where I would like the board to appear. Another example would be to drop in
>a blogging tool. Might be good to be able to pass some variables from one
to
>the next (use xml, or for simple applications, url variables?)...
>
>I know about and have developed one application in fusebox, but I don't
want
>to rebuild every application that has already been tried and tested - it
>takes time to build a good, functional, bug free application.
>
>I hope I am just being thick...thoughts on how to free me from my pain? I
am
>dreading a long development process.
>
>Thanks.
>
>Doug



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Discover CFTicket - The leading ColdFusion Help Desk and Trouble 
Ticket application

http://www.houseoffusion.com/banners/view.cfm?bannerid=48

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:193016
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to