Skip to content

Commit

Permalink
Merge pull request openwebwork#2489 from drgrice1/WeBWorK-2.19-back-t…
Browse files Browse the repository at this point in the history
…o-develop

We b wor k 2.19 back to develop
  • Loading branch information
drgrice1 authored Aug 6, 2024
2 parents 40f1356 + 5ba7f27 commit 0e92922
Show file tree
Hide file tree
Showing 65 changed files with 11,924 additions and 186 deletions.
10 changes: 2 additions & 8 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ RUN echo Cloning branch $PG_BRANCH branch from $PG_GIT_URL \

# We need to change FROM before setting the ENV variables.

FROM ubuntu:22.04
FROM ubuntu:24.04

ENV WEBWORK_URL=/webwork2 \
WEBWORK_ROOT_URL=http://localhost::8080 \
Expand Down Expand Up @@ -110,8 +110,6 @@ RUN apt-get update \
libjson-perl \
libjson-xs-perl \
liblocale-maketext-lexicon-perl \
libmail-sender-perl \
libmail-sender-perl \
libmariadb-dev \
libmath-random-secure-perl \
libmime-base32-perl \
Expand All @@ -120,6 +118,7 @@ RUN apt-get update \
libminion-perl \
libmodule-build-perl \
libmodule-pluggable-perl \
libmojolicious-perl \
libmojolicious-plugin-renderfile-perl \
libnet-https-nb-perl \
libnet-ip-perl \
Expand Down Expand Up @@ -189,8 +188,6 @@ RUN apt-get update \
RUN cpanm install -n \
Statistics::R::IO \
DBD::MariaDB \
Mojolicious \
Mojo::[email protected] \
Perl::Tidy@20220613 \
Archive::Zip::SimpleZip \
&& rm -fr ./cpanm /root/.cpanm /tmp/*
Expand Down Expand Up @@ -219,7 +216,6 @@ COPY --from=base /opt/base/pg $APP_ROOT/pg
# 7. Apply patches

# Patch files that are applied below
COPY docker-config/imagemagick-allow-pdf-read.patch /tmp
COPY docker-config/pgfsys-dvisvmg-bbox-fix.patch /tmp

RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
Expand All @@ -237,8 +233,6 @@ RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
&& npm install \
&& cd $PG_ROOT/htdocs \
&& npm install \
&& patch -p1 -d / < /tmp/imagemagick-allow-pdf-read.patch \
&& rm /tmp/imagemagick-allow-pdf-read.patch \
&& patch -p1 -d / < /tmp/pgfsys-dvisvmg-bbox-fix.patch \
&& rm /tmp/pgfsys-dvisvmg-bbox-fix.patch

Expand Down
7 changes: 2 additions & 5 deletions DockerfileStage1
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This is the Stage 1 Dockerfile, which builds a base OS image (webwork-base)
# on top of which the WeBWorK parts will be installed by the Stage 2 Dockerfile.

FROM ubuntu:22.04
FROM ubuntu:24.04

# ==================================================================
# Phase 1 - Set base OS image install stage ENV variables
Expand Down Expand Up @@ -72,8 +72,6 @@ RUN apt-get update \
libjson-perl \
libjson-xs-perl \
liblocale-maketext-lexicon-perl \
libmail-sender-perl \
libmail-sender-perl \
libmariadb-dev \
libmath-random-secure-perl \
libmime-base32-perl \
Expand All @@ -82,6 +80,7 @@ RUN apt-get update \
libminion-perl \
libmodule-build-perl \
libmodule-pluggable-perl \
libmojolicious-perl \
libmojolicious-plugin-renderfile-perl \
libnet-https-nb-perl \
libnet-ip-perl \
Expand Down Expand Up @@ -151,8 +150,6 @@ RUN apt-get update \
RUN cpanm install -n \
Statistics::R::IO \
DBD::MariaDB \
Mojolicious \
Mojo::[email protected] \
Perl::Tidy@20220613 \
Archive::Zip::SimpleZip \
&& rm -fr ./cpanm /root/.cpanm /tmp/*
Expand Down
5 changes: 1 addition & 4 deletions DockerfileStage2
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ RUN echo Cloning branch $PG_BRANCH branch from $PG_GIT_URL \

# We need to change FROM before setting the ENV variables.

FROM webwork-base:forWW218
FROM webwork-base:forWW219

ENV WEBWORK_URL=/webwork2 \
WEBWORK_ROOT_URL=http://localhost::8080 \
Expand Down Expand Up @@ -74,7 +74,6 @@ COPY --from=base /opt/base/pg $APP_ROOT/pg
# 7. Apply patches

# Patch files that are applied below
COPY docker-config/imagemagick-allow-pdf-read.patch /tmp
COPY docker-config/pgfsys-dvisvmg-bbox-fix.patch /tmp

RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
Expand All @@ -92,8 +91,6 @@ RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
&& npm install \
&& cd $PG_ROOT/htdocs \
&& npm install \
&& patch -p1 -d / < /tmp/imagemagick-allow-pdf-read.patch \
&& rm /tmp/imagemagick-allow-pdf-read.patch \
&& patch -p1 -d / < /tmp/pgfsys-dvisvmg-bbox-fix.patch \
&& rm /tmp/pgfsys-dvisvmg-bbox-fix.patch

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Online Homework Delivery System
Version 2.*

Copyright 2000-2023, The WeBWorK Project
Copyright 2000-2024, The WeBWorK Project

All rights reserved.

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
Version 2.*
Branch: github.com/openwebwork

https://webwork.maa.org/wiki/Release_notes_for_WeBWorK_2.18
Copyright 2000-2023, The WeBWorK Project
https://webwork.maa.org/wiki/Release_notes_for_WeBWorK_2.19
Copyright 2000-2024, The WeBWorK Project
https://openwebwork.org/
All rights reserved.

Expand Down
4 changes: 2 additions & 2 deletions VERSION
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$WW_VERSION = '2.18+develop';
$WW_COPYRIGHT_YEARS = '1996-2023';
$WW_VERSION = '2.19+develop';
$WW_COPYRIGHT_YEARS = '1996-2024';

1;
2 changes: 1 addition & 1 deletion bin/dev_scripts/update-copyright
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ s{([#%/*]*) WeBWorK Online Homework Delivery System\s*
[ #%/*]* the terms of either: \(a\) the GNU General Public License as published by the\s*
[ #%/*]* Free Software Foundation; either version 2, or \(at your option\) any later\s*
[ #%/*]* version, or \(b\) the "Artistic License" which comes with this package.\s*
[#%/*]*\s*
[ #%/*]*\s*
[ #%/*]* This program is distributed in the hope that it will be useful, but WITHOUT\s*
[ #%/*]* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\s*
[ #%/*]* FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the\s*
Expand Down
26 changes: 25 additions & 1 deletion conf/authen_LTI.conf.dist
Original file line number Diff line number Diff line change
Expand Up @@ -169,19 +169,43 @@ $LTIMassUpdateInterval = 86400; #in seconds
# the tab will not be shown. Note that the default values for the variables that will be shown
# in the LTI tab are the values that are set above. Further note that only the commented out
# variables listed below may be added to the LTI config tab. In addition, only the variables that
# pertain to the active LTI version will be shown in the tab.
# pertain to the active LTI version will be shown in the tab. Warning: Allowing users to modify
# the BasicConsumerSecret for LTI 1.1 or the IDs, URLs, etc for LTI 1.3 can expose the values
# of the variables and allow users to lock themselves out of logging in via an LMS.
@LTIConfigVariables = (
#'LTI{v1p1}{LMS_name}',
#'LTI{v1p3}{LMS_name}',
#'LTI{v1p1}{LMS_url}',
#'LTI{v1p3}{LMS_url}',
#'external_auth',
#'LTIGradeMode',
#'LTIGradeOnSubmit',
#'LTIMassUpdateInterval',
#'LMSManageUserData',
#'LTI{v1p1}{BasicConsumerSecret}',
#'LTI{v1p3}{PlatformID}',
#'LTI{v1p3}{ClientID}',
#'LTI{v1p3}{DeploymentID}',
#'LTI{v1p3}{PublicKeysetURL}',
#'LTI{v1p3}{AccessTokenURL}',
#'LTI{v1p3}{AccessTokenAUD}',
#'LTI{v1p3}{AuthReqURL}',
#'debug_lti_parameters',
#'lms_context_id'
);

# By default only admin users can modify the LTI secrets and lms_context_id. The following
# permissions need to be modified to allow other users the permission to modify the values.
#$permissionLevels{'change_config_LTI{v1p1}{BasicConsumerSecret}'} = "admin",
#$permissionLevels{'change_config_LTI{v1p3}{PlatformID}'} = "admin",
#$permissionLevels{'change_config_LTI{v1p3}{ClientID}'} = "admin",
#$permissionLevels{'change_config_LTI{v1p3}{DeploymentID}'} = "admin",
#$permissionLevels{'change_config_LTI{v1p3}{PublicKeysetURL}'} = "admin",
#$permissionLevels{'change_config_LTI{v1p3}{AccessTokenURL}'} = "admin",
#$permissionLevels{'change_config_LTI{v1p3}{AccessTokenAUD}'} = "admin",
#$permissionLevels{'change_config_LTI{v1p3}{AuthReqURL}'} = "admin",
#$permissionLevels{'change_config_lms_context_id'} = "admin",

# Note that the lms_context_id is actually a database setting. It must be set for a course in
# order for the instructor to utilize LTI content selection. This can also be set in the admin
# course.
Expand Down
21 changes: 20 additions & 1 deletion conf/defaults.config
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,16 @@ include("VERSION"); # get WW version
# Mail Settings
################################################################################

# $generic_sender_name will be used as the "From:" name on all feedback emails
# sent without a defined user.
$generic_sender_name = '';

# The following variables will override the "From:" address in messages sent by
# the named feature.
$feedback_sender_email = ''; # For student feedback
$instructor_sender_email = ''; # For instructors emailing students
$jitar_sender_email = ''; # For notifications of incomplete JiTaR sets

# By default, feedback is sent to all users who have permission to
# receive_feedback in a course. If this list is non-empty, feedback is also sent
# to the addresses specified here.
Expand Down Expand Up @@ -793,6 +803,7 @@ $authen{admin_module} = ['WeBWorK::Authen::Basic_TheLastOption'];
become_student => "professor",
access_instructor_tools => "ta",
score_sets => "professor",
problem_grader => "professor",
send_mail => "professor",
receive_feedback => ['ta', 'professor', 'admin'],

Expand Down Expand Up @@ -873,7 +884,15 @@ $authen{admin_module} = ['WeBWorK::Authen::Basic_TheLastOption'];
# sufficient to change a configuration setting.

#change_config_courseTitle => "admin",
change_config_lms_context_id => "admin",
change_config_lms_context_id => "admin",
'change_config_LTI{v1p1}{BasicConsumerSecret}' => "admin",
'change_config_LTI{v1p3}{PlatformID}' => "admin",
'change_config_LTI{v1p3}{ClientID}' => "admin",
'change_config_LTI{v1p3}{DeploymentID}' => "admin",
'change_config_LTI{v1p3}{PublicKeysetURL}' => "admin",
'change_config_LTI{v1p3}{AccessTokenURL}' => "admin",
'change_config_LTI{v1p3}{AccessTokenAUD}' => "admin",
'change_config_LTI{v1p3}{AuthReqURL}' => "admin",

# Do not confuse the permission to change a configuration permission with
# the actual permission as in the following example. If this us uncommented,
Expand Down
18 changes: 18 additions & 0 deletions conf/localOverrides.conf.dist
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,24 @@
# Additional mail settings in defaults.config can be overridden here
################################################################################

# $generic_sender_name will be used as the "From:" name on all feedback emails
# sent without a defined user.

$generic_sender_name = '';

# The following variables will override the "From:" address in messages sent by
# the named feature.
# When one of these is set, all messages sent by that feature will use the
# supplied email address as the "From:" address, and the address of the relevant
# user will be set as the "Reply-to:" address for the message.
# These may be required if you have provided an SMTP username and password in
# site.conf. They can also be used to improve email verification and avoid
# messages getting filtered as spam.

$feedback_sender_email = ''; # For student feedback
$instructor_sender_email = ''; # For instructors emailing students
$jitar_sender_email = ''; # For notifications of incomplete JiTaR sets

# By default, feedback is sent to all users who have permission to
# receive_feedback in a course. If this list is non-empty, feedback is also sent
# to the addresses specified here.
Expand Down
51 changes: 28 additions & 23 deletions conf/site.conf.dist
Original file line number Diff line number Diff line change
Expand Up @@ -242,26 +242,16 @@ $webwork_courses_dir = "/opt/webwork/courses"; # a typical place to put course d
# The following directives need to be configured in order for your webwork
# server to be able to send mail.

# Mail sent by the PG system and the mail merge and feedback modules will be
# sent via this SMTP server. localhost may work if your server is capable
# of sending email, otherwise type the name of your School's outgoing email
# server.
# Mail sent by the mail merge and feedback modules will be sent via this SMTP
# server. localhost may work if your server is capable of sending email,
# otherwise type the name of your School's outgoing email server.
$mail{smtpServer} = ''; # e.g. 'mail.yourschool.edu' or 'localhost'

# When connecting to the above server, WeBWorK will send this address in the
# MAIL FROM command. This has nothing to do with the "From" address on the mail
# message. It can really be anything, but some mail servers require it contain
# a valid mail domain, or at least be well-formed.
$mail{smtpSender} = ''; # e.g. '[email protected]'
# Be sure to use single quotes for the address or the @ sign will be interpreted as an array.

$mail{set_return_path} = ''; #sets the return_path to the From: field (sender's email address)
# The return path is used to send error messages about bounced emails
# "noreply\@$mail{smtpServer}" discards error messages,
# using $mail{smtpSender} would deliver error messages to that address.
# The default setting should be adjusted for local domain
# Leaving the return path blank triggers the default which results in Return-Path being set to the email of the sender.
#

# Seconds to wait before timing out when connecting to the SMTP server.
# the default is 120 seconds.
Expand All @@ -270,32 +260,47 @@ $mail{set_return_path} = ''; #sets the return_path to the From: field (sender's

$mail{smtpTimeout} = 30;


# TLS is a method for providing secure connections to the smtp server.
# https://en.wikipedia.org/wiki/Transport_Layer_Security
# At some sites coordinating the certificates properly is tricky
# Set this value to 0 to avoid checking certificates.
# Set it to 0 to trouble shoot an inability to verify certificates with the smtp server
# Allowed values: 'starttls', 'ssl', 'maybestarttls', 0
# Values of 'maybestarttls' and 0 are insecure and are not recommended for
# production environments, except where the smtp server is localhost.

$mail{tls_allowed} = 0;

#$tls_allowed=0; #old method -- this variable no longer works.
# Extra settings for SSL/TLS
# You may need to use this setting if your SMTP server uses a self-signed certificate.
# SSL_verify_mode => 0 is not recommended for production environments for security
# reasons. See https://metacpan.org/pod/IO::Socket::SSL#Common-Usage-Errors

#$mail{smtpSSLOptions} = {SSL_verify_mode => 0};

# errors of the form
# unable to establish SMTP connection to smtp-gw.rochester.edu port 465
# indicate that there is a mismatch between the port number and the use of ssl
# use port 25 when ssl is off and use port 465 when ssl is on (tls_allowed=1)
# "unable to establish SMTP connection to smtp-gw.rochester.edu port 465"
# indicate that there may be a mismatch between the port number and the use of ssl.
# Many mail servers use port 25 when ssl is off, use port 465 when ssl is on (tls_allowed='ssl'),
# and use port 587 when starttls is used (tls_allowed='starttls').


# Set the SMTP port manually. Typically this does not need to be done it will use
# port 25 if no SSL is on and 465 if ssl is on
# Set the SMTP port manually. Typically this does not need to be done. It will use
# port 25 if insecure, and 465 if ssl is on

#$mail{smtpPort} = 25;

# Debugging tutorial for sending email using ssl/tls
# https://maulwuff.de/research/ssl-debugging.html

# SMTP Authentication
# If your SMTP server requires authentication you can provide the username and password
# for the account on the mail server.
# If you set these credentials, you may need to define the variables $feedback_sender_email,
# $instructor_sender_email and $jitar_sender_email in localOverrides.conf, as some SMTP
# servers require the "From:" address of outgoing emails to match this username. Setting
# those sender variables will then put the user's email address in the "Reply-to:" field.

#$mail{smtpUsername} = '';
#$mail{smtpPassword} = '';

# Set maxAttachmentSize to the maximum number of megabytes to allow for the size of
# files attached to feedback emails. Note that this should be set to match the
# limitations of the email server chosen above, and should be set to a value greater
Expand Down
Loading

0 comments on commit 0e92922

Please sign in to comment.