1.8 "Deconfigure"?

8 views
Skip to first unread message

Collectonian

unread,
Jan 8, 2010, 1:50:11 PM1/8/10
to Mach-II for CFML
Since 1.8 is at RC2, and we have no production apps using Mach-II yet,
we decided to go ahead and update from 1.6. One of our in development
applications, that was near done and working perfectly in 1.6 is
throwing errors in two parts of the application, that appears to be
related to the SessionFacade.

The error is

The method deconfigure was not found in component /var/www/html/
developmnt/srac2.vlan-two.com/model/SessionFacade.cfc.

Ensure that the method is defined, and that it is spelled correctly.

The error occurred in /var/www/html/frameworks/MachII/framework/
PropertyManager.cfc: line 305
Called from /var/www/html/frameworks/MachII/framework/AppManager.cfc:
line 136
Called from /var/www/html/frameworks/MachII/framework/AppLoader.cfc:
line 163
Called from /var/www/html/frameworks/MachII/mach-ii.cfc: line 176
Called from /var/www/html/frameworks/MachII/mach-ii.cfc: line 113

303 : <cfloop from="1" to="#ArrayLen
(variables.configurablePropertyNames)#" index="i">
304 : <cfset aConfigurableProperty = getProperty
(variables.configurablePropertyNames[i]) />
305 : <cfset aConfigurableProperty.deconfigure() />
306 : </cfloop>
307 : </cffunction>


However, I can't find anything in googling nor in the group this
deconfigure method and have no idea why it is being called when it
wasn't before? Help?

Peter J. Farrell

unread,
Jan 10, 2010, 12:32:55 AM1/10/10
to mach-ii-for...@googlegroups.com
If you session facade extends the MachII.framework.Property -- then
Mach-II will call deconfigure for you (it's in the
MachII.framework.BaseComponent if you don't define it). Did you follow
the upgrade instructions that come with the framework? More than likely
your CFML engine is caching some CFCs from the 1.6 version which is
causing the problem or possible based on how you've deployed Mach-II --
there could be two versions on your system and at runtime they are being
mixed. I bet if you go back over the upgrade instructions -- I have a
feeling this stuff will get resolved. Let us know what happens -- I
want to be sure it's all working for you.

Best,
.Peter

Collectonian said the following on 08/01/10 12:50:

Summer Wilson

unread,
Jan 10, 2010, 1:59:12 AM1/10/10
to mach-ii-for...@googlegroups.com
Ah, no, I didn't...where are the upgrade instructions? :-P

~~ Summer AKA Collectonian


--
You received this message because you are subscribed to Mach-II for CFML list.
To post to this group, send email to mach-ii-for...@googlegroups.com
To unsubscribe from this group, send email to mach-ii-for-coldf...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/mach-ii-for-coldfusion?hl=en
SVN: http://greatbiztoolsllc.svn.cvsdude.com/mach-ii/
Wiki / Documentation / Tickets: http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/

Peter J. Farrell

unread,
Jan 10, 2010, 2:15:01 AM1/10/10
to mach-ii-for...@googlegroups.com
They are in the file called README in the root of the framework bundle.

.pjf

Summer Wilson said the following on 10/01/10 00:59:

Summer Wilson

unread,
Jan 11, 2010, 9:18:13 AM1/11/10
to mach-ii-for...@googlegroups.com
Okay. The upgrade instructions pretty much just said to clear template cache and restart the server. I did both and still getting the same error. When I did the upgrade, I completely deleted the 1.6 folder first, then uploaded 1.8 in its place, to ensure it was clean.

~~ Summer AKA Collectonian

Peter J. Farrell

unread,
Jan 11, 2010, 11:31:39 AM1/11/10
to mach-ii-for...@googlegroups.com
Is there a 1.6 version mapping setup for your application or another version in another folder on the service?  I suspect that parts of 1.8 are being loaded from one version and parts of 1.6 are loaded from that version.  CF's dot path resolution for CFCs uses a lists of places to look and that is probably what is going on here.  I doubt there is a Mach-II code issue otherwise I think we would have seen it about a year ago when this deconfigure() was added to the one 1.8 code base.

.Peter

Summer Wilson said the following on 11/01/10 08:18:

Summer Wilson

unread,
Jan 11, 2010, 11:40:16 AM1/11/10
to mach-ii-for...@googlegroups.com
Nope, there are no version mappings at all. 1.6 was deleted off the server entirely before loading 1.8. We only have the one MachII folder on the server.

~~ Summer AKA Collectonian


Summer Wilson

unread,
Jan 11, 2010, 12:03:26 PM1/11/10
to mach-ii-for...@googlegroups.com
Correction, I did find the XML config file had <!DOCTYPE mach-ii
PUBLIC "-//Mach-II//DTD Mach-II Configuration 1.6.0//EN"
"http://www.mach-ii.com/dtds/mach-ii_1_6_0.dtd" >

So I changed it to <!DOCTYPE mach-ii PUBLIC "-//Mach-II//DTD Mach-II
Configuration 1.8.0//EN"
"http://www.mach-ii.com/dtds/mach-ii_1_8_0.dtd" >

and <mach-ii version="1.6"> has been changed to <mach-ii version="1.8">

cleared the template cache again and restarted the server again -
still getting the error

~~ Summer AKA Collectonian

Peter J. Farrell

unread,
Jan 11, 2010, 12:36:20 PM1/11/10
to mach-ii-for...@googlegroups.com
Does this session facade component that is throwing the error extend
MachII.framework.Property? Would you mind sharing that code? Feel free
to email me off list if you don't want to share it with the world. If
it is not extending the framework extension, there is no way for us to
call deconfigure() since that method is inherited.

Best,
.Peter

Summer Wilson said the following on 11/01/10 11:03:

Summer Wilson

unread,
Jan 11, 2010, 12:44:27 PM1/11/10
to mach-ii-for...@googlegroups.com
Yes, I think so. Here are the relevant bits of code (I think). Oh, I also found that the error is somewhat random. It will error on a page...then sometimes you reload, it loads fine, then back again.

From mach-ii.xml
<!-- sessionFacade - to control session and keep it separate from framework and MVC -->
<property name="sessionFacade" type="properties.SessionProperty" />
       
Session.Property.cfc
<cfcomponent displayname="SessionProperty" extends="machII.framework.Property" output="false">
    <cffunction name="configure" access="public" output="false">
        <!--- create the sessionFacade and store it in the property mgr --->
        <cfset var sessionFacade = createObject("component","model.SessionFacade").init() />
        <cfset setProperty("sessionFacade", sessionFacade) />
    </cffunction>
</cfcomponent>

The top bit of SessionFacade.cfc
<cfcomponent displayname="SessionFacade" hint="Basic Session Facade" output="false">
    <cfparam name="session.mycaptcha" default="" />
    <cfparam name="session.UpdateProfile" default="false" />
    <cfparam name="session.UpdatePassword" default=false />

    <cffunction name="init" returntype="SessionFacade" access="public" output="false">
        <cfreturn this />
    </cffunction>
......
</cfcomponent>


~~ Summer AKA Collectonian

Peter J. Farrell

unread,
Jan 11, 2010, 1:48:42 PM1/11/10
to mach-ii-for...@googlegroups.com
Ah, I see what is going on...  What's happening is kind of not recommended architecture.

This property:


<property name="sessionFacade" type="properties.SessionProperty" />

Extends the MachII.framework.Property construct.  Because this is a framework extension, we set this property name of "sessionFacade" as a "configurable property", however this property then creates a session facade and sets it into the Mach-II as a property named "sessionFacade".  So what is happening is that you are replacing the "sessionFacade" property with a non-configurable property later on at runtime.  Essentially, you're swapping in a non-Mach-II extended component into a slot that the framework marked as "Mach-II configurable".

I'd recommend not using a Mach-II property CFC to load a non-Mach-II CFC in the same Mach-II property name.  You could easily fix the issue by changing:


<property name="sessionFacade" type="properties.SessionProperty" />

To this:

<property name="sessionFacadeLoader" type="properties.SessionProperty" />

Your "loader" will still function the same and place a reference to your "real" session facade into the "sessionFacade" property.

HTH,
.Peter

P.s.  Your cfparams will only be run once when the session facade loads because your session facade is a singleton.  If you want to set those session variables when a new session starts, I'd recommend looking at the onSessionStart() plugin point in Mach-II.  You don't have to set the variables in that plugin point, but at least have the plugin point call an "onSessionStart()" method in your session facade.  In your plugin you can do this:

<cffunction name="onSessionStart">
    <cfset getProperty("sessionFacade").onSessionStart() />
</cffunction>

In you session facade, add this:

<cffunction name="onSessionStart">
    <cfset session.mycaptcha = "" />
    <cfset session.UpdateProfile = false />
    <cfset session.UpdatePassword = false />
</cffunction>

This is just pseudo code, but I think you can get the picture.  I think you're random error you might be seeing might has to do with missing session variables.  Just a guess since I haven't seen the exception.


Summer Wilson said the following on 11/01/10 11:44:

Summer Wilson

unread,
Jan 11, 2010, 2:11:40 PM1/11/10
to mach-ii-for...@googlegroups.com
Okay...I'm really confused, because I basically went by http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/wiki/UsingSessionFacade pretty much to the letter, except for having different session variables? And all of worked perfectly in 1.6...

~~ Summer AKA Collectonian

Peter J. Farrell

unread,
Jan 11, 2010, 4:53:45 PM1/11/10
to mach-ii-for...@googlegroups.com
Summer,

I'm going to update the wiki entry (parts of it were contributed) as the wiki entry example shouldn't show replacing itself with a non-Mach-II extended CFC.  If you use my suggestions on renaming the property name for the CFC that is loading the session facade to "sessionFacadeLoader" -- you'll be fine.  At the moment, the behavior in your application as it stands is doing something that the framework doesn't support -- it's just in 1.6 it didn't show it's ugly head as it didn't check for this.  1.8 is just more strict on this rule that 1.6 was.

Best,
.Peter

Summer Wilson said the following on 11/01/10 13:11:

Summer Wilson

unread,
Jan 11, 2010, 8:30:08 PM1/11/10
to mach-ii-for...@googlegroups.com
Alrighty. Thanks :)

~~ Summer AKA Collectonian


Summer Wilson

unread,
Jan 12, 2010, 11:24:50 AM1/12/10
to mach-ii-for...@googlegroups.com
What is the best way to do it, versus just renaming it? This will be our first Mach-II app, but we're also going to be redoing two of our core agency apps in Mach-II after this, so we want to try to follow best practices as much as possible :-)

~~ Summer AKA Collectonian

Collectonian

unread,
Feb 3, 2010, 10:16:54 AM2/3/10
to Mach-II for CFML
Any update on when the Wiki will be updated?

Peter J. Farrell

unread,
Feb 3, 2010, 10:52:25 AM2/3/10
to mach-ii-for...@googlegroups.com
It's been updated. It only required changing:

<property name="sessionFacade" type="properties.SessionProperty" />

To:

<property name="sessionProperty" type="properties.SessionProperty" />

So the property loader doesn't get overwritten with the session facade.

.pjf

Collectonian said the following on 03/02/10 09:16:

Summer Wilson

unread,
Feb 3, 2010, 1:35:23 PM2/3/10
to mach-ii-for...@googlegroups.com
Great, thanks. Alas, I made that change, checked it again against the docs, and made sure it all worked fine in 1.6 (still does). So tried again to upgrade our servers to 1.8. Same problem is still there:


The method deconfigure was not found in component /var/www/html/developmnt/srac2.vlan-two.com/model/SessionFacade.cfc.

In my config, I changed the line to
        <!-- sessionProperty - to control session and keep it separate from framework and MVC -->

        <property name="sessionProperty" type="properties.SessionProperty" />

I updated all code to refer to sessionProperty instead of the original sessionFacade.

-- SessionProperty.cfc --

<cfcomponent displayname="SessionProperty" extends="machII.framework.Property" output="false">
    <cffunction name="configure" access="public" output="false">
        <!--- create the sessionProperty and store it in the property mgr --->
        <cfset var sessionProperty = createObject("component","model.SessionFacade").init() />
        <cfset setProperty("sessionProperty", sessionProperty) />
    </cffunction>
</cfcomponent>

I have to admit, as a newcomer to frameworks in general, and Mach-II, its been a very frustrating experience. My colleage and I choose Mach-II as our framework after attending several of the framework presentations at CFUnited 2009, feeling like it seemed the best fit for how we worked and, mistakenly believing it had really good documentation. After selling our team on it and getting started using it, we have frequently found ourselves venting over the seeming lack of documentation on some aspects if use, the lack of newbie friendliness to the basic documentation, and the continued occurrence of items from the official wiki being noted as being out-dated or wrong. Many of the example apps and code do not follow what is stated here to be best practices (such as the whole service layer thing being completely absent from the getting started guide). While this group is very helpful, it really shouldn't be the place we have to come to for every simple question or to learn that the docs keep telling us wrong. :-(  We love the general nature of Mach-II and despite the issues with docs, we are continuing to try to learn it and will likely continue to utilize it versus dealing with having to switch. I am not, however, looking forward to the headaches about to come as we begin teaching our fellow team members how to actually work in it as well, versus just doing it for them. </randomly injected bit>

~~ Summer S. Wilson
Collectonian on Yahoo! Messenger/GTalk and pretty much every where else
Find me online:
    * An Eclectic World: http://eclectic-world.com
    * Facebook: http://www.facebook.com/Collectonian
    * LiveJournal: http://collectonian.livejournal.com
    * Wikipedia: http://en.wikipedia.org/wiki/User:Collectonian
    * Flickr: http://www.flickr.com/photos/collectonian/


Peter J. Farrell

unread,
Feb 3, 2010, 3:54:56 PM2/3/10
to mach-ii-for...@googlegroups.com
Summer Wilson said the following on 03/02/10 12:35:

> Great, thanks. Alas, I made that change, checked it again against the
> docs, and made sure it all worked fine in 1.6 (still does). So tried
> again to upgrade our servers to 1.8. Same problem is still there:
Don't have your property replace itself with the Session Facade it
creates. Leave the property named as SessionProperty, but change the
internals to:

<cfset var sessionFacade =

createObject("component","model.SessionFacade").init() />

<cfset setProperty("sessionFacade", sessionFacade) />

Best,
.Peter

Kurt Wiersma

unread,
Feb 3, 2010, 4:22:51 PM2/3/10
to mach-ii-for...@googlegroups.com
Summer, I appreciate your feedback on the state of Mach II's
documentation and newbie guides and examples. As we are an open source
project we rely heavy on this feedback so we can improve. We also
relay on our community to help us improve the situation. Would you be
willing to help us get some of the guides and examples up to date in
order to assist your team in learning the framework? I would be happy
to guide you through how to submit updated content to wiki and updated
sample code. I am sure other members of this list would love to help
as well. I think it something that everyone can benefit from.

--Kurt

neweller

unread,
Feb 8, 2010, 11:22:52 AM2/8/10
to Mach-II for CFML
"we have frequently found ourselves venting over
the seeming lack of documentation"

I totally feel you pain. I have inherited a Mach-II 1.5 ecommerce site
will multiple catalogs and customers all set up as modules with in one
app. That being said my learning curve was very short and had to
immediately start adding new modules.

As of 1.8 Simplicity RC2 I wanted to upgrade and take use of the new
features such as HTML Helper to condense the site into one main app
but this has been very frustrating. Basically I have resorted to
reverse engineering the Dashboard 1.1.0 just to see some of these new
features in use.

Just as a side note it appears 1.8 has been left for dead and all
attention has been moved to 1.9. I think 1.8 is actually gold just not
released? I would like to commit to a version and get to learning of
HTML Helper but should I forget 1.8 and go straight to 1.9?

Once I get a better understanding of Mach-II I wouldn't mind helping
the Mach-II Wiki. I think a basic example of HTML Helper that changes
the layout / CSS / Javascript based on a user login would be a good
example to see on the Wiki.

Kurt Wiersma

unread,
Feb 8, 2010, 11:46:22 AM2/8/10
to mach-ii-for...@googlegroups.com
1.8 is not being abandoned at all. In fact I believe a few fixes where
committed to the RC in the last couple of weeks. We are winding down
to a final release of 1.8 and would really like people to give it a
try so we can fix any issues before the final version. We have heard
that many people won't upgrade until a final release has been put out
and we want to make that a quality release but is heard when people
won't install it until is it final:)

We also really like it when the community helps out with
documentation. The team has been busy adding a lot of new features and
as you might expect documentation tends to lack behind the latest
release.

I am always happy when I see people post new things to the wiki. It
really is very easy to use especially when adding an example of how a
new feature is used. Perhaps you could help us identify some weakness
in the doco (like the HTMLHelper you mention below) and then we could
together get some new example up there for you?

Thank you for posting this, we value your input as a community.

--Kurt

Matthew Woodward

unread,
Feb 8, 2010, 12:21:57 PM2/8/10
to mach-ii-for...@googlegroups.com
On Mon, Feb 8, 2010 at 8:22 AM, neweller <matt....@comcast.net> wrote:
"we have frequently found ourselves venting over
the seeming lack of documentation"

I've said it before, but I'll say it again: PLEASE let us know SPECIFICALLY what you want to see that you think is lacking in the way of documentation. I hear from people all the time that Mach-II has great documentation, while others find things missing, so "lack of documentation" comments in the abstract simply aren't helpful.

File a ticket, or email the list with "I was doing X but couldn't find documentation" information, but please don't just make the generic statement that there's a lack of documentation because A) it isn't helpful, and B) it isn't true. We have copious amounts of documentation on a lot of aspects of Mach-II. Are there specific areas where it could be improved? Sure there are. But our users need to let us know what those areas are.

It's not at all uncommon for people to ask about how to do something on the mailing list and our response is to point them to a link on the wiki that outlines in great detail specifically what they want to do, so make sure and search the wiki before assuming there's no documentation on what you're trying to do.

As Kurt said we're a very small team of folks all of whom have full-time day jobs and lives outside of work, and we're doing all this work gratis, so if people have the time, knowledge, and inclination, documentation is the #1 way you can help the project.

I just checked the tickets for documentation requests, and every single one in there was submitted by Team Mach-II (by Peter to be exact). Not one was submitted by any of our users. If you search the wiki and don't find what you're looking for, submit a documentation request ticket, and be as specific as possible. This helps us help you. If no one tells us specifically what they need we can't possibly know what's lacking from your perspective.
 

As of 1.8 Simplicity RC2 I wanted to upgrade and take use of the new
features such as HTML Helper to condense the site into one main app
but this has been very frustrating. Basically I have resorted to
reverse engineering the Dashboard 1.1.0 just to see some of these new
features in use.

What features specifically? There's a pretty extensive wiki page on the HTML helper property:
http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/wiki/HTMLHelperProperty

Now if there are specific aspects of how to use it that you see lacking, please file a ticket, or if you work through some things that aren't documented that you think should be, please add the information to the wiki. ANYONE can edit the wiki so please don't feel like we don't want people to dive in and contribute. Again, that's the #1 way you can help the project.
 

Just as a side note it appears 1.8 has been left for dead and all
attention has been moved to 1.9.

Why on earth would you say 1.8 has been left for dead? Peter was in Italy for a while so we'll get the gold release out this week. If you have concerns or questions please ask before assuming something's been left for dead. Yes, we started on 1.9 (and 2.0 for that matter) already so we can get to milestone releases on those versions more quickly, and there's no reason not to do so once 1.8 has reached RC stage, particularly due to the milestone release cycle we're moving to with 1.9.

I get the impression that a lot of these sorts of comments stem from a lack of understanding of how open source projects work. We don't wait until a version has its final release before moving ahead on features for new releases.
 
I think 1.8 is actually gold just not
released?

This week.
 
I would like to commit to a version and get to learning of
HTML Helper but should I forget 1.8 and go straight to 1.9?

I know I'm on a bit of a rant here, but I do get extremely weary of the ridiculously strict adherence a lot of CFML developers have to "gold releases." I've been using 1.8 in production for months, as has Peter, as have numerous others. If you're worried about the state of the framework as relates to your applications, that means you don't have good testing in place. Waiting for the gold release of Mach-II isn't going to fix that problem for you.

In my apps I test things and if they work, they work. I can start taking advantage of new Mach-II features right away. Again this goes back to a general lack of understanding of and general comfort level with open source projects. I run on nightly builds of Mach-II and even Open BlueDragon regularly and because I test things, I don't really care what label the developers slap on the projects I use. If you have good testing in place then any fear of whether or not things work is wholly unfounded. The CFML community as a whole needs to get away from that mindset in my opinion.

Using new releases of Mach-II early in their development cycle is another huge way people can help the project. We test very thoroughly and even have a test suite in place, but we can't possibly think of everything. The sooner we can get people running real-world apps on new versions of Mach-II--even in testing--the sooner we can get any bugs worked out and get the final release out the door.

If everyone waits until the "gold" stamp goes on a release then the project (and everyone using it) doesn't get the benefit of anything that might be uncovered in your applications. At a minimum I would hope people run betas or nightlies of Mach-II in test environments, because if you wait until the final release comes out you'll always be behind, particularly as we move to more rapid milestone releases in future versions of Mach-II.
 

Once I get a better understanding of Mach-II I wouldn't mind helping
the Mach-II Wiki. I think a basic example of HTML Helper that changes
the layout / CSS / Javascript based on a user login would be a good
example to see on the Wiki.


Thanks--finally we get to something specific. Again, check the wiki page link I provided above and if you don't see what you need there, file a ticket or edit the wiki yourself.

And that goes for all documentation. As I mentioned above if after you search the wiki you still aren't finding the documentation you need, submit a ticket:
http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/newticket

There's even a category for "documentation request."

My apologies for the rant but everyone on the team works very hard, for free and completely in our spare time, to make what we feel is the best CFML framework available, and trust me when I say what we have planned for 1.9 and 2.0 will blow you away.

Yes, there's room for improvement in a lot of areas of the project. There always will be. But please help us help you by filing tickets, which anyone can do, or contributing documentation directly to the wiki.

I feel like people get frustrated when they don't find something they're looking for and instead of letting us know right away, they let the frustration build until they're downright angry about something missing that we didn't even know people needed.

So in a nutshell, if you use Mach-II, PLEASE CONTRIBUTE BACK. Testing, writing documentation, or even simply submitting a ticket helps. Idle whining doesn't.

--
Matthew Woodward
ma...@mattwoodward.com
http://blog.mattwoodward.com
identi.ca/Twitter: @mpwoodward

Please do not send me proprietary file formats such as Word, PowerPoint, etc. as attachments.
http://www.gnu.org/philosophy/no-word-attachments.html

Peter J. Farrell

unread,
Feb 8, 2010, 12:54:31 PM2/8/10
to mach-ii-for...@googlegroups.com
Response inline below...

neweller said the following on 08/02/10 10:22:


> "we have frequently found ourselves venting over
> the seeming lack of documentati

> I totally feel you pain. I have inherited a Mach-II 1.5 ecommerce site
> will multiple catalogs and customers all set up as modules with in one
> app. That being said my learning curve was very short and had to
> immediately start adding new modules.
>

I encourage to share the knowledge you've gained by looking at other
things like the Dashboard to build your application. We're one of the
few software wikis that allow anonymous editing of the wiki entries.
Some other CFML frameworks don't have a wiki or allow public editing.
Let us know if you need help using the wiki or how to edit. If you are
unsure the technical aspects of something, we'd be happy to help edit
contributions to the wiki before you submit them.

We're glad to help, however Mach-II is a community project in which most
of the development of the framework is *contributed* (as in unpaid) by
developers (such as Team Mach-II or the lengthy list of contributors we
listed in the 1.8 README).

> As of 1.8 Simplicity RC2 I wanted to upgrade and take use of the new
> features such as HTML Helper to condense the site into one main app
> but this has been very frustrating. Basically I have resorted to
> reverse engineering the Dashboard 1.1.0 just to see some of these new
> features in use.
>

Again, I encourage you to contribute to the wiki. In a PDF form, the
HTMLHelper documention is over 25 pages long -- which is lengthy for
component that has about 1200 lines of code in it.

I think it's important to realize that open source project can only
fully become sustainably successful is for the community of people that
use it -- to contribute back to the project. There just is no way for a
small, unpaid team of people (myself, Matt, Kurt, Brian, Mike and
Adrian) have all the time to completely do everything required to build
a solid framework and that is a reason why we are trying to build up our
community. We can all help each other and that is one of the shining
points of open source.

> Just as a side note it appears 1.8 has been left for dead and all
> attention has been moved to 1.9. I think 1.8 is actually gold just not
> released? I would like to commit to a version and get to learning of
> HTML Helper but should I forget 1.8 and go straight to 1.9?
>

I would disagree here. The 1.8 RC2 went live on 12/27/2009 -- about six
weeks ago. During that time, we have fixed 15 issues -- mostly edge
case bug. BTW, I was on vacation during this time period, a few
holidays occurred (New Years) and I was traveling for business as well.
As you might know, Mach-II is committed to building as quality as a code
base as we can. So as you can see, having an adequate time for beta and
RC periods are essential to the process. If you are curious about the
issues we have fixed during the RC2 (15 to be exact), please take a peek
here:

http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/query?group=status&milestone=Mach-II+1.8.0+RC2

Lastly, some projects (like Spring) will have RC periods that last many
months. A six week period is a short RC in the terms of open source
software development.

Another thing that is in the forefront of our mindset when developing
new versions of Mach-II is backwards compatibility (BC). I have talked
to people that have upgraded from Mach-II 1.0.10 (circa 2005) to Mach-II
1.6 or 1.8 (circa 2009/2010) without any issues. Suffice it to say that
once a feature is introduced to Mach-II, it is there for the long haul.
The process of deprecating a feature is long and hard -- not something
we are interested in doing so a lot of time is spent on developing solid
features that will stand the test of time. In the end in your terms,
taking the time to learn the HTMLHelper in 1.8 doesn't mean it's going
to change in 1.9. The only thing that would change in 1.9 is the
*addition* of new features that expand the capabilities of the HTMLHelper.


> Once I get a better understanding of Mach-II I wouldn't mind helping
> the Mach-II Wiki. I think a basic example of HTML Helper that changes
> the layout / CSS / Javascript based on a user login would be a good
> example to see on the Wiki.
>
>

Great, I think that would a great place to start with a contribution
with the wiki and definitely one that is needed. Just to clarify some
points, Mach-II is free and open source. Everybody on Team Mach-II
contributes their time for *free* and this is spare time mind you. I
apologize for the forthcoming rant...

<rant>

I would like to point out that according to the last COCOMO analysis (it
looks at commits / LoC / time to compute figures), the time spent
developing Mach-II is *13 (thirteen) full time man years*. If you were
to pay a developer $75,000/yr (with salary and benefits for an
architectural position -- it is average), the cost to develop Mach-II
from scratch would be about $975,000. COCOMO analysis does *not*
include time spent on sample applications, helping on the mailing lists
*or* writing documentation. Suffice it to say that a lot of effort has
gone into Mach-II in the past six years.

</rant>

If there is anything we can do to help, please feel free to ask us with
specific questions. Sometimes things on mailing lists get lost in
"translation".

Best,
.Peter

neweller

unread,
Feb 8, 2010, 3:29:32 PM2/8/10
to Mach-II for CFML
First I would like to apologizes for poorly describing the 1.8 status
and for "lack of documentation". To me it seemed that 1.8 was being
merged into 1.9 as it was no longer on the Roadmap, which I had been
watching for quite some time now. All tickers were closed and it
appeared done. I have seen this happen many times in Open Source
software where version overlap to the point of non existence. I have
been running 1.8 from day-0 of the RC2 and it has been flawless. I
have no doubt in the framework...my hesitance is in the details of the
new features. The project I'm working on is large and I really don't
want to have the "Where was that last week?" feeling. But as Open
Source I totally understand Mach-II's position. It can not go gold
unless it is tested.

Second on the documentation at least to me Example Applications is
what is truly missing. Working self contained examples would help with
the learning curve of Mach-II. I had the privilege to inherit Mach-II
1.5 set up with 25 sub modules / applications which I used as reading
material for my introduction into Mach-II. Having working code and the
config file to walk yourself threw the events helps wrap your head
around the framework easier than a perfectly worded doc. As far as
definition of the framework and context the Mach-II team has been
incredible for a small Open Source team but the real world use of the
context plus the weight of the MVC framework can be too much. At times
it seems a Hello World would do the trick. With that said the three
screencast were great but sometimes you just want that .zip.

Matt you are correct... short stabs of "You guys suck... where is the
documentation?" helps no one. For me the code I was left to work with
is the most frustrating and I want to replace it but I am having a
problem of where to begin. Finally finding a place to vent was a
relief poor execution. I apologizes for that.

Also I had no ideal the Wiki was open. I commend Mach-II for opening
this for the users. I honestly don't know of another group that would
trust it's users that much. I will try my best to create a Sample
application for what I'm calling iBranding. Basically a skinning
engine to be applied to any tiered type application.

> http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/query?group=status&m...

Reply all
Reply to author
Forward
0 new messages