Skip to content

Software Development News: .NET, Java, PHP, Ruby, Agile, Databases, SOA, JavaScript, Open Source

Methods & Tools

Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!

The Dojo Toolkit - Announcements
Syndicate content
Unbeatable JavaScript Tools
Updated: 3 hours 46 min ago

Autumn 2014 Dojo events

Fri, 08/29/2014 - 12:45

There are a number of Dojo events this autumn. We hope to meet you at one of these events:

Dojo Community Day Meetups
  • Intern 2. October 9, Nick Nisi, SitePen. London, UK. Free registration required.
  • Intern 2. October 16, Dylan Schiemann, SitePen. Boston, MA. Free registration required
  • EdgeConf. September 20, Dylan Schiemann, SitePen. San Francisco. Paid registration required.
  • FullStack. October 23-24, Dylan Schiemann, SitePen. London, UK. Paid registration required
Training Workshops

Let us know if you’re speaking at an event, and we’ll add you to our listings!

Categories: Open Source, RIA

Dojo community day Switzerland

Mon, 08/18/2014 - 22:18

We recently hosted a Dojo Community Day in Brugg, Switzerland on the Saturday following a week of Dojo workshops. We had about 25 Dojo users and committers join us from England, France, Netherlands, Germany, Romania, Austria, and Switzerland for a fun day of hacking and discussions about current and future directions of Dojo.



We began the day by welcoming the group at the modern university in Brugg/Windisch and, thanks to SitePen, we had Dojo t-shirts and stickers for everyone. After some initial time to socialize and get everyone situated with wifi, I delivered a short talk on the current state of Dojo, and answered questions about the direction of Dojo. We discussed the idea that getting to Dojo 2 would mean completing the packages incrementally that we need, making them work with today’s Dojo 1.x core so people can start adopting them as they are ready, and then calling that Dojo 2 when they are all completed. For example, Intern and dstore are big parts of the Dojo 2 roadmap.

After my talk, Patrick Ruzand of IBM gave a short overview of recent changes to Dojo Mobile in 1.10, and answered a few questions about Delite/Deliteful, IBM’s early work on Dijit 2.0.

Patrick Ruzand

The purpose of the community day was then a mix of hacking and chatting. We split the room into groups based on interest, with the categories chosen as fixing bugs in 1.x, getting involved with Delite/Deliteful, and fixing documentation and tests. We landed a few pull requests from the day and closed some bugs. More importantly, we hopefully have encouraged more people to get involved and helped them understand the process a bit better.

Dojo hacking

Dojo hacking

Around lunch time, we walked to the Havanna restaurant near the river that agreed to provide wifi and a space to hack for the afternoon. We enjoyed Swiss/German food such as wienerschnitzel, while others enjoyed the Swiss take on Mexican food like fajitas and tacos. We continued talking about may different Dojo topics, and then spent a few more hours hacking on Dojo.

Dojo lunch Brugg

Dojo lunch Brugg

The main challenge with days like this is that there is never enough time. It was great meeting so many Dojo users, and catching up with several Dojo committers. We hope to run similar events later this year after other SitePen Dojo workshops.

Categories: Open Source, RIA

Case study: HPCC Systems

Thu, 07/31/2014 - 08:01

The large companies that use Dojo are widely known. This series features lesser known users of Dojo, and their stories. This time, we interview Gordon Smith from HPCC Systems, a subsidiary of LexisNexis RISK Solutions.

Q: How did you first learn about Dojo?

A: Through Google / Stack Overflow. I suspect my “discovery” of Dojo was a bit different to the norm, as prior to 2013 I had never really done any Web Development. Up until then I was predominantly a C++ Developer, some Java and a smattering of C#. Initially I wanted to knock together a single page proof of concept, consisting of a code editor (CodeMirror), a result view (HTML Table) and an “activity graph” (ActiveX Control) and wanted something that would handle the layout, resizing and ideally something with splitters – after a few searches online I found the Border Container Docs and away I went! Shortly after, I added a Tab Container and switched to using the basic Grid.

ECL Playground

ECL Playground – How the original POC Looks today

Q: Why did you choose Dojo?

A: After the initial success of the proof of concept, we took stock of our existing web application and decided that a rewrite would be in order, at this stage I did stop and take a longer look at what was available and quickly came to the conclusion that it would be jQuery or Dojo. Dojo won out for a number of reasons, chief of which was how the core libraries had been architected, as well as their attention to “core” details, like AMD, OOP, localization and accessibility. I was also satisfied that we could use Dijit for the App layout and common widgets, while being able to drop in any other “best of breed” page elements as needed.

Q: Were you previously using another toolkit?

A: We had been using XSLT to generate our pages and a small amount of YUI for some of the newer work.

EPC Before


EPC After


Q: What does your application or service do?

A: The HPCC Platform (High Performance Computing Cluster) is a massive parallel-processing computing platform that solves Big Data problems. It has been in development for more than thirteen years and was open sourced just over three years ago now. We call the web application “ECL Watch” (ECL is our declarative data processing language), and it allows the user to:

  • Submit, Monitor and Manage ECL jobs.
  • Load, unload and manage raw and processed data (files).
  • General configuration and operational management.
ECL Workunit

A single ECL “Workunit” making heavy use of the TabContainer

Q: How does your application use Dojo?
  • A: It uses AMD and Declare to enforce well organized and encapsulated coding.
  • Our platform primarily uses SOAP/JSON/REST style messaging, so we make heavy use of Request, Deferred and Stores.
  • Dijit Layouts – The Border Container and Tab Container are always at the foundation of any new Widget/Page we write.
  • Dijit Widgets – Both the usage of the built in widgets as well as the framework for extending and writing out own widgets – every visual page we design is done as a “plugable” widget, and as such can be opened in different parts of the Web Application as well as in a separate browser window (very useful for emailing links to colleagues).
  • The rest – it’s hard to list specific items here as we pretty much use it all… dojo/topic and /dojo/aspect would get honourable mentions as they have allowed some elegant solutions to some tricky design challenges we faced. dojo/aspect helped workaround some ActiveX/NPAPI browser specific inconsistencies, by intercepting and altering specific DOM Class changes to widgets (all within a single function). While dojo/topic (along with dojo/Stateful / dojo/store.notify) helped ensure there was no assumption about what sets of widgets were loaded at any given time and keeping all related widgets in sync.
Q: Overall what is your user experience with Dojo?

A: On the whole it has been a very positive experience, it does have a moderate to steep learning curve, but no harder than any other “significant” framework. As I switch to/from my C++/Java work, it is interesting that I seem to miss more of the patterns I have learnt while using Dojo than the other way around. I suspect I will be implementing a variant of the Deferred/promise pattern in the near future!

Q: What’s your favorite thing about Dojo?

A: The AMD loader and OOP support – Personally I find it all too easy to write hard to maintain code in JavaScript (especially as a novice), but with the AMD/OOP support I was able to continue to “think”, organise and encapsulate in a similar fashion to my C++/Java work.

Q: What are your future plans with Dojo?

A: We still have a small amount of work todo in converting our existing Web App, but once that is done the plan is start optimising the users workflow, this will mean developing new and better interfaces, so lots of Widget work. We have already started to integrate visualisations using d3.js (as widgets) and I hope that Dojo 2.0 (and the new related SitePen work) gets released at a convenient time in our release cycle so we can be early adopters.

ECL Treemap


ECL Landing Zones

Landing zones

ECL Graphs


ECL Visualizations


ECL User Permissions

User permissions

ECL i18n



Thanks Gordon for telling us about your experience with Dojo. If you would like to share your experience with Dojo, please contact us.

Categories: Open Source, RIA