flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cd...@apache.org
Subject [48/54] [abbrv] git commit: [flex-asjs] [refs/heads/feature-autobuild/example-maven-dirs] - Adding TeamPage example.
Date Sat, 05 Nov 2016 15:22:54 GMT
Adding TeamPage example.


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/82a6f7cd
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/82a6f7cd
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/82a6f7cd

Branch: refs/heads/feature-autobuild/example-maven-dirs
Commit: 82a6f7cd5f02ac6f3e125cb0c86bf06c0c1cbd34
Parents: 5de45af
Author: Peter Ent <pent@apache.org>
Authored: Fri Nov 4 16:04:25 2016 -0400
Committer: Peter Ent <pent@apache.org>
Committed: Fri Nov 4 16:04:25 2016 -0400

----------------------------------------------------------------------
 examples/build_example.xml                      |   1 +
 examples/flexjs/TeamPage/build.xml              |  61 +++
 .../TeamPage/src/MemberDataJSONItemConverter.as |  55 +++
 .../flexjs/TeamPage/src/MemberItemRenderer.mxml |  87 ++++
 examples/flexjs/TeamPage/src/MyInitialView.mxml |  76 +++
 .../TeamPage/src/NoSelectionController.as       |  38 ++
 examples/flexjs/TeamPage/src/TeamPage.mxml      |  52 ++
 .../flexjs/TeamPage/src/models/MemberList.as    |  64 +++
 examples/flexjs/TeamPage/src/models/Person.as   | 110 +++++
 examples/flexjs/TeamPage/src/team.json          | 485 +++++++++++++++++++
 10 files changed, 1029 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/82a6f7cd/examples/build_example.xml
----------------------------------------------------------------------
diff --git a/examples/build_example.xml b/examples/build_example.xml
index 756b06c..87657ad 100644
--- a/examples/build_example.xml
+++ b/examples/build_example.xml
@@ -138,6 +138,7 @@
             <fileset dir="${basedir}/src">
                 <include name="**/*.png" />
                 <include name="**/*.jpg" />
+                <include name="**/*.json" />
             </fileset>
         </copy>
         <copy todir="${basedir}/bin-debug/fonts">

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/82a6f7cd/examples/flexjs/TeamPage/build.xml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TeamPage/build.xml b/examples/flexjs/TeamPage/build.xml
new file mode 100644
index 0000000..81f109c
--- /dev/null
+++ b/examples/flexjs/TeamPage/build.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+
+
+<project name="TeamPage" default="main" basedir=".">
+    <property name="FLEXJS_HOME" location="../../.."/>
+    <property name="example" value="TeamPage" />
+    
+    <property environment="env"/>
+    <property file="${FLEXJS_HOME}/build.properties"/>
+    <property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
+    <property name="opt1_arg" value="-remove-circulars" />
+    
+    <include file="${basedir}/../../build_example.xml" />
+
+    <condition property="extlib_arg" value="-external-library-path=${FLEXJS_HOME}/js/libs/js.swc" >
+        <and>
+            <not>
+                <isset property="extlib_arg" />
+            </not>
+            <available file="${FLEXJS_HOME}/js/libs/js.swc" type="file" />
+        </and>
+    </condition>
+    <condition property="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../js/libs/js.swc" >
+        <and>
+            <not>
+                <isset property="extlib_arg" />
+            </not>
+            <available file="${FALCONJX_HOME}/../js/libs/js.swc" type="file" />
+        </and>
+    </condition>
+    <property name="extlib_arg" value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
+
+    <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}">
+    </target>
+    
+    <target name="clean">
+        <delete dir="${basedir}/bin" failonerror="false" />
+        <delete dir="${basedir}/bin-debug" failonerror="false" />
+        <delete dir="${basedir}/bin-release" failonerror="false" />
+        <delete dir="${basedir}/target" failonerror="false" />
+    </target>
+    
+</project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/82a6f7cd/examples/flexjs/TeamPage/src/MemberDataJSONItemConverter.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TeamPage/src/MemberDataJSONItemConverter.as b/examples/flexjs/TeamPage/src/MemberDataJSONItemConverter.as
new file mode 100644
index 0000000..cafb4a9
--- /dev/null
+++ b/examples/flexjs/TeamPage/src/MemberDataJSONItemConverter.as
@@ -0,0 +1,55 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package
+{
+    import models.Person;
+    
+    import org.apache.flex.collections.converters.JSONItemConverter;
+
+    public class MemberDataJSONItemConverter extends JSONItemConverter
+    {
+        public function MemberDataJSONItemConverter()
+        {
+            super();
+        }
+
+        override public function convertItem(data:String):Object
+        {
+            var obj:Object = super.convertItem(data);
+			var person:Person = new Person();
+			person.name = obj["name"];
+			person.title = obj["title"];
+			person.apacheID = obj["apacheID"];
+			person.bio = obj["bio"];
+			person.photoURL = "http://flex.apache.org/"+obj["photoURL"];
+			person.url = obj["url"];
+			
+			var social:Array = ["twitter","facebook","googleplus","linkedIn","github","wordpress","skype","rss","rss2","deviantart","blog"];
+			for (var i:int=0; i < social.length; i++) {
+				if (obj.hasOwnProperty(social[i])) {
+					var url:String = obj[social[i]];
+					if (url.length > 0) {
+						person.addToSocial(social[i], obj[social[i]]);
+					}
+				}
+			}
+			return person;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/82a6f7cd/examples/flexjs/TeamPage/src/MemberItemRenderer.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TeamPage/src/MemberItemRenderer.mxml b/examples/flexjs/TeamPage/src/MemberItemRenderer.mxml
new file mode 100644
index 0000000..a3ab4a0
--- /dev/null
+++ b/examples/flexjs/TeamPage/src/MemberItemRenderer.mxml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<js:MXMLItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
+				xmlns:local="*"
+				xmlns:js="library://ns.apache.org/flexjs/basic">
+	
+	<fx:Script>
+		<![CDATA[
+			import models.Person;
+			
+			import org.apache.flex.events.MouseEvent;
+			import org.apache.flex.html.TextButton;
+			import org.apache.flex.utils.BrowserUtils;
+			
+			private var _member:Person;
+			
+			override public function set data(value:Object):void
+			{
+				super.data = value;
+				
+				_member = value as Person;
+				memberPhoto.url = _member.photoURL;
+				memberName.text = _member.name;
+				memberBio.text = _member.bio;
+				memberID.text = _member.apacheID;
+				
+				if (_member.title != null && _member.title.length > 0) {
+					memberName.text = _member.name+", "+_member.title;
+				}
+				
+				for (var type:String in _member.social) {
+					var button:TextButton = new TextButton();
+					button.text = type;
+					button.className = type;
+					button.addEventListener("click", gotoSocialMedia);
+					socialMedia.addElement(button);
+				}
+			}
+			
+			private function gotoSocialMedia(event:org.apache.flex.events.MouseEvent):void
+			{
+				var button:TextButton = event.target as TextButton;
+				var url:String = _member.social[button.text];
+				BrowserUtils.executeJS("window.open('"+url+"')");
+			}
+			
+		]]>
+	</fx:Script>
+	
+	<js:beads>
+		<js:OneFlexibleChildHorizontalLayout id="mylayout" flexibleChild="contentArea" />
+	</js:beads>
+	
+	<js:Image id="memberPhoto" width="128" height="128" />
+	<js:Spacer width="10" />
+	
+	<js:VContainer id="contentArea" height="100%" >
+		<js:style>
+			<js:SimpleCSSStyles verticalAlign="top" />
+		</js:style>
+		
+		<js:Label id="memberName" width="100%" className="MemberName" />
+		<js:Label id="memberID" width="100%" className="ApacheID" />
+		<js:Spacer height="10" />
+		<js:HContainer id="socialMedia" />
+		<js:Spacer height="10"/>
+		<js:MultilineLabel id="memberBio" width="100%"/>
+	</js:VContainer>
+	
+</js:MXMLItemRenderer>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/82a6f7cd/examples/flexjs/TeamPage/src/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TeamPage/src/MyInitialView.mxml b/examples/flexjs/TeamPage/src/MyInitialView.mxml
new file mode 100644
index 0000000..47ac02b
--- /dev/null
+++ b/examples/flexjs/TeamPage/src/MyInitialView.mxml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<js:View xmlns:fx="http://ns.adobe.com/mxml/2009"
+				xmlns:local="*"
+				xmlns:js="library://ns.apache.org/flexjs/basic" 
+				>
+	
+	
+	
+	<fx:Style>
+		@namespace js  "library://ns.apache.org/flexjs/basic";
+		
+		.Repeater {
+			IViewport: ClassReference("org.apache.flex.html.supportClasses.Viewport");
+			border: none;
+			border-width: 0px;
+		}
+		
+		.Heading1 {
+			font-size: 18pt;
+			font-weight: bold;
+			margin-bottom: 20px;
+		}
+		
+		.ApacheID {
+			font-size: 10pt;
+			color: #999999;
+		}
+		
+		.MemberName {
+			font-size: 14pt;
+			font-weight: bold;
+			color: #333333;
+		}
+	</fx:Style>
+	
+	<js:beads>
+		<js:ViewDataBinding />
+	</js:beads>
+	
+	
+	<js:VContainer id="output" width="800" height="100%">
+		<js:Label text="FlexJS Team Page" className="Heading1" />
+		<js:Spacer height="20" />
+		
+		<!-- This list does not use selections, so it has a special controller. -->
+		<js:List width="800" height="500" itemRenderer="MemberItemRenderer" rowHeight="250" className="Repeater">
+			<js:beads>
+				<local:NoSelectionController />
+				<js:SimpleBinding destinationPropertyName="dataProvider" 
+								  sourceID="applicationModel" 
+								  sourcePropertyName="members" 
+								  eventName="membersChanged" />
+			</js:beads>
+		</js:List>
+	</js:VContainer>
+	
+	
+</js:View>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/82a6f7cd/examples/flexjs/TeamPage/src/NoSelectionController.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TeamPage/src/NoSelectionController.as b/examples/flexjs/TeamPage/src/NoSelectionController.as
new file mode 100644
index 0000000..0a8af0a
--- /dev/null
+++ b/examples/flexjs/TeamPage/src/NoSelectionController.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package
+{
+	import org.apache.flex.core.IBeadController;
+	import org.apache.flex.core.IStrand;
+
+	/**
+	 * This controller replaces the List's normal mouse controllers because this example
+	 * does not need to track the mouse and handle selections or roll-overs.
+	 */
+	public class NoSelectionController implements IBeadController
+	{
+		public function NoSelectionController()
+		{
+		}
+
+		public function set strand(value:IStrand):void
+		{
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/82a6f7cd/examples/flexjs/TeamPage/src/TeamPage.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TeamPage/src/TeamPage.mxml b/examples/flexjs/TeamPage/src/TeamPage.mxml
new file mode 100644
index 0000000..5d8f861
--- /dev/null
+++ b/examples/flexjs/TeamPage/src/TeamPage.mxml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!---
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+-->
+<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
+				xmlns:local="*"
+				xmlns:models="models.*"
+				xmlns:js="library://ns.apache.org/flexjs/basic" 
+				xmlns:controller="controller.*">
+	
+	<js:valuesImpl>
+		<js:SimpleCSSValuesImpl />
+	</js:valuesImpl>
+	
+	<js:model>
+		<models:MemberList />
+	</js:model>
+	
+	<js:initialView>
+		<local:MyInitialView width="100%" height="100%" />
+	</js:initialView>
+	
+	<js:beads>
+		<js:HTTPService id="service" url="team.json">
+			<js:LazyCollection id="collection">
+				<js:inputParser>
+					<js:JSONInputParser />
+				</js:inputParser>
+				<js:itemConverter>
+					<local:MemberDataJSONItemConverter />
+				</js:itemConverter> 
+			</js:LazyCollection>
+		</js:HTTPService>
+	</js:beads>
+	
+</js:Application>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/82a6f7cd/examples/flexjs/TeamPage/src/models/MemberList.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TeamPage/src/models/MemberList.as b/examples/flexjs/TeamPage/src/models/MemberList.as
new file mode 100644
index 0000000..28c7dae
--- /dev/null
+++ b/examples/flexjs/TeamPage/src/models/MemberList.as
@@ -0,0 +1,64 @@
+package models
+{
+	import org.apache.flex.collections.LazyCollection;
+	import org.apache.flex.core.Application;
+	import org.apache.flex.core.IBeadModel;
+	import org.apache.flex.core.IStrand;
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+	import org.apache.flex.events.IEventDispatcher;
+	import org.apache.flex.net.HTTPService;
+
+	[Event(name="membersChanged", type="org.apache.flex.events.Event")]
+	public class MemberList extends EventDispatcher implements IBeadModel
+	{
+		public function MemberList(target:IEventDispatcher=null)
+		{
+			super(target);
+		}
+
+		public var members:Array = null;
+
+		private var app:Application;
+		private var service:HTTPService;
+		private var collection:LazyCollection;
+
+		private var _strand:IStrand;
+		public function set strand(value:IStrand):void
+		{
+			_strand = value;
+
+			app = value as Application;
+			if (app) {
+				app.addEventListener("viewChanged", viewChangeHandler);
+			}
+		}
+
+		private function viewChangeHandler(event:Event):void
+		{
+			service = app["service"] as HTTPService;
+			collection = app["collection"] as LazyCollection;
+
+			loadMembers();
+		}
+
+		public function loadMembers():void
+		{
+			service.url = "team.json";
+			service.send();
+			service.addEventListener("complete", handleLoadComplete);
+		}
+
+		public function handleLoadComplete(event:org.apache.flex.events.Event):void
+		{
+			members = [];
+			trace("We got something back");
+			trace("Collection: "+collection.length+" items");
+			for (var i:int=0; i < collection.length; i++) {
+				var item:Object = collection.getItemAt(i);
+				members.push(item);
+			}
+			dispatchEvent( new Event("membersChanged") );
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/82a6f7cd/examples/flexjs/TeamPage/src/models/Person.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TeamPage/src/models/Person.as b/examples/flexjs/TeamPage/src/models/Person.as
new file mode 100644
index 0000000..3bb34ac
--- /dev/null
+++ b/examples/flexjs/TeamPage/src/models/Person.as
@@ -0,0 +1,110 @@
+package models
+{
+	import org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+
+	public class Person extends EventDispatcher
+	{
+		private var _name:String;
+		private var _apacheID:String;
+		private var _title:String;
+		private var _bio:String;
+		private var _photoURL:String;
+		private var _url:String;
+		private var _social:Object;
+
+		public function Person()
+		{
+			super();
+			_social = {};
+		}
+
+		[Bindable("nameChanged")]
+		public function get name():String
+		{
+			return _name;
+		}
+		public function set name(value:String):void
+		{
+			if (value != _name) {
+				_name = value;
+				dispatchEvent(new Event("nameChanged"));
+			}
+		}
+
+		[Bindable("titleChanged")]
+		public function get title():String
+		{
+			return _title;
+		}
+		public function set title(value:String):void
+		{
+			if (value != _title) {
+				_title = value;
+				dispatchEvent(new Event("titleChanged"));
+			}
+		}
+
+		[Bindable("apacheIDChanged")]
+		public function get apacheID():String
+		{
+			return _apacheID;
+		}
+		public function set apacheID(value:String):void
+		{
+			if (value != _apacheID) {
+				_apacheID = value;
+				dispatchEvent(new Event("apacheIDChanged"));
+			}
+		}
+
+		[Bindable("bioChanged")]
+		public function get bio():String
+		{
+			return _bio;
+		}
+		public function set bio(value:String):void
+		{
+			if (_bio != value) {
+				_bio = value;
+				dispatchEvent(new Event("bioChanged"));
+			}
+		}
+
+		[Bindable("photoURLChanged")]
+		public function get photoURL():String
+		{
+			return _photoURL;
+		}
+		public function set photoURL(value:String):void
+		{
+			if (_photoURL != value) {
+				_photoURL = value;
+				dispatchEvent(new Event("photoURLChanged"));
+			}
+		}
+
+		[Bindable("urlChanged")]
+		public function get url():String
+		{
+			return _url;
+		}
+		public function set url(value:String):void
+		{
+			if (_url != value) {
+				_url = value;
+				dispatchEvent(new Event("urlChanged"));
+			}
+		}
+		
+		public function addToSocial(type:String, url:String):void
+		{
+			_social[type] = url;
+		}
+		
+		public function get social():Object
+		{
+			return _social;
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/82a6f7cd/examples/flexjs/TeamPage/src/team.json
----------------------------------------------------------------------
diff --git a/examples/flexjs/TeamPage/src/team.json b/examples/flexjs/TeamPage/src/team.json
new file mode 100644
index 0000000..e7c2c3d
--- /dev/null
+++ b/examples/flexjs/TeamPage/src/team.json
@@ -0,0 +1,485 @@
+{ "template": {
+	"name": "put here name here",
+	"title": "put your apache.org title here or leave blank",
+	"photoURL": "put the url to your uploaded photo here",
+	"url": "not used at the moment but should point to a personal site",
+	"bio": "put your official Apache Flex bio here. If you use HTML, be sure to use single quote (apostrophes)",
+	"twitter": "put your URL here or leave blank",
+	"facebook": "put your URL here or leave blank",
+	"github": "put your URL here or leave blank",
+	"googleplus": "put your URL here or leave blank",
+	"rss": "put your URL here or leave blank",
+	"wordpress": "put your URL here or leave blank"
+  },
+
+  "members": [
+	{"name": "Alex Harui",
+     "title": "PMC Chair of Apache Flex",
+     "apacheID": "aharui (C+P)",
+	 "photoURL": "images/headshots/aharui.jpg",
+     "url": "http://www.apache.org/alex",
+     "bio": "Alex Harui has been working on the Flex SDK since he joined Macromedia in 2002. He is now spending most of his time on a next-generation of Flex called FlexJS that cross-compiles MXML and ActionScript into JavaScript so your Flex apps can run without Flash and AIR",
+     "twitter":"",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+	{"name": "Carlos Rovira",
+     "title": "",
+     "apacheID": "carlosrovira",
+	 "photoURL": "images/headshots/carlosrovira.jpg",
+     "url": "http://www.apache.org/carlos",
+     "bio": "Carlos Rovira is a technologist, entrepreneur and businessman. He is passionate about advanced web interfaces and rich multi-device business applications. He is extremely happy when their applications are useful for people, combining functionality and usability. He's founder of various companies including carlosrovira.com in 2007 and Codeoscopic in 2009. He's the technical leader behind the Riality Flex/JEE Platform and other successful insurance software products like Direct Writer and Avant 2",
+     "twitter":"http://www.twitter.com/carlosrovira",
+     "linkedIn":"http://es.linkedin.com/in/carlosrovira/",
+     "facebook":"",
+     "github":"http://www.github.com/carlosrovira",
+     "googleplus":"https://plus.google.com/115670167046758349523",
+     "rss":"http://www.carlosrovira.com/blog/feed/"
+    },
+    
+    {"name": "Carol Frampton",
+     "title": "",
+     "apacheID": "cframpton (C+P)",
+     "photoURL": "images/headshots/cframpton.jpg",
+     "bio": "Carol is a software engineer at Adobe, based outside of Boston.  She worked on Adobe Flex for about five years - FTE and TLF text with Gordon, Spark DataGrid, mirroring and the top bug fixer for the last couple of years - then transitioned with Flex to Apache. Release manager for Apache Flex 4.8.0.  Being a generalist, she's worked on a wide variety of software, including ColdFusion and JRun, kernel-level networking code and distributed networking software. ",
+     "twitter":"",
+     "linkedIn":"http://www.linkedin.com/in/carolframpton",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Chema Balsas",
+     "title": "",
+     "apacheID": "jbalsas (C)",
+     "photoURL": "images/headshots/jbalsas.jpg",
+     "bio": "Web application developer. Focusing on JS right now and trying to help with Falcon and FalconJS as an Apache Flex Commiter.",
+     "twitter":"http://www.twitter.com/jbalsas",
+     "linkedIn":"http://www.linkedin.com/in/jbalsas",
+     "facebook":"",
+     "github":"http://www.github.com/jbalsas",
+     "googleplus":"https://plus.google.com/109872083963647761639",
+     "rss":""
+    },
+    
+    {"name": "Christofer Dutz",
+     "title": "",
+     "apacheID": "cdutz (C+P)",
+     "photoURL": "images/headshots/cdutz.jpg",
+     "bio": "Christofer is a software engineer secialized on Flex, Java, Spring and Maven. He is the lead developer of the <a href='https://flexmojos.atlassian.net/wiki/display/FLEXMOJOS/Home' target='_blank'>Flexmojos</a> project (Maven plugin for building Flex applications) after taking over from Velo in 2012. His main areas of contribution to the Apache Flex project is creating a tool for creating Mavenized versions of Flex SDKs, continuing to advance Flex' Maven support.",
+     "twitter":"http://de.twitter.com/ChristoferDutz",
+     "linkedIn":"http://www.linkedin.com/pub/christofer-dutz/49/9b6/424",
+     "facebook":"",
+     "github":"http://github.com/chrisdutz",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Chris Martin",
+     "title": "",
+     "apacheID": "chrsmrtn (C+P)",
+     "photoURL": "images/headshots/chrsmrtn.jpg",
+     "bio": "Chris has been doing Flex UI development since Flex 2 and is very excited to be apart of the Apache Flex Team. With the Apache Flex Team, he feels that the Flex SDK has a bright future. He looks to help with the flex sdk bug verification and patching.",
+     "twitter":"http://www.twitter.com/chrsmrtn",
+     "linkedIn":"http://es.linkedin.com/in/chrsmrtn/",
+     "facebook":"",
+     "github":"http://www.github.com/chrsmrtn-",
+     "googleplus":"https://plus.google.com/+chrismartinplus",
+     "wordpress":"http://chrsmrtn.azurewebsites.net",
+     "rss":""
+    },
+    
+    {"name": "DarkStone (周戈)",
+     "title": "",
+     "apacheID": "darkstone (C)",
+     "photoURL": "images/headshots/darkstone.png",
+     "bio": "DarkStone has been doing Flash since 2002, doing Flex since 2006, doing PHP since 2007, he is both a designer and a developer.<br/><br/>He had several jobs, last job he was a product manager for 3 years, had done several RIA  products. <p>Since 2013 he quit his job and started his own studio, forging his own path.<br/><br/>Now he's goal is to develop mobile and desktop platform apps (using Flex and PHP etc.) and sell them to the AppStore.<br/><br/>Basically, make the money first, and try to change the world later ; )</p><p>He is now living in Wuhan city of China.",
+     "twitter":"",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Douglas Arthur",
+     "title": "",
+     "apacheID": "dougarthur (C+P)",
+     "photoURL": "images/headshots/dougarthur.jpg",
+     "bio": "Douglas passed away in May, 2012.  He is deeply missed within our community.",
+     "twitter":"",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Erik de Bruin",
+     "title": "",
+     "apacheID": "erikdebruin (C+P)",
+     "photoURL": "images/headshots/erikdebruin.jpg",
+     "bio": "Erik is a software engineer (Flex/Flash, PHP, Delphi, Authorware, to name a few), e-learning consultant and occassional project manager. For the Apache Flex project he is a committer and part of the PMC. He has contributed the SDK Installer Badge, was contributor and co-release manager on the first release of the SDK Installer and is currently busy getting the FalconJx and FlexJS projects off the ground.",
+     "twitter":"",
+     "linkedIn":"http://www.linkedin.com/pub/erik-de-bruin/1/281/176",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Espen Skogen",
+     "title": "",
+     "apacheID": "espenskogen (C+P)",
+     "photoURL": "images/headshots/espenskogen.jpg",
+     "bio": "Espen is a Vice President at JP Morgan, where he is leading the development of client facing trading technology. Espen was one of the initial committers and PMC members of Apache Flex. ",
+     "twitter":"",
+     "linkedIn":"http://uk.linkedin.com/in/espenskogen",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Frédéric Thomas",
+     "title": "",
+     "apacheID": "fthomas (C+P)",
+     "photoURL": "images/headshots/fthomas.jpg",
+     "bio": "Freelancer, software architect, Apache Flex PMC Member, trying to make the Flex world better.<br>(French)",
+     "twitter":"http://www.twitter.com/webdoublefx",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"",
+     "googleplus":"https://plus.google.com/116545614452242070442/posts",
+     "rss":""
+    },
+    
+    {"name": "Gordon Smith",
+     "title": "",
+     "apacheID": "gordonsmith (C+P)",
+     "photoURL": "images/headshots/gordonsmith.png",
+     "bio": "Gordon is currently working on completing MXML support in the new Falcon compiler. He lives in San Francisco and works for Adobe.</p><p>Gordon was one of the original four engineers on a 2002 Macromedia project that became Flex, and worked on the Flex framework for eight years:<ul><li>Developed components for Flex 1.0.</li><li>Built a customer application with Flex 1.5.</li><li>Led the port to AS3 for Flex 2.</li><li>Designed and implemented the ResourceManager for Flex 3.</li><li>Integrated the FTE and TLF text technologies into Flex 4.</li></ul></p><p>Since 2010 he has been part of the compiler team at Adobe.</p>",
+     "twitter":"",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Harbs",
+     "title": "",
+     "apacheID": "harbs (C+P)",
+     "photoURL": "images/headshots/harbs.jpg",
+     "bio": "Harbs comes from a print background and his primary interest is in publishing. He keeps himself busy with his multiple technology businesses: <a href='http://in-tools.com'>In-Tools</a>, <a href='http://printui.com'>PrintUI</a> and <a href='http://unhurdle.com/'>UnHurdle</a>.  All three businesses rely heavily on Flex as one of the active technologies, so Harbs has a strong interest in Flex.<br/><br/>Harbs also spends his time studying Talmud, and with his wife and kids. If there's any time left, he gets a bit of sleep.",
+     "twitter":"http://www.twitter.com/intools",
+     "linkedIn":"http://www.linkedin.com/profile/view?id=46698545",
+     "facebook":"http://www.facebook.com/gharbs",
+     "github":"https://github.com/Harbs",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Jeffry Houser",
+     "title": "",
+     "apacheID": "jhouser (C+P)",
+     "photoURL": "images/headshots/jhouser.jpg",
+     "bio": "<a href='http://www.jeffryhouser.com'>Jeffry Houser</a> is a technical entrepreneur that likes to share cool stuff with other people. Jeffry is the Brains behind <a href='http://www.flextras.com'>Flextras</a>, a library of Open Source Flex Components including a Calendar, AutoComplete, and a Mobile DropDownList.<br/><br/> Jeffry is one of the initial contributors to Apache Flex and his primary interest lies in expanding the component library, especially for use in mobile applications.<br/><br/>In his spare time, Jeffry runs <a href='http://www.dot-com-it.com.'>DotComIt</a>, a consulting firm developing Rich Internet Applications. He has spoken all over the US, is author of three books, over 30 articles, and hundreds of podcasts.",
+     "twitter":"http://www.twitter.com/reboog711",
+     "linkedIn":"http://www.linkedin.com/in/jeffryhouser",
+     "facebook":"http://www.facebook.com/reboog711",
+     "github":"https://github.com/Flextras/FlextrasComponents/",
+     "googleplus":"",
+     "rss":"http://www.jeffryhouser.com/rss.cfm?mode=full",
+     "rss2":"https://www.flextras.com/blog/rss.cfm?mode=full"
+    },
+    
+    {"name": "Jeremy Tellier",
+     "title": "",
+     "apacheID": "jtellier (C+P)",
+     "photoURL": "images/headshots/jtellier.jpg",
+     "bio": "Macromedia/Adobe Technology evangelist, architect, engineer, Jeremy has implemented a slew of Flash, Flex, & AIR based solutions for startups to fortune 100 companies over the past 15 years.<br/><br/>Jeremy works as a consultant at <a href='http://www.actieve.com' target='_blank'>Actieve</a> for Rich Mobile, Desktop & Web Based projects in which Flex is at the top of his preferred technology stack.<br/><br/>On a more personal note.... Jeremy feels awkward writing about himself in the third person.",
+     "twitter":"http://www.twitter.com/jtellier",
+     "linkedIn":"http://www.linkedin.com/in/jeremytellier/",
+     "facebook":"http://www.facebook.com/JeremyTellier",
+     "github":"",
+     "googleplus":"https://plus.google.com/115560858703396246574",
+     "rss":"",
+     "skype":"skype:JeremyTellier?chat"
+    },
+    
+    {"name": "Jose Barragan",
+     "title": "",
+     "apacheID": "josebarragan (C)",
+     "photoURL": "images/headshots/josebarragan.jpg",
+     "bio": "Jose Barragan is a Software Architect, with over 10 years experience in the enterprise sector. Has a big experience in design, development and implementation of high performance software in corporate environments. Has an extensive knowledge of Flex, Java, Spring, Hibernate, Maven, Git, being the technical co-leader behind the <a href='http://www.codeoscopic.com/tecnologia/riality/'>Riality</a> Flex/JEE Platform and other successful insurance software products like <a href='http://www.directwriter.es'>Direct Writer</a> and <a href='http://www.avant2.es'>Avant 2</a>. Restless mind and enthusiast of new technologies. Always learning from everything and everyone.",
+     "twitter":"http://www.twitter.com/morphx",
+     "linkedIn":"http://es.linkedin.com/in/pepebarragan/",
+     "facebook":"",
+     "github":"http://github.com/pepebarragan",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Joseph Labrecque",
+     "title": "",
+     "apacheID": "josephlabrecque (C)",
+     "photoURL": "images/headshots/josephlabrecque.jpg",
+     "bio": "Joseph Labrecque is primarily employed by the University of Denver as a senior interactive software engineer specializing in the creation of expressive desktop, web, and mobile solutions. He is also the proprietor of Fractured Vision Media, LLC. Joseph is an Adobe Education Leader and Adobe Community Professional.",
+     "twitter":"http://twitter.com/josephlabrecque",
+     "linkedIn":"http://www.linkedin.com/in/josephlabrecque",
+     "facebook":"https://www.facebook.com/joseph.labrecque",
+     "github":"https://github.com/josephlabrecque/",
+     "googleplus":"https://google.com/+JosephLabrecque/",
+     "rss":"http://www.lynda.com/JosephLabrecque",
+     "rss2":"http://inflagrantedelicto.memoryspiral.com/feed/",
+     "amazon":"http://www.amazon.com/-/e/B0057R7UO0",
+     "behance":"https://www.behance.net/JosephLabrecque",
+     "youtube":"https://www.youtube.com/channel/UCOznZ0dg3BwfhxwO2p90ejQ"
+    },
+    
+    {"name": "Josh Tynjala",
+     "title": "",
+     "apacheID": "joshtynjala (C+P)",
+     "photoURL": "images/headshots/joshtynjala.jpg",
+     "bio": "Josh Tynjala is the author of the open source <a href='http://feathersui.com/'>Feathers</a> user interface components for Starling Framework. In addition to improving the Apache FlexJS compilers, Josh teaches developers how to transpile ActionScript on his website, <a href='http://nextgenactionscript.com/'>NextGen ActionScript</a>",
+     "twitter":"https://twitter.com/joshtynjala",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"https://github.com/joshtynjala",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Jun Heider",
+     "title": "",
+     "apacheID": "junheider (C+P)",
+     "photoURL": "images/headshots/junheider.jpg",
+     "bio": "Helping Apache Flex grow through mentoring and community awareness. An officer of the Open Spoon Foundation. Cross-platform Flex mobile developer at RealEyes Media with a focus in video and multiuser applications. Adjunct Faculty at University of Denver, University College teaching students how to build native applications with Adobe AIR.",
+     "twitter":"http://twitter.com/coderjun",
+     "linkedIn":"http://www.linkedin.com/in/junheider",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Justin Mclean",
+     "title": "",
+     "apacheID": "jmclean (C+P)",
+     "photoURL": "images/headshots/jmclean.jpg",
+     "bio": "Experienced web application developer, certified trainer, international conference speaker and Arduino tinkerer. Interesting in making Apache Flex more international and work on a wider range of platforms. Added international postcode support and locales to Apache Flex 4.9.0. Release manager for Apache Flex 4.9.0.",
+     "twitter":"http://twitter.com/JustinMclean",
+     "linkedIn":"http://www.linkedin.com/in/justinmclean",
+     "facebook":"",
+     "github":"http://www.github.com/justinmclean",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Mahmoud Ali",
+     "title": "",
+     "apacheID": "akamud (C)",
+     "photoURL": "images/headshots/akamud.jpg",
+     "bio": ".NET and Apache Flex developer, working on Web and mobile applications. One of the creators of the <a href='https://github.com/akamud/FlatSpark'>FlatSpark</a> skin, a project to bring a more clean and modern look to Apache Flex applications, recently donated to Apache Software Foundation. His goal as a committer is to continue improving and creating new Skins and components for Flex.</p <p>Always interested in learning and sharing about new technologies. In his spare time wanders around the internet looking for open source projects that need help.<br/><br/>Also feels weird describing himself in the third person.</p>",
+     "twitter":"http://twitter.com/akamud",
+     "linkedIn":"http://www.linkedin.com/in/akamud/en",
+     "facebook":"",
+     "github":"https://github.com/akamud",
+     "googleplus":"",
+     "rss":"http://www.akamud.com.br/feed",
+     "wordpress":"http://www.akamud.com.br/"
+    },
+    
+    {"name": "Maurice Amsellem",
+     "title": "",
+     "apacheID": "mamsellem (C+P)",
+     "photoURL": "images/headshots/mamsellem.jpg",
+     "bio": "<p>Maurice has been working for <a href='http://www.systar.com'>Systar</a> since 1996 in various positions, and since 2009 as a software engineer on a Flex-based BAM application development framework.</p><p>Maurice is professionally interested in GUI design in general, and personally in clay modeling.<br/>He is based in Paris area, France.</p>",
+     "twitter":"",
+     "linkedIn":"http://www.linkedin.com/pub/maurice-amsellem/1/50a/b64",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Michael Schmalle",
+     "title": "",
+     "apacheID": "mschmalle (C+P)",
+     "photoURL": "images/headshots/mschmalle.jpg",
+     "bio": "<p>Past; ActionScript since 2001 and ui component developer. Created a read/write DOM for ActionScript in AS3 and Java, familiar with parsers and compilers.<br/><br/>Future; Working creating a framework to make synths and sequencers for techno music in Android and also Unity3D, WebAudio and JavaScript.<br/><br/>Leading the development of FalconJx to finally put the last nail in the Flash Player for myself. I don't claim to be anything I'm not, the third person scares me.</p>",
+     "twitter":"http://www.twitter.com/teotigraphix",
+     "linkedIn":"http://www.linkedin.com/pub/michael-schmalle/4/409/980",
+     "facebook":"",
+     "github":"https://github.com/teotigraphix",
+     "googleplus":"",
+     "rss":"http://blog.teotigraphix.com/feed"
+    },
+    
+    {"name": "Nicholas Kwiatkowski",
+     "title": "",
+     "apacheID": "quetwo (C+P)",
+     "photoURL": "images/headshots/quetwo.jpg",
+     "bio": "Working on components, website, marketing.",
+     "twitter":"http://www.twitter.com/quetwo",
+     "linkedIn":"",
+     "facebook":"http://www.facebook.com/quetwo",
+     "github":"",
+     "googleplus":"https://plus.google.com/106376488955804514674/",
+     "rss":"",
+     "blog":"http://www.quetwo.com",
+     "deviantart":"http://quetwo.deviantart.com"
+    },
+    
+    {"name": "Omar Gonzalez",
+     "title": "",
+     "apacheID": "s9tpepper (C+P)",
+     "photoURL": "images/headshots/s9tpepper.jpg",
+     "bio": "<p>Apache Flex committer and PMC member. Test driven development enthusiast. Wrestles code all day. Developing Flash since 2000, Flex since version 2 beta. Senior Architect for <a href='http://almerblank.com' target='_blank'>almer/blank</a> developing front-ends and back-ends in HTML5, JavaScript, Flash, Flex, Node.js, PHP, MySQL and MongoDB, just to name a few. Interested in expanding Apache Flex beyond the Flash Player plugin as well as other random experiments.</p>",
+     "twitter":"http://www.twitter.com/s9tpepper",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"https://github.com/s9tpepper",
+     "googleplus":"https://plus.google.com/109288512951904372418",
+     "rss":"http://omar.gy/rss"
+    },
+    
+    {"name": "OmPrakash Muppirala",
+     "title": "",
+     "apacheID": " bigosmallm (C + P)",
+     "photoURL": "images/headshots/bigosmallm.jpg",
+     "bio": "<p>Om 'bigosmallm' Muppirala is a UI architect with years of experience building Flex and Flash based applications. He has been working on various tools and utilities aimed at making life easier for Apache Flex developers and users(SDK Installer, OneClick Mustella, etc.)  Also interested in contributing more web and mobile Flex components.</p>",
+     "twitter":"http://twitter.com/bigosmallm",
+     "linkedIn":"http://www.linkedin.com/in/omprakashm/",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Peter Elst",
+     "title": "",
+     "apacheID": "peterelst (C + P)",
+     "photoURL": "images/headshots/peterelst.jpg",
+     "bio": "<p>Peter is a Web Solutions Engineer at Google, an author of multiple ActionScript books, speaker at various industry events and longtime supporter of Flex as a platform.</p><p>In his spare time, you can find him blogging at <a href='http://www.peterelst.com'>www.peterelst.com</a>.</p>",
+     "twitter":"http://www.twitter.com/peterelst",
+     "linkedIn":"http://www.linkedin.com/in/peterelst",
+     "facebook":"",
+     "github":"",
+     "googleplus":"https://www.google.com/+peterelst",
+     "rss":""
+    },
+    
+    {"name": "Piotr Zarzycki",
+     "title": "",
+     "apacheID": "piotrz (C + P)",
+     "photoURL": "images/headshots/piotrz.jpg",
+     "bio": "<p>Piotr has been working with Flex since 2008 in various project. He always stays open for self-development opportunity.</p><p>He currently lives in Cracow, Poland.</p>",
+     "twitter":"",
+     "linkedIn":"http://pl.linkedin.com/pub/piotr-zarzycki/52/535/92a/",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":"",
+     "skype":"skype:zarzycki10?call"
+    },
+    
+    {"name": "Stephan Plath",
+     "title": "",
+     "apacheID": "splath (C)",
+     "photoURL": "images/headshots/splath.jpg",
+     "bio": "",
+     "twitter":"http://www.twitter.com/xplath",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Tom Chiverton",
+     "title": "",
+     "apacheID": "tomc (P+C)",
+     "photoURL": "images/headshots/tomc.jpg",
+     "bio": "<p>Tom has been building internet applications since before the term RIA, and was part of the community contributing to Flex while it was looked after by Adobe.</p><p>Within Apache Flex his focus is on making sure the experience on Linux is on par with the other supported platforms, as well as pitching in keeping the Jenkins servers running.</p><p>He currently lives in Manchester, UK.</p>",
+     "twitter":"http://www.twitter.com/thefalken",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Maxim Solodovnik",
+     "title": "",
+     "apacheID": "solomax (C)",
+     "photoURL": "images/headshots/solomax.jpg",
+     "bio": "<p>Maxim developing desktop and mobile applications working with video components.</p><p>The main contribution so far was Russian translation of various Flex components</p><p>He currently lives in Novosibirsk, Russia.</p>",
+     "twitter":"http://www.twitter.com/solomax666",
+     "linkedIn":"https://www.linkedin.com/in/maximsolodovnik",
+     "facebook":"",
+     "github":"https://github.com/solomax",
+     "googleplus":"https://www.google.com/+MaximSolodovnik",
+     "rss":""
+    },
+    
+    {"name": "Olaf Krueger",
+     "title": "",
+     "apacheID": "okrueger (C)",
+     "photoURL": "images/headshots/okrueger.png",
+     "bio": "<p>Olaf believes in the power and beauty of simplicity in all respects.</p><p>Employed at a leading automotive supplier for hinge systems he creates software for internal use. For many years and still with great passion.</p><p>Olaf would like to help to bring the Material Design to Flex/FlexJS</p>",
+     "twitter":"http://www.twitter.com/openoli",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Bertrand Delacretaz",
+     "title": "Project Mentor",
+     "apacheID": "bdelacretaz (C+P)",
+     "photoURL": "images/headshots/bdelacretaz.jpg",
+     "bio": "<p>I'm happy to have been able to help Flex incubate at Apache, the team did a great job in creating a successful Apache project. I left the PMC on graduation to free some time for other podlings, wishing Flex a bright future!</p>",
+     "twitter":"",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Dave Fisher ",
+     "title": "Project Mentor",
+     "apacheID": "wave (C+P)",
+     "photoURL": "images/headshots/davefisher.jpg",
+     "bio": "<p>I'm fascinated by the communities that develop around projects at Apache I really enjoy the spirit here in the Apache Flex project. I am particularly interested in documents and am on the Apache POI and OpenOffice PMCs. Apache Flex for office documents anyone?</p><p>I live in San Francisco where the weather is mild.</p>",
+     "twitter":"",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    },
+    
+    {"name": "Greg Reddin",
+     "title": "Project Mentor",
+     "apacheID": "greddin (C+P)",
+     "photoURL": "images/staff-1.jpg",
+     "bio": "",
+     "twitter":"",
+     "linkedIn":"",
+     "facebook":"",
+     "github":"",
+     "googleplus":"",
+     "rss":""
+    }
+]
+  
+}
\ No newline at end of file


Mime
View raw message