SHINDIG-1056 by lipeng, BasicRemoteContentTest doesn't depend on static private key...
[shindig.git] / features / README
blobd42f21d45970da6e37519c958c0db5596de3f5c5
1 You can automatically include new features into your shindig server by adding
2 them to this directory. Features should exist in a self-contained directory
3 with the following structure:
5 features
6   |_your-feature-name
7    |_feature.xml
8    |_code-to-run-inside-gadget.js
9    |_code-to-run-inside-container.js
11 The structure of feature.xml is as follows:
12 TODO: link to xml schema for feature.xml
14 <?xml version="1.0"?>
15 <feature>
16   <name>your-feature-name (required)</name>
17   <dependency>any dependency you have (optional, may have multiple)</dependency>
18   <gadget> (optional)
19     <script src="code-to-run-inside-gadget.js"/> (optional, may have multiple,
20         may use web resources as well but we strongly encourage bundling your
21         javascript with the xml)
22   </gadget>
23   <container> (optional)
24     <script src="code-to-run-inside-container.js"> (same as for <gadget>)
25   </container>
26 </feature>
28 Please always make sure that all files you provide are encoded as utf8.
30 When adding new features, your javascript should conform to shindig javascript
31 coding conventions. This means that you should not be producing new globals and
32 your feature should be compatible with Caja.
34 When committing a new feature, you should update the features.txt file by
35 running the following script in a unix-like environment:
37 ls -R1a features/**/*.xml > features/features.txt
39 TODO: Instructions for regenerating features.txt for other operating system
40 environments.