Welcome, guest ( Login )

WikiHome » InProgressProjects » Annoyances

Annoyances

Version 6, changed by dylan 07/19/2006.   Show version history

Some things that are annoying about Dojo:

Paths (and external modules)

In general, the way we deal with paths is rather annoying and frustrating, especially in the context of showing someone how to create their own widgets. Specifically, because template paths are frequently different between the context of dojo (often in the context of webroot), and ant (file system), this often leads to difficulty in setting things up. We also still have issues about where template html and css files live.

Widget namespace inconsistency

Resolved Building on top of the last point, we have some real annoying inconsistencies in where widgets live. Really almost no effort has truly been made to decouple html specific widget code from code that can be used in other namespaces. More troubling is the very inconsistent determination of whether widgets live inside widget/ or inside widget/html/ . It's really fun demoing demo and not remembering where a widget lives.

Sharing of widget-esque functionality across widgets

In general, we need a better way to encourage decoupling reusable behavior and utility classes across widgets. This has become apparent in several places. Recently, in the html refactor discussion around the code used for keybaord handling and screen placement for menus, combo boxes, etc. In the past, for date and time utility functions in the context of date and time pickers.

CSS Interning

In general, css interning to me is not a real viable production solution. We need an easy way to copy all css rules into a single css file, and disable css interning based on a djConfig property. We also need a way to have markup template interning work, but css interning be disabled. This needs to be settable both for dojo, and for ant.

Build process when creating multiple builds, and render-specific builds

Resolved (see below) Because dojo always builds in dojo/release/dojo, builds always override the preivous build. This is suboptimal if you use one instance of dojo for multiple projects. Also, we don't have a good way to build multiple versions of dojo for the same profile... for example, it makes sense to me that you would want to strip out svg stuff and firebug stuff for an IE build.

jburke: This has been partially fixed already: you can build different builds in directories other than dojo/release/dojo, by specifying a "releaseName" parameter to build.xml. The following will create a dojo/release/myajax directory for the build:

ant -Dprofile=ajax -DreleaseName=myajax release

To clean, use the same releaseName property:

ant -DreleaseName=myajax clean

Patches

We don't currently have a good policy in place to make sure that all patches people send in (through trac or elsewhere) are getting addressed.

Attachments (0)

  File By Size Attached Ver.