Hey folks,
I’m using a shared JDBC Cache between two applications - One running on ACF 9.0.1 and the other on Railo 3.3.4.
On ACF I am able to write and read the object out of the JDBC Cache without issue, however when I try to read the object on Railo I get the following error:
https://gist.github.com/nolandubeau/04120b4da03b4bb4fa5f
The object in cache is a memento of an ORM Entity which has relationships (child struct and child arrays)
I’m at a loss to figure out how to debug given how cryptic the error is? Any ideas?
Thanks.
Nolan
The error appears to be happening in this function (line 107 of the Object Marshaller)
<cfreturn evaluate(arguments.binaryObject)>
are you able to test on Railo 4?
Hi AJ. No I haven’t tried Railo 4 yet.
I’ll give that a try, but I would be curious to know how to fix this on 3.3. I would prefer to not upgrade at this point.
I’ll give it a shot.
Nolan
Almost have Railo 4 running the app. Does anyone happen to have the URL rewrite config for Railo 4? I tried copying my settings from Railo 3.3 but Railo fails to startup
UrlRewriteFilter
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
UrlRewriteFilter
/*
Just an update on this. I was able to resolve the JDBC Cache issue by upgrading to Railo 4. On a side note, I thought my CB version was 3.6 but it was actually 3.5.2. Not sure if that had anything to do with it. I upgraded to 3.6 as well, however the original error did go away with Railo4 and CB 3.5.2
I also fixed my URL rewrite issue. Forgot to install the rewrite JAR in the WEB-INF lib folder.
Thanks.
Nolan
Actually.
This isn’t working as expected. Here is the scenario:
Two apps using a shared JDBC Cache
App 1: Object is being serialized on ACF 9.0.1 on OSX, Apache, ColdBox 3.6. Object can be retrieved and viewed on ACF.
App 2: OSX, Railo 4, ColdBox 3.6. When I try to retrieve the object from the JDBC Cache I am faced with a different error which indicates that the variable does not exist. However when I use the debugger I see it in the JDBC cache store. Here is the error:
Application Execution ExceptionError Type: expression : 0
Error Messages: variable [RO0ABXNYACBJB2XKZNVZAW9ULNJ1BNRPBWUUU3RYDWN0V3JHCHBLCNFPXTDWTUQXAGABTAADBWFWDAAPTGPHDMEVDXRPBC9NYXA7EHBZCGARAMF2YS51DGLSLKHHC2HNYXAFB9RBWXZG0QMAAKYACMXVYWRGYWN0B3JJAAL0AHJLC2HVBGR4CD9AAAAAAAAYDWGAAAAGAAAAEXQABXNJB3BLDAAKUMVZDHJPY3RLZHQABNN0YXR1C3QABURYYWZ0DAAKCGFYDG5LCMTLEXQABGRLBW90AALJCMVHDGVKYNL0ABFTZWN1CML0ESBEAXNWYXRJAHQACG1VZGLMAWVKDAAWSNVUZSWGMDCGMJAXMYAXNJOWOTOXNHQABNNLBMRLCNQABGRLBW90AAVZAGFYZXQAAHQABNNVDXJJZXQABGRLBW90AADHBGVYDGLKC3IAEWPHDMEUBGFUZY5JBNRLZ2VYEUKGPPEBHZGCAAFJAAV2YWX1ZXHYABBQYXZHLMXHBMCUTNVTYMVYHQYVHQUU4ISCAAB4CAAAAA50AADJCMVHDGVKDAAWSNVUZSWGMDCGMJAXMYAXNJOWODOZNXQABNRHCMDLDHQABMNVBW1VBNQABMFJDGL2ZXNXAH4AFGAAAAB0AADTC2DUEXBLDAAFQWXLCNR0AA5HY2NLCHRFCMVWBGLLC3EAFGAEDAAKAWRLBNRPZMLLCNQAIZM5RJC1QTFFLUFDNKQTNZG3QS1FRDDFNDM2N0RBNZC2MTE5DAAMYXVKAWVUY2VTAXPLC3EAFGAWAAAAI3QAD2RPC3BSYXLFCMVWBGLLC3NYABFQYXZHLMXHBMCUQM9VBGVHBS0GCODVNPRUAGABWGAFDMFSDWV4CAB4] doesn’t exist
Tag Context:
ID: ??
LINE: 107
Template: /Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/core/conversion/ObjectMarshaller.cfc
ID: ??
LINE: 83
Template: /Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/core/conversion/ObjectMarshaller.cfc
ID: ??
LINE: 193
Template: /Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/cache/store/JDBCStore.cfc
ID: ??
LINE: 246
Template: /Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/cache/providers/CacheBoxProvider.cfc
ID: ??
LINE: 225
Template: /Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/cache/providers/CacheBoxProvider.cfc
ID: ??
LINE: 51
Template: /Library/WebServer/Documents/guardly-platform/emns/webapp/model/EMNSService.cfc
ID: ??
LINE: 64
Template: /Library/WebServer/Documents/guardly-platform/emns/webapp/handlers/Notification.cfc
ID: ??
LINE: 753
Template: /Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/web/Controller.cfc
ID: ??
LINE: 637
Template: /Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/web/Controller.cfc
ID: ??
LINE: 236
Template: /Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/Coldbox.cfc
ID: ??
LINE: 204
Template: /Library/WebServer/Documents/guardly-platform/emns/webapp/Application.cfc
Framework Snapshot
Current Event: Notification.index
Current Layout: N/A (Module: )
Current View: N/A
Bug Date: 06/07/2013 12:10:53 PM
Coldfusion ID: CFID=6cf29ab2-0413-4c80-a47c-2e7852814e9a ; CFToken=0 ; JSessionID=Guardly_EMNS_0C7F84F6BE0B4AD7E37B365D7BBAC21E_6cf29ab2-0413-4c80-a47c-2e7852814e9a_0
Template Path : /Library/WebServer/Documents/guardly-platform/emns/webapp/index.cfm
Path Info : /demo/39F75A1E-AC6D-787A-ED7E4367DA776119
Host & Server: localhost:9090 Nolan-Dubeau.local
Query String:
Referrer: http://local.dashboard.guardly.com/emns
Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36
Remote Address: 127.0.0.1
Form variables:
Session Storage:
partner: partner [complex]
Cookies:
coldbox_debugmode_0485c7f334bdfb8cb05f82b27aa0f219: true
railo_admin_lastpage: resources.component
cftoken: 0
railo_admin_lang: en
jsessionid: 8ED41AAD37114A58910B29451ABED561
cfid: 6cf29ab2-0413-4c80-a47c-2e7852814e9a
Stack Trace:
variable [RO0ABXNYACBJB2XKZNVZAW9ULNJ1BNRPBWUUU3RYDWN0V3JHCHBLCNFPXTDWTUQXAGABTAADBWFWDAAPTGPHDMEVDXRPBC9NYXA7EHBZCGARAMF2YS51DGLSLKHHC2HNYXAFB9RBWXZG0QMAAKYACMXVYWRGYWN0B3JJAAL0AHJLC2HVBGR4CD9AAAAAAAAYDWGAAAAGAAAAEXQABXNJB3BLDAAKUMVZDHJPY3RLZHQABNN0YXR1C3QABURYYWZ0DAAKCGFYDG5LCMTLEXQABGRLBW90AALJCMVHDGVKYNL0ABFTZWN1CML0ESBEAXNWYXRJAHQACG1VZGLMAWVKDAAWSNVUZSWGMDCGMJAXMYAXNJOWOTOXNHQABNNLBMRLCNQABGRLBW90AAVZAGFYZXQAAHQABNNVDXJJZXQABGRLBW90AADHBGVYDGLKC3IAEWPHDMEUBGFUZY5JBNRLZ2VYEUKGPPEBHZGCAAFJAAV2YWX1ZXHYABBQYXZHLMXHBMCUTNVTYMVYHQYVHQUU4ISCAAB4CAAAAA50AADJCMVHDGVKDAAWSNVUZSWGMDCGMJAXMYAXNJOWODOZNXQABNRHCMDLDHQABMNVBW1VBNQABMFJDGL2ZXNXAH4AFGAAAAB0AADTC2DUEXBLDAAFQWXLCNR0AA5HY2NLCHRFCMVWBGLLC3EAFGAEDAAKAWRLBNRPZMLLCNQAIZM5RJC1QTFFLUFDNKQTNZG3QS1FRDDFNDM2N0RBNZC2MTE5DAAMYXVKAWVUY2VTAXPLC3EAFGAWAAAAI3QAD2RPC3BSYXLFCMVWBGLLC3NYABFQYXZHLMXHBMCUQM9VBGVHBS0GCODVNPRUAGABWGAFDMFSDWV4CAB4] doesn't exist
at railo.runtime.type.scope.UndefinedImpl.get(UndefinedImpl.java:230):230
at railo.runtime.type.util.StructSupport.get(StructSupport.java:217):217
at railo.runtime.util.VariableUtilImpl.get(VariableUtilImpl.java:313):313
at railo.runtime.PageContextImpl.get(PageContextImpl.java:1335):1335
at railo.runtime.interpreter.ref.var.Variable.getValue(Variable.java:44):44
at railo.runtime.interpreter.CFMLExpressionInterpreter.interpret(CFMLExpressionInterpreter.java:188):188
at railo.runtime.functions.dynamicEvaluation.Evaluate._call(Evaluate.java:77):77
at railo.runtime.functions.dynamicEvaluation.Evaluate.call(Evaluate.java:70):70
at railo.runtime.functions.dynamicEvaluation.Evaluate.call(Evaluate.java:23):23
at system.core.conversion.objectmarshaller_cfc$cf._1(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/core/conversion/ObjectMarshaller.cfc:107):107
at system.core.conversion.objectmarshaller_cfc$cf.udfCall(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/core/conversion/ObjectMarshaller.cfc):-1
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:103):103
at railo.runtime.type.UDFImpl._call(UDFImpl.java:371):371
at railo.runtime.type.UDFImpl.call(UDFImpl.java:284):284
at railo.runtime.type.scope.UndefinedImpl.call(UndefinedImpl.java:775):775
at railo.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:723):723
at railo.runtime.PageContextImpl.getFunction(PageContextImpl.java:1506):1506
at system.core.conversion.objectmarshaller_cfc$cf._1(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/core/conversion/ObjectMarshaller.cfc:83):83
at system.core.conversion.objectmarshaller_cfc$cf.udfCall(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/core/conversion/ObjectMarshaller.cfc):-1
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:103):103
at railo.runtime.type.UDFImpl._call(UDFImpl.java:371):371
at railo.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:275):275
at railo.runtime.ComponentImpl._call(ComponentImpl.java:608):608
at railo.runtime.ComponentImpl._call(ComponentImpl.java:490):490
at railo.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1800):1800
at railo.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:749):749
at railo.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:1521):1521
at system.cache.store.jdbcstore_cfc$cf._1(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/cache/store/JDBCStore.cfc:193):193
at system.cache.store.jdbcstore_cfc$cf.udfCall(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/cache/store/JDBCStore.cfc):-1
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:103):103
at railo.runtime.type.UDFImpl._call(UDFImpl.java:371):371
at railo.runtime.type.UDFImpl.call(UDFImpl.java:284):284
at railo.runtime.ComponentImpl._call(ComponentImpl.java:607):607
at railo.runtime.ComponentImpl._call(ComponentImpl.java:490):490
at railo.runtime.ComponentImpl.call(ComponentImpl.java:1781):1781
at railo.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:723):723
at railo.runtime.PageContextImpl.getFunction(PageContextImpl.java:1506):1506
at system.cache.providers.cacheboxprovider_cfc$cf._2(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/cache/providers/CacheBoxProvider.cfc:246):246
at system.cache.providers.cacheboxprovider_cfc$cf.udfCall(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/cache/providers/CacheBoxProvider.cfc):-1
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:103):103
at railo.runtime.type.UDFImpl._call(UDFImpl.java:371):371
at railo.runtime.type.UDFImpl.call(UDFImpl.java:284):284
at railo.runtime.type.scope.UndefinedImpl.call(UndefinedImpl.java:775):775
at railo.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:723):723
at railo.runtime.PageContextImpl.getFunction(PageContextImpl.java:1506):1506
at system.cache.providers.cacheboxprovider_cfc$cf._1(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/cache/providers/CacheBoxProvider.cfc:225):225
at system.cache.providers.cacheboxprovider_cfc$cf.udfCall(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/cache/providers/CacheBoxProvider.cfc):-1
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:103):103
at railo.runtime.type.UDFImpl._call(UDFImpl.java:371):371
at railo.runtime.type.UDFImpl.call(UDFImpl.java:284):284
at railo.runtime.ComponentImpl._call(ComponentImpl.java:607):607
at railo.runtime.ComponentImpl._call(ComponentImpl.java:490):490
at railo.runtime.ComponentImpl.call(ComponentImpl.java:1781):1781
at railo.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:723):723
at railo.runtime.PageContextImpl.getFunction(PageContextImpl.java:1506):1506
at model.emnsservice_cfc$cf.udfCall(/Library/WebServer/Documents/guardly-platform/emns/webapp/model/EMNSService.cfc:51):51
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:103):103
at railo.runtime.type.UDFImpl._call(UDFImpl.java:371):371
at railo.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:275):275
at railo.runtime.ComponentImpl._call(ComponentImpl.java:608):608
at railo.runtime.ComponentImpl._call(ComponentImpl.java:490):490
at railo.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1800):1800
at railo.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:749):749
at railo.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:1521):1521
at handlers.notification_cfc$cf.udfCall(/Library/WebServer/Documents/guardly-platform/emns/webapp/handlers/Notification.cfc:64):64
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:103):103
at railo.runtime.type.UDFImpl._call(UDFImpl.java:371):371
at railo.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:275):275
at railo.runtime.ComponentImpl._call(ComponentImpl.java:608):608
at railo.runtime.ComponentImpl._call(ComponentImpl.java:490):490
at railo.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1796):1796
at railo.runtime.tag.Invoke.doComponent(Invoke.java:209):209
at railo.runtime.tag.Invoke.doEndTag(Invoke.java:182):182
at system.web.controller_cfc$cf._6(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/web/Controller.cfc:753):753
at system.web.controller_cfc$cf.udfCall(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/web/Controller.cfc):-1
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:103):103
at railo.runtime.type.UDFImpl._call(UDFImpl.java:371):371
at railo.runtime.type.UDFImpl.call(UDFImpl.java:284):284
at railo.runtime.type.scope.UndefinedImpl.call(UndefinedImpl.java:775):775
at railo.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:723):723
at railo.runtime.PageContextImpl.getFunction(PageContextImpl.java:1506):1506
at system.web.controller_cfc$cf._5(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/web/Controller.cfc:637):637
at system.web.controller_cfc$cf.udfCall(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/web/Controller.cfc):-1
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:103):103
at railo.runtime.type.UDFImpl._call(UDFImpl.java:371):371
at railo.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:275):275
at railo.runtime.ComponentImpl._call(ComponentImpl.java:608):608
at railo.runtime.ComponentImpl._call(ComponentImpl.java:490):490
at railo.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1800):1800
at railo.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:749):749
at railo.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:1521):1521
at system.coldbox_cfc$cf._1(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/Coldbox.cfc:236):236
at system.coldbox_cfc$cf.udfCall(/Library/WebServer/Documents/guardly-platform/emns/webapp/frameworks/coldbox/system/Coldbox.cfc):-1
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:103):103
at railo.runtime.type.UDFImpl._call(UDFImpl.java:371):371
at railo.runtime.type.UDFImpl.call(UDFImpl.java:284):284
at railo.runtime.ComponentImpl._call(ComponentImpl.java:607):607
at railo.runtime.ComponentImpl._call(ComponentImpl.java:490):490
at railo.runtime.ComponentImpl.call(ComponentImpl.java:1781):1781
at railo.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:723):723
at railo.runtime.PageContextImpl.getFunction(PageContextImpl.java:1506):1506
at application_cfc$cf.udfCall(/Library/WebServer/Documents/guardly-platform/emns/webapp/Application.cfc:204):204
at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:103):103
at railo.runtime.type.UDFImpl._call(UDFImpl.java:371):371
at railo.runtime.type.UDFImpl.call(UDFImpl.java:284):284
at railo.runtime.ComponentImpl._call(ComponentImpl.java:607):607
at railo.runtime.ComponentImpl._call(ComponentImpl.java:490):490
at railo.runtime.ComponentImpl.call(ComponentImpl.java:1781):1781
at railo.runtime.listener.ModernAppListener.call(ModernAppListener.java:346):346
at railo.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:107):107
at railo.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:18):18
at railo.runtime.PageContextImpl.execute(PageContextImpl.java:2255):2255
at railo.runtime.PageContextImpl.execute(PageContextImpl.java:2222):2222
at railo.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:315):315
at railo.loader.servlet.CFMLServlet.service(CFMLServlet.java:29):29
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717):717
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290):290
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206):206
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646):646
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436):436
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374):374
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302):302
at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213):213
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171):171
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145):145
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92):92
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394):394
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235):235
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206):206
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233):233
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191):191
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127):127
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102):102
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109):109
at net.stax.appserver.webapp.RequestMonitorValve.invoke(RequestMonitorValve.java:35):35
at net.stax.appserver.webapp.RequestSetupValve.invoke(RequestSetupValve.java:31):31
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:647):647
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293):293
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859):859
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602):602
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489):489
at java.lang.Thread.run(Thread.java:680):680
Any ideas?
Thanks!
Nolan
Will have to test this once I get back
Luis Majano
CEO
Ortus Solutions, Corp
Toll Free/Fax: 1-888-557-8057
Direct: 909-248-3408
www.ortussolutions.com
Twitter: @lmajano, @ortussolutions
Hi Brad, Luis,
Thanks for your emails. Brad, thanks so much for putting together the sample code!
I haven’t implemented it yet (will do today) and will let you know how it goes.
Question. Do the files have to go in the model folder or can they be placed elsewhere?
Thanks again.
Nolan
I was able to get this to work guys. Thanks very much for your help! Works like a charm.
Cheers,
Nolan