I see the process of porting a legacy non-MVC application to Model-Glue as
consisting of a number of distinct phases. Here is an incomplete list of
phases I can think of for a conversion project:

   1. Move existing presentation logic to included views (using a standard
   structure var to pass all data from legacy templates to views).
   2. Introduce ColdSpring and convert existing model logic to ColdSpring
   beans.
   3. Introduce Model-Glue and convert legacy templates to event handlers
   with dedicated controllers.
   4. Refactor controllers to reduce duplication of controller code.
   5. Refactor views to reduce duplication of view code.
   6. Add event types to reduce duplication of event handler code.
   7. Refactor ColdSpring beans to provide more abstract interfaces and
   loosen dependencies with existing implementations.
   8. Identify actionpack candidates from portions of the application code.
   9. Select candidates and refactor into actionpacks.

I intentionally left actionpacks to the very end because I believe that code
modules must first be usable before it can be reusable. All code modules
must be built under some assumptions and constraints, and without a real
application to validate those assumptions and constraints it is very easy to
choose the wrong ones and create an *un*usable module.

I believe real Model-Glue applications are the best source for practical
code modules such as actionpacks. A big reason for my commitment to the
Model-Glue framework is the ease with which I was able refactor code from my
first Model-Glue application to make make it potentially reusable by other
applications. Mind you, I have yet to actually *succeed* in reusing the code
in other applications, but my failure in that regard has nothing to do with
the framework itself :-)

I've looked through the example actionpack in MG3, and while I find it too
complex for practical use it is comprehensive enough to show how the
different components of an actionpack are tied together. I have already
identified a simple framework enhancement that would benefit actionpack
development and will post a ER to the Trac site shortly.

I would very much like to participate in a legacy-to-MG3 application porting
project as well as any efforts to make MG actionpacks a more practical tool
for developers.

Cheers,

-- Dennis

On Tue, Dec 29, 2009 at 12:49 PM, Dan Wilson <[email protected]> wrote:

> Roy,
>
> Your email is very helpful... and I realize I might not have fully
> explained the point behind the fork. If we are able to incorporate MG 3 into
> Galleon and add some of these new features, Ray will let us commit this back
> into the Galleon project. Thus, the new version of Galleon would be a MG3
> application (much like LighthousePro is)
>
> So rather than a fork, which wouldn't be very helpful, we'd have a new
> platform for Galleon.
>
> We can also take out parts of Galleon to use as actionpacks... like the
> registration portion and the security portion. Galleon is open source, so we
> can, with the proper attribution, look at enhancing Galleon as well as any
> parts that make sense for  actionpacks.
>
> I'd very much like to see a group of folks working on Actionpacks from a
> stragetic level. What are they? What should they be? How can MG be developed
> to make Actionpacks more useful/relevant?
>
> From what I can tell, an 'actionpack' is really just including another
> MG.xmkl file. That is helpful and somewhat useful, I think we could make it
> even more useful and helpful with the right folks thinking about it. The
> Galleon project might be a good case to evaluate what an actionpack is, and
> could be.
>
>
> DW
>
>
>
>
>
>
>
>
>
> On Tue, Dec 29, 2009 at 12:42 PM, Roy Martin <[email protected]>wrote:
>
>> We can definately help with this as we took Isaac Dealey initial
>> framework and finished and made it a working framework by adding the
>> additional events and replacing the rest of the links necessary to
>> make this work. However, all this did was simply provide a mg wrapper
>> to include the correct views by a model-glue event-handler. The
>> biggest problem with this is that galleon does not abstract the link
>> locations, so incorporating view changes that contained bug fixes is a
>> manual process. This was nice because it was easy to incorporate your
>> own security or other pre-written MG broadcast, but otherwise didn't
>> buy us much. I could see this being helpful for theming but what are
>> your thoughts on how much you want to truely fork galleon into a MG
>> project?
>>
>> What I would love to see is more effort and support around
>> actionpacks. I think that's one of the least explored but most
>> powerful feature of MG. There is currently not much documentation,
>> sample resouces or central repository around this. If we did work
>> together for a project like event / conference management I would push
>> to have that contain a series of reusable actionpacks (payment
>> actionpack, event management actionpack, etc). We could then kick-off
>> a actionpack listing or repo where. We could add these and allow
>> others to add them as well, similar to a cflib or riaforge. That's
>> what I would really like to see some effort put into as we push for
>> standard ways to build components that can be reused using MG. We have
>> several that we can contribute as well as this has been a big focus
>> for us internally.
>>
>> That's my 2 cents,
>> Roy
>>
>> On Monday, December 28, 2009, Chris Blackwell <[email protected]> wrote:
>> > sounds like fun!I'd be particularly interested in helping port galleon.
>>  will have a look at the latest version to familiarize my self over the next
>> few days and post my thoughts.
>> > chris
>> >
>> >
>> >
>> > On 28 Dec 2009, at 16:12, Dan Wilson <[email protected]> wrote:
>> >
>> > Hey Folks,
>> > We've been thinking through building out some useful Model-Glue based
>> software for the community. Many developers want to get past the simplistic
>> examples out there and learn how to solve harder problems with Model-Glue.
>> We have 2 projects that we want to see happen in the first quarter of 2010.
>> If you are interested in helping out on one of them, please email your
>> interest to the group.
>> >
>> >
>> >
>> >
>> > Goal: Port Galleon Forums to Model-Glue
>> >
>> > Galleon Forums is a ColdFusion based forums application. A port to an
>> earlier version of Model Glue was done by Isaac Dealey. We want to port the
>> latest version of Galleon to MG 3 and add the following features:
>> >
>> > better theming supportprint friendly messagesmulti-homing (support for
>> multiple forums in a single code base)as well as any other low hanging fruit
>> gained by a refactor to MG3
>> >
>> >
>> > We will use this refactor to evolve some best practices about
>> "Frameworktising" an existing application and also to evaluate new features
>> for upcoming versions of Model-Glue.
>> >
>> >
>> > Who we Need: Developers, Testers, Forward Thinkers, Documenters, Current
>> Galleon Users
>> > Goal: Build a Conference Management Application from Scratch
>> >
>> > We want to research building an application from scratch with
>> Model-Glue. Important things to come out of this project are:How to use
>> current Model-Glue 3 features for Rapid DevelopmentWhat we can improve about
>> Model-Glue 3 for Rapid Development
>> >
>> > How to plan and structure a greenfield project for the fastest possible
>> developmentBuild a great piece of Open Source software for the community to
>> use and learn fromWho we Need: Developers, Testers, Forward Thinkers,
>> Documenters, Conference Planners
>> >
>> >
>> >
>> > So if you are interested in working on a new and fun project for Q1
>> 2010, just let us know where you'd like to help.
>> >
>> > DW
>> >
>> >
>> >
>> >
>> > --
>> > “Come to the edge, he said. They said: We are afraid. Come to the edge,
>> he said. They came. He pushed them and they flew.”
>> >
>> >  Guillaume Apollinaire quotes
>> >
>> >
>> >
>> >
>> > --
>> > Model-Glue Sites:
>> > Home Page: http://www.model-glue.com
>> > Documentation: http://docs.model-glue.com
>> > Bug Tracker: http://bugs.model-glue.com
>> > Blog: http://www.model-glue.com/blog
>> >
>> > You received this message because you are subscribed to the Google
>> > Groups "model-glue" group.
>> > To post to this group, send email to [email protected]
>> > To unsubscribe from this group, send email to
>> > [email protected]<model-glue%[email protected]>
>> > For more options, visit this group at
>> > http://groups.google.com/group/model-glue?hl=en
>> >
>> >
>> >
>> > --
>> > Model-Glue Sites:
>> > Home Page: http://www.model-glue.com
>> > Documentation: http://docs.model-glue.com
>> > Bug Tracker: http://bugs.model-glue.com
>> > Blog: http://www.model-glue.com/blog
>> >
>> > You received this message because you are subscribed to the Google
>> > Groups "model-glue" group.
>> > To post to this group, send email to [email protected]
>> > To unsubscribe from this group, send email to
>> > [email protected]<model-glue%[email protected]>
>> > For more options, visit this group at
>> > http://groups.google.com/group/model-glue?hl=en
>>
>> --
>> Model-Glue Sites:
>> Home Page: http://www.model-glue.com
>> Documentation: http://docs.model-glue.com
>> Bug Tracker: http://bugs.model-glue.com
>> Blog: http://www.model-glue.com/blog
>>
>> You received this message because you are subscribed to the Google
>> Groups "model-glue" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]<model-glue%[email protected]>
>> For more options, visit this group at
>> http://groups.google.com/group/model-glue?hl=en
>>
>
>
>
> --
> “Come to the edge, he said. They said: We are afraid. Come to the edge, he
> said. They came. He pushed them and they flew.”
>
> Guillaume Apollinaire quotes
>
> --
> Model-Glue Sites:
> Home Page: http://www.model-glue.com
> Documentation: http://docs.model-glue.com
> Bug Tracker: http://bugs.model-glue.com
> Blog: http://www.model-glue.com/blog
>
> You received this message because you are subscribed to the Google
> Groups "model-glue" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]<model-glue%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/model-glue?hl=en
>

-- 
Model-Glue Sites:
Home Page: http://www.model-glue.com
Documentation: http://docs.model-glue.com
Bug Tracker: http://bugs.model-glue.com
Blog: http://www.model-glue.com/blog

You received this message because you are subscribed to the Google
Groups "model-glue" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/model-glue?hl=en

Reply via email to