Show the locale in the help dialog along with the build number
[potlatch2.git] / README.txt
1 == Halcyon and Potlatch 2.0 - ActionScript 3 renderer and editor ==
2
3 Potlatch 2.0 is the new version of the OpenStreetMap online editor.
4
5 Halcyon is its rendering engine. It's rules-based (like, say, Mapnik) and does dotted lines, text on a path, casing, icons for POIs, all of that.
6
7 Both are written in ActionScript 3. Potlatch 2.0 additionally uses the Flex framework.
8
9 Many icons used in halcyon/potlatch2 are based on the awesome CC0-licensed SJJB icons project. http://www.sjjb.co.uk/mapicons/
10
11 === What you'll need ===
12
13 * Flex SDK 4.5
14 ** Product page: http://www.adobe.com/products/flex/ 
15 ** Flex 4 Download page: http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4 (free, OS X/Windows/Linux)
16 * AS3 docs - http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/
17 * Flash debug player - http://www.adobe.com/support/flashplayer/downloads.html
18 * Basically you might as well just sell your soul to Adobe
19 * Ant
20
21 If you happen to have Adobe Flex Builder 3/Flash Builder 4, you can create a project and import files into it. 
22 See http://wiki.openstreetmap.org/wiki/Potlatch_2/Developer_Documentation for details.
23
24 You'll only need OSM Rails port installed on your local machine if you are doing hard-core 
25 server-communication coding, but if generally you can use the dev server at api06.dev.openstreetmap.org
26 for development and testing.
27
28
29 === How to compile and run ===
30
31 Compiling Potlatch 2:
32
33 1) Copy the properties template file
34   cp build.properties.template build.properties
35   
36 2) Edit the FLEX_HOME variable in build.properties  
37  eg, FLEX_HOME=c:/flex_sdk/4.5.0.20967
38  
39 3) ant
40
41 The following command will compile potlatch2 in debug configuration
42 The result is put at resources/potlatch2.swf
43
44 * ant
45
46 The following command will compile potlatch2 in release configuration
47
48 * ant release
49
50 Compiling Halcyon as standalone viewer:
51
52 * ant halcyon
53
54 You can create class documentation (in resources/docs) using asdoc
55
56 * ant docs
57
58 You can create and run the unit tests (not that there are that many) using flexunit
59
60 * ant test
61
62 If you're using Mac OS X, you may need to tell ant to use more memory, by
63 typing export ANT_OPTS=-Xmx500M beforehand (you can put this in your .profile).
64
65
66 Compiling during development:
67
68 Compiling optimized versions from scratch takes a _long_ time. There are
69 several ways to make it faster during development and also add useful
70 debug stack traces and enable the commandline debugger (at the expense
71 of a much larger swf file.. but we're developing so that doesn't matter!).
72
73 * fcsh
74   - launches the Flex Compiler SHell -- stops the compiler having to
75     bootstrap itself each time you invoke it. You don't /need/ this, but it
76     does make things slightly faster (about a second a shot for me)
77
78 * mxmlc -load-config+=debug-config.xml potlatch2.mxml
79   - compile potlatch2 in debug configuration -- build is incremental so you
80     can run it again and mxmlc will only compile changes. Output has debug
81     enabled along with decent stack traces.
82     (you can substitute halcyon_viewer.as in the above to compile that)
83
84 * compile 1 
85   - when using fcsh recompile the first command
86
87 * compile 1
88   - type it again to compile again. You'll really wish that up-arrow,enter 
89     worked, but Adobe is laughing at you RIGHT NOW.
90
91 * rlwrap
92   - if you have it on your system (e.g. linux), rlwrap is a godsend. Launch
93     fcsh with 'rlwrap path/to/fcsh' and up arrows will work, even persistantly
94     across one fcsh session to the next.
95
96 Running:
97
98 * Flash security model sucks. If you want to use internet resource (e.g. map calls to the dev
99   server) the binary must have been served from "teh internets". Run resources/server.rb to launch a local 
100   server, then go to http://localhost:3333/potlatch2.html to get started (or if you're already running e.g. 
101   Apache locally, feel free to use that instead.)
102   
103   Alternatively, you can update your global Flash security settings to "always trust files" in your local dev area:
104   http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html
105   Then you can run the swf file directly.
106   
107 * If you are doing offline development, you will need a rails_port install. You 
108   will need to add an OAuth application by going to 
109   http://rails-port.local/user/<username>/oauth_clients/new
110   Enter the following details (assuming the above point):
111   * Name (Required): Potlatch2 (local)
112   * Main Application URL (Required): http://localhost:3333/resources/potlatch2.html
113   And then update resources/potlatch2.html replacing the domains.
114
115 === Some other stuff you might need to know ===
116
117 * Flex compiler runs at about the speed of a tortoise soaked in molasses which happens also to be dead.
118 * Running the debug player helps when coding, since it'll pop up the runtime errors. You don't see them
119   with the normal player.
120   
121 Richard Fairhurst
122 richard@systemeD.net
123
124 Dave Stubbs
125 osm@randomjunk.co.uk
126