google-code-export / cfwheels

Automatically exported from code.google.com/p/cfwheels
0 stars 0 forks source link

Support Open BlueDragon #61

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Support the Open BlueDragon CFML engine.

Original issue reported on code.google.com by per.djurner@gmail.com on 24 Jul 2008 at 3:47

GoogleCodeExporter commented 9 years ago
Before we can do this OpenBD needs to be (almost) fully compatible with Adobe
ColdFusion 8.

Original comment by per.djurner@gmail.com on 24 Jul 2008 at 3:47

GoogleCodeExporter commented 9 years ago

Original comment by chrisdpe...@gmail.com on 24 Jul 2008 at 9:18

GoogleCodeExporter commented 9 years ago

Original comment by per.djurner@gmail.com on 2 Oct 2008 at 7:57

GoogleCodeExporter commented 9 years ago
How abour Railo? its closer to ColdFusion 8

Original comment by rierar...@gmail.com on 13 Oct 2008 at 1:05

GoogleCodeExporter commented 9 years ago
Railo is already supported actually (in SVN code only though, not in 0.8.2).

Original comment by per.djurner@gmail.com on 13 Oct 2008 at 1:28

GoogleCodeExporter commented 9 years ago

Original comment by per.djurner@gmail.com on 6 Mar 2009 at 11:14

GoogleCodeExporter commented 9 years ago

Original comment by per.djurner@gmail.com on 7 Mar 2009 at 9:26

GoogleCodeExporter commented 9 years ago

Original comment by per.djurner@gmail.com on 6 Dec 2009 at 6:02

GoogleCodeExporter commented 9 years ago
any updates on this?  I really love CFWheels but I need it to work with BD...

Original comment by jd.hendr...@avenueright.com on 22 Jan 2010 at 5:31

GoogleCodeExporter commented 9 years ago
I started a branch for making Wheels work with OpenBD.  I did some simple 
changes but a 
major issue is with OpenBD currently.

Branch
http://github.com/mhenke/cfwheels/tree/openbd_prep

attributeCollection for tags
http://code.google.com/p/openbluedragon/issues/detail?id=235

Original comment by henkem...@gmail.com on 6 Jun 2010 at 5:02

GoogleCodeExporter commented 9 years ago
Issue 460 has been merged into this issue.

Original comment by per.djurner@gmail.com on 7 Jun 2010 at 10:39

GoogleCodeExporter commented 9 years ago
Per, they are two different engines (OpenBD GEA and the OpenBD).  It is a moot 
point since OpenBD doesn't work.

Original comment by henkem...@gmail.com on 12 Jun 2010 at 11:09

GoogleCodeExporter commented 9 years ago
Simple adding check for StructKeyExists(server, "bluedragon") where 
StructKeyExists(server, "railo") existed

Original comment by henkem...@gmail.com on 12 Jun 2010 at 11:10

Attachments:

GoogleCodeExporter commented 9 years ago
I don't want to apply patches for this until we can fully support it.

Original comment by per.djurner@gmail.com on 13 Jun 2010 at 5:02

GoogleCodeExporter commented 9 years ago

Original comment by per.djurner@gmail.com on 12 Jul 2010 at 1:57

GoogleCodeExporter commented 9 years ago
what were the "roadblocker" in getting this done? if memory serves me correctly 
the biggest one was the lack of ArgumentCollection support. i now see on their 
site that this is coming in version 1.5. are there any others to consider?

Original comment by tpetru...@gmail.com on 21 Feb 2011 at 6:07

GoogleCodeExporter commented 9 years ago
I am going to download the nightly build and see what I can do.  If there are 
still issues maybe it isn't too late to have them update OpenBD before the 1.5 
release.

Original comment by rjohnso...@gmail.com on 5 Apr 2011 at 1:22

GoogleCodeExporter commented 9 years ago
As of right now the 1.5 nightly build doesn't have attributecollection on 
cfimage so this fails.
55: <cffunction name="$image" returntype="struct" access="public" 
output="false">
56:   <cfset var returnValue = {}>
57:   <cfset arguments.structName = "returnValue">
58:   <cfimage attributeCollection="#arguments#">
59:   <cfreturn returnValue>

I will continue to monitor this and see what I can find out.

Original comment by rjohnso...@gmail.com on 5 Apr 2011 at 1:59

GoogleCodeExporter commented 9 years ago
After adding attributecollection to a few of the BD tags and recompiling I was 
stopped at CFDBINFO.  It is an unrecognized tag in Blue Dragon.  I commented 
that out and added some code into the onapplicationstart.cfm so Blue Dragon was 
supported, but then I received a couple internal Java errors. (Which I will fix 
and recompile).  I think the CFDBINFO would be a show stopper unless someone 
knows a good work around.  I am not sure my Java skills are good enough to 
create that tag, unless I could get an idea from the Railo implementation.  

As of right now we are a ways off before we can run CFWheeels on OpenBD.

Original comment by rjohnso...@gmail.com on 6 Apr 2011 at 7:48

GoogleCodeExporter commented 9 years ago
Thanks for taking a look at this. The Wheels ORM relies heavily on cfdbinfo. If 
that tag isn't available, then the ORM would not work at all...

Original comment by chriscle...@gmail.com on 6 Apr 2011 at 8:05

GoogleCodeExporter commented 9 years ago
@russ,

you go studling!!!

as chris said, BD has to support cfdbinfo in order to get the orm working... 
though you _might_ be able to bypass this.

there are really only two reasons we use cfdbinfo:

1) to get what type of database the connection is hitting. i don't know if 
there might be some underline javaish way of getting this information. if that 
is the case, then you could just patch wheels/Connection.cfc to call a 
different method when using BD. look at the wheels/connection/$assignAdapter() 
method.

2) the other thing is for getting the column information of the database. i 
already by pass this and use a custom query in order to get this information 
from oracle as the $getColumnInfomethod just needs to return a query with this 
information. look at the oracle adapter as an example 
(wheels/model/adapters/oracle.cfc. of course we would have to write custom 
queries for each of the other adapters that we have in play for BD, however 
those queries are easy to find as they have been written a ton of times before. 
i think i got the query from the migration plugin, but i'm sure you could look 
at the reactor source code to find them also.

again, thank you very much for taking the time in investigating this.

Original comment by tpetru...@gmail.com on 7 Apr 2011 at 2:59

GoogleCodeExporter commented 9 years ago
Hello guys,

I am using the latest nightly version of open bluedragon. They finally support 
cfdbinfo and cfinvoke attribute collections.   I have cfwheels working with 
only a few minor changes.  

I need to do more testing.  Once testing is done I will push the required 
changes to github for the next release of cfwheels.

Alan told me that OpenBD 2.0.1 to be released soon will include the changes.  
It shouldn't be long before cfwheels can run on OpenBD

~Randy

Original comment by randyI...@gmail.com on 28 Nov 2011 at 4:14

GoogleCodeExporter commented 9 years ago
@randyICND

it's been a while but would you happen to have a diff of what you changed to 
get openbd to work with wheels

Original comment by tpetru...@gmail.com on 21 May 2012 at 2:39

GoogleCodeExporter commented 9 years ago
I'm able to get the "Congratulations!" screen by making the following edits:

1. functions.cfm line 4:
   Was: <cfif StructKeyExists(server, "railo")>
   Now: <cfif StructKeyExists(server, "railo") or StructKeyExists(server, "bluedragon")>
2. controller/appfunctions.cfm line 1: Same change
3. global/appfunctions.cfm line 1: Same change
4. events/onapplicationstart.cfm starting at line 20:
   Was:
        if (StructKeyExists(server, "railo"))
        {
            application.wheels.serverName = "Railo";
            application.wheels.serverVersion = server.railo.version;
            loc.minimumServerVersion = "3.1.2.020";
        }
        else
        {
            application.wheels.serverName = "Adobe ColdFusion";
            application.wheels.serverVersion = server.coldfusion.productversion;
            loc.minimumServerVersion = "8,0,1,0";
        }
   Now:
        if (StructKeyExists(server, "railo"))
        {
            application.wheels.serverName = "Railo";
            application.wheels.serverVersion = server.railo.version;
            loc.minimumServerVersion = "3.1.2.020";
        }
        else if (StructKeyExists(server, "bluedragon"))
        {
            application.wheels.serverName = "OpenBD";
            application.wheels.serverVersion = server.bluedragon.version;
            loc.minimumServerVersion = "3.0";
        }
        else
        {
            application.wheels.serverName = "Adobe ColdFusion";
            application.wheels.serverVersion = server.coldfusion.productversion;
            loc.minimumServerVersion = "8,0,1,0";
        }
I'm not sure what the minimum version of openbd needs to be but I'm running 
3.0. I'm not sure what roadblocks lie ahead but it looks good so far.

Original comment by moss.x...@gmail.com on 3 Dec 2013 at 9:57