------------------------------------------------------------------------------- Dojo Demos - used on demos.dojotoolkit.org ------------------------------------------------------------------------------- Project state: varies. ------------------------------------------------------------------------------- Project description Demos which show off all of Dojo, potentially including a server-side component. Each demo resides in a sub-directory. Demos should not depend on other demos for code, but may depend on things in the top-level resources directory or in dojo, dijit, dojox, and util namespaces. These demos are not included in releases, and unlike tests inside of Dijit, they may depend on DojoX components or not be fully accessible, etc. Additionally, icons, images, and other resources not licensable for use in the mainline toolkit may be included in the demos/ directory so long as their license status is noted in demo-specific LICENSE files. Server-side components are recommended to be written in PHP 5 and may use the Zend Framework should a MVC framework be required for a particular demo. ------------------------------------------------------------------------------- Dependencies: Dojo Core Dijit DojoX ------------------------------------------------------------------------------- Submission Instructions All these demos follow a simple pattern. Each demo has a "name", which is the name of the folder it lives in. eg: demos/myDemo/ The root demo filename is to be named `demo.html`. It should include a <script> tag pointing to ../../dojo/dojo.js, and a src.js "layer" as a sibling to `demo.html` .Styles should be external and located in a file `demo.css`. A README file (similar to this document) should also be present. The most basic of demos should look like: demos/myDemo/ demo.html demo.css src.js If multiple modules are needed, they should appear in a /src/ folder, making src.js a rollup, only requiring other modules. demos/myDemo/ src.js src/ Module.js Proper dojo.provide calls for the src.js and Module.js files should be issued: dojo.provide("demos.myDemo.src.Module"); About the README The README format is a slightly-fragile custom format, which follows the same design as this one. The second and last lines are parsed off for meta information. Line 2 should be a hyphen separated description: 1. -------------------------------------------------- 2. Short Title - Longer Description about the purpose 3. -------------------------------------------------- The last line should be made up of @tag:value pairs. These tags can be arbitrary, and some go unused (though may be implemented at a later date). The most important tag is @rank, providing a way to weight the demo in the index at http://demos.dojotoolkit.org @rank:-999 will mark the demo as experimental, and not complete. @rank:15 will give a +15 ranking to the demo, adjusting the index. The higher the value, the higher in the list it will appear. Additional Resources The thumbnail that appears in the demo index can be placed in: demos/resources/images/myDemo.png Providing a 128x128 png icon bumps the rank value slightly. Building the Demos Each demo should add itself to the profiles/ folder in the util repository: util/buildscripts/profiles/demos-all.profile.js Each demo should create a layer making src.js the layer target, dependent on demos.myDemo.src. This way, each demo has 100% of the require resources available in the rollup layer and requires no work to shift between built and unbuilt states. Create the tree by running a build: ./build.sh action=release profile=demos-all cssOptimize=comments.keepLines version=1.x.x ------------------------------------------------------------------------------- @rank:-999