Futurescale, Inc. PureMVC Home

The PureMVC Framework Code at the Speed of Thought


Over 10 years of community discussion and knowledge are maintained here as a read-only archive.

New discussions should be taken up in issues on the appropriate projects at https://github.com/PureMVC

Pages: [1]
Print
Author Topic: Contributing to the PureMVC Project  (Read 9690 times)
puremvc
Global Moderator
Hero Member
*****
Posts: 2871



View Profile WWW Email
« on: December 02, 2007, 03:23:02 »

Ports, Demos and Utilities
Initially implemented in ActionScript 3 (AS3), PureMVC is now being ported to a number of other languages that in turn will soon bring the framework to all the major client- and server-side platforms.

Each port is a realm unto itself. There are associated demo and utility projects, and each of those may rely on some related client and server technologies. For each project, be it a port, demo or utility, there is an associated Subversion (SVN) repository, and a Trac bug tracker/project Wiki.

Become A Project Owner!
If you have a PureMVC project idea or would like to begin work on a Port that does not yet have an owner, please speak up here! The public gets read access to all repositories, Project Owners get read/write to their project.

With ownership of a project comes the responsibility of documenting and maintaining it. Responding to the bugs and forum questions people will post. Evaluating patches that people submit that improve the project. In the end of course, it's all worthwhile when you realize how many people will be using your code to solve problems, that's why open source is so successful. But the key for that to actually happen is not only for you to write the code, but to document it as well. Internally and in the Project Wiki. We're not talking about a Steven King novel here, but enough so that people can easily take what you've done and make good stuff happen with it.

In addition to write access to SVN and Trac for their project, Project Owners get a puremvc.org email address. It can be forwarded to any email address you wish, but within the source code and files on the system, Project Owners should use their puremvc.org email address. There is a good reason for this. Email addresses come and go. But PureMVC.org will continue to be the source for PureMVC framework, demos and utilities. If a Project Owner changes his or her email address, no big deal, we can forward it elsewere. But people who have downloaded code and are sitting around at 2:30 in the morning trying to figure out how something works will always be able to mail to that email address and get through to you. Even if you hand the project off to someone else, we can redirect it within PureMVC.org to the new owner, as well as amending code with that owner's address going forward.

Be A Regular Contributor!
If you just want to contribute to an existing project, making some improvement or fixing a bug, but don't want to 'own' a project per se, you'll want to see a separate post (to be made) in this forum about creating a subversion patch.

Essentially, You check the code out, make your changes, create a patch, and mail it to the Project Owner, who may or may not choose to commit it to the project.

Source Code Packaging
To maintain order in the global package namespace, please package your demo and utility code like this:

org.puremvc.XXX.[demos|utilities].YYY.ZZZ.mydemospurpose.*

where
XXX = the PureMVC port. One of: (as2, as3, as3.multicore, cf,  csharp, haxe, haxe.multicore, java, perl, php, python, ruby)
YYY (only optional if not applicable) = any related client technology being used (flex, flash, air, etc...)
ZZZ (only optional if not applicable) = any related server technology being used (cf, weborb, lcds, etc...)

Examples
An AIR application using the AS3 port of PureMVC to talk to WebORB to do a messaging example would be built in a package structure that starts with something like:

org.puremvc.as3.demos.air.weborb.messaging.*

A simple flash example that shows how to do drag and drop might look like:

org.puremvc.as3.demos.flash.dragdrop.*

A FlashLite cellphone game using the AS2 port might look like:

org.puremvc.as2.demos.flashlite.mycoolgame.*

A set of Java Aspect oriented-programing (AOP) utilities for the J2EE platform might look like:

org.puremvc.java.j2ee.utilities.aop.*

Source Code License and Attribution
We want everyone to get credit for their hard work. We also want users of the framework and demos to be able quickly identify, the project purpose, the author and how to contact them, and the license governing their use. This is an open source project, and so the key is that the source code be reusable by others for their own purposes. However a person writing a demo or utility might want to reserve the right to publish a book or article including all or part of the work.

In order that this be made clear within the context of every source code file, please place a header at the top each in one of the following formats:

For XML based source files:

:
<!--
 PureMVC Flex/CF Demo File Uploader
 Copyright (c) 2007 Simon Bailey <simon.bailey@puremvc.org>
 Your reuse is governed by the Creative Commons Attribution 3.0 License
-->

Inside class files:[/b]
:
/*
 PureMVC Flex/CF Demo File Uploader
 Copyright (c) 2007 Simon Bailey <simon.bailey@puremvc.org>
 Your reuse is governed by the Creative Commons Attribution 3.0 License
 */

There's much more to come, this is only the start. I hope everyone can get an idea of the direction this thing is going. We want a very orderly expansion of the codebase to cover many languages and adjacent technologies.

Currently, I am contacting various community members who have contributed in the forums and whose work could most benefit others understanding and use of PureMVC.

In the meantime, if you would like to create a project please speak up in this forum!

-=Cliff>
« Last Edit: August 26, 2008, 07:00:05 by puremvc » Logged
Pages: [1]
Print