The engineering rule is to try to make sure your development, staging
and production environments are as similar as possible.
The problem you are seeing can be solved by using a CF mapping (if are
on CF8+, OpenBD or Railo -- you can use them). It is because of the CFC
search order that the CFML engine uses:
1. Look in current directory from the current executing CFC or .cfm
2. Look from root of the domain (now this would be root of the
application if the application resides at the root of the domain)
3. Use any CF mappings
4. Blow up
I probably have those out of order, but you get the gist of it. A good
Google search will turn up a bunch of items. This is an issue to how
CFC dot paths are resolved by the CFML engine -- Mach-II isn't involve
yet because this is low level language stuff.
I'd be remiss to not recommend that you resolve as many differences to
how your staging environment is setup. All developers should develop
using a local instance of the CFML engine which would help in that
respect. As for your staging, you could solve the problems you are
seeing by using subdomains - projecta-rhl.example.com. Personally, this
is the direction I would move it as you'll be able to discover problems
sooner by having local development and basically rid yourself of
problems that only crop up on production (except for load related issues
/ SSL issues).
Best,
.pjf
RHouliston said the following on 04/01/10 19:20:
I have a question on making this work with my setup, because so far,
everything looks pretty simple except this part.
Couple of my developers use the same server to develop. Everything is
under one domain name.
Via apache, each person's project is mapped to their own version of
the code.
For example
www.devdomainname.com/ProjectA-rlh/ = root directory of ProjectA by
developer RLH
for the sake of argument C:/Sites/RLH-dev/ProjectA
On production, it would just be www.projectAdomainame.com
So I installed MachII at the root of www.devdomain.com
C:/sites/domainroot/
and the skeleton into C:/sites/RLH-dev/MachIIProject
which corresponds to www.devdomainname.com/MachIIProject-rlh/
We've always made very sure that a project didn't care where it lived,
it can be dropped into the root or a subdirectory and function exactly
the same. No mappings and one simple environment data file.
I can't quite seem to make the framework work quite the same way. The
basic part of MachII works fine once I set the applicationRoot to the
MachIIProject-rlh (which I really don't want to do since its a dev
specific value, but just one variable I could change out). I get the
view pages to show.
Great so far, but now I'm adding in listeners. and they want
"fully.Qualified.Dot.Delimited.Path.To.CFC" Which I'll admit to
having no idea what that should be. But I eventually got the error to
go away by putting in the "MachIIProject-rlh.listeners.filename.cfc"
So this leads me to a problem, once again, "MachIIProject-rlh" is a
dev server only apache mapping. Is there some place I can set an
environmental variable that says, if dev, put some value in front of
all the listeners.
Because I surely don't want to have the "MachIIProject-rlh." in front
of everything considering it will be different for each of my
employees and missing all together on production.
I suspect I'm missing something simple and obvious.
Suggestions anyone?
RLH
--
You received this message because you are subscribed to Mach-II for CFML list.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/mach-ii-for-coldfusion?hl=en
SVN: http://greatbiztoolsllc.svn.cvsdude.com/mach-ii/
Wiki / Documentation / Tickets:
http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/