01/26/2009

What's new and cool with Dojomino

Category  
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

There are 3 new items in Dojomino that really rock. First, the FormBuilder widget automatically converts the entire form at runtime to widgets, while also replacing the default ActionBar with dijit buttons. Of course, you can go in and modify inidividual fields on every form if you want, but the FormBuilder certainly simplifies life.

The second big item is dojomino.ui.DominoUI. This is a widget (borrowed directly from the Ext.nd guys) that simplifies the initial setup of an application. With a few lines of code, it will setup a page with a dojomino.dijit.NotesOutline in a left-side pane and a dojomino.dijit.NotesView2 in a right-hand pane.

The third item is a PickList that can be used programmatically just like DialogBox in the Notes client. Look for documentation on all these items soon in the Dojomino Wiki.

01/26/2009

Dojomino 1.2.2_1 now available

Category  
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Dojomino 1.2.2_1 is now available in the Downloads section. The .zip file includes all the dojo 1.2.2 resources along with the latest Dojomino code. In addition, this release includes a custom build of Dojomino which means that, just like referencing the dojo.js file, you can also include a script tag for dojomino.js which will include all the Dojomino resources in the one .js file. Demo examples will follow shortly, along with the presentation databases from Lotusphere.

A Dojomino Wiki has also been started. It's brand new, so there's not much there today. We'll contribute something new there every day until we've got all the widget API's covered.

01/16/2009

Anyone need rooms at the Dolphin? I've got 2 available

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

On the plane getting ready to take off for Orlando. I've got 2 rooms that are booked at the low conference rate, from Sat through Fri morning. Departure date can change, not sure about arrival. If you want them please send me a note at lance.spellman@workflowstudios.com, or respond here. Thx.

11/09/2008

En route (Meiten Sei?) to Developer2008 in Amsterdam

Category  
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

I've now had a chance to experience Heathrow's Terminal 5, if in a limited fashion, and it's quite nice. I did hear a fellow BA frequent flyer grumbling about the lack of "private lounges" he expected to be able to luxuriate in during his layover. Oh well. Me, I brought all my luggage on the plane thank you because, A) Terminal 5 did once have a baggage reputation, and B) I know that Francie Whitlock-Tanner is at least within a 1,000 miles of me and could be travelling today. Take no chances when Francie's travelling in the vicinity. I mean look at poor Cuba. The travel gods know she's out and about and they brew up the largest November hurricane on record and throw it down in her general vicinity. Anyway, I have a few sessions at Developer2008, to whit:
  • Key Programmability, Security, and Language Enhancements (a Paul Calhoun session)
  • Building Domino Web Superviews with AJAX and JSON (notice all the high impact jargon words)
  • Improving the Experience of your Web Applications using Open Source Web Toolkits for Domino (read as Dojomino and Ext.nd)
  • Powering up the New Notes Client using Lotus Expeditor (an Expeditor core-technology session)
  • Building Plugins for the Notes Client Sidebar
  • Leverage AJAX with Dojo for Killer UIs in your Domino Web Applications (a Dojo-specific web session)
  • Developing NSF/DB2 Based Applications on the Domino 8 server
If you're in Amsterdam, please don't hesitate to stop me and say Hi!

11/05/2008

Ask Dojomino Sensei: How do I replace the first element in my HTML body with Dojo?

Category    
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Welcome to a new segment in the Dojomino blog, "Ask Dojomino Sensei". Our team has lots of questions we have to resolve for ourselves on a daily basis around the dojo toolkit, so we thought it'd be nice to start distributing that information here and give you a chance to pose questions too.

Today's topic: How do I replace the first element in my HTML body with Dojo?

This topic comes up when we think about our recent blog post about replacing Domino's default action bar with one that has dijit.form.Buttons. To do that, we know that Domino will produce the action bar as the first element in the body, a table. We'll need to grab that element, get what we need from it, and ultimately in our case, build a replacement for it and throw out the original table. To do that we're going to make use of dojo.body(), dojo.query(), and dojo.place().

11/05/2008

Screenshot example of simple form rendering

Category   
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Chris Mitchell asked for some screenshots. I'll do the view ones later in the week, but here's a couple of before and afters for a simple form.

Here's a really simple form with 1 button in the action bar and 1 date field on it. If we let Domino handle it, we get the action bar table where the Edit button is an a href (ugly), and then a HR under the action bar. In the after shot, we've killed the action bar table, replaced it with a div with a simple blue background (comes from stylesheet, so you control it), and replaced the a href with a dijit.form.Button. In this case, the button just inherits the code that the a href would have performed.

read mode beforeread mode after
Read mode - beforeRead mode - after

For edit mode, read more...

11/05/2008

Automated conversion/rendering of Notes forms to Web added in Dojomino 1.2

Category   
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

While working on a customer project (converting 26 dbs from Notes client to Web), we have the ability to just add dojoType= to our Notes fields to convert them to Dojo dijits for the web, but decided it would be really nice if the "conversion" occurred in a more automated fashion. To that end, we built a routine that handles it at runtime and added it to the Dojomino 1.2 library (coming soon). It works like this:

  • In Designer, add a single subform to the original form with a custom $$HTMLHead that loads Dojo, Dojomino, and the DojominoFormBuilder script
  • Optionally, add a .js library file for "web way" of processing action buttons and Dijit field validations.
  • At runtime, Domino renders the document in read mode, edit mode, or OpenForm
  • The DojominoFormBuilder script runs, converts the action bar to a Dijit button based Action bar, and links the buttons to new javascript functions that we asked the developer to write for the actions. If the scripts don't exist, it executes the original actions the Notes buttons were coded to perform.
  • The DojominoFormBuilder gets the design of the form from the server as a JSON object, and then goes through the page and converts every field into a Dojo dijit. Again, if the developer has provided new field validations in a script file, we link those in and use them as well

So, all in all, a fairly unobtrusive and gracefully degrading approach. If the browser doesn't support javascript, the document renders as it always has. If the developer hasn't coded new javascript actions for the buttons, no problem, we use what was there before. If the developer hasn't provided new field validations, no problem, we'll still let Domino catch it on the backend and do its thing. As for the form fields, what gets re-rendered?

  • text fields
  • date fields
  • number fields
  • dialog list fields
  • combobox fields
  • names fields
  • RichText fields
  • checkbox fields
  • radiobutton fields

We've got most of it covered with the exception of Rich Text Lite and attachments, and we'll look into those before it's all said and done. I'll write more on this in the coming weeks as we release Dojomino 1.2

11/05/2008

Dojo 1.2 database added to downloads section

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

We've created a new download for you, the Dojo 1.2 database. It contains the Dojo 1.2 gold files in the Resources section. If you want to play with Dojo only, this database will give you all the Dojo code. If you want the Dojomino code as well, you can ignore this download and wait a few days for the Dojomino 1.2 download which will contain the Dojo 1.2 code as well as all of our Dojomino custom code.

11/05/2008

So what's happened with Dojomino? A new release is coming!

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

It's been awhile since I've written, but I'm pleased to announce that a lot of work has been going on to release Dojomino 1.2 which maps to the recent Dojo 1.2 release. Our target release date is Nov 1, so it's right around the corner. In the interim, we'll put up a dojo12.nsf database that contains all the dojo code for 1.2. On the weekend of Oct 18th, we'll put up a release candidate for Dojomino 1.2, and then push right on to the Nov 1 release.

What's going to be new for Dojomino 1.2? The most important update is a redesign of the View widget. With Dojo 1.2, there is a refactored dojox.grid.DataGrid widget that does away with the sructure/model/store paradigm and simplifies it to structure/store. Along with some refactoring of dojo.data.QueryReadStore, this opens the door to much simpler code. Our plans are to leave NotesView as a deprecated 1.0 widget, and to move on to NotesView2 which has the dojo 1.2 Grid at its heart. However, rather than just extending dojox.grid.DataGrid, we've taken a different approach, and are instead extending dijit.layout.BorderContainer. With the BorderContainer, we can define regions for the top, center, and bottom of the widget. In the top region, we'll put the Action Bar and Search Bar for the view. In the center, a modified 1.2 grid, and in the bottom region is a status bar.

NotesView2 provides the following features:

  • Categorization support
  • Action Bar support
  • Type ahead
  • scrolling
  • Search
As we build to this release, I'll blog about each of the widgets in the new release.

05/16/2008

Date Picker with Calendar Icon

Category   
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Thanks to Scott's comment on our original Date Picker demo which stated that the principle of affordance means that a Date Picker field should have a visible cue that the field is clickable, we decided that we needed to improve on the basic Date Picker provided by Dojo.

So here's a demo of the Dojomino Date Picker which does just that. An entry has also been added to our Demo database. We've also detailed how we customized the widget on the demo page itself if you want to know what was done.

So thanks for the suggestion Scott and enjoy.

Documentation

Tutorials

Dojo Blogs

TripIt

RSS