I'd like to add a second "Save" button that saves the node as usual, but I can use a module to alter the node
I had to do this with a validate handler instead of a submit handler. I'm not sure of the implications of that but it works.

&lt;?php

function custom_assignment_save_form_alter(&amp;$form, $form_state, $form_id) {
    if ($form_id == "assignment_node_form") {
        $form['secondsubmit'] = array(
        '#type' =&gt; 'submit',
        '#value' =&gt; t('Save Progress'),
        '#weight' =&gt; 100,
        '#validate' =&gt; array('node_form_validate', 'custom_assignment_save_form_validate'),
        '#submit' =&gt; array('node_form_submit'),
      );
    }
}
function custom_assignment_save_form_validate($form, &amp;$form_state) {
    form_set_value($form['field_boolean'], array(LANGUAGE_NONE =&gt; array(0 =&gt; array('value' =&gt; 1))), $form_state);
}


This simply changes a hidden boolean value when the Save Progress submit button is used.