diff --git a/.gitignore b/.gitignore index 494d3451c..325a17f22 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ *.DS_Store -render_app.conf +renderer.conf lib/.pls-tmp-* webwork-open-problem-library private diff --git a/Dockerfile b/Dockerfile index 011fc4114..399c0d17d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,7 +51,7 @@ RUN cpanm install Mojo::Base Statistics::R::IO::Rserve Date::Format Future::Asyn COPY . . -RUN cp render_app.conf.dist render_app.conf +RUN cp renderer.conf.dist renderer.conf RUN cp conf/pg_config.yml lib/PG/conf/pg_config.yml @@ -63,4 +63,4 @@ EXPOSE 3000 HEALTHCHECK CMD curl -I localhost:3000/health -CMD hypnotoad -f ./script/render_app +CMD hypnotoad -f ./script/renderer diff --git a/Dockerfile_with_OPL b/Dockerfile_with_OPL index ecde4c5a0..847664d55 100644 --- a/Dockerfile_with_OPL +++ b/Dockerfile_with_OPL @@ -62,7 +62,7 @@ RUN rm -r webwork-open-problem-library-master/ COPY . . -RUN cp render_app.conf.dist render_app.conf +RUN cp renderer.conf.dist renderer.conf RUN cp conf/pg_config.yml lib/PG/conf/pg_config.yml @@ -74,4 +74,4 @@ EXPOSE 3000 HEALTHCHECK CMD curl -I localhost:3000/health -CMD hypnotoad -f ./script/render_app +CMD hypnotoad -f ./script/renderer diff --git a/README.md b/README.md index e8d1b65be..1855586a0 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ A default configuration file is included in the container, but it can be overrid application root. This is necessary if, for example, you want to run the container in `production` mode. ```bash - --mount type=bind,source=/pathToYour/render_app.conf,target=/usr/app/render_app.conf \ + --mount type=bind,source=/pathToYour/renderer.conf,target=/usr/app/renderer.conf \ ``` ## LOCAL INSTALL @@ -48,7 +48,7 @@ If using a local install instead of docker: - Install Perl dependencies listed in Dockerfile (CPANMinus recommended) - clone webwork-open-problem-library into the provided stub ./webwork-open-problem-library - `git clone https://github.com/openwebwork/webwork-open-problem-library ./webwork-open-problem-library` -- copy `render_app.conf.dist` to `render_app.conf` and make any desired modifications +- copy `renderer.conf.dist` to `renderer.conf` and make any desired modifications - copy `conf/pg_config.yml` to `lib/PG/pg_config.yml` and make any desired modifications - install third party JavaScript dependencies - `cd public/` @@ -57,7 +57,7 @@ If using a local install instead of docker: - install PG JavaScript dependencies - `cd lib/PG/htdocs` - `npm ci` -- start the app with `morbo ./script/render_app` or `morbo -l http://localhost:3000 ./script/render_app` if changing +- start the app with `morbo ./script/renderer` or `morbo -l http://localhost:3000 ./script/renderer` if changing root url - access on `localhost:3000` by default or otherwise specified root url @@ -111,12 +111,12 @@ The bare minimum of parameters that must be included are: ### Infrastructure Parameters -The defaults for these parameters are set in `render_app.conf`, but these can be overridden on a per-request basis. +The defaults for these parameters are set in `renderer.conf`, but these can be overridden on a per-request basis. -| Key | Type | Default Value | Description | Notes | -| ------- | ------ | ------------------------------------------- | --------------------------- | ----- | -| baseURL | string | '/' (as set in `render_app.conf`) | the URL for relative paths | | -| formURL | string | '/render-api' (as set in `render_app.conf`) | the URL for form submission | | +| Key | Type | Default Value | Description | Notes | +| ------- | ------ | ----------------------------------------- | --------------------------- | ----- | +| baseURL | string | '/' (as set in `renderer.conf`) | the URL for relative paths | | +| formURL | string | '/render-api' (as set in `renderer.conf`) | the URL for form submission | | ### Display Parameters diff --git a/docs/make_translation_files.md b/docs/make_translation_files.md index 9a6dee21f..d35c9e3bf 100644 --- a/docs/make_translation_files.md +++ b/docs/make_translation_files.md @@ -6,7 +6,7 @@ ```bash cd lib -xgettext.pl -o WeBWorK/Localize/standalone.pot -D PG/lib -D PG/macros -D RenderApp -D WeBWorK RenderApp.pm +xgettext.pl -o WeBWorK/Localize/standalone.pot -D PG/lib -D PG/macros -D Renderer -D WeBWorK Renderer.pm ``` - That creates the POT file of all strings found diff --git a/lib/RenderApp.pm b/lib/Renderer.pm similarity index 91% rename from lib/RenderApp.pm rename to lib/Renderer.pm index d3d11e3c1..b6f13ce0d 100644 --- a/lib/RenderApp.pm +++ b/lib/Renderer.pm @@ -1,4 +1,4 @@ -package RenderApp; +package Renderer; use Mojo::Base 'Mojolicious'; BEGIN { @@ -16,18 +16,17 @@ BEGIN { $ENV{OPL_DIRECTORY} = "$ENV{RENDER_ROOT}/webwork-open-problem-library"; $ENV{MOJO_CONFIG} = - (-r "$ENV{RENDER_ROOT}/render_app.conf") - ? "$ENV{RENDER_ROOT}/render_app.conf" - : "$ENV{RENDER_ROOT}/render_app.conf.dist"; + (-r "$ENV{RENDER_ROOT}/renderer.conf") + ? "$ENV{RENDER_ROOT}/renderer.conf" + : "$ENV{RENDER_ROOT}/renderer.conf.dist"; $ENV{MOJO_LOG_LEVEL} = 'debug'; } use lib "$main::libname"; print "using root directory: $ENV{RENDER_ROOT}\n"; -use RenderApp::Model::Problem; -use RenderApp::Controller::IO; -use WeBWorK::RenderProblem; +use Renderer::Model::Problem; +use Renderer::Controller::IO; use WeBWorK::FormatRenderedProblem; sub startup { @@ -115,15 +114,15 @@ sub startup { } # Models - $self->helper(newProblem => sub { shift; RenderApp::Model::Problem->new(@_) }); + $self->helper(newProblem => sub { shift; Renderer::Model::Problem->new(@_) }); # Helpers $self->helper(format => sub { WeBWorK::FormatRenderedProblem::formatRenderedProblem(@_) }); - $self->helper(validateRequest => sub { RenderApp::Controller::IO::validate(@_) }); - $self->helper(parseRequest => sub { RenderApp::Controller::Render::parseRequest(@_) }); - $self->helper(croak => sub { RenderApp::Controller::Render::croak(@_) }); + $self->helper(validateRequest => sub { Renderer::Controller::IO::validate(@_) }); + $self->helper(parseRequest => sub { Renderer::Controller::Render::parseRequest(@_) }); + $self->helper(croak => sub { Renderer::Controller::Render::croak(@_) }); $self->helper(logID => sub { shift->req->request_id }); - $self->helper(exception => sub { RenderApp::Controller::Render::exception(@_) }); + $self->helper(exception => sub { Renderer(@_) }); # Routes # baseURL sets the root at which the renderer is listening, diff --git a/lib/RenderApp/Controller/IO.pm b/lib/Renderer/Controller/IO.pm similarity index 99% rename from lib/RenderApp/Controller/IO.pm rename to lib/Renderer/Controller/IO.pm index c2ec8b6b3..7fbc510c4 100644 --- a/lib/RenderApp/Controller/IO.pm +++ b/lib/Renderer/Controller/IO.pm @@ -1,4 +1,4 @@ -package RenderApp::Controller::IO; +package Renderer::Controller::IO; use Mojo::Base -async_await; use Mojo::Base 'Mojolicious::Controller'; use File::Spec::Functions qw(splitdir); diff --git a/lib/RenderApp/Controller/Pages.pm b/lib/Renderer/Controller/Pages.pm similarity index 83% rename from lib/RenderApp/Controller/Pages.pm rename to lib/Renderer/Controller/Pages.pm index 1cfec20ba..def557e57 100644 --- a/lib/RenderApp/Controller/Pages.pm +++ b/lib/Renderer/Controller/Pages.pm @@ -1,4 +1,4 @@ -package RenderApp::Controller::Pages; +package Renderer::Controller::Pages; use Mojo::Base 'Mojolicious::Controller'; sub twocolumn { diff --git a/lib/RenderApp/Controller/Render.pm b/lib/Renderer/Controller/Render.pm similarity index 99% rename from lib/RenderApp/Controller/Render.pm rename to lib/Renderer/Controller/Render.pm index bfae768f3..632384e3e 100644 --- a/lib/RenderApp/Controller/Render.pm +++ b/lib/Renderer/Controller/Render.pm @@ -1,4 +1,4 @@ -package RenderApp::Controller::Render; +package Renderer::Controller::Render; use Mojo::Base 'Mojolicious::Controller', -async_await; use Mojo::JSON qw(encode_json decode_json); diff --git a/lib/RenderApp/Controller/StaticFiles.pm b/lib/Renderer/Controller/StaticFiles.pm similarity index 95% rename from lib/RenderApp/Controller/StaticFiles.pm rename to lib/Renderer/Controller/StaticFiles.pm index 7c1149185..347ac626f 100644 --- a/lib/RenderApp/Controller/StaticFiles.pm +++ b/lib/Renderer/Controller/StaticFiles.pm @@ -1,4 +1,4 @@ -package RenderApp::Controller::StaticFiles; +package Renderer::Controller::StaticFiles; use Mojo::Base 'Mojolicious::Controller', -signatures; use Mojo::File qw(path); diff --git a/lib/RenderApp/Model/Problem.pm b/lib/Renderer/Model/Problem.pm similarity index 99% rename from lib/RenderApp/Model/Problem.pm rename to lib/Renderer/Model/Problem.pm index 58b294205..1b1b0ca58 100644 --- a/lib/RenderApp/Model/Problem.pm +++ b/lib/Renderer/Model/Problem.pm @@ -1,4 +1,4 @@ -package RenderApp::Model::Problem; +package Renderer::Model::Problem; use strict; use warnings; diff --git a/lib/WeBWorK/Localize/en.po b/lib/WeBWorK/Localize/en.po index 4a0c31840..3a90db500 100644 --- a/lib/WeBWorK/Localize/en.po +++ b/lib/WeBWorK/Localize/en.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: webwork2\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" -"PO-Revision-Date: 2021-03-09 17:00-0600\n" +"PO-Revision-Date: 2025-06-21 07:36-0700\n" "Last-Translator: \n" "Language: en_US\n" "MIME-Version: 1.0\n" @@ -100,7 +100,7 @@ msgstr "" msgid "Note:" msgstr "" -#: RenderApp/Controller/FormatRenderedProblem.pm:276 +#: Renderer/Controller/FormatRenderedProblem.pm:276 msgid "Preview My Answers" msgstr "" @@ -116,7 +116,7 @@ msgstr "" msgid "Set random seed to:" msgstr "" -#: RenderApp/Controller/FormatRenderedProblem.pm:277 +#: Renderer/Controller/FormatRenderedProblem.pm:277 msgid "Show correct answers" msgstr "" @@ -132,7 +132,7 @@ msgstr "" msgid "Some answers will be graded later." msgstr "" -#: RenderApp/Controller/FormatRenderedProblem.pm:278 +#: Renderer/Controller/FormatRenderedProblem.pm:278 msgid "Submit Answers" msgstr "" @@ -185,11 +185,11 @@ msgid "Your score for this attempt is for this part only;" msgstr "" #. (wwRound(0, $problemResult->{score} * 100) -#: RenderApp/Controller/FormatRenderedProblem.pm:215 +#: Renderer/Controller/FormatRenderedProblem.pm:215 msgid "Your score on this attempt is %1" msgstr "" -#: RenderApp/Controller/FormatRenderedProblem.pm:217 +#: Renderer/Controller/FormatRenderedProblem.pm:217 msgid "Your score was not recorded." msgstr "" diff --git a/lib/WeBWorK/Localize/heb.po b/lib/WeBWorK/Localize/heb.po index 6b18b61e2..95e9f6e20 100644 --- a/lib/WeBWorK/Localize/heb.po +++ b/lib/WeBWorK/Localize/heb.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: webwork2\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" -"PO-Revision-Date: 2021-08-12 17:00+0300\n" +"PO-Revision-Date: 2025-06-21 07:36-0700\n" "Last-Translator: Nathan Wallach\n" "Language: he\n" "MIME-Version: 1.0\n" @@ -102,7 +102,7 @@ msgstr "הודעה" msgid "Note:" msgstr "הערה:" -#: RenderApp/Controller/FormatRenderedProblem.pm:276 +#: Renderer/Controller/FormatRenderedProblem.pm:276 msgid "Preview My Answers" msgstr "צפייה מוקדמת בתשובות שלי" @@ -118,7 +118,7 @@ msgstr "תוצאות של הגשה זו" msgid "Set random seed to:" msgstr "" -#: RenderApp/Controller/FormatRenderedProblem.pm:277 +#: Renderer/Controller/FormatRenderedProblem.pm:277 msgid "Show correct answers" msgstr "הראה תשובות נכונות" @@ -134,7 +134,7 @@ msgstr "פתרון: " msgid "Some answers will be graded later." msgstr "חלק מהתשובות ינוקדו מאוחר יותר." -#: RenderApp/Controller/FormatRenderedProblem.pm:278 +#: Renderer/Controller/FormatRenderedProblem.pm:278 msgid "Submit Answers" msgstr "שלח תשובות לבדיקה" @@ -187,11 +187,11 @@ msgid "Your score for this attempt is for this part only;" msgstr "" #. (wwRound(0, $problemResult->{score} * 100) -#: RenderApp/Controller/FormatRenderedProblem.pm:215 +#: Renderer/Controller/FormatRenderedProblem.pm:215 msgid "Your score on this attempt is %1" msgstr "הציון שלך בהגשה זו הוא %1" -#: RenderApp/Controller/FormatRenderedProblem.pm:217 +#: Renderer/Controller/FormatRenderedProblem.pm:217 msgid "Your score was not recorded." msgstr "הציון שלך לא נשמר." diff --git a/lib/WeBWorK/Localize/standalone.pot b/lib/WeBWorK/Localize/standalone.pot index b5f33b07b..eec2f4fcc 100644 --- a/lib/WeBWorK/Localize/standalone.pot +++ b/lib/WeBWorK/Localize/standalone.pot @@ -97,7 +97,7 @@ msgstr "" msgid "Note:" msgstr "" -#: RenderApp/Controller/FormatRenderedProblem.pm:276 +#: Renderer/Controller/FormatRenderedProblem.pm:276 msgid "Preview My Answers" msgstr "" @@ -113,7 +113,7 @@ msgstr "" msgid "Set random seed to:" msgstr "" -#: RenderApp/Controller/FormatRenderedProblem.pm:277 +#: Renderer/Controller/FormatRenderedProblem.pm:277 msgid "Show correct answers" msgstr "" @@ -129,7 +129,7 @@ msgstr "" msgid "Some answers will be graded later." msgstr "" -#: RenderApp/Controller/FormatRenderedProblem.pm:278 +#: Renderer/Controller/FormatRenderedProblem.pm:278 msgid "Submit Answers" msgstr "" @@ -182,11 +182,11 @@ msgid "Your score for this attempt is for this part only;" msgstr "" #. (wwRound(0, $problemResult->{score} * 100) -#: RenderApp/Controller/FormatRenderedProblem.pm:215 +#: Renderer/Controller/FormatRenderedProblem.pm:215 msgid "Your score on this attempt is %1" msgstr "" -#: RenderApp/Controller/FormatRenderedProblem.pm:217 +#: Renderer/Controller/FormatRenderedProblem.pm:217 msgid "Your score was not recorded." msgstr "" diff --git a/render_app.conf.dist b/renderer.conf.dist similarity index 100% rename from render_app.conf.dist rename to renderer.conf.dist diff --git a/script/render_app b/script/renderer similarity index 81% rename from script/render_app rename to script/renderer index bdf7ad219..64d658a52 100755 --- a/script/render_app +++ b/script/renderer @@ -8,4 +8,4 @@ use lib curfile->dirname->sibling('lib')->to_string; use Mojolicious::Commands; # Start command line interface for application -Mojolicious::Commands->start_app('RenderApp'); +Mojolicious::Commands->start_app('Renderer');