/* MySQL Data Transfer Source Host: localhost Source Database: jr_modelglue Target Host: localhost Target Database: jr_modelglue Date: 7/30/2009 10:41:05 AM */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for galleon_conferences -- ---------------------------- CREATE TABLE `galleon_conferences` ( `Id` varchar(35) NOT NULL default '', `name` varchar(255) NOT NULL default '', `description` varchar(255) NOT NULL default '', `active` tinyint(1) default NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ---------------------------- -- Table structure for galleon_forums -- ---------------------------- CREATE TABLE `galleon_forums` ( `id` varchar(35) NOT NULL default '', `name` varchar(255) NOT NULL default '', `description` varchar(255) NOT NULL default '', `readonly` tinyint(1) NOT NULL default '0', `active` tinyint(1) NOT NULL default '0', `attachments` tinyint(1) NOT NULL default '0', `conferenceidfk` varchar(35) NOT NULL default '', PRIMARY KEY (`id`), KEY `galleon_forums_conferenceidfk` (`conferenceidfk`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ---------------------------- -- Table structure for galleon_groups -- ---------------------------- CREATE TABLE `galleon_groups` ( `Id` varchar(35) NOT NULL default '', `group` varchar(50) NOT NULL default '', PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ---------------------------- -- Table structure for galleon_messages -- ---------------------------- CREATE TABLE `galleon_messages` ( `Id` varchar(35) NOT NULL default '', `title` varchar(255) NOT NULL default '', `body` text NOT NULL, `posted` datetime NOT NULL default '0000-00-00 00:00:00', `useridfk` varchar(35) NOT NULL default '', `threadidfk` varchar(35) NOT NULL default '', `attachment` varchar(255) NOT NULL default '', `filename` varchar(255) NOT NULL default '', PRIMARY KEY (`Id`), KEY `galleon_messages_useridfk` (`useridfk`), KEY `galleon_messages_threadidfk` (`threadidfk`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ---------------------------- -- Table structure for galleon_ranks -- ---------------------------- CREATE TABLE `galleon_ranks` ( `Id` varchar(35) NOT NULL default '', `name` varchar(50) NOT NULL default '', `minposts` int(11) NOT NULL default '0', PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ---------------------------- -- Table structure for galleon_search_log -- ---------------------------- CREATE TABLE `galleon_search_log` ( `searchterms` varchar(255) NOT NULL default '', `datesearched` datetime NOT NULL default '0000-00-00 00:00:00' ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ---------------------------- -- Table structure for galleon_subscriptions -- ---------------------------- CREATE TABLE `galleon_subscriptions` ( `Id` varchar(35) NOT NULL default '', `useridfk` varchar(35) default NULL, `threadidfk` varchar(35) default NULL, `forumidfk` varchar(35) default NULL, `conferenceidfk` varchar(35) default NULL, PRIMARY KEY (`Id`), KEY `galleon_subscriptions_useridfk` (`useridfk`), KEY `galleon_subscriptions_threadidfk` (`threadidfk`), KEY `galleon_subscriptions_forumidfk` (`forumidfk`), KEY `galleon_subscriptions_conferenceidfk` (`conferenceidfk`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ---------------------------- -- Table structure for galleon_threads -- ---------------------------- CREATE TABLE `galleon_threads` ( `Id` varchar(35) NOT NULL default '', `name` varchar(255) NOT NULL default '', `active` tinyint(1) NOT NULL default '0', `readonly` tinyint(1) NOT NULL default '0', `useridfk` varchar(35) NOT NULL default '', `forumidfk` varchar(35) NOT NULL default '', `datecreated` datetime NOT NULL default '0000-00-00 00:00:00', `sticky` tinyint(1) NOT NULL default '0', PRIMARY KEY (`Id`), KEY `galleon_threads_useridfk` (`useridfk`), KEY `galleon_threads_forumidfk` (`forumidfk`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ---------------------------- -- Table structure for galleon_users -- ---------------------------- CREATE TABLE `galleon_users` ( `Id` varchar(35) NOT NULL default '', `username` varchar(50) NOT NULL default '', `password` varchar(50) NOT NULL default '', `emailaddress` varchar(255) NOT NULL default '', `signature` text NOT NULL, `datecreated` datetime NOT NULL default '0000-00-00 00:00:00', `confirmed` tinyint(1) NOT NULL default '0', `name` varchar(50) default NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ---------------------------- -- Table structure for galleon_users_groups -- ---------------------------- CREATE TABLE `galleon_users_groups` ( `useridfk` varchar(35) NOT NULL default '', `groupidfk` varchar(35) NOT NULL default '' ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- ---------------------------- -- Table structure for tblblogcategories -- ---------------------------- CREATE TABLE `tblblogcategories` ( `categoryid` varchar(35) character set latin1 NOT NULL default '', `categoryname` varchar(50) character set latin1 NOT NULL default '', `categoryalias` varchar(50) default NULL, `blog` varchar(50) character set latin1 NOT NULL default '', PRIMARY KEY (`categoryid`), KEY `blogCategories_blog` (`blog`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for tblblogcomments -- ---------------------------- CREATE TABLE `tblblogcomments` ( `id` varchar(35) character set latin1 NOT NULL default '', `entryidfk` varchar(35) character set latin1 default NULL, `name` varchar(50) character set latin1 default NULL, `email` varchar(50) character set latin1 default NULL, `comment` text character set latin1, `posted` datetime default NULL, `subscribe` tinyint(1) default NULL, `website` varchar(255) default NULL, `moderated` tinyint(1) default NULL, `killcomment` varchar(35) default NULL, `subscribeonly` tinyint(4) default NULL, PRIMARY KEY (`id`), KEY `blogComments_entryid` (`entryidfk`), KEY `blogComments_posted` (`posted`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for tblblogentries -- ---------------------------- CREATE TABLE `tblblogentries` ( `id` varchar(35) character set latin1 NOT NULL default '', `title` varchar(100) character set latin1 NOT NULL default '', `body` text character set latin1 NOT NULL, `posted` datetime NOT NULL default '0000-00-00 00:00:00', `morebody` text character set latin1, `alias` varchar(100) character set latin1 default NULL, `username` varchar(50) character set latin1 default NULL, `blog` varchar(50) character set latin1 NOT NULL default '', `allowcomments` tinyint(1) NOT NULL default '0', `enclosure` varchar(255) character set latin1 default NULL, `filesize` int(11) default NULL, `mimetype` varchar(255) character set latin1 default NULL, `views` int(11) default NULL, `released` tinyint(1) default '0', `mailed` tinyint(1) default '0', `summary` varchar(255) default NULL, `subtitle` varchar(100) default NULL, `keywords` varchar(100) default NULL, `duration` varchar(10) default NULL, PRIMARY KEY (`id`), KEY `blogEntries_blog` (`blog`), KEY `blogEntries_released` (`released`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for tblblogentriescategories -- ---------------------------- CREATE TABLE `tblblogentriescategories` ( `categoryidfk` varchar(35) character set latin1 default NULL, `entryidfk` varchar(35) character set latin1 default NULL, KEY `blogEntriesCategories_entryid` (`entryidfk`,`categoryidfk`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for tblblogentriesrelated -- ---------------------------- CREATE TABLE `tblblogentriesrelated` ( `id` int(11) default NULL, `entryid` varchar(35) NOT NULL default '', `relatedid` varchar(35) default '', KEY `blogEntriesRelated_entryid` (`entryid`,`relatedid`), KEY `blogEntriesRelated_relatedid` (`relatedid`,`entryid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for tblblogpages -- ---------------------------- CREATE TABLE `tblblogpages` ( `id` varchar(35) NOT NULL default '', `title` varchar(255) NOT NULL default '', `alias` varchar(100) NOT NULL default '', `body` text NOT NULL, `blog` varchar(50) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for tblblogsearchstats -- ---------------------------- CREATE TABLE `tblblogsearchstats` ( `searchterm` varchar(255) character set latin1 NOT NULL default '', `searched` datetime NOT NULL default '0000-00-00 00:00:00', `blog` varchar(50) character set latin1 NOT NULL default '' ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for tblblogsubscribers -- ---------------------------- CREATE TABLE `tblblogsubscribers` ( `email` varchar(50) character set latin1 NOT NULL default '', `token` varchar(35) character set latin1 NOT NULL default '', `blog` varchar(50) character set latin1 default NULL, `verified` tinyint(1) NOT NULL default '0' ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for tblblogtextblocks -- ---------------------------- CREATE TABLE `tblblogtextblocks` ( `id` varchar(35) NOT NULL default '', `label` varchar(255) NOT NULL default '', `body` text NOT NULL, `blog` varchar(50) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for tblblogtrackbacks -- ---------------------------- CREATE TABLE `tblblogtrackbacks` ( `Id` varchar(35) character set latin1 NOT NULL default '', `title` varchar(255) character set latin1 NOT NULL default '', `blogname` varchar(255) character set latin1 NOT NULL default '', `posturl` varchar(255) character set latin1 NOT NULL default '', `excerpt` text character set latin1 NOT NULL, `created` datetime NOT NULL default '0000-00-00 00:00:00', `entryid` varchar(35) character set latin1 NOT NULL default '', `blog` varchar(50) character set latin1 NOT NULL default '', PRIMARY KEY (`Id`), KEY `blogTrackBacks_entryid` (`entryid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Table structure for tblusers -- ---------------------------- CREATE TABLE `tblusers` ( `username` varchar(50) character set latin1 default NULL, `password` varchar(50) character set latin1 default NULL, `name` varchar(50) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- ---------------------------- -- Records -- ---------------------------- INSERT INTO `galleon_conferences` VALUES ('4BE3CF40-3048-55C9-43A13458187E38A3', 'Model-Glue: ColdFusion', 'Discussion of the Model-Glue Framework for ColdFusion', '1'); INSERT INTO `galleon_conferences` VALUES ('4BE41784-3048-55C9-437DD4A7B98E265D', 'Model-Glue: Flex', 'Discussion of the Model-Glue Framework for Flex', '1'); INSERT INTO `galleon_forums` VALUES ('4BE494E1-3048-55C9-436D009795462EC5', 'General Discussion', 'A wildcard forum for posts that don\'t fit in anywhere else!', '0', '1', '0', '4BE3CF40-3048-55C9-43A13458187E38A3'); INSERT INTO `galleon_forums` VALUES ('4BE4C2D7-3048-55C9-43B9CDFDC1304463', 'General Discussion', 'A wildcard forum for posts that don\'t fit in anywhere else!', '0', '1', '0', '4BE41784-3048-55C9-437DD4A7B98E265D'); INSERT INTO `galleon_groups` VALUES ('AD0F29B5-BEED-B8BD-CAA9379711EBF168', 'forumsmember'); INSERT INTO `galleon_groups` VALUES ('AD0F717C-AFE5-FD0E-77EB8FF5BDD858A2', 'forumsmoderator'); INSERT INTO `galleon_groups` VALUES ('C18B1118-7E9B-AEC8-14E8DB3C21EFCA1D', 'forumsadmin'); INSERT INTO `galleon_users` VALUES ('C189C5AC-7E9B-AEC8-1DAEEEA03A562CF0', 'joe', 'v4nh4l3n', 'contact@firemoss.com', '', '2005-01-29 12:00:00', '1', 'Joe Rinehart'); INSERT INTO `galleon_users_groups` VALUES ('C189C5AC-7E9B-AEC8-1DAEEEA03A562CF0', 'C18B1118-7E9B-AEC8-14E8DB3C21EFCA1D'); INSERT INTO `tblblogcategories` VALUES ('6583E7D5-3048-55C9-43407FFC14CFD35A', 'Joe on Model-Glue', 'Joe-on-ModelGlue', 'modelglue'); INSERT INTO `tblblogcategories` VALUES ('6843382C-3048-55C9-4391FBF0A70B59F8', 'Model-Glue News', 'ModelGlue-News', 'modelglue'); INSERT INTO `tblblogcategories` VALUES ('6D9943C0-3048-55C9-436869CC13498D56', 'Joe on Model-Glue: Flex', 'Joe-on-ModelGlue-Flex', 'modelglue'); INSERT INTO `tblblogcategories` VALUES ('9BE768A4-3048-55C9-435EB0DC3A56D373', 'Scott on Model-Glue', 'Scott-on-ModelGlue', 'modelglue'); INSERT INTO `tblblogcategories` VALUES ('9BE7B8F6-3048-55C9-43E1B3E5992921CC', 'Scott on Model-Glue: Flex', 'Scott-on-ModelGlue-Flex', 'modelglue'); INSERT INTO `tblblogcategories` VALUES ('BF420DF9-3048-55C9-43273599C9536D70', 'Off Topic', 'Off-Topic', 'modelglue'); INSERT INTO `tblblogcategories` VALUES ('3BD2BF68-3048-55C9-4358762A45F035DE', 'Jared on MG:U', 'Jared-on-MGU', 'modelglue'); INSERT INTO `tblblogcategories` VALUES ('3BD2E87B-3048-55C9-43528962B0870C5D', 'Jared on MG:F', 'Jared-on-MGF', 'modelglue'); INSERT INTO `tblblogcategories` VALUES ('7D83CB70-FF1D-C52F-5E431175162E374D', 'Gesture is Coming', 'Gesture-is-Coming', 'modelglue'); INSERT INTO `tblblogcomments` VALUES ('688514C4-3048-55C9-43D4C1333B05A8B8', '684337ED-3048-55C9-43DBC348C4552B15', 'Raymond Camden', 'ray@camdenfamily.com', 'Joe, the "Home" link on the site doesn\'t work when you are in a subdirectory.', '2007-06-26 10:52:38', '0', 'http://www.coldfusionjedi.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('6947793B-3048-55C9-4336EBD2C105AD9D', 'E3D2EDA3-3048-55C9-4320201175E27201', 'TJ Downes', 'koldfuzun@gmail.com', 'Congratulations! A very solid release\n\nAs a side note, a few of us where talking and someone mentioned the new logo looks as if it says MSG. I agree, and it was the first impression I got when seeing the new logo.', '2007-06-26 14:24:58', '0', 'http://www.sanative.net', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('69DB572D-3048-55C9-437C70551BE59531', '684337ED-3048-55C9-43DBC348C4552B15', 'O?uz Demirkap?', 'blog@demirkapi.net', 'Hey this is great!\n\nIs this he latest 2.0 build that you have promised for CFUnited? :)', '2007-06-26 17:06:28', '1', 'http://demirkapi.net', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('6A0BB4F3-3048-55C9-432695C6EB4237BF', '684337ED-3048-55C9-43DBC348C4552B15', 'Phil Duba', 'phil@philduba.com', 'Joe, this looks great! One note, as I started walking through the quickstart, the referenced directories did not exist in the download: model, view, business with all to be in /examples/quickstart/base. I did not have a quickstart folder under the examples in what I downloaded.', '2007-06-26 17:59:18', '0', 'http://www.philduba.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('6A2E27EB-3048-55C9-4379AAF7CCCD1DED', '684337ED-3048-55C9-43DBC348C4552B15', 'Carlos Balacuit', 'Carlos.Balacuit@gmail.com', 'The site looks great and I applaud your work, but.... MSG ?', '2007-06-26 18:36:56', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('6DE552A3-3048-55C9-43E8A674C1D4A5FC', '684337ED-3048-55C9-43DBC348C4552B15', 'John Allen', 'johnfallen@gmail.com', 'I am VERY excited about this.\nbut I to am missing the sample code. Opps!\nReally Joe, thanks so much for being sooooo smart.', '2007-06-27 11:55:51', '1', 'http://johnfallen.instantspot.com/blog', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('6FEEC5BA-3048-55C9-43790765AFAAFD35', '684337ED-3048-55C9-43DBC348C4552B15', 'vience', 'vience@fayea.com', 'The version 2.0.304 seem not being tested in BlueDragon_J2EE_v7.0.0.339. \n\nThis a better idea to change ModelGlue.unity.debug.RequestLogRenderer method "Render" to "MGRender". The "Render" will cause a error in Bluedragon.\n\nAnd other problem is that when using Reactor will cause a "_ModelGlue" undefined error :(\n\nWill ModelGlue team going to test and support Bluedragon J2EE in later release?', '2007-06-27 21:25:25', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('72198913-3048-55C9-430AD7C4510C23CC', '684337ED-3048-55C9-43DBC348C4552B15', 'Raymond Camden', 'ray@camdenfamily.com', 'vience - Can you add a bug to http://trac.model-glue.com. This helps up tracks and respond to bug reports.', '2007-06-28 07:31:22', '0', 'http://www.coldfusionjedi.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('729BBAAA-3048-55C9-434DB6C263E033F2', '684337ED-3048-55C9-43DBC348C4552B15', 'Ed Johnson', 'ejohnson@facs.org', 'New to Flex but FYI\n\nI downloaded the model glue flex, copied the application template to new directory, created eclipse project, added reference to the swc to flex-config - When I compiled it said it could not resolve event:Handler to a component.\n\nI removed reference to ModelGlueFlex.swc and copied the com directory to my eclipse project -- compiled and ran OK', '2007-06-28 09:53:34', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('793DCC2C-3048-55C9-43F100BC66C2488F', '684337ED-3048-55C9-43DBC348C4552B15', 'Jason', 'jason_newport@hotmail.com', 'The Model-Glue Flex sample download is missing the files referenced in the README. Says login files are in /quickstart/base is missing. The only thing in quickstart/ is "contactmanager" and "flextodolist".\n\nJ', '2007-06-29 16:48:19', '0', 'http://www.adhder.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('85468E7D-3048-55C9-433EE0C2BAAC9B6E', '684337ED-3048-55C9-43DBC348C4552B15', 'Just Me', 'none@none.com', 'Thanks for the great contribution to the community - however everyone is looking for the "quickstart" folder referenced in the documentation - HELP PLEASE!', '2007-07-02 00:53:20', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('BC3AF857-3048-55C9-434DFEE789A1B553', '684337ED-3048-55C9-43DBC348C4552B15', 'Christopher Keeler', 'ckeeler@dattoli.com', 'quickstart/base directories are missing, as referenced in the Quickstart README.', '2007-07-12 16:59:47', '1', 'http://www.dattoli.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('BF4647D2-3048-55C9-43F3A63221E82ADF', 'BF420D3D-3048-55C9-432FCEB50C80113D', 'Joe Rinehart', 'joe@firemoss.com', 'Jared\'s is too accurate for comfort...', '2007-07-13 07:11:00', '1', 'http://www.firemoss.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('BF4D3FD1-3048-55C9-4345CF7C10CB46D7', 'BF420D3D-3048-55C9-432FCEB50C80113D', 'Scott Stroz', 'scott@boyzoid.com', 'Yours is pretty accurate as well.', '2007-07-13 07:18:37', '1', 'http://www.boyzoid.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('C023E354-3048-55C9-439B527EFBF2FB56', 'BF420D3D-3048-55C9-432FCEB50C80113D', 'Damon Gentry', 'dgentry@dagen.net', 'Joe, when can we get those in a t-shirt? Or a coffee mug?', '2007-07-13 11:13:03', '0', 'http://www.dagen.net', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('C092824C-3048-55C9-430456F24C0B4E9E', 'BF420D3D-3048-55C9-432FCEB50C80113D', 'Chris Scott', 'asstrochris@comcast.net', 'Word, Joe and Jared are so spot on it\'s frightening!', '2007-07-13 13:13:53', '1', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('C7BD126E-3048-55C9-43D4BCF7951B8738', 'BF420D3D-3048-55C9-432FCEB50C80113D', 'Phillip Senn', 'psenn@alexlee.com', 'Hey Sean! I got your "Happy birthday" message from my Skype profile.\nThanks!', '2007-07-14 22:37:43', '0', 'http://www.aacr9.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('D4FE4240-3048-55C9-43635D125A7E0E06', 'CFF76647-3048-55C9-433C32A00F8BD24A', 'Brian Kotek', 'brian428@gmail.com', 'Joe, rather than manually using CreateObject to create the instance of ModelGlue.unity.eventhandler.View, is there a way to get it by calling ColdSpring (using a factory method defined in the ColdSpring XML)?', '2007-07-17 12:23:59', '1', 'http://www.briankotek.com/blog', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('F0243AB2-3048-55C9-437D06587EFB7A6F', 'BF420D3D-3048-55C9-432FCEB50C80113D', 'Jared Rypka-Hauer', 'jared@web-relevant.com', 'I like it!\n\nJoe\'s, mine, Sean\'s and Chris\'s are pretty accurate overall... my frightened me when I finished it though. Argh.', '2007-07-22 18:55:12', '1', 'http://www.web-relevant.com/blogs/cfobjective/', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('24A2CF00-3048-55C9-43606CF4FCFF686E', 'CFF76647-3048-55C9-433C32A00F8BD24A', 'sal', 'salomon84@comcast.net', 'wait whats going on here?? He is injecting Brian...', '2007-08-01 23:33:43', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('251A686F-3048-55C9-439B57833D2C5F6C', 'CFF76647-3048-55C9-433C32A00F8BD24A', 'Brian Kotek', 'brian428@gmail.com', 'He updated the entry after I posted that comment.', '2007-08-02 01:44:21', '1', 'http://www.briankotek.com/blog', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('634F59D5-3048-55C9-435EE1034E9D62D2', '684337ED-3048-55C9-43DBC348C4552B15', 'Erich Cervantez', 'flex@noofusion.com', 'The Model-Glue Flex download does not include the /quickstart folder under "examples". Not a big deal...I can probably look at the ToDo list example, but it\'d be nice to follow your quickstart guide ;)', '2007-08-14 03:38:38', '0', 'http://www.noofusion.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('67360F54-3048-55C9-43EC6DF8943EA95C', '684337ED-3048-55C9-43DBC348C4552B15', 'Erich Cervantez', 'flex@noofusion.com', 'I had another problem when compiling. I kept getting "Could not resolve <event:Handler> to a component implementation." error.\n\nAs someone else did on here, I removed the ModelGlueFlex.swc file from the Library Build Path and instead copied the "com" directory over from the distribution into my application and it finally compiled fine. FYI.', '2007-08-14 21:49:29', '0', 'http://www.noofusion.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('15B1B954-3048-55C9-4327B1CBFBCC3E68', '0FBD76D2-3048-55C9-43D34471520B4215', 'Matt', 'spiraldev@gmail.com', 'I am getting an error in Flex builder 3 beta 2 and it says "unable to load SWC ModelGlueFlexRemoting.swc" any thoughts on this error?', '2007-11-06 11:01:17', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('15FE1C04-3048-55C9-434E6240413224C6', '0FBD76D2-3048-55C9-43D34471520B4215', 'Matt', 'spiraldev@gmail.com', 'I fixed this by deleting the project and recreating the project and not adding the swc file until after the project is created.', '2007-11-06 12:24:43', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('711F104C-3048-55C9-43CFAB6110BE3583', '0FBD76D2-3048-55C9-43D34471520B4215', 'Danny Jung', 'djung76@gmail.com', 'Great stuff Joe. One thing I did notice was that Flex would hang on any result redirects. I got around this by adding some logic to EventContext.cfc to not execute redirects for AMF request types (I know, I know, the core code is sacrosanct). Anyway, something to keep in mind for the next go around. Thanks again.', '2007-11-24 05:06:09', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('2F584C9D-FF1D-C52F-5E08DD8E992CED8C', '09C7FDF4-FF1D-C52F-5E4119A115F987C9', 'Wally Kolcz', 'wkolcz@umich.edu', 'When will be become available to play with. I want a copy :-D', '2008-04-08 14:42:06', '1', 'http://www.med.umich.edu', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('3A9F160E-FF1D-C52F-5EDB100EA5186D85', '381B346F-FF1D-C52F-5E8E5A3BC10320E9', 'Pat', 'pat@heypatty.com', 'Can you change your URL routing action to work like coldcourse? (eg. www.tourismnoosa.com.au)', '2008-04-10 19:15:14', '1', 'http://www.heypatty.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('3B5AC9AE-FF1D-C52F-5E26C53915BBECDA', '381B346F-FF1D-C52F-5E8E5A3BC10320E9', 'Antony', 'antonysideropoulos@gmail.com', 'Love it - what\'s the release date again??', '2008-04-10 22:40:15', '1', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('4F017DA9-FF1D-C52F-5EFCDC7D4D220935', '0FBD76D2-3048-55C9-43D34471520B4215', 'Hem Talreja', 'hemkarna@yahoo.com', 'Dear Joe:\n\nI like the nifty little feature you have added to the run method for ProxyRequest.cfc\n\n\nCan you please verify that the variable exists in the values struct.\n\n<cfloop list="#desiredValues#" index="i">\n <cfif IsDefined("values.#i#")>\n <cfset this.data[i] = values[i] />\n </cfif>\n</cfloop>\n\nOR\n\n<cfloop list="#desiredValues#" index="i">\n <cfif StructKeyExists(values,i)>\n <cfset this.data[i] = values[i] />\n </cfif>\n</cfloop>\n\n\nOn another note:\nI though I heard you say that this feature is to enable small flex widgets in a greater ColdFusion application.\n\nIf i were building an entire CF-Flex application what framework (ColdFusion) should I consider?\n\n\n\nThank You\n-Hem', '2008-04-14 18:15:07', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('4744C750-FF1D-C52F-5EC3D749C4370003', '472C014B-FF1D-C52F-5E92C28DFB8C7700', 'Chris H', '3darklight@gmail.com', 'nice one, thanks!', '2008-09-09 09:20:01', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('47CF7D41-FF1D-C52F-5E9762A7775CD1AD', '472C014B-FF1D-C52F-5E92C28DFB8C7700', 'Robb', 'spillsmills@yahoo.com', 'Nice update, really cuts down on code when you have a lot vars to deal with.', '2008-09-09 11:51:32', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('43BA39DE-FF1D-C52F-5E8A17705BA0DA96', '42D6A106-FF1D-C52F-5EBBDDAC2DCEF862', 'Fernando Lopez', 'lopezf@gmail.com', 'I knew Ray had a clone, here\'s proof.', '2009-03-26 13:00:59', '1', 'http://grtfercho.blogspot.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('64B66AD7-FF1D-C52F-5EAEE67AD6AE3301', '472C014B-FF1D-C52F-5E92C28DFB8C7700', 'salvatore fusto', 'ing.fusto@gmail.com', 'hi Joe\n1) what baout copyomg event values in local var scope?\n2) what about finail release date of gesture?\nregards\nsalvatore', '2008-09-15 02:33:08', '1', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('F820987B-FF1D-C52F-5EFF76274A50859A', 'F7A61EDF-FF1D-C52F-5E311679747B7AD8', 'Damon Gentry', 'gentryd@ohsu.edu', 'I wouldn\'t say I\'m an expert, but I do manage our Jira/Tomcat installation at work. Feel free to ping me with your issue and I\'ll do my best to help.', '2008-10-13 17:33:17', '1', 'http://www.ohsu.edu', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('43800794-FF1D-C52F-5EF8C8C7BF4636D0', '42D6A106-FF1D-C52F-5EBBDDAC2DCEF862', 'O?uz Demirkap?', 'blog@demirkapi.net', 'Great news for the community! Thanks guys! :)', '2009-03-26 11:57:25', '1', 'http://blog.demirkapi.net', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('439B1A7C-FF1D-C52F-5E97AC02BA373AAC', '3E6DE3D4-FF1D-C52F-5E816DF8AF08B5BA', 'Tony Garcia', 'tony@garcia.net', 'hey -- the Fusebox site uses the Farcry framework, so it wouldn\'t be the first time something like this has happened.', '2009-03-26 12:26:59', '0', 'http://www.objectivebias.com/blog', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('84E7984A-FF1D-C52F-5EC36FD445F88AAE', '381B346F-FF1D-C52F-5E8E5A3BC10320E9', 'Dave', 'daveschmottlacfh@cox.net', 'Very nice', '2008-04-25 05:26:20', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('43D880A0-FF1D-C52F-5E1945A49EB5DD0F', '3E6DE3D4-FF1D-C52F-5E816DF8AF08B5BA', 'Jim Priest', 'priest@thecrumb.com', 'Amen! Pick the best tool for the job and get on with the important bits - writing documentation, community support and fixing bugs :)', '2009-03-26 13:34:03', '1', 'http://www.thecrumb.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('43E3D83F-FF1D-C52F-5E7305002F7DBE6B', '42D6A106-FF1D-C52F-5EBBDDAC2DCEF862', 'Peter Bell', 'peter@pbell.com', 'Very cool! And congrats to Dan - a great choice.', '2009-03-26 13:46:26', '1', 'http://www.pbell.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('441E9BFE-FF1D-C52F-5EA8DF263FF840ED', '3E6DE3D4-FF1D-C52F-5E816DF8AF08B5BA', 'O?uz Demirkap?', 'blog@demirkapi.net', 'It is better than using Php based Wiki etc. on Adobe platforms. :)\n\nGood luck!', '2009-03-26 14:50:37', '1', 'http://blog.demirkapi.net', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('49C5209F-FF1D-C52F-5EB5BD23AF136755', '3E6DE3D4-FF1D-C52F-5E816DF8AF08B5BA', 'Sean Corfield', 'seancorfield@gmail.com', 'Team Fusebox took a bit of heat for using the FarCry CMS to power fusebox.org but it really was a case of us picking the best tool for the job (maybe Team Fusebox would pick Sava now since I believe that is Fusebox-based?).\n\nCodexWiki is very impressive. We\'re using it for the CFML Advisory Committee website. It\'s not an endorsement - nor any slight to any other CFML wiki software - it just happened to be what we needed, when we needed it.', '2009-03-27 17:10:36', '1', 'http://corfield.org/', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('0A00A242-FF1D-C52F-5E8F3C9C21322B4B', '09C7FDF4-FF1D-C52F-5E4119A115F987C9', 'Chris H', '3darklight@gmail.com', 'w00t!\nany sneak peeks?', '2008-04-01 08:40:23', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('0B950200-FF1D-C52F-5E42526FBCE1FECF', '09C7FDF4-FF1D-C52F-5E4119A115F987C9', 'Richard Davies', 'Richard@richarddavies.us', 'I hate April 1st. I never know if I should believe anything I read or not...', '2008-04-01 16:02:04', '1', 'http://www.richarddavies.us', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('4FCEDF94-FF1D-C52F-5E6DBEC4C0B9C3CB', '3E6DE3D4-FF1D-C52F-5E816DF8AF08B5BA', 'Jamie Krug', 'jamie@thekrugs.com', 'CodexWiki also claims to be "mediawiki compliant," which should leave the door open to migrating CodexWiki data to a future Model-Glue powered mediawiki compliant app, should resources and desire to build one come to fruition.', '2009-03-28 21:18:58', '1', 'http://jamiekrug.com/blog/', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('63666820-FF1D-C52F-5E3C29114ACA6154', '3E6DE3D4-FF1D-C52F-5E816DF8AF08B5BA', 'Luis Majano', 'lmajano@gmail.com', 'Thanks for your great comments Dan! I really appreciate it and feel the same way vice versa. Gracias Hermano!\n\nPlease don\'t hesitate to contact me on anything you want added to CodeX so it can meet your needs.', '2009-04-01 16:37:16', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('481F965D-FF1D-C52F-5E4BC58E3FDEC047', '3E6DE3D4-FF1D-C52F-5E816DF8AF08B5BA', 'Lola LB', 'lola@his.com', 'Yeah . . . pick the right tools and move on with the show. No need to nitpick when there\'s a lot of work to be done.', '2009-03-27 09:30:10', '1', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('498AF796-FF1D-C52F-5E52E60CC86CD438', '42D6A106-FF1D-C52F-5EBBDDAC2DCEF862', 'Richard Davies', 'Richard@richarddavies.us', 'Joe, thanks for all your hard work on this project!\nDan, I\'m glad you\'re able to continue on where Joe left off. I\'m relieved to know MG isn\'t dying.', '2009-03-27 16:07:05', '0', 'http://www.richarddavies.us', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('B8219082-FF1D-C52F-5E8D76AFB52E2F34', '381B346F-FF1D-C52F-5E8E5A3BC10320E9', 'Shimju David', 'shimjudavid@emaxsoftware.com', 'Pretty sleek Joe.. Event generation feature is really a time saver.. Helpers is really a HELP. Bean Injection is simply WOW!! \n\nThe new "Formats" feature needed more explanation.. It will be really great if you can write an article focusing this special feature on your blog.. We are ANXIOUSLY WAITING to see that with a small AJAX integration example if possible.\n\nI know it is in Alpha and I faced few issues when I played with it\n\n1)built-in SES URL feature not working for me. \n2) event.forward not seems working\n3) When we add a new coldfusion UDF file inside \'/helpers\' folder App needed an init=true to access the new udf functions in \'helper scope\' even though reload mode is turned on.\n\nThanks a lot Joe for your hard work!!\n\nShimju David', '2008-05-05 04:10:17', '1', 'http://www.emaxsoftware.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('3C8ADD98-FF1D-C52F-5EF322DF3F26C896', '0FBD76D2-3048-55C9-43D34471520B4215', 'Bruce', 'bruce@phillips.name', 'Joe - anymore documentation available about how to get a Flex application to communcate with the Model-Glue backend. I watched your video, but I could not following everything. I think on need the "Dummy\'s Guide" to this technique.\n\nThe KC User Group is building its new website using Model-Glue on the backend and we want to add some Flex widgets also. Those Flex widgets need to communicate with some CFCs being managed by the ColdSpring container.', '2008-01-02 17:06:49', '1', 'http://www.brucephillips.name/blog', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('68ED6043-FF1D-C52F-5EFCA1F4A46FCBF0', '6727C5E7-FF1D-C52F-5E41B73A3497676F', 'Eric Roberts', 'owner@threeravensconsulting.com', 'Congrats on the upcoming release. Have fun on the trip...that sounds like a lot of fun except for all the bugs :-D Congrats/condolences on the upcoming wedding :-D I am about to make that same mistake(again) myself. I wish upon you many many happy and prosperous years together!\n\nYou never know with the Dept of Interior/US Forest Service...they can get high tech on you where you least expect it ;-)', '2009-04-02 18:22:48', '0', 'http://www.threeravensconsulting.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('C05B9AC7-FF1D-C52F-5EDCB027BB0532C3', '3E6DE3D4-FF1D-C52F-5E816DF8AF08B5BA', 'Sean Corfield', 'seancorfield@gmail.com', '@Mark, yes, Canvas is built with Model-Glue but it doesn\'t come close to the feature set of CodexWiki and the MG team need a full-featured blog (Ray\'s part of the MG team so he\'s been party to this decision/discussion).', '2009-04-19 17:50:10', '1', 'http://corfield.org/', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('6BAEAF9C-FF1D-C52F-5E32856F6BF99CC9', '6727C5E7-FF1D-C52F-5E41B73A3497676F', 'Lola LB', 'lola@his.com', 'Has there been a change as to the location of the SVN repository? Still at the same location or has it been moved as part of this transition?', '2009-04-03 07:13:11', '1', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('7DAECAC2-FF1D-C52F-5E0472F3EF23F55D', '843C8072-3048-55C9-43C98421A5A14110', 'Sam', 'eikajnabi@hotmail.com', 'Hi\n\nIts really old post... why its been reposted to weblogs.macromedia.com because only that to show off how model-glue is good. ahhh geee geee, I think rather doing this, put some more good documentation of model-glue.', '2008-01-15 08:41:22', '1', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('7DE696A2-FF1D-C52F-5EB6BB2B582984B2', '7D83B623-FF1D-C52F-5E8C55A8DB3EDDB2', 'Bob Silverberg', 'bob.silverberg@gmail.com', 'Sounds like a great idea, and I have one request. I\'d prefer to have a getSomeService() available to me, rather than having to explicitly refer to beans.someService. Could you consider implementing a get() function automatically in addition to making the service available in the beans struct?', '2008-01-15 09:42:19', '1', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('7DF55DEB-FF1D-C52F-5EEC5FD0490F6DCB', '7D83B623-FF1D-C52F-5E8C55A8DB3EDDB2', 'Mark Drew', 'mark.drew@gmail.com', 'Joe, this seems like a great idea and of course, keeps the damned CFC file size down! \n\nMore configuration please! Excellent work!', '2008-01-15 09:58:27', '1', 'http://www.markdrew.co.uk', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('7E0D1198-FF1D-C52F-5E062AF97D41AE8D', '7D83B623-FF1D-C52F-5E8C55A8DB3EDDB2', 'Joe Rinehart', 'joe@firemoss.com', '@Bob,\n\ngetModelGlue().getBean("myBean") is the "classic" pre-autowiring way of doing it, and is available in all public versions of model-glue.\n\nIs that what you\'re after?\n\n@Mark,\n\nGlad you like! It\'s the first of three or four new features that are in this vein.', '2008-01-15 10:24:21', '1', 'http://firemoss.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('7E1DC4C9-FF1D-C52F-5EEBA042DDE2FAA8', '7D83B623-FF1D-C52F-5E8C55A8DB3EDDB2', 'Bob Silverberg', 'bob.silverberg@gmail.com', 'Not exactly. When I am using Coldspring to inject dependencies into any cfc, whether controller or otherwise, I use a pair of methods. A setSomeBean() which Coldspring uses to inject the bean, and a getSomeBean() which I use when referring to the bean from within the cfc (rather than beans.SomeBean or getModelGlue().getBean("SomeBean")).\n\nI realize now that what I\'m looking for is to have the getSomeBean() method automatically generated in the controller, and I suppose that may not be possible (or worthwhile). I just figured that if you are removing the requirement to define the setSomeBean() function it would be great to not have to define the getSomeBean() function either, but still have access to it.\n\nWould there be a way of doing that, or is that just pie-in-the-sky?', '2008-01-15 10:42:35', '1', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('7E331710-FF1D-C52F-5E91598262BC59F1', '7D83B623-FF1D-C52F-5E8C55A8DB3EDDB2', 'Dan Wilson', 'sipacate@gmail.com', 'I like this. It seems like a nice shortcut.\n\nDW', '2008-01-15 11:05:53', '1', 'http://www.nodans.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('7F051EC3-FF1D-C52F-5E8D028716D3EF99', '7D83B623-FF1D-C52F-5E8C55A8DB3EDDB2', 'Peter Bell', 'pbell@systemsforge.com', 'Great! Looking forward to seeing how you implemented this!', '2008-01-15 14:55:17', '1', 'http://www.pbell.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('7F456055-FF1D-C52F-5E64F9399E7060E0', '7D83B623-FF1D-C52F-5E8C55A8DB3EDDB2', 'Joe Rinehart', 'joe@firemoss.com', '@Bob,\n\nAh, Ok, I see what you\'re saying now: generate the getSomeService() method when it\'s first called.\n\nI thought about having a CF8-only feature that used onMissingMethod to do this, but I wanted to:\n\n1. Keep the functionality consistent across versions\n2. Not make pre-emptive use of onMissingMethod: something else may come up in the future where I\'d kick myself for reserving it for autowiring purposes.', '2008-01-15 16:05:28', '1', 'http://firemoss.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('42E856DD-FF1D-C52F-5E4BC44E91D87064', '42D6A106-FF1D-C52F-5EBBDDAC2DCEF862', 'Joe Rinehart', 'joe@firemoss.com', 'Whoops :) I alphabetized the list and you got left in clipboard limbo.', '2009-03-26 09:11:44', '1', 'http://www.firemoss.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('42EBF5F1-FF1D-C52F-5E4588BD5BDAF602', '42D6A106-FF1D-C52F-5EBBDDAC2DCEF862', 'Raymond Camden', 'ray@camdenfamily.com', 'I get listed twice? Is that because I\'m 2X the coolness?', '2009-03-26 09:15:41', '1', 'http://www.coldfusionjedi.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('F5EB9E39-FF1D-C52F-5EBAC3B3E042D449', 'BF420D3D-3048-55C9-432FCEB50C80113D', 'Web', 'web@gmail.com', 'is it possible to put a movie instead of a picture in the white board area and pause it then make notes.... then resume play and continue.... http://gangbang.superexploration.net http://bigboob.superexploration.net http://naughty.superexploration.net', '2008-02-07 17:02:14', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('42F01F45-FF1D-C52F-5E77E1D8F9A1742E', '42D6A106-FF1D-C52F-5EBBDDAC2DCEF862', 'Adam', 'adrocknaphobia@gmail.com', 'Congrats to Dan Wilson. I don\'t think you could have found anyone as capable and passionate as Dan. The MG community is in good hands and I look forward to the future.\n\nMany thanks to Alagad as well. A framework is only as good as it\'s documentation. Their contributions are critical to the long term success of the project.', '2009-03-26 09:20:14', '0', 'http://www.adrocknaphobia.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('4230EC3E-FF1D-C52F-5EA80674EE68DE4B', '7144FCD1-FF1D-C52F-5EBDD7B13A0DA7AB', 'Raul Riera', 'soporte@hipervinculo.net', 'Is this project still active? Its been a really long while since the beta and the "comming soon" for the documentation on MG3, I am a ColdFusion developer with Ruby on Rails experience and was looking forward for this framework, but I dont see much activity here.', '2008-07-20 16:37:27', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('43182E88-FF1D-C52F-5EED1C6D7C9E57FF', '42D6A106-FF1D-C52F-5EBBDDAC2DCEF862', 'RyanTJ', 'ryan.thompsonjewell@gmail.com', 'Joe, thank you so much for bringing MG to where its at. Its a kick butt framework. I look forward to Dan\'s contributions.', '2009-03-26 10:03:59', '0', 'http://mayoclinic.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('435B0882-FF1D-C52F-5ECD0253D2C4D98C', '42D6A106-FF1D-C52F-5EBBDDAC2DCEF862', 'Charlie Griefer', 'charlie@griefer.com', 'Ray contributed twice! Where -does- he find the time? :)', '2009-03-26 11:17:00', '0', 'http://charlie.griefer.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('4361AC40-FF1D-C52F-5E08351685763F94', '42D6A106-FF1D-C52F-5EBBDDAC2DCEF862', 'Jamie Krug', 'jamie@thekrugs.com', '@Joe,\n\nThanks a ton for your many CF community contributions and getting Model-Glue introduced and where it is today.\n\nI\'m just curious: will your time be on the extreme Flex/Java side of things, or will there still be some CFML integration? Namely, do you plan to continue the "Hiberailooving" series?\n\nAlso, looks like Ray got Doug\'s initial copyright slot, as he\'s in there twice :)\n\nBest,\nJamie', '2009-03-26 11:24:15', '1', 'http://jamiekrug.com/blog/', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('F205DCC2-FF1D-C52F-5E0CE2C7F1219A99', 'F1FD54D1-FF1D-C52F-5EF93DA93A7CC19B', 'Jim Priest', 'priest@thecrumb.com', 'Nice to see everyone stepping up and pitching in to help!', '2009-04-29 09:17:31', '1', 'http://www.thecrumb.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('38F4F6D7-FF1D-C52F-5E62314CC0600A9F', '36373DFC-FF1D-C52F-5E526707EBD3533B', 'Chris H', '3darklight@gmail.com', 'thanks to the whole team, going to try this one out right away ;D', '2009-05-13 03:52:06', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('3B8425ED-FF1D-C52F-5E8FCA594D4F448A', '36373DFC-FF1D-C52F-5E526707EBD3533B', 'Phillip Senn', 'PhillipSenn@gmail.com', 'The requested URL /downloads/ModelGlue_3Beta.zip was not found on this server.', '2009-05-13 15:47:44', '1', 'http://www.phillipsenn.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('3B848061-FF1D-C52F-5E4E180551E293C6', '36373DFC-FF1D-C52F-5E526707EBD3533B', 'Phillip Senn', 'PhillipSenn@gmail.com', 'appologies is spelled wrong.', '2009-05-13 15:48:07', '1', 'http://www.phillipsenn.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('D04C0D51-FF1D-C52F-5EDFE08B121FE97F', 'CF739411-FF1D-C52F-5E2D100C34A40BE4', 'Ryan TJ', 'thompsonjewell.ryan@mayo.edu', 'I don\'t have time to try the special build but reading this post and the docs/wiki it seems like a great implementation of Event types feature. Seems like we need a t-shirt however: "Got line-potency? Get Model-Glue!" or "Model-Glue: increasing line-potency one event at a time."', '2009-06-11 13:09:53', '0', 'http://mayoclinic.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('0D44BEC0-FF1D-C52F-5E75788A2063C90F', 'B9829385-3048-55C9-430D3F873479C35B', 'John Farrar', 'johnfarrar@sosensible.com', 'OK... is this technology still possible with 3.0? It seems like modules would be a good thing to me and you can include me in the group of developers who want to build modules. :)', '2009-06-23 09:18:44', '1', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('736A552E-FF1D-C52F-5E1251830F5DF614', '71C2CC25-FF1D-C52F-5E5BED4FB410035F', 'Chris H', '3darklight@gmail.com', 'thanks for the update! any other changes in this version or just CF9 compatibility?', '2009-07-13 05:21:04', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('06B31A93-FF1D-C52F-5E9FC69DA9488B84', '684337ED-3048-55C9-43DBC348C4552B15', 'Christopher Hayen', 'chayen@gmail.com', 'Hey are you guys ever going to work on Model-Glue Flex again? It\'s a great piece of code, and I know a few companies that are using in in their products.', '2008-08-27 20:25:13', '1', 'http://www.gen-6.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('E8256985-FF1D-C52F-5EB268899498A2F4', 'CE42684D-FF1D-C52F-5ECCA303BD199548', 'Robert Mills', 'rmills3@r3design.com', 'I have a dedicated server running IIS and CF 7.01 Enterprise and MS SQL 2000 if you can make it work with that, I most likely would be happy to give you some space.', '2008-05-14 11:56:16', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('F3354456-FF1D-C52F-5E82D5A80878CF28', '381B346F-FF1D-C52F-5E8E5A3BC10320E9', 'Jeremy Prevost', 'jerrocks@gmail.com', 'Can events be generated into different xml files by convention or is it currently just configurable to go to one specific xml file? Our app is pretty big and we tend to have one config file for each controller to keep us sane and include each one into the main ModelGlue.xml. I\'m thinking an event named user.dance could be added to /config/ModelGlue_user.xml whereas an even named product.view would be added to /config/ModelGlue_product.xml.', '2008-05-16 15:29:24', '1', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('7E6ADCAF-FF1D-C52F-5E125F8E6E3E6368', '3E6DE3D4-FF1D-C52F-5E816DF8AF08B5BA', 'Mark Mazelin', 'blogger@mkville.com', 'Isn\'t Canvas wiki written in Model-Glue?\nhttp://canvas.riaforge.org/', '2009-04-06 22:31:53', '1', 'http://www.mkville.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('C396A78C-FF1D-C52F-5EE6F1BE5E8A20E4', 'C0397C2C-FF1D-C52F-5E30638692FC591A', 'Stephen Moretti', 'stephen.moretti@gmail.com', 'Any chance of some form of conference mechanism that\'s a bit more international?\neg. Collar a friendly ACE and get a Connect session set up or maybe Skype?', '2009-04-20 08:53:31', '1', 'http://nil.checksite.co.uk', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('91BB907D-FF1D-C52F-5E5D90DC35AB3B12', '684337ED-3048-55C9-43DBC348C4552B15', 'Brett Adam', 'bpjadam@gmail.com', 'I\'ve had the same problem trying to consume MG:Flex as a library. I\'ve copied the code into my FlexBuilder project for now.\n\nPlease consider distributing a FlexBuilder-ready library in future!', '2008-06-16 10:16:06', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('91BD0319-FF1D-C52F-5EF919F46243504C', '684337ED-3048-55C9-43DBC348C4552B15', 'Brett Adam', 'bpjadam@gmail.com', 'Forums don\'t work?', '2008-06-16 10:17:40', '0', '', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('C4B18788-FF1D-C52F-5E637533179C71AE', 'C0397C2C-FF1D-C52F-5E30638692FC591A', 'John Mason', 'mason@fusionlink.com', 'Count me in :)', '2009-04-20 14:02:30', '1', 'http://www.codfusion.com', '1', null, null); INSERT INTO `tblblogcomments` VALUES ('42E4EE1A-FF1D-C52F-5E460E5A22CA38C1', '42D6A106-FF1D-C52F-5EBBDDAC2DCEF862', 'Doug Hughes', 'dhughes@alagad.com', 'Hey! I\'ve contributed code too! ;)', '2009-03-26 09:08:00', '1', 'http://www.alagad.com', '1', null, null); INSERT INTO `tblblogentries` VALUES ('EC7BC686-E081-2BAC-698A3825444067CC', 'Model-Glue and Ajax: Anyone Interested?', 'It\'s pretty easy to use Model-Glue as the backend for Ajax controls. Would anyone be interested in a tutorial/article that shows how? If so, I\'ll write one up...

[Read more on Joe Rinehart\'s blog]

', '2005-12-02 12:17:00', null, 'ModelGlue-and-Ajax-Anyone-Interested', 'Joe', 'modelglue', '1', null, '0', null, '104', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('90ADA076-E081-2BAC-69972DAC3E55170C', 'Frameworks: Making security auditing easy', 'I was tasked recently with auditing an application\'s security, which is always a tedious process. Luckily, I was only reviewing the application code, not the platform or infrastructure running the app.\r\n\r\nThe application was not written using an MVC framework, so I began by crawling through source code. It took a while, as each .cfm file contained business logic, data access, and display code. ...

[Read more on Joe Rinehart\'s blog]

', '2006-01-03 09:19:00', null, 'Frameworks--Making-security-auditing-easy', 'Joe', 'modelglue', '1', null, '0', null, '102', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('91C70719-E081-2BAC-69F3ADAFD3CF6FCA', 'Model-Glue Goes Java!!', 'Chris Scott has be pseudo-quietly working on a Java port of the Model-Glue framework for the past month or so, and he\'s got an early source release ready to go! For the moment, it\'s only available via Subversion (not an official release) from the same repository as the Model-Glue BER.\r\n\r\nSVN url = svn://clearsoftware.net/clearsoftware.net/ModelGlueJava\r\n\r\nOk, enough typing, I gotta go check this ...

[Read more on Joe Rinehart\'s blog]

', '2006-01-04 06:00:00', null, 'ModelGlue-Goes-Java', 'Joe', 'modelglue', '1', null, '0', null, '103', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('955F4D01-E081-2BAC-6991EFC5ADE4A84D', 'Model-Glue 1.1 Preview', 'Model-Glue 1.1 is nearing a test release. There only new \"feature\" is ColdSpring integreation; the framework is about as robust as it can be while still obeying the KISS principle.\r\n\r\nThere are a few things coming, however, that can help you with Model-Glue apps:\r\n\r\nA really, really nice application \"starter kit\".\r\n\r\nI\'ve kept one around at work for a little while now, and I\'m r...

[Read more on Joe Rinehart\'s blog]

', '2006-01-04 07:11:00', null, 'ModelGlue-11-Preview', 'Joe', 'modelglue', '1', null, '0', null, '102', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('BAC5368B-E081-2BAC-69D87E2D595AA324', 'To My Dear ColdFusion Troll', 'Dear ColdFusion Troll,\r\n\r\nI\'m sorry that, recently, you haven\'t agreed with some things I\'ve said on my blog. I regret that I cause your lack of self-confidence to surface, and that you feel that continually leaving anonymous comments on my blog is a beneficial form of therapy. \r\n\r\nIf you felt what you had to say was valid, and had confidence in your abilities as a writer, you\'d probabably sign ...

[Read more on Joe Rinehart\'s blog]

', '2006-01-11 13:36:00', null, 'To-My-Dear-ColdFusion-Troll', 'Joe', 'modelglue', '1', null, '0', null, '109', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('BC62A7BA-E081-2BAC-690DA2E20D609568', 'Model-Glue, \"Mixins,\" and Headstart', 'When Model-Glue 1.1 hits, you might notice something weird in the \"Headstart\" application template: a <cfinclude> tag in the middle of a CFC file. There\'s a story behind that, and it\'s a practical example of what people are calling a \"Mixin.\"

[Read more on Joe Rinehart\'s blog]

', '2006-01-12 05:30:00', 'From what I can tell, the formal name \"Mixin\" is coming from the Ruby camp, and it\'s catching on: it\'s supposed to be supported in C# 3.0. Well, we\'ve had them since...the dawn of CFCs, to my knowledge.\r\n\r\nI have...umm...\"mixed\" feelings over Mixins. In the world of \"is-a\" and \"has-a,\" mixins are sort of a \"can-do,\" which is why I name mine the way I do. They\'re likely to be used and abused, and I can see where overuse may make life hellish - but I think that\'s true for most programming tools.\r\n\r\nOk, hubbub aside, here\'s a practical use and example of a Mixin:\r\n\r\nIn the Model-Glue \"Headstart\" template I\'m working on, I\'ve got five controllers. They all use at least one CFC that gets autowired to the controller via ColdSpring. Some of them, like EmailController and ErrorController, use an EmailService CFC. So, I wind up with code like this duplicated in both Controllers: \r\n\r\n
<cffunction name=\"SetEmailService\" access=\"public\" returntype=\"void\" output=\"false\">
\r\n   <cfargument name=\"EmailService\" required=\"true\" type=\"any\" />
\r\n   <cfset variables._emailService = arguments.EmailService />
\r\n</cffunction>
\r\n<cffunction name=\"GetEmailService\" access=\"private\" returntype=\"any\" output=\"false\">
\r\n   <cfreturn variables._emailService />
\r\n</cffunction>
\r\n\r\nWell, that\'s nice and redundant. In fact, there are three such services and a configuration management CFC that get used by the various Controllers; some use just one, some use more than one. However, they all have something in common: they\'re using application-level services to get something done.\r\n\r\nLet\'s say each controller \"can-do\" use of application services. Wouldn\'t it be nice if there was a way I could just have all of repeated code in one place?\r\n\r\nOne approach is inheritance. ColdFusion (thankfully!) doesn\'t have multiple inheritance, so that\'s out. All of the controllers currently inherit from modelglue.core.Controller, so I could create a different subclass of modelglue.core.Controller, and point the actual controllers to that new subclass, but that gives me a code smell: I\'m inheriting to share functionality, not represent an is-a relationship.\r\n\r\nInstead of using inheritance, I\'ll just \"mix in\" that functionality. \r\n\r\nIt\'s, uh, really simple.\r\n\r\nFirst, I take all of that redundant code, and put it in my mixin file. I\'ll call it UseApplicationServices.cfm, and put it under model/mixin.\r\n\r\nSecond, I\'ll copy all of those redundant UDFs into UseApplicationServices.cfm.\r\n\r\nThird (and last), I\'ll replace all of that redundant code with the tag that started it all, <cfinclude>>:\r\n\r\n
<cfinclude template=\"/headstart/mixin/UseApplicationServices.cfm\" />
\r\n\r\nWhat we\'ve done\r\n\r\nWe\'ve used a Mixin to say that each Controller \"can-do\" functionality related to public setting and private getting of application-wide services. If I need to add a new service, I can just define it in my ColdSpring XML, add a SetNewService method to my UseApplicationServices.cfm Mixin, and all of my \"Mixed\" Controllers now have access to it. Pretty trick, eh?\r\n\r\nConclusion\r\n\r\nMixins are powerful, but they can be somewhat dangerous. You\'re adding methods to your CFC on the fly, and it could become a fun jungle of figuring out just where a specific method came from: imagine multiple mixins with identically named methods!', 'ModelGlue-Mixins-and-Headstart', 'Joe', 'modelglue', '1', null, '0', null, '112', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('207096B8-E081-2BAC-697F878438AD8E6A', 'What are \"Beans,\" anyhow?', 'Beans are a hot topic amongst the Object-Oriented ColdFusion crowd. For a while, the ColdFusion-scoped definition seemed to be changing every few months, but it looks like we\'re settling down a bit now that tools like ColdSpring are showing us just how abstract the concept of a ColdFusion \"Bean\" is.

[Read more on Joe Rinehart\'s blog]

', '2006-01-31 07:27:00', 'In short, my humble opinion is that any CFC is a \"Bean\" as long as it follows two simple rules:\r\n\r\n
    \r\n
  1. All member variables are kept private, living in the variables scope.
  2. \r\n
  3. Members are accessed only through methods named \"get[MemberName]\" and \"set[MemberName].\"
  4. \r\n
\r\n\r\nThat\'s it. \r\n\r\nWhat\'s nice about this loose of a definition is that it doesn\'t mean that only CFCs like Contact with Get/SetFirstname() and Get/SetLastname() are beans. Many things can be beans: service facades, Model-Glue Controllers, Mach-II Listeners, and even DAOs can act as beans. \r\n\r\nA Simple Example\r\n\r\n\"How\'s this,\" you say? \"Isn\'t a Bean just like a structure on steroids, good for representing a database table?\"\r\n\r\n\"No,\" I say, \"a Bean is any CFC that implements the two rules: private member variables accessed through Get/Set pairs.\"\r\n\r\n\"Why\'s this cool,\" you ask? \r\n\r\nIt provides a convention through which things like frameworks can rely upon to make your life easier.\r\n\r\nFor one, it lets Mach-II and Model-Glue developers utilize \"Event Beans\" to collect user-entered data. If you used something that didn\'t act like a bean, and instead used the Set/GetValue() style to collect a Contact\'s information, you\'d have code in a Model-Glue Controller looking a lot like this:\r\n\r\n
<cfset contact = createObject(\"component\", \"myapp.model.Contact\").init() />
\r\n <cfset contact.setValue(\"firstname\", arguments.event.getValue(\"firstname\")) />
\r\n <cfset contact.setValue(\"lastname\", arguments.event.getValue(\"lastname\")) />
\r\n <cfset contact.setValue(\"address\", arguments.event.getValue(\"address\")) />
\r\n <cfset contact.setValue(\"city\", arguments.event.getValue(\"city\")) />
\r\n <cfset contact.setValue(\"state\", arguments.event.getValue(\"state\")) />
\r\n <cfset contact.setValue(\"zip\", arguments.event.getValue(\"zip\")) />
\r\n\r\nThat gets ugly if you\'ve got a lot of data.\r\n\r\nInstead, if we force Contact to conform to the Bean pattern, Model-Glue/Mach-II can predict the names of specific Get/Set methods, see if those methods exist, and try to automatically populate your bean. In Model-Glue, we\'d replace the above code with this:\r\n\r\n
<cfset contact = arguments.event.makeEventBean(\"myapp.model.Contact\") />
\r\n\r\nA lot easier!\r\n\r\nGetting More Complex: Beans, Model-Glue, ColdSpring, and \"Autowiring\"\r\n\r\nFor something more complex, let\'s examine the typical Model-Glue constructor for managing a table called SomeTable. It\'d probably have a constructor a lot like this:\r\n\r\n
<!--- Some attributes omitted for clarity --->
\r\n<cffunction name=\"Init\">
\r\n <cfargument name=\"ModelGlue\" />
\r\n <cfargument name=\"InstanceName\" />
\r\n <cfset var datasource = \"\" />
\r\n
\r\n <!--- Init the base ModelGlue.Core.Controller we extend --->
\r\n <cfset super.Init(arguments.ModelGlue) />
\r\n
\r\n <!--- Set up DAO and Gateway Factories --->
\r\n <cfset
\r\ndatasource = getModelGlue().getConfigBean(\"datasource\") />

\r\n
\r\n <cfset variables._daoFactory = createObject(\"component\", \"myapp.model.data.daoFactory\").init(datasource) />
\r\n <cfset variables._gatewayFactory = createObject(\"component\", \"myapp.model.data.gatewayFactory\").init(datasource) />
\r\n
\r\n <cfreturn this />
\r\n</cffunction>
\r\n\r\nThat\'s some ugly, repetitive code that you have to add to each controller.\r\n\r\nIf we decide that, instead of building the DAO and Gateway factories manually in the controller, we\'ll allow them to be set Bean-style (through methods named setDAOFactory() and setGatewayFactory() ), we have an understood contract through which something else can do the work for us.\r\n\r\nIn Model-Glue, that something else is ColdSpring; Model-Glue\'s ColdSpring adapter knows to look for methods on your Controller named set[BeanId/Type] and then to \"autowire\" appropriately named/typed beans it knows about in the ColdSpring.xml file.\r\n\r\nAgain, by relying on the Get/Set convention that\'s the heart of the ColdFusion \"Bean\" pattern, a framework can do a lot of legwork for us.\r\n\r\nSo, we can ditch the constructor altogether, and simply add two methods:\r\n\r\n
<cffunction name=\"setDAOFactory\">
\r\n <cfargument name=\"DAOFactory\" />
\r\n <cfset variables._daoFactory = arguments.daoFactory />
\r\n</cffunction>
\r\n
\r\n<cffunction name=\"setGatewayFactory\">
\r\n <cfargument name=\"GatewayFactory\" />
\r\n <cfset variables._gatewayFactory = arguments.gatewayFactory/>
\r\n</cffunction>
\r\n\r\nNow, when Model-Glue loads your controller, it\'ll hand the Controller instance to ColdSpring, and ColdSpring will collect all methods named set[something], and if it contains a definition for a bean (see, there it is again!) called [something], it\'ll call the set[something] method.\r\n\r\nIn English, I\'d set up the DAOFactory in the Coldspring XML file, then Model-Glue would automagically \"autowire\" the DAOFactory to the Controller the moment Model-Glue starts.\r\n\r\nConclusion\r\n\r\nFollowing the convention of get/set pairs means some extra typing up front, but with tools like Model-Glue, Mach-II, and ColdSpring all providing utilities that leverage this convention, the time saved writing and maintaining application code is well worth it!', 'What-are-Beans-anyhow', 'Joe', 'modelglue', '1', null, '0', null, '128', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('31730F00-E081-2BAC-699C2027E7CC02EB', 'Frameworks: Simpler?', 'I\'m writing a quick To-Do list application. \r\n\r\nI created the tables (List and Task), fire up my Object-Relational Mapping (ORM) framework, open its XML configuration, and tell it that the List HasMany Tasks.\r\n\r\nThen, I open up my Inversion of Control (IoC) framework\'s XML file, and tell it about the concrete implementation of the abstract adapter I wrote to abstract the interface of the ORM fram...

[Read more on Joe Rinehart\'s blog]

', '2006-02-03 14:28:00', null, 'Frameworks--Simpler', 'Joe', 'modelglue', '1', null, '0', null, '101', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('445ECA4D-E081-2BAC-691FD365ADF2245B', 'Doug Hughes and Model-Glue on TV! (Sort of.)', 'It looks like Doug Hughes\' newest site, FloridaVacationAuction.com, made the news last night up in Boston. You can check out the video clip at The Boston Channel\'s site. FloridaVacationAuction.com is the largest e-commerce site I know of that\'s 100% ...

[Read more on Joe Rinehart\'s blog]

', '2006-02-07 06:50:00', null, 'Doug-Hughes-and-ModelGlue-on-TV--Sort-of', 'Joe', 'modelglue', '1', null, '0', null, '111', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('4A09E05F-E081-2BAC-698C0D1F8CBD8D35', 'Real-World Event Gateways: Verity via Concurrency', 'A little while ago, there was a thread on Ben Forta\'s blog (I can\'t quite remember it) where someone was looking for practical examples of using Event Gateways. They just saved the day in my neck of the woods, and here\'s why:\r\n\r\nI\'ve got an application where a common user interaction updates records in Verity. You never know how many Verity records may get updated: maybe one, maybe ten thousand...

[Read more on Joe Rinehart\'s blog]

', '2006-02-08 09:10:00', null, 'RealWorld-Event-Gateways--Verity-via-Concurrency', 'Joe', 'modelglue', '1', null, '0', null, '109', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('4EBD0869-E081-2BAC-6900B23F7FEAD1E7', 'Model-Glue hits 6,000 downloads!', 'I\'ve been keeping an eye on Model-Glue downloads, watching them slowly approach 5,000 overall downloads, and got distracted. In the past month, Model-Glue has gone from ~4,800 downloads to 6,293. Thanks to everyone who\'s downloaded it for making it the most downloaded thing I\'ve ever written!

[Read more on Joe Rinehart\'s blog]

', '2006-02-09 07:12:00', null, 'ModelGlue-hits-6000-downloads', 'Joe', 'modelglue', '1', null, '0', null, '117', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('53E97CDF-E081-2BAC-696744608764CD81', 'ASP.NET: Bringing bad VB to the Web', 'I heard this yesterday, and it made me chuckle: \r\n\r\n\"Sure, there are people doing good ASP.NET applications, but those are usually C# people who really \'get it\' building a model and attaching an ASP.NET presentation layer to it. That\'s rare, though. For the most part, ASP.NET is simply the most efficient way to turn a bad Visual Basic \'developer\' into a worse Web \'developer.\'\"\r\n\r\nI hav...

[Read more on Joe Rinehart\'s blog]

', '2006-02-10 07:16:00', null, 'ASPNET--Bringing-bad-VB-to-the-Web', 'Joe', 'modelglue', '1', null, '0', null, '118', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('54237B7E-E081-2BAC-69C799B289B51E96', 'Model-Glue:Unity (2.0) and ColdSpring', 'Some people guessed it immediately, but one-half of the \"Unity\" nickname is that Model-Glue 2.0 is dependent on ColdSpring. I\'ve split my outside-of-work development time between finishing 1.1 and starting 2.0 (2.0 is actually guiding 1.1 a bit, so it\'s worth the delay), and I\'d like to ask for some community input.

[Read more on Joe Rinehart\'s blog]

', '2006-02-10 08:25:00', 'I\'m going to outline five things, and would really appreciate comments:\r\n\r\n
    \r\n
  1. Why I\'ve decided to make the change to ColdSpring dependency
  2. \r\n
  3. What it means on a technical level
  4. \r\n
  5. What benefits it brings
  6. \r\n
  7. What the tradeoffs are
  8. \r\n
  9. Backwards-compatibility issues
  10. \r\n
\r\n\r\n1. Why I\'ve decided to make the change to ColdSpring dependency\r\n\r\nAs Model-Glue grew, the framework became more and more focused on being a simple way to connect and control HTML views and their interaction with a CFC based business model. Managing configuration isn\'t something it\'s good at, but it\'s something that ColdSpring is very good at. In short, it separates configuration of your application from the Model-Glue system of <controllers> and <event-handlers>.\r\n\r\n2. What it means on a technical level\r\n\r\nA \"pure\" Model-Glue 2.0 application (one that wasn\'t upgraded from 1.x), will have no <config> block in its ModelGlue.xml file. Instead, there will be two .xml files: \r\n\r\n
\r\n
ModelGlue.xml
\r\n
Contains <controllers> and <event-handlers> blocks
\r\n
Configuration.xml
\r\n
A ColdSpring file containing what used to be in the <config> block, configuration of the framework itself (such as whether to use ColdSpring or ChiliBeans in your application or a custom statebuilder for SES purposes), and any other services you\'d like to make available to your application or autowire to your controllers
\r\n
\r\n\r\n3. What benefits it brings\r\n\r\nI wouldn\'t implement another layer of complexity unless I felt there were some very strong benefits.\r\n\r\n
    \r\n
  1. One ModelGlue.xml can be used by many application instances. I\'ve talked with people who are Application Service Providers using Model-Glue, and one need that sector has is the ability to re-deploy the same application to multiple clients. Separating configuration from ModelGlue.xml means that all they need to do are maintain which client\'s Configuration.xml file is being loaded, and upgrades/modifications involve changing one ModelGlue.xml file.
  2. \r\n
  3. A single point of application configuration. Application services / \"Configured Beans\" (configBeans) can simply be defined in the Configuration.xml file instead of in many separate files.
  4. \r\n
  5. Begrudgingly, your ModelGlue.xml file can be split up thanks to a new root-level <include> tag. Too many people have asked for this for me to ignore it. You can now have a structure that looks like this:\r\n\r\n
    <!-- ModelGlue.xml -->
    \n<modelglue>
    \n <include template=\"ContactManagerModule.xml\" />
    \n <include template=\"MessageBoardModule.xml\" />
    \n</modelglue>
    \n
    \n<!-- ContactManagerModule.xml -->
    \n<modelglue>
    \n <controllers>
    \n <!-- ContactManager Controllers -->
    \n </controller>
    \n <event-handlers>
    \n <!-- ContactManager Event Handlers -->
    \n </event-handlers>
    \n</modelglue>
    \n
    \n<!-- MessageBoardModule.xml -->
    \n<modelglue>
    \n <controllers>
    \n <!-- MessageBoard Controllers -->
    \n </controller>
    \n <event-handlers>
    \n <!-- MessageBoard Event Handlers -->
    \n </event-handlers>
    \n</modelglue>
    \r\n
\r\n\r\n4. What the tradeoffs are\r\n\r\nIt\'s more complicated. Not much, but you\'ve got to edit two files that use two different XML schemas (ModelGlue and ColdSpring). The ColdSpring piece is easy, though. Instead of editing this in ModelGlue.xml:\r\n\r\n
<config>
\n <setting name=\"viewMappings\" value=\"/unitysamples/contactmanager/views\" />
\n</config>
\r\n\r\nYou edit this in Configuration.xml:\r\n\r\n
<bean id=\"modelGlueConfiguration\" class=\"modelglue.unity.framework.ModelGlueConfiguration\">
\n <property name=\"viewMappings\"><value>/unityapplicationtemplate/views</value></property>
\n</bean>
\r\n\r\nI figured this was a fair trade for the additional power it brings.\r\n\r\n5. Backwards-compatibility issues\r\n\r\nTo maintain backwards compatibility, I\'ve left support for the <config> block in ModelGlue.xml intact (as of an early alpha of the Model-Glue 2.0 core). \r\nBasically, it overrides settings in Configuration.xml, so that you can literally drop a ModelGlue 1.x ModelGlue.xml file into a copy of the ModelGlue 2.0 application template and you\'ll be up and running.\r\n\r\nI debated adding this; I\'m not sure it\'s necessary, and I\'d really like to encourage people to use ColdSpring instead of continuing to use the <config> block.\r\n\r\n\r\n\r\nThoughts, opinions?', 'ModelGlueUnity-20-and-ColdSpring', 'Joe', 'modelglue', '1', null, '0', null, '121', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('783DDD61-E081-2BAC-69B189EF8B17AF8A', 'Mission: Clayton', 'My mission, that I\'ve chosen to accept, is to pack all of my belongings in the next six days, load them on to a truck, and to move them approximately 300 miles south of Washington, DC to the town of Clayton, NC.\r\n\r\nFor the next six months, I am to reconnoiter the lot diagonally across from the one I\'ve purchased, observing the construction of the Hughes hous...

[Read more on Joe Rinehart\'s blog]

', '2006-02-17 08:35:00', null, 'Mission--Clayton', 'Joe', 'modelglue', '1', null, '0', null, '128', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('08F96619-E081-2BAC-690CA0897148ACFB', 'Cairngorm for Model-Glue Developers', 'I\'m going to be learning the Flex Cairngorm framework over the next few weeks. It\'s an implementation of Front Controller for Flex developed by iteration::two (now part of Macromedia, soon part of Adobe...). \r\n\r\nThere\'s a good deal of conceptual similarity between it and Model-Glue, so I\'m thinking of writing a blog entry / article / maybe a preso on how to get up and running with it that\'s targ...

[Read more on Joe Rinehart\'s blog]

', '2005-10-19 08:59:00', null, 'Cairngorm-for-ModelGlue-Developers', 'Joe', 'modelglue', '1', null, '0', null, '85', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('15C8BDE9-E081-2BAC-69B0F1578918A319', 'Model-Glue\'s Many Names', 'Model-Glue wasn\'t always called Model-Glue. It went through a few names, and they all have something to do with how it works. I thought it might be fun to share them, as it gives some insight into the thought behind the framework:\r\n\r\n1. Call And Answer\r\n\r\nRipped from a Barenaked Ladies song, \"Call and Answer\" talked about how I wanted a framework that used a message / listener format where even...

[Read more on Joe Rinehart\'s blog]

', '2005-07-14 10:38:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '80', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('1EA76969-E081-2BAC-695D63CAE46CD2A6', 'Eat Your Beans: ConfigBeans in Model-Glue', 'The Model-Glue Framework has a really nice feature called ConfigBeans, powered by a little tool I wrote called ChiliBeans. By using ConfigBeans instead of inserting configuration values, like Datasource names, into your ModelGlue.xml file, you can seperate your configuration from your application. This post gives a quick overview of creating a new ConfigBean and using it in your application. On...

[Read more on Joe Rinehart\'s blog]

', '2005-05-27 10:54:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '79', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('34143FF0-E081-2BAC-690DE70A107AB3BF', 'Model-Glue 0.9 en route', 'Sorry for the delay - had the whole marriage, honeymoon, new dog, fried power supply on main workstation thing to deal with. M-G 0.9 is on its way, a few of the changes include:\r\n\r\n* Revised logging within the EventRequest. The debugging output will no longer reset when an exception is thrown.\r\n\r\n* A few additional \"Oops!\" exceptions being thrown from Model-Glue.cfc, in the event of things like ...

[Read more on Joe Rinehart\'s blog]

', '2005-05-31 14:39:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '75', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('3D094697-E081-2BAC-6954375379A8F68A', 'The Pattern Prerequisite is Pain', 'There\'s pattern fever going on! CFCDev list is full of patterns, good Flash development relies on them, and everyone seems to want to know where they can \"learn\" patterns. From the sound of it, your app isn\'t \"good\" if you\'re not passing TO\'s from your DAO\'s to your BO\'s to pass TO\'s to the V part of the MVC.\r\n\r\nHere\'s the thing, though: Patterns aren\'t templates. They\'re not patterns as in \"t...

[Read more on Joe Rinehart\'s blog]

', '2005-06-02 06:31:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '75', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('42A3AD9F-E081-2BAC-69067DDB45FF51C2', 'Sean Corfield: Model-Glue @ Macromedia', 'I got a nice surprise this morning: a blog entry entitled \"Mach II Out, Model-Glue In!\" appeared on Sean Corfield\'s blog. It looks like they\'re (Macromedia) using it to provide UI for some of the manual processes in their new order management system.\r\n\r\nFull post at http://www...

[Read more on Joe Rinehart\'s blog]

', '2005-06-03 10:35:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '78', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('49CAFDF4-E081-2BAC-69AD5772ABCF584B', 'Arf! Rails-Like ActiveRecord for ColdFusion', 'I\'d like to introduce \"Arf!\" (Active Record Factory!), a Rails-style ActiveRecord implementation in ColdFusion. I have to disclaim this by saying that I have mixed feelings about ActiveRecord - it\'s at the same time very nice for doing things quickly, but I think it\'s ripe for abuse, as it\'s easy to think it\'s the begin and end all of OO programming. However, I think it\'s also a great way to sto...

[Read more on Joe Rinehart\'s blog]

', '2005-10-31 22:06:00', 'Here\'s the basics of what the Arf! provides:\r\n\r\n* JDBC metadata based reflection: not database specific\r\n\r\n* Creates ActiveRecord API\'d instances out of CFCs that extend a base ActiveRecord component\r\n\r\n* Implements hasMany() and belongsTo() methods for establishing Record properties that point to other tables\r\n\r\n* Allows for overloading any of the automagically generated methods to add custom business logic\r\n\r\n* Automagic methods on Records include GetInstance(), Create(), Read(), Update(), Delete(), Save() [smart create/update], List(orderBy, whereClause), Validate() [does type and length checking], and SetNNN()/GetNNN() methods for each DB column\r\n\r\n\r\nCode Demo: Arf! in Ten Steps\r\n\r\nSo, here\'s Arf! It\'s not ready for release yet, but I\'d like to introduce it by showing how it\'d be used to manipulate a two-table database in ten steps. If you like what you see, please let me know if you\'d like to be on the alpha tester list.\r\n\r\nStep 1: Create a database, tables, and datasource\r\n\r\nI start by creating a database called \"arfblog\" (in any JDBC-compliant database, I\'ve tested MySQL and MS SQL Server). I give it two tables: blogEntry (blogEntryId, title, body) and comment (commentId, blogEntryId, and message). The primary keys (blogEntryId and commentId) can be auto-incrementing numeric or VARCHAR(35) - if you go the VARCHAR route, Arf! will automagically use UUIDs for the key values. I then create a ColdFusion datasource pointing to the database and call it \"arfblog\"\r\n\r\nStep 2: Configure an Arf! datasource bean\r\n\r\nThis\'d be best done in ColdSpring or ChiliBeans (or your IoC container of choice), but you start by creating an Arf! datasource. It\'s just a little bean:\r\n\r\n
<cfset ds = createObject(\"component\", \"net.clearsoftware.arf.Datasource\").init() />
\r\n<cfset ds.setDSN(\"arfblog\") />
\r\n<cfset ds.setDatabase(\"arfblog\") />
\r\n\r\nStep 3: Create an Arf! RecordFactory\r\n\r\nNext, we create an instance of the Arf! RecordFactory itself. This is the CFC that performs the Arf! magic.\r\n\r\n
<cfset rf = createObject(\"component\", \"net.clearsoftware.arf.RecordFactory\").init(ds, true) />
\r\n\r\nStep 4: Create an ActiveRecord extension\r\n\r\nNow, we need to create a CFC that extends the base Arf! ActiveRecord CFC. It\'s pretty simple. I create a BlogEntry.cfc and Comment.cfc from the ActiveRecordTemplate.cfc that comes with Arf!. There\'s a single line of code that *must* be in the CFC, not in the base ActiveRecord:\r\n\r\n
<!--- BlogEntry.cfc --->
\r\n<cfcomponent extends=\"net.clearsoftware.arf.ActiveRecord\" output=\"false\">
\r\n
\r\n<!--- Don\'t remove this line of code --->
\r\n<cffunction name=\"getFinalSuper\" access=\"private\"><cfreturn super /></cffunction>
\r\n
\r\n<!--- Add statements like <cfset hasMany() /> and <cfset belongsTo() /> here --->
\r\n
\r\n</cfcomponent>
\r\n\r\nComment.cfc is identical to BlogEntry.cfc at this point\r\n\r\nStep 5: Tell the classes about each other\r\n\r\nA comment belongsTo an entry, and an entry hasMany comments, so we add the appropriate lines to each CFC, telling it what to relate to, and what CFC to use when getting related records.\r\n\r\n
<!--- BlogEntry.cfc --->
\r\n<cfcomponent extends=\"net.clearsoftware.arf.ActiveRecord\" output=\"false\">
\r\n
\r\n<!--- Don\'t remove this line of code --->
\r\n<cffunction name=\"getFinalSuper\" access=\"private\"><cfreturn super /></cffunction>
\r\n
\r\n<!--- Add statements like <cfset hasMany() /> and <cfset belongsTo() /> here --->
\r\n<cfset hasMany(\"comment\", \"net.clearsoftware.arf.test.Comment\") />
\r\n</cfcomponent>
\r\n\r\nNow, we do the same for the Comment:\r\n\r\n
<!--- Comment.cfc --->
\r\n<cfcomponent extends=\"net.clearsoftware.arf.ActiveRecord\" output=\"false\">
\r\n
\r\n<!--- Don\'t remove this line of code --->
\r\n<cffunction name=\"getFinalSuper\" access=\"private\"><cfreturn super /></cffunction>
\r\n
\r\n<!--- Add statements like <cfset hasMany() /> and <cfset belongsTo() /> here --->
\r\n<cfset belongsTo(\"blogEntry\", \"net.clearsoftware.arf.test.BlogEntry\") />
\r\n</cfcomponent>
\r\n\r\nStep 6: Create a new blogEntry\r\n\r\nOk, I can ask my factory for some classes now. Let\'s ask for a new blogEntry.\r\n\r\n
<cfset blogEntry = rf.makeRecord(\"net.clearsoftware.arf.test.BlogEntry\") />
\r\n\r\nThat gives us an ActiveRecord. It\'s got CRUD/S methods, get/set methods for each column in the blogEntry table, a getComment() method added by the hasMany() statement, a validate() method that\'ll check each property for NULL, length, and type, as well as a list() statement that has optional ORDER BY and WHERE arguments, and a getInstance() method that\'ll show us internal instance data (by value, where type makes it possible).\r\n\r\nStep 7: Populate and save a blogEntry, showing that it\'s added with list()\r\n\r\n
<cfset blogEntry.setTitle(\"Some new entry\") />
\r\n<cfset blogEntry.setBody(\"A really great blog entry!\") />
\r\n<cfset blogEntry.save() />
\r\n<cfdump var=\"#blogEntry.list()#\">
\r\n\r\nNot much to it, eh?\r\n\r\nStep 8: Create a related comment\r\n\r\nNow we\'ll create a related comment, and commit it.\r\n\r\n
<cfset comment = rf.makeRecord(\"net.clearsoftware.arf.test.Comment\") />
\r\n<cfset comment.setBlogEntryId(blogEntry.getBlogEntryId()) />
\r\n<cfset comment.setMessage(\"I\'m a wiseacre comment.\") />
\r\n<cfset comment.save() />
\r\n\r\nNotice that we set its BlogEntryId property to the BlogEntryId value of the BlogEntry we made.\r\n\r\nStep 9: Show our relation properties\r\n\r\nNow, we\'ll see where those belongsTo() and hasMany() come into play. Remember saying that the comment belongsTo() a BlogEntry? Adding the following line of code asks the comment for its entry:\r\n\r\n
<cfset commentsEntry = comment.getBlogEntry() />
\r\n<cfdump var=\"#commentsEntry#\" />
\r\n<cfdump var=\"#commentsEntry.getInstance()#\" />
\r\n\r\nThe first CFDump shows that getBlogEntry() returns a BlogEntry, and the second shows that its instance data is the data for the BlogEntry.\r\n\r\nNow, hasMany() relationships can return more than one instance, so a simple QueryIterator is returned. It\'s got a pretty straightforward API, and you can get to its underlying query using QueryIterator.getQuery(). Here it is in action:\r\n\r\n
<cfset entryComments = blogEntry.getComment() />
\r\n<cfdump var=\"#entryComments.getQuery()#\">
\r\n<cfset firstComment = entryComments.next() />
\r\n<cfdump var=\"#firstComment.getInstance()#\" />
\r\n\r\nThe first CFDump shows the query of related comments coming back, the second shows that that we can get a Comment instance from that query, and ask it for its instance data. We could also manipulate its data and save() it because its a fully-operational instance of our net.clearsoftware.arf.test.Comment CFC that extends ActiveRecord.\r\n\r\nStep 10: Overriding methods\r\n\r\nBecause our \"shell\" CFCs (BlogEntry and Comment) extend ActiveRecord, we can alter the functionality of the default methods that are created for us. If we wanted to change the getTitle() method of BlogEntry to always come back in upper-case, we\'d change our BlogEntry.cfc to the following:\r\n\r\n
<!--- BlogEntry.cfc --->
\r\n<cfcomponent extends=\"net.clearsoftware.arf.ActiveRecord\" output=\"false\">
\r\n
\r\n<!--- Don\'t remove this line of code --->
\r\n<cffunction name=\"getFinalSuper\" access=\"private\"><cfreturn super /></cffunction>
\r\n
\r\n<!--- Add statements like <cfset hasMany() /> and <cfset belongsTo() /> here --->
\r\n<cfset hasMany(\"comment\", \"net.clearsoftware.arf.test.Comment\") />
\r\n
\r\n<cffunction name=\"getTitle\">
\r\n   <cfreturn uCase(super.getTitle()) />
\r\n</cffunction>
\r\n
\r\n</cfcomponent>
\r\n\r\nNow, to show it works:\r\n\r\n
<cfoutput>
\r\n#blogEntry.getTitle()#
\r\n</cfoutput>
\r\n\r\nAh, now that\'s good and annoying!\r\n\r\nConclusion\r\n\r\nSo, we\'ve got a beginning of an ActiveRecord API / Generator working in ColdFusion. There\'s more to the API than what I\'ve covered here. Hopefully, I\'ll get it documented and out the door before too long. If you\'d like a copy to play with, please leave me a comment and I\'ll put you on the \"alpha\" tester list. I should have the code (it\'ll be LGPL, like Model-Glue) into the clearsoftware.net SVN repo before too long.', 'Arf-RailsLike-ActiveRecord-for-ColdFusion', 'Joe', 'modelglue', '1', null, '0', null, '99', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('4C397788-E081-2BAC-69479FD23D006A70', 'Arf! Video Demo - Write CF faster. A lot faster.', 'I had a spare hour this morning (my dog\'s doesn\'t understand the shift back to standard time yet), so I recorded a Camtasia demo of Arf! in action. This shows the ArfBlog demo I blogged about yesterday in action, and a great unblogged \"Step 11\" that shows where Arf! can really be cool.\r\n\r\nThe video (about 10 minutes) is available at [Read more on Joe Rinehart\'s blog]

', '1999-11-01 09:22:00', null, 'Arf-Video-Demo--Write-CF-faster--A-lot-faster', 'Joe', 'modelglue', '1', null, '0', null, '63', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('4C39E4C9-E081-2BAC-69498F5455CC717B', 'Arf! Video Demo - Write CF faster. A lot faster.', 'I had a spare hour this morning (my dog\'s doesn\'t understand the shift back to standard time yet), so I recorded a Camtasia demo of Arf! in action. This shows the ArfBlog demo I blogged about yesterday in action, and a great unblogged \"Step 11\" that shows where Arf! can really be cool.\r\n\r\nThe video (about 10 minutes) is available at [Read more on Joe Rinehart\'s blog]

', '1999-11-01 09:22:00', null, 'Arf-Video-Demo--Write-CF-faster--A-lot-faster', 'Joe', 'modelglue', '1', null, '0', null, '36', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('4C3A3569-E081-2BAC-69BD8209DCF1BF03', 'Arf! Video Demo - Write CF faster. A lot faster.', 'I had a spare hour this morning (my dog\'s doesn\'t understand the shift back to standard time yet), so I recorded a Camtasia demo of Arf! in action. This shows the ArfBlog demo I blogged about yesterday in action, and a great unblogged \"Step 11\" that shows where Arf! can really be cool.\r\n\r\nThe video (about 10 minutes) is available at [Read more on Joe Rinehart\'s blog]

', '2005-11-01 09:27:00', null, 'Arf-Video-Demo--Write-CF-faster--A-lot-faster', 'Joe', 'modelglue', '1', null, '0', null, '87', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('4D926BB3-E081-2BAC-6929AA58D80554E0', 'Arf! Alpha bits - Soon, very soon.', 'Wow, there\'s a lot of people interested in Arf! I\'m going to try to get some alpha bits into the public SVN repo this evening. I want to do a bit of refactoring, some better commenting, and some API documentation before I put this thing in the wild.\r\n\r\nI am a little concerned about this project branching, so I\'d like to ask those who get the bits and make changes to submit your changes back to m...

[Read more on Joe Rinehart\'s blog]

', '2005-11-01 15:41:00', null, 'Arf-Alpha-bits--Soon-very-soon', 'Joe', 'modelglue', '1', null, '0', null, '89', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('4EE2904F-E081-2BAC-692C9CBE75675886', 'Arf! 1.0e-23 (That\'s 0.00...001) bits', 'Seems like a lot of people want to test this, so, well, here\'s what I\'ve got so far. It\'s pretty rough at this point, documentation is sparse, and there\'s some missing functionality, but this is an improvement on the version I Camtasia demo\'d.\r\n\r\nhttp://clearsoftware.net/client/enclosures/net.zip\r\n\r\nThe most notable API change is th...

[Read more on Joe Rinehart\'s blog]

', '2005-11-01 21:50:00', null, 'Test', 'Joe', 'modelglue', '1', 'C:\\Inetpub\\JoeRinehart\\clearsoftware.net\\client\\enclosures/net.zip', '0', 'application/zip', '105', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('4F639EA7-E081-2BAC-69DAE2E0C00C8329', 'Model-Glue 0.9 Sneak Peak', 'I just sent out the test version of 0.9 to the Model-Glue testing crowd. If you\'d like to be in on future testing, drop me a line. Here\'s the message I sent, which gives a good idea of what\'s in 0.9, and even hints at 0.95 and 1.0:\r\n\r\n\r\nHi all,\r\n\r\nI\'ve just run the cvs commit for a test version of Model-Glue 0.9. A zip of the /ModelGlue library is attached to this email. It\'s a zip of my d...

[Read more on Joe Rinehart\'s blog]

', '2005-06-05 22:02:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '76', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('50BF3AFC-E081-2BAC-69CF3F463A104CB9', 'Arf! Subversion and Trac', 'Simeon Bateman has donated Subversion (SVN) and Trac hosting for Arf!, so I\'ll be using that to host the code and keep track of issues.\r\n\r\nFeel free to get the latest code, at any time, from http://svn.simb.net/arf/trunk/net/clearsoftware/arf/ (use your favorite SVN client to hit that URL. Yes, it starts with http://, not svn://.)\r\n\r\nTrouble tickets and feature requests can be filed at the Trac s...

[Read more on Joe Rinehart\'s blog]

', '2005-11-02 06:29:00', null, 'Arf-Subversion-and-Trac', 'Joe', 'modelglue', '1', null, '0', null, '99', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('598B2CCE-E081-2BAC-698011AA5C938073', 'Model-Glue 0.9 is here! Woohoo!', 'Model-Glue 0.9 is released! You can download it at http://www.model-glue.com/downloadmg.cfm.\r\n\r\nRelease notes:\r\n\r\n\r\n0.9.00 - New Features:\r\n\r\nControllers now have timed cache capabilities - see Quickstart for details.\r\n\r\nSubapplications are supported with the ModelGlue_APP_KEY\r\n\r\nDebugging trace can now be added to with argume...

[Read more on Joe Rinehart\'s blog]

', '2005-06-07 21:19:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '82', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('624498CA-E081-2BAC-693F33C7F0C3B44B', 'Model-Glue Listserv', 'Just a reminder to new folks downloading: There is a Model-Glue listserv full of other users and great answers. You can sign up (or just lurk) at http://lists.topica.com/lists/modelglue/.

[Read more on Joe Rinehart\'s blog]

', '2005-06-09 14:01:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '79', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('69ECCA66-E081-2BAC-69E0757132F92911', 'Model-Glue 1.0 News', 'Yep, I really am working on it! Things have been crazy busy at work - combining that with some renovations and home and my summer cycling habits, I\'m a little swamped.\r\n\r\nHowever, there are two new things in the bleeding-edge...one permanent, the other is in there for feedback:\r\n\r\n1. Permanent: \"append\" attribute on the result tag\r\n\r\nOk, so the \"redirect\" attribute is nice. But imagine this: y...

[Read more on Joe Rinehart\'s blog]

', '2005-07-30 18:36:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '84', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('69F11F97-E081-2BAC-69E9FE0C793E5BA2', 'Model-Glue DTD', 'Jared has posted a Model-Glue DTD...there are a few M-G DTD\'s floating around, but this is the first I\'ve seen that declared portions of the XML as entities, which can make your life easier. More on using XML entities with Model-Glue can be found on [Read more on Joe Rinehart\'s blog]

', '2005-07-30 18:46:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '94', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('977D8D0D-E081-2BAC-69CFB4FFF63859E9', 'The framework argument is silly.', 'There\'s a strange discussion taking place across a few ColdFusion blogs over whether or not frameworks are a \"good\" thing. While my opinion is probably pretty obvious, I\'ve avoided getting involved because I think the argument itself is an exercise in the absurd.\r\n\r\nIt\'s impossible to make an argument as to whether or not frameworks are appropriate for the same reason that two frameworks, chosen ...

[Read more on Joe Rinehart\'s blog]

', '2005-09-27 08:00:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '86', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('9793B3F3-E081-2BAC-691EFBAFAF6A9EFD', 'Business cases for Framework developers', 'A quick list of five reasons I\'d hire a candidate with framework experience over one without. This isn\'t to say I\'d avoid candidates without framework experience - if I could find someone with really good anti-framework reasoning, they\'d probably be displaying most of these five!\r\n\r\nLeading up to the Fusebox and Frameworks conference later this week, there\'s been discussion over whether or not \"f...

[Read more on Joe Rinehart\'s blog]

', '2005-09-27 08:34:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '88', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('9BCFC8F6-E081-2BAC-6951B6BCB4390B31', 'Model-Glue 1.0: Inherit the Quickstart', 'The current Model-Glue Quickstart is great for what it is: how to create a really quick application that shows the features of the framework. However, the framework\'s gone beyond the scope of the original example it builds (a stock quote app).\r\n\r\nBecause of this, I\'m asking for volunteers to help with a new Quickstart. It\'d be great to both get ideas for a new sample as well as someone who\'d be...

[Read more on Joe Rinehart\'s blog]

', '2005-08-09 11:11:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '87', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('9C517B8C-E081-2BAC-698DCBFA66161BCD', '\"Merrimack\" (7.0.1) is available!', 'Get it while it\'s hot, get it while it\'s buttered. Download available at Macromedia\'s site. It\'s also interesting to note that the U.S.S. Merrimack was a scuttled United States frigate that the Confederacy rebuilt into an iron-clad, leading to a pretty interesting stalemate that could be seen as one of the first events in modern mechanized, armored warfare.\r\n\r\nDownload: [Read more on Joe Rinehart\'s blog]

', '2005-09-28 06:38:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '84', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('9C794B8E-E081-2BAC-6984D1E4FFD0FAAA', 'Model-Glue Users Rock', 'It\'s still a small (but growing) group, but I really like the people getting involved with Model-Glue. We\'ve got OOP newbies who like the simplicity of the framework, people who know more OOD/OOA than me pointing out places I can tweak things, but most of all, there\'s a lot of great questions being asked on the Model-Glue mailing list ([Read more on Joe Rinehart\'s blog]

', '2005-06-20 21:13:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '76', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('9D495E59-E081-2BAC-693525110654574B', 'Model-Glue 1.0: Available for Download', 'Sometime this AM the current version number at www.model-glue.com began showing 1.0.00. \r\n\r\nYep, it\'s available. Should be pretty stable, as a number of people have been using much of the new code under the \"bleeding edge release\" for a while now. I\'m not 100% sure of stability of Linux and OS X case-sensitivity issues (I lack a testing platform at the mo...

[Read more on Joe Rinehart\'s blog]

', '2005-09-28 11:05:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '88', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('9DBCE5E6-E081-2BAC-6960BA8F841C859E', 'Model-Glue Jobs, Coast to Coast!', 'Jared Rypka-Hauer and Scott Stroz sent me three exciting links over the past week! It looks like Model-Glue is beginning to make it into job descriptions, coast to coast!\r\n\r\nIn California:\r\n\r\n[Read more on Joe Rinehart\'s blog]

', '2005-08-09 20:10:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '83', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('9FDE946E-E081-2BAC-6920474ABE3C0636', 'Model-Glue 1.0.01: GetSingleton() lives!', 'I mis-built the 1.0.01 to ignore the GetSingleton() method on the framework level. My apologize to the inconvenienced, you should now be up and running.

[Read more on Joe Rinehart\'s blog]

', '2005-09-28 23:12:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '89', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('A18201E7-E081-2BAC-6989695D28693F7C', 'MG 1.0: Event Forwarding != Event Announcement', 'I had a feeling this feature may cause a bit of confusion, and I got my first comment on it last night. \r\n\r\nWhile there *is* a method on the Core.Event object called Forward() that lets you pass the name of an to forward the event request to, this is *not* the equivalent of announcing a new event in Mach-II.\r\n\r\nWhere Model-Glue lies \"between\" Mach-II and Fusebox is that it impleme...

[Read more on Joe Rinehart\'s blog]

', '2005-09-29 06:45:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '88', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('AC2976FF-E081-2BAC-69C2389A3DB77FA3', 'If Frameworks were Airlines', 'I couldn\'t think of a good way to wrap up my Fusebox and Frameworks 2005 experience, so I\'m taking leeway with the old \"If Operating Systems were Airlines\" jokes. Overall, the conference was a blast, and I\'d like to thank Teratech for having me come out to say a few words.\r\n\r\nWithout further ado, here\'s what I\'ve learned about the CF frameworks:\r\n\r\nFusebox\r\n\r\nStarted in the days ...

[Read more on Joe Rinehart\'s blog]

', '2005-10-01 08:30:00', null, 'If-Frameworks-were-Airlines', 'Joe', 'modelglue', '1', null, '0', null, '87', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('B68CC875-E081-2BAC-69C3E87F2B5E565F', 'Frameworks are Bad, Methodologies are Good.', '...is the general message of a presentation entitled \"Developing Applications Without Frameworks,\" given at the Fusebox and Frameworks 2005 conference by Simon Horwith. There\'s a good amount of stuff in the presentation I disagreed with, but felt that it would be inappropriate (and rude) to interrupt the preso with what would result in an argument. Instead, I felt it would be better to think abo...

[Read more on Joe Rinehart\'s blog]

', '2005-10-03 08:54:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '87', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('BDB9AE90-E081-2BAC-69205A7F442F302D', 'Mach-II isn\'t \"Dead\"', 'There\'s buzz going on right now about the demise of Mach-II, and its \"replacement\" by Model-Glue. I\'m excited to see Model-Glue continue to grow in popularity, but I\'m hoping we can avoid sensationalism and spreading Mach-II FUD. My conclusion is the same as it usually is: be pragmatic.\r\n\r\nHere\'s a few thinking points on the topic:\r\n\r\n1. Use what\'s right for you.\r\n\r\nMach-II\'s author (Ben Edwar...

[Read more on Joe Rinehart\'s blog]

', '2005-06-27 08:15:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '77', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('BF018821-E081-2BAC-69A8B83FD77B055E', 'Model-Glue @ CFUnited', 'Model-Glue will be demo\'d at CFUnited! There\'s a BOF on Wednesday at 9p in Room 4. After a half an hour of panel discussion, we\'ll shift to a Breeze presentation going out to the AZCFUG and ColdFusion Live! user groups.\r\n\r\nIt should be interesting presenting this to both an online and live audience simultaneously.\r\n\r\nIf you\'re not going to be at CFUnited, head to http://coldfusion.meetup.com/17/...

[Read more on Joe Rinehart\'s blog]

', '2005-06-27 14:10:00', null, null, 'Joe', 'modelglue', '1', null, '0', null, '79', '1', '1', null, null, null, null); INSERT INTO `tblblogentries` VALUES ('D2D1A861-E081-2BAC-691F2582E55234DC', 'Model-Glue: My take on the MVC pattern', 'Model-Glue is an MVC framework for ColdFusion that, similar to Mach-II, takes an II (implicit invocation) approach. It\'s designed to be a bit less intimidating than Mach-II, but not lose power.\r\n\r\nDownload at http://www.model-glue.com/downloads.cfm.\r\n\r\nSome highlights:\r\n\r\n