CVS edit link for chachasikes

Hello,

I would like to apply for a CVS account. I would like to contribute and maintain a new module. (See below.) Eventually, I would also like to help co-maintain other projects, and contribute documentation.

I work professionally as a Drupal developer. I have read the page about Drupal CVS commands and feel I am ready to become a responsible module contributor. I have friends who do this, so I know how serious this is.

The module I have created is called ListMixer.

* Main page on GitHub: http://github.com/chachasikes/List-Mixer

* A tagged version (submitted with this application): http://github.com/chachasikes/List-Mixer/blob/listmixer-0.5-dev-testvers... (use this or the most recent tag)

______________________

What the module does:

The module allows themer/site configurers to create ajax interaction presets without writing any code, and without creating forms. The interactions are applied to rendered Drupal pages.

The module is ideal for Drupal sites with a lot of content (archives, collections) that requires shuffling, sorting, and remixing content into many little lists.

What is unique is that the module builds all the ajax calls for the user, and acts outside of the edit screens, hooking into any markup that the user creates with views, content types, blocks, or other methods. This allows site to be grabbed from one place on a Drupal site and transported somewhere else. (For example, text to a node field, assign a term to a node, save a link as a nodereference.)

How it works:
The site administrator creates interaction settings which describe what the interaction should be, and which CSS selectors will receive interactive elements. This allows users to (relatively easily) create interactions based on rendered Drupal content.

Requirements:
*Javascript
*jquery_ui
*Demos require: features, cck, views, imagecache, imageapi, imagefield, filefield, etc

Helpful:
*To create the settings, one should be familiar with finding css selectors.
*Firebug is a helpful tool for this.
*The module does require some thought about what you would like to achieve with your interaction.
*You will probably need to set up special views and content types to hold your interactions, and populate your site with content for testing. So you should be familiar with CCK, Views, and content editing.

Demos:
There is a 'demos' folder which will contain instructions and links to screencasts, once the module is finalized. The screencasts and demos show use cases for the module.

Some examples of things that can be done with ListMixer (covered by the demos):
*Make an interactive facebook-style status widget, but apply it to any content type/field/block/view that you want. And make more than one.
*Apply checkboxes to a view, and save selected node ids to another node, which acts as a 'list' or 'set.' (Provides ability to visually make sets or collections. Similar to the Flickr photo collection batch organizer tool.)
*Rearrange field data without visiting a node-edit page. (Convert a node with nodereferences to a sortable interfact, similar to the to-do list feature of Basecamp.)
*Drag select (using jQuery UI) a bunch of nodes, check checkboxes next to taxonomy terms and save all the terms to all the selected nodes at once.) (Sort of like google mail filters)

Some benefits of this method:
*Can create lots of experimental interactions with minimal effort.
*Flexible enough to allow interactive elements to be applied to different html selectors (not just tables or list elements)
*Demos can be created without any coding or themeing, so combined with themeing...truly useable application interfaces could be created.
*Doesn't interfere with normal Drupal content-editing
*ListMixer is entirely Javascript based, and only appears on pages with a specific, admin determined CSS selector.
*You can create a node and then add more content to it from somewhere else.
*If your sites markup or configurations settings change, you can simply edit your preset and your interaction will be relocated. This is useful when designing interactions.
______________________

Status of the module:
I did a good amount of searching to see if I was reinventing the wheel, and came to the conclusion that I was not. There are modules that do parts of what this module does, but definitely not all of it and not as flexibly.

I have also run my code (the latest dev branch) through Coder (with all the buttons checked) and jslint. I believe that there are no security holes because node_save and content permissions control all the data storage, and I have all the text escaped in t() and other stuff like that. I have started writing tests for this module. I have written lots of comments. I believe the module to be in good condition, and intend to commit the cleanest code that I am capable of doing.

Currently, the module is in development, and will be for another few months before I can create a release. But I would like to contribute the module sooner so that there can be a commit history, and collaborate with other Drupal developers who might like to try the module.

There are a few more features I would like to add. Preset exports/cloning, more jQuery UI integration, some general settings, a few more field types, node titles.

I am continuously revising the language on the interface, to make it usable...when I am satisfied I will revise all of the documentations, demos and screencasts to match. (Some of these are out of sync.

I would like to get the demos solid so that I can create really good documentation so that others can use the module more easily. Also, the module is a little abstract, so demos help explain what it does.

I look forward to figuring out how to apply these settings to Drupal 7 fields...should be fun. :)

Thanks for looking at this module, if you need anything else, please let me know.
Sincerely,
Chach Sikes

CommentFileSizeAuthor
#1 chachasikes-List-Mixer-746da1d.tar_.gz598.18 KBchachasikes
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

chachasikes’s picture

Status: Postponed (maintainer needs more info) » Needs review
FileSize
598.18 KB

Attached most recent version (trunk/master)

apaderno’s picture

Issue tags: +Module review
apaderno’s picture

Status: Needs review » Needs work

The archive contains a lot of files that are not part of the module to review. Please remove them.

apaderno’s picture

Status: Needs work » Closed (won't fix)

There have not been replies in the last week. I am marking this application as won't fix.