function generate_board_page(that, board_id){
    /* Generate the board page */

    // Gets the node of board page
    var bp_node = that.nodeById('board_page');

    // Make a serverCall to gets lists and cards related
    // to the board.
    var result = genro.serverCall(
        'get_lists_cards',
        {board_id: board_id}
    );
    // sets the return result to the board datapath
    that.setRelativeData('board', result);

    var res_asDict = result.asDict(true);

    for (var k in res_asDict){
        var list_wrapper = bp_node._('div', {_class:'list-wrapper'});
        // name of the list
        var list_div = list_wrapper._('div', {_class: 'gen-list'})
        list_div._('h3', {innerHTML: '^.' + k + '?list_name'});

         // create a ul for the cards
        var list_cards = list_div._('div', {
            _class: 'list-cards',
            dropTarget: true, dropTypes:'*',
        });
        var cards = res_asDict[k];
        for (var c in cards){
            var card =list_cards._('div', {
                _class: 'list-card', draggable: true,
            });
            card._('div', {
                innerHTML: '^.' + k + '.' + c + '.name',
                _class: 'list-card-label'
            });

        }
    }

    // Once done with the rendering change the page
    that.setRelativeData('page_selected', 1);
}

@@ -808,32 +808,51 @@
 _div._('div', %7B%0A
+            id: k,%0A
             _cla
@@ -861,32 +861,32 @@
 : 'list-cards',%0A
-
             drop
@@ -918,32 +918,33 @@
 *',%0A        %7D);%0A
+%0A
         var card
@@ -1028,32 +1028,55 @@
 ards._('div', %7B%0A
+                id: c,%0A
                 
@@ -1113,16 +1113,286 @@
 : true,%0A
+                onDrag: function(dragValues, dragInfo, treeItem)%7B%0A                    var domNode = dragInfo.domnode;%0A                    dragValues%5B'card_pkey'%5D = domNode.id;%0A                    dragValues%5B'source_list_pkey'%5D = domNode.parentNode.id;%0A                %7D%0A
         

Add the onDrag function