JBrowseDev/Upcoming

From GMOD
Revision as of 18:56, 29 July 2011 by RSCummings (Talk | contribs)

Jump to: navigation, search

This is a space for notes about unreleased JBrowse developments. Developers are encouraged to document their code on this wiki page as they are writing it. This will not only provide a means for review, it will also considerably simplify the process of updating the current documentation when there is a new JBrowse release.

Guidelines

1. Describe how you've changed the functionality of JBrowse from a user's perspective.

When you post documentation for a change, you are encouraged to include the following information:

  • A description of the change. Assume that your readers have a basic understanding of how to use JBrowse.
  • A link to the repository with your code (if you did not commit to the main repository at GitHub).
  • If your documentation or code is unfinished, please indicate this in some way.

2. Keep track of which edits have been moved to the current documentation.

When documentation is copied over to JBrowseDev/Current, housekeep by removing the articles that no longer belong in this section.

Changes Since the Latest Version (JBrowse 1.2.1)

Structured Track List

JBrowse is implemented using using the dojo toolkit [1]. The dojo files included in JBrowse are located in the jslib directory. The files are created through the following build process.


First, download a full, uncompressed source release [2].

Within the release,

   cd util/buildscripts/

create the following file called profile/jbrowse_dojo.js.profile.js. This is the file which specifies what bundles should go into the compressed build ( will be created as ../../release/dojo/dijit/jbrowse_dojo.js). The dependencies match the dojo.require statements from the JBrowse JavaScript files.

   dependencies = {
       layers: [
               {
                       // This is a specially named layer, literally 'dojo.js'
                       // adding dependencies to this layer will include the modules
                       // in addition to the standard dojo.js base APIs.
                       name: "jbrowse_dojo.js",
                       dependencies: [
                               "dojo.dnd.Source",
                               "dojo.dnd.Moveable",
                               "dojo.dnd.Mover",
                               "dojo.dnd.move",
                               "dijit.layout.ContentPane",
                               "dijit.layout.BorderContainer",
                               "dojo.data.ItemFileWriteStore",
                               "dijit.tree.ForestStoreModel",
                               "dijit.tree.dndSource",
                               "dojo.cache",
                               "dijit.Tree",
                               "dijit.form.TextBox",
                               "dijit.form.Button",
                               "dijit.form.TabContainer"
                       ]
               }
       ],
       prefixes: [
               [ "dijit", "../dijit" ],
       ]
   }

Then run the following to create the build.

   ./build.sh profile=jbrowse_dojo action=release optimize=shrinksafe.keepLines layerOptimize=shrinksafe.keepLines

The release that was just created is found in ../../release/dojo. The required files should then be copied over to JBrowse's jslib directory.

Note: dijit/themes/tundra/tundra.css has been modified so cannot simply be copied over. Also dojo/jbrowse_dojo.js requires a few small changes to remove the default icons from the dijit.Tree. All other files haven't been modified.

Repository: https://github.com/nsfox/jbrowse

See also

JBrowseDev/Main