Dojo .next

Proposal for dojo 1.5 and beyond

Port to Wordpress

With the site refresh we’ve been able to better explain what dojo is and make it easier to navigate however we haven’t made it easier for our team to contribute. Our API docs and reference guide are generated and created in such a way that it discourages our team from documenting our code which is the single biggest complaint we hear from potential users.

With the switchover we also lost some good content. Well we didn’t lose it, it’s still there at o.dojotoolkit.org however the idea was that as we found things we’d port them to the new site and setup a redirect. However the way things are, there’s no easy process in place to do this so we just live with now having THREE reference sites. DTK, Dojo Campus, o.dojotoolkit.org and heck make it four with the SitePen blog. It’s confusing. We have to make it easy for members of the team to create new pages when we find important pages that have to be ported over.

As to why we’d use Wordpress… a lot of us have worked with it, it has a huge contributor base, it’s written in PHP which most of us have used and it centralizes our efforts in a very straightforward way. Also with 3.0 comes a lot of new features that makes things easier (like custom fields that save metadata for templates) and new caching mechanisms which make them a lot more MySQL friendly.

Page Templates

Currently even if someone wanted to contribute it requires a lot of effort and custom CSS etc to do so. When using Wordpress we can easily create several different page types which make creating new pages easier and faster. We will of course have to designate who can create pages and push them live but we should be able to control permissions so that people can create and save and one of a few people can push it live.

Updating for 1.5

For 1.5 we want to begin to push the idea that dojo is a fast and flexible toolkit that does a lot of great stuff right out of the box. The perception however is that we are this huge megaproject full of ‘bloat’. This is just marketing obviously. So we need to address this better than we are doing now. (We are doing better however than we were a year ago). So our main focus should be to explain that dojo base is this awesome thing and show what it can do and how easy it is to get on your page (CDN or download).

Extend

Much like the wordpress project has done, we want a small flexible toolkit that can be extended with plugins to do anything the user needs. We currently have our widget set Dijit but the perception is that this is THE widget set and there can be no others…. except stuff that’s in dojox which people aren’t sure if these things will migrate over to dijit eventually or not and it’s not clear what the actual status of stuff in dojox is. So Dijit will begin to be sold as a separate widget set. It’s the official dojo widget set but it’s its own project with its own release cycle. Dijit will be given its own section in Extend which extolls the virtues of Dijit and links to examples and usages etc.

DojoX will also move to Extend with each project listed as its own thing (as best as we can). Basically these are official dojo project plugins which is why they get the dojoX namespace (we’ll brand this as dojoXtend or something). This will again be marketing rather than an actual architecture shift at the moment. And as is the case now, dojox can be downloaded in full as well as in part.

Dojo Core may also make sense to have as an extension, we can discuss how this would go down.

Release 1.5

This would all need to happen before we release 1.5. So who would do the work to port the current site and reference docs? I will and if anyone wants to help they are more than welcome to. We’ll work on a testbed off of Wordpress 3.0 (RC or Final)

Dojo .next

Going forward Dijit would be free to have their own release cycle separate from dojo base as would any dojox project. We will begin work on the community section where others can post their code. We’ll look at mooforge or other tools to make this easier. We don’t want to build the software to make this happen. Each community plugin would live in github and the install process would be to either download a zip or just git clone the plugin into your tree.

Much like how wordpress handles plugins we’d have a way to let users know what version of dojo the plugin is compatible with. (See wordpress extend > Plugins).

Summing Up

We want to be a toolkit project not a toolkit plus a software development team. While it’s true we can build almost anything it’s faster for us to use off the shelf tools that solve our needs and help us get our message out faster. Our biggest battle right now is not technical but informational. We aren’t spreading the message properly and I believe that this proposal will make it much easier and faster to make changes, update content and spread the message of dojo properly. I believe that within a year dojo’s marketshare can double by making these changes. Once we pick up steam and show that we are a great toolkit for building webapps with people will take us seriously instead of look at us as bloated, undocumented has beens.

Leave a Reply