Difference between revisions of "JBrowseDev/Upcoming"

From GMOD
Jump to: navigation, search
m (Guidelines: rewording)
m (Guidelines: small rewording)
Line 5: Line 5:
 
'''1. Describe how you've changed the functionality of JBrowse from a user's perspective.''' Assume that your readers already have a basic understanding of how to use JBrowse.
 
'''1. Describe how you've changed the functionality of JBrowse from a user's perspective.''' Assume that your readers already have a basic understanding of how to use JBrowse.
  
'''2. Provide a link to the repository with your code.''' If the code is unfinished, please indicate this in some way.  
+
'''2. Provide a link to the repository with your code.''' If the code is unfinished, please indicate this in some way.
  
'''3. Keep track of which edits have been moved to the current documentation.''' When documentation is copied over to [[JBrowseDev/Current]], remove the articles that no longer belong in this section.
+
'''3. Keep track of which edits have been moved to the current documentation.''' When documentation is copied over to [[JBrowseDev/Current]], remove the notes that no longer belong in this section.
  
 
=Changes Since the Latest Version (JBrowse 1.2.1)=
 
=Changes Since the Latest Version (JBrowse 1.2.1)=

Revision as of 17:56, 1 August 2011

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. Assume that your readers already have a basic understanding of how to use JBrowse.

2. Provide a link to the repository with your code. If the code is unfinished, please indicate this in some way.

3. Keep track of which edits have been moved to the current documentation. When documentation is copied over to JBrowseDev/Current, remove the notes that no longer belong in this section.

Changes Since the Latest Version (JBrowse 1.2.1)

Structured Track List

In the JBrowse client, hidden tracks are currently represented in a simple list format, as demonstrated in Media:JBrowseUI.png. This format is fine when there are a small number of tracks, but it cannot be used to efficiently manage large numbers of tracks. To make management of large numbers of tracks easier, a structured track list has been implemented. This tool makes it possible to organize tracks in a tree structure.

Notes

The JBrowse client is implemented using using the Dojo Toolkit. The dojo files included in JBrowse are located in the jslib directory. The files are created through the following build process:

First, download the Dojo Toolkit. Be sure to select the source release (Dojo ToolKit SDK).

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