Regarding your question #2:
I am only testing LTI myself, but I see in authen_LTI.conf that there are settings to automatically "extend due dates based off the number of problems students have to do":
#$LTI_modify_user_set = sub {
# # The self object from LTIAdvanced.pm
# my $self = shift;
# my $globalSet = shift;
# # The userSet object to be modified
# my $userSet = shift;
# my $numberOfSetsAssigned = $self->{numberOfSetsAssigned};
# my $daysPerSetMakeup = 2;
# my $reasonableNumberOfDays = $numberOfSetsAssigned*$daysPerSetMakeup +1;
# if ($reasonableNumberOfDays < 2) {$reasonableNumberOfDays = 2;}
# my $niceDueTime = $globalSet->due_date + $reasonableNumberOfDays*86400;
# my $niceAnswerTime = $niceDueTime + 600;
# $userSet->due_date($niceDueTime);
# $userSet->answer_date($niceAnswerTime);
#};
Maybe one can write a subroutine to extend the due date based on when the student account is created.
Andras