Could you send us a stripped down example app that shows the problem? It would probably just consist of a index.cfm, application.cfc, and mach-ii.xml along with the stack trace you get when you start up the app.
I think with that we could reproduce and fix the issue. --Kurt On Sat, Jun 2, 2012 at 9:17 PM, Shaun <[email protected]> wrote: > I know it shows that it is coming from the security filter, then the base > filter it extends from then ultimately the MachII filter - this was why I > did not see a point in attaching just that one - all the code in the site is > working fine in live production and the old testing setup and has been for > over 2 years - both MachII and the application itself. > > The only change is to move all sites and MachII onto a network drive - > immediately I get errors such as event undefined in arguments which has > never been a problem and which is always injected there from the framework - > now suddenly missing from methods which have been working stably for years. > > When the applications and MachII are on a physical drive, there is no need > for the use of CF mappings for the root as the site (or MachII) folder name > is simply used. Again this has never been a problem and IIRC is even > suggested as the default setup in the wiki i.e. leave the MachII > installation as "MachII" and no mapping is needed - all sites would access > it. Again this has worked successfully for several years. > > With the SAN setup you are describing, is it possible that it is different > that what I am describing? In my case: > > Windows Server > |- IIS 7.5 > |- inetpub\wwwroot > |- Virtual mappings to sites > |- SQL Server > |- ColdFusion 10 > |- inetpub\wwwroot (all virtual mappings inherit CF access) > > Network Drive > |- site > |- site2 > |- MachII > > > ColdFusion is fine with this setup and all non MachII sites work without any > changes. The first issue that occurs with MachII is found in the > file: MachII/util/Utils.cfc when expanding relative paths as I earlier > explained. When the framework loads and CFFile is used to load config > includes in MachII/framework/AppFactory.cfc an absolute path is expected and > the following code is run: > > <cfif Left(includeFilePath, 1) IS "."> > <cfset includeFilePath = > variables.utils.expandRelativePath(arguments.parentConfigFilePathDirectory, > includeFilePath) /> > <cfelse> > <cfset includeFilePath = ExpandPath(includeFilePath) /> > </cfif> > > The expandRelativePath() code is one example of that which does not play > nice with UNC paths as the "\\" which signify an absolute network path are > replaced a single "/" which subsequently breaks relative config paths for > starters. This would be the case on any setup loading from a UNC path. As I > explained earlier, I found this, updated that util function to handle those > types of paths too and tested against physical drive locations which handled > that problem after I had restarted CF. Another Framework related problem > with the filters (which are working perfectly on a physical drive setup) > appeared. > > All I am trying to say is that there is some points you *could* look into if > you feel necessary to support a networked setup like I described. In my case > I am going to drop this setup now and go for a standard physical drive setup > as I dont have the spare time to spend doing a whole bunch of debug work on > a proven working applications. Especially as the setup I am attempting does > not appear to be common or tested much. > > I guess its up to you guys if you feel it worth your time to investigate > further on that setup, but there is a definite issue at the least > with expandRelativePath() which I spotted and proposed a solution which > works to fix it. I just dont have the extra time to continue drilling down > other parts of the framework to spot anything else which doesn't gel well > with that setup is all. I am also working from the stable datum that the old > servers (using physical drive setup) has the exact same sites on them which > work with any issue - UNC network setup is the only change - then all non > MachII sites work without any changes (so unlikely to be CF). > > Hope that helps & love the framework too btw! > > Best, > > Shaun > > On Friday, June 1, 2012 1:57:17 PM UTC+10, Shaun wrote: >> >> Hi, >> >> I have used MachII on numerous projects, but recently was tasked with >> relocating some websites using the Framework to a new server. >> >> The location of the Framework and all websites is on a network drive >> and as such the root path looks something like: >> >> //vmware-host/Shared Folders/sites/MachII >> //vmware-host/Shared Folders/sites/website >> >> Instead of previously being something like: >> >> C:\inetpub\wwwroot\MachII >> C:\inetpub\wwwroot\website >> >> This seems to have caused a whole range of issues with the Framework >> and there are many things that are not working. Firstly relative paths >> in the config would not even load. This was fixed by adding the >> following code at the end of the expandRelativePath() function in >> MachII/util/Utils.cfc >> >> <cfif Left(arguments.baseDirectory, 2) is "\\"> >> <cfset resolvedPath = "\\" & resolvedPath /> >> </cfif> >> >> However then other things seem to be unworking - depending on the site >> - one was using the MachII environments and refused to load past that >> point. Another older site before MachII environments existed (had its >> own environment system) was reporting errors with "event" being >> undefined in arguments while using a filter. On that one I was able to >> remove some filter code and get a page to load, but as soon as an >> event was triggered I would get the same event undefined error. >> >> My feeling on this is that events are not being passed through, likely >> because of something like a hash id for memory storage being different >> in several places (possible due to me changing that util code) and >> thus it cant be looked up and found on subsequent execution flow. This >> is simply a guess but one way or another MachII does not seem to play >> nice with it being on a network drive. >> >> Additionally other sites I have migrated that do not use MachII are >> fine. >> >> Help on this would be appreciated as all MachII sites wont' work with >> a network drive setup :( >> >> Best Regards, >> >> Shaun Byrnes > > > On Friday, June 1, 2012 1:57:17 PM UTC+10, Shaun wrote: >> >> Hi, >> >> I have used MachII on numerous projects, but recently was tasked with >> relocating some websites using the Framework to a new server. >> >> The location of the Framework and all websites is on a network drive >> and as such the root path looks something like: >> >> //vmware-host/Shared Folders/sites/MachII >> //vmware-host/Shared Folders/sites/website >> >> Instead of previously being something like: >> >> C:\inetpub\wwwroot\MachII >> C:\inetpub\wwwroot\website >> >> This seems to have caused a whole range of issues with the Framework >> and there are many things that are not working. Firstly relative paths >> in the config would not even load. This was fixed by adding the >> following code at the end of the expandRelativePath() function in >> MachII/util/Utils.cfc >> >> <cfif Left(arguments.baseDirectory, 2) is "\\"> >> <cfset resolvedPath = "\\" & resolvedPath /> >> </cfif> >> >> However then other things seem to be unworking - depending on the site >> - one was using the MachII environments and refused to load past that >> point. Another older site before MachII environments existed (had its >> own environment system) was reporting errors with "event" being >> undefined in arguments while using a filter. On that one I was able to >> remove some filter code and get a page to load, but as soon as an >> event was triggered I would get the same event undefined error. >> >> My feeling on this is that events are not being passed through, likely >> because of something like a hash id for memory storage being different >> in several places (possible due to me changing that util code) and >> thus it cant be looked up and found on subsequent execution flow. This >> is simply a guess but one way or another MachII does not seem to play >> nice with it being on a network drive. >> >> Additionally other sites I have migrated that do not use MachII are >> fine. >> >> Help on this would be appreciated as all MachII sites wont' work with >> a network drive setup :( >> >> Best Regards, >> >> Shaun Byrnes > > -- > To post to this group, send email to [email protected] > For more options and to unsubscribe, visit this group at > http://groups.google.com/group/mach-ii-for-coldfusion?hl=en > > SVN: http://svn.mach-ii.com/machii/ > Wiki / Documentation / Tickets: http://trac.mach-ii.com/machii/ -- To post to this group, send email to [email protected] For more options and to unsubscribe, visit this group at http://groups.google.com/group/mach-ii-for-coldfusion?hl=en SVN: http://svn.mach-ii.com/machii/ Wiki / Documentation / Tickets: http://trac.mach-ii.com/machii/
