This document describes how to setup the Radiate project for development. Radiate is an tool to integrate design and development into one workspace to make web, mobile and applications easier to create. The main audience is designers working on web, Flex designers and developers and HTML developer and designers. There is still a lot of suffering through web development in the HTML world and those who have not yet got a grasp on development and this aims to soften the edges and introduces web developers to Flex at the same time.
I think you should be able to start web development and design at any stage and progress to any stage and the tool should still be useful. I had a lot of trouble in my early days of software development and I believe that we can give designers tools to do their design work and give developers tools to do their development work in the same software. Drumbeat 2000 had some really great concepts and could scale from beginner to advanced. There are many things that can be better in my opinion than the current development and design workflow.
Flash Builder DV and Java FX Scene Builder are good guidelines for to where we want to go,
http://www.youtube.com/watch?v=rHcnsEoSK_c
Setup Instructions
- Download the github libraries flexcapacitor, Radii8, FlexIFrame and svn libraries AS3Commons (AS3CommonsReflect) and AS3SyntaxHighlighter.
- Import the following projects into your FlashBuilder workspace:
/Radii8Designer
/Radii8Library
/Radii8LibraryAssets
/flexcapacitor/MainLibrary (shown as FCLibrary in the screenshots)/flex-iframe/library (shown as FlexIFrame)/AS3CommonsReflect/AS3SyntaxHighlighter
Radii8 Designer Project Properties
The main project is Radii8Designer. The project properties should look like this:
Compiler options
Compiler options (text):
-locale en_US -includes=mx.managers.systemClasses.MarshallingSupport -keep-all-type-selectors=true -link-report linkreport.txt -size-report=sizereport.txt -keep-as3-metadata+=Alternative -keep-as3-metadata+=ArrayElementType -keep-as3-metadata+=DefaultProperty -keep-as3-metadata+=Deprecated -keep-as3-metadata+=Effect -keep-as3-metadata+=Event -keep-as3-metadata+=HostComponent -keep-as3-metadata+=IconFile -keep-as3-metadata+=Inspectable -keep-as3-metadata+=InstanceType -keep-as3-metadata+=RemoteClass -keep-as3-metadata+=RichTextContent -keep-as3-metadata+=SkinPart -keep-as3-metadata+=SkinState -keep-as3-metadata+=Style -keep-as3-metadata+=SWF
Server options are optional but some functionality will not work at runtime without it:
Radii8Library Project Properties
FCLibrary Project Properties
The main project has an Ant Builder that runs when you compile the project that auto-increments the build number and sets the current date. It may no longer be valid and can probably be removed.
If you do not get any errors in the problems panel in the Radii8Designer project then launch Main.mxml.
Wordpress Server Setup
Instructions for saving to the server (saving locally to the file system isn't available yet) using Wordpress:
- Install your Wordpress blog on your server
In the Radii8Designer project navigate to the php/wordpress/ directory. Copy the json-api directory and upload it to your Wordpress plugins directory. Usually, wordpress_install_directory/wp-content/plugins. In your wp_config.php file add the following:
define('JSON_API_CONTROLLERS', "core,categories,posts,user,attachments,projects"); define('JSON_API_EMAIL_FROM', "contact@mysite.com"); // this is optional use your own contact email here define('JSON_API_EMAIL_FROM_NAME', "mysite.com"); // this is optional use your own contact name here
MiniInspector Utility class
At runtime you can use the MiniInspector class let's you can click on an CMD + click on a display object and it will show details about the element. If you do nothing it will then show details about the container and so on until you get to the Application. You can set properties and styles on the selected object by clicking on it's name. It can be set to show style declarations and style inheritance in the console. In the main.mxml application set the property showInheritedStyles to true it will show inherited styles on the object in the console when you CMD + click. This can be used as a starting point for a visual panel for CSS.
The main.mxml is the main application. The Radiate.as is the main API.
Notes
This is an in-progress project. You'll find things that don't work.
Goals
Read the readme.txt. It contains the list of goals among other information.
DESIGN VIEW FEATURE REQUIREMENTS
The design view is the most important part of the application.
It must support the following features:
• drag and drop - move
• rotate
• resize - drag handles
• drag into group, drag out of group
• zoom in and zoom out, other functions work while zoomed in and out
• drag item from off screen into screen
• support scrollbars
• select and work with components in the flex component tree (select tool)
• select and work with graphic primitives (direct selection type of tool)
• support filters
• remove listeners - so components don't react (button press doesn't change state, etc)
• states
• transitions
• measurement rulers
• alignment tools
• multiselection
• rich editable text on double click of text component
• overlay of image (for example iphone, ipad or layout grid or mock up image)
• snap to grid (while dragging)
• snap to other elements (while dragging)
• snap to rulers
• background image (used to compare design spec as you work - onion skin)
ADDITIONAL FEATURE REQUIREMENTS
• Templates - users can use their own MXML, HTML, PHP, etc templates and indicate locations for CSS, script includes, code blocks and layout
• Desktop environment - users can run on the desktop
• Compiler integration - users can compile using the mxmlc or Falcon
• Flex project support - users can connect to their Flex projects
• Wordpress integration - users can create their own theme. tokens can be used to repeat sections and get values. results are assembled on the server by a theme assembler
• Editors - users can create or edit text documents. using Ace editor or Moonshine to syntax highlight
• Append CSS - users can append CSS to add to element CSS block and override the generated CSS
• Includes - a view exists of external scripts to include (for CSS, JavaScript, MXML script)
• Declarations - a view showing declared objects
• Publishing - users can publish to their server (using Wordpress) or add in FTP for desktop version
• ActionEffects - users can assemble actions based on ActionEffects and create different action paths
• AST - a syntax tree can be created for code completion, documentation and error handling
• Compiler integration - compiler can provide a problems panel (desktop only?)
• Import and Export plugins - new or improved import and export plugins can be added to the environment for better input and output
• Plugins - new and improved plugins can be added to the environment to add new or better feature sets
• Tools - new and improved tools can be added to the environment to add new or better feature sets
• Commands - can be added to the environment to add missing or necessary functionality
• Document types - new document types can be added for additional functionality. text, vector graphics editor
• State inheritance - users should be able to create states based on other states (this exists in Flex via basedOn property) this can be used for design templates exporting pages based on state
• Integrated language support - users should be able to integrate server side language in the output
• Different work flows for output results - one is to generate code (one way), the other is create an AST from code (round trip), another is a mix of both including search and replace tokens and generated code in templates
• Examples - starting points and examples should be included for partial and even full example sites and apps
• Previews - users should be able to preview in HTML or application (possibly in another browser or FP instance)
• Import of PSD, AI files - users should be able to import PSD or AI. AS3 importers exist
• CSS view - show styles applied to component and inherited from containers
• Vector graphics editor - users should be able to create and edit vector graphics and use as FXG and SVG skins
• Animation timeline - users should be able to animate and trigger effects on elements (see ActionEffects). it may should look like a tree hierarchy.
• Export options - panel for setting export options. for example, when converting to HTML, convert text element to an image option
• Data objects - panel of data from a service or internal data for things like lists, datagrids and charts.
• Workspace Settings - panel that lets you set workspace settings. meaning components to include, panels to include, panel layout, properties and styles to include or exclude
• Filters - panel for filters and matrix
This list will undoubtedly get out of sync with the readme.txt so check both.