PureMVC Architects Lounge

Announcements and General Discussion => General Discussion => Topic started by: Joel Hooks on January 09, 2008, 04:03:53



Title: pureMVC Calendar [Flex/AIR]
Post by: Joel Hooks on January 09, 2008, 04:03:53
So we need a calendering component for our application. The flex Scheduling Framework looks like it has been dropped like a rock, in hopes that somebody in the community will pick it up, but that isn't me. I need something more along the lines of an Outlook calendar.

Quietly Scheming (http://www.quietlyscheming.com/blog/components/interactive-calendar/) has a very nice looking calendar, that seems like it'd make a nice base. The code is messy and mostly uncommented, but it is easy enough to grasp once you dig in. Jove at flex-flex has made some nice additions (http://scientificanalysisinc.com/case/04171/) to the component, but it is still a static thing, with no way to really add any data (that sticks).

So, what I want to do is leverage some of this work and incorporate it into my pureMVC application in some fashion. I'd like to avoid wedging it in, but I don't know exactly how to start. I was considering stripping it down and rebuilding it as its own pureMVC app. It seems like it would be a good candidate for a more structured MVC paradigm. Or, I was going to treat it as a separate component and somehow integrate it into my existing application.

Any thoughts?


Title: Re: pureMVC Calendar [Flex/AIR]
Post by: puremvc on January 10, 2008, 10:36:19
Joel,

I haven't looked at the app yet, but the general steps for migrating to PureMVC would go something like this:

1) Create a fresh PureMVC-style package structure for your app.

2) Take all the view components and drop them into the view.components package.

3) Refactor these view components to the appropriate granularity (i.e. break up monolithic components)

4) Create the associated Mediators for the view components.

5) Create the value objects, enums and any other data objects representing the data model, or if they already exist, place them into model.vo or model.enum packages.

6) Create the Proxies that manage these data objects and talk with remote services.

7) Remove any code from the view components that knows about the rest of the system. This should be distributed into Commands, Mediators and Proxies as appropriate. The only code left in the view components should be in support of that component as a 'black box' (i.e. disabling a submit button if a field is empty or dispatching an event to the Mediator to trigger further action).

Hope this helps,
-=Cliff>


Title: Re: pureMVC Calendar [Flex/AIR]
Post by: Joel Hooks on January 10, 2008, 11:26:27
Thanks for the affirmation Cliff. I was thinking along those lines.

I'd like to make it an open project if possible. Can I get some space for that?


Title: Re: pureMVC Calendar [Flex/AIR]
Post by: puremvc on January 10, 2008, 01:13:42
Joel,

You bet. Just Email me with info about the scope and purpose of the project so I can put it in my todo queue.

-=Cliff>


Title: Re: pureMVC Calendar [Flex/AIR]
Post by: zzal on June 23, 2008, 08:17:36
I was just starting something similar, also after viewing the "looking-OK but messy" project from quietlyscheming.com and I was looking for discussions here about calendars, and event-type VO.

I was wondering if any achievement have been made, and what kind of project it could be?
I was thinking making it a module, base on the multicore.utilities.pipes, as I think it would be a great module.


Title: Re: pureMVC Calendar [Flex/AIR]
Post by: Joel Hooks on June 23, 2008, 08:43:00
I was just starting something similar, also after viewing the "looking-OK but messy" project from quietlyscheming.com and I was looking for discussions here about calendars, and event-type VO.

I was wondering if any achievement have been made, and what kind of project it could be?
I was thinking making it a module, base on the multicore.utilities.pipes, as I think it would be a great module.


I have a really good start to this done, but I've been absolutely swamped and haven't made any progress. The version I have fixes a bunch of the issues with the QS version. I'd be happy to send you what I got, it is PMVCd, but not a module. It could easily be refactored though, and I think this is a great idea.

How about I update the SVN for this project tonight and mark it as "incomplete", and then we can add you to the project and see what we can come up with?