diff --git a/.env.default b/.env.default index b5da85e58..32384fd27 100644 --- a/.env.default +++ b/.env.default @@ -10,7 +10,6 @@ HOTCRP_CONTACT_NAME=Chairs HOTCRP_PAPER_SITE= - # Mandatory: Server address of the SMTP server to use. #SMTP_SERVER= diff --git a/etc/helptopics.json b/etc/helptopics.json index c0c240f15..df6f908e4 100644 --- a/etc/helptopics.json +++ b/etc/helptopics.json @@ -1,7 +1,7 @@ [ { "name": "chair", "title": "Chair’s guide", "order": 0, - "description": "<0>How to run a conference using HotCRP." + "description": "<0>How to run a program using HotCRP." }, { "name": "chair/presubmission", "order": 0, diff --git a/etc/mailtemplates.json b/etc/mailtemplates.json index a379178f5..654fc06a8 100644 --- a/etc/mailtemplates.json +++ b/etc/mailtemplates.json @@ -297,7 +297,7 @@ "subject": "[%CONFSHORTNAME%] Withdrawn submission #%NUMBER% %TITLEHINT%", "body": [ "Greetings,\n\n", - "%CONFSHORTNAME% submission #%NUMBER%, which you reviewed or were assigned to review, has been withdrawn from consideration for the conference.\n\n", + "%CONFSHORTNAME% submission #%NUMBER%, which you reviewed or were assigned to review, has been withdrawn from consideration for the program.\n\n", "%IF(ADMINUPDATE)%An administrator withdrew the submission.%ELSE%Authors can withdraw submissions during the review process.%ENDIF%%IF(REASON)% They provided this reason: %REASON%%ENDIF%\n\n", "* Title: %TITLE%\n", "* Author(s): %OPT(AUTHORS)%\n", @@ -698,7 +698,7 @@ "subject": "[%CONFSHORTNAME%] Accepted submission #%NUMBER% %TITLEHINT%", "body": [ "Dear author(s),\n\n", - "The %CONFNAME% program committee is delighted to inform you that your submission #%NUMBER% has been accepted to appear in the conference.\n\n", + "The %CONFNAME% program committee is delighted to inform you that your submission #%NUMBER% has been accepted to appear in the program.\n\n", "* Title: %TITLE%\n", "* Author(s): %OPT(AUTHORS)%\n", "* Site: %URL(paper, p=%NUMBER%, %AUTHORVIEWCAPABILITY%)%\n\n", @@ -719,7 +719,7 @@ "subject": "[%CONFSHORTNAME%] Rejected submission #%NUMBER% %TITLEHINT%", "body": [ "Dear author(s),\n\n", - "The %CONFNAME% program committee is sorry to inform you that your submission #%NUMBER% was rejected, and will not appear in the conference.\n\n", + "The %CONFNAME% program committee is sorry to inform you that your submission #%NUMBER% was rejected, and will not appear in the program.\n\n", "* Title: %TITLE%\n", "* Author(s): %OPT(AUTHORS)%\n", "* Site: %URL(paper, p=%NUMBER%, %AUTHORVIEWCAPABILITY%)%\n\n", diff --git a/etc/msgs.json b/etc/msgs.json index aa24021fe..60bace044 100644 --- a/etc/msgs.json +++ b/etc/msgs.json @@ -205,8 +205,8 @@ ] }, - ["resp_instrux", "The authors’ response should address reviewer concerns and correct misunderstandings. Make it short and to the point; the conference deadline has passed."], - ["resp_instrux", "The authors’ response should address reviewer concerns and correct misunderstandings. Make it short and to the point; the conference deadline has passed. Try to stay within {wordlimit} words.", ["{wordlimit}>0"]], + ["resp_instrux", "The authors’ response should address reviewer concerns and correct misunderstandings. Make it short and to the point; the program deadline has passed."], + ["resp_instrux", "The authors’ response should address reviewer concerns and correct misunderstandings. Make it short and to the point; the program deadline has passed. Try to stay within {wordlimit} words.", ["{wordlimit}>0"]], {"in": "conflictdef", "out": "This includes past advisors and students, people with the same affiliation, and any recent (~2 years) coauthors and collaborators.", "template": true}, diff --git a/etc/settinggroups.json b/etc/settinggroups.json index 96c90f79a..964f867d4 100644 --- a/etc/settinggroups.json +++ b/etc/settinggroups.json @@ -1,13 +1,13 @@ [ { "name": "basics", "order": 0, "title": "Basics", - "description": "<0>Conference name, site contact, and email." + "description": "<0>Program name, site contact, and email." }, { "name": "info", "alias": "basics" }, { "name": "basics/names", "order": 10, "print_function": "Basics_SettingParser::print_names", - "title": "Conference information", + "title": "Program information", "settings": [ "conference_abbreviation", "conference_name", diff --git a/etc/settinginfo.json b/etc/settinginfo.json index 67dedfa56..d42257644 100644 --- a/etc/settinginfo.json +++ b/etc/settinginfo.json @@ -1,13 +1,13 @@ [ { "name": "conference_abbreviation", "storage": "opt.shortName", - "title": "Conference abbreviation", + "title": "Program abbreviation", "type": "simplestring", "size": 20, "autogrow": true, "parser_class": "Basics_SettingParser" }, { "name": "conference_name", "storage": "opt.longName", - "title": "Conference name", "placeholder": "(same as abbreviation)", + "title": "Program name", "placeholder": "(same as abbreviation)", "type": "simplestring", "size": 70, "parser_class": "Basics_SettingParser" }, @@ -152,7 +152,7 @@ }, { "name": "conference_url", "storage": "opt.conferenceSite", - "title": "Conference URL", + "title": "Program URL", "type": "url", "required": false, "size": 70, "placeholder": "N/A" }, { diff --git a/etc/submissionfieldlibrary.json b/etc/submissionfieldlibrary.json index 0cd4932dc..4a8b511a7 100644 --- a/etc/submissionfieldlibrary.json +++ b/etc/submissionfieldlibrary.json @@ -91,7 +91,7 @@ "type": "topics", "sample_view": { "name": "Topic selector", - "description": "Use topic selector fields to collect different kinds of topic entries, such as to distinguish a paper’s primary and secondary topics. Topic selectors use the conference’s global list of topics." + "description": "Use topic selector fields to collect different kinds of topic entries, such as to distinguish a paper’s primary and secondary topics. Topic selectors use the program’s global list of topics." } }, { diff --git a/lib/createdb.sh b/lib/createdb.sh index 3c9fc3a98..a36967835 100755 --- a/lib/createdb.sh +++ b/lib/createdb.sh @@ -158,7 +158,7 @@ if ! $quiet && ! $batch && ! [ -n "$options_file" -a -f "$options_file" ]; then echo "* You are responsible for supporting this installation." 1>&2 echo "*" 1>&2 echo "* Supported installations are available at https://hotcrp.com/" 1>&2 - echo "* for a per-submission fee (ACM- and USENIX-sponsored conferences" 1>&2 + echo "* for a per-submission fee (ACM- and USENIX-sponsored programs" 1>&2 echo "* can take advantage of site-wide agreements)." 1>&2 echo 1>&2 while true; do @@ -205,9 +205,9 @@ fi if ! $batch; then if $dbuser_existing; then - echo "Creating the database for your conference." + echo "Creating the database for your program." else - echo "Creating the database and database user for your conference." + echo "Creating the database and database user for your program." fi if test -z "$granthosts"; then echo "* Access for the database user is allowed only from the local host." diff --git a/package.json b/package.json index 8c842e4b6..992d72941 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "eslint": "^8.21.0" }, "name": "hotcrp", - "description": "HotCRP Conference Review Software", + "description": "HotCRP Program Review Software", "version": "3.0.0", "repository": { "type": "git", diff --git a/src/help/h_chairsguide.php b/src/help/h_chairsguide.php index 8d660cb7e..b1b34b45d 100644 --- a/src/help/h_chairsguide.php +++ b/src/help/h_chairsguide.php @@ -116,10 +116,7 @@ static function print_assignments(HelpRenderer $hth, $gj) { } else if ($gj->itemid === 5) { echo "
  • ", $hth->setting_link("Prepare tracks (optional).", "track"), - " Tracks give chairs fine-grained control over PC - members’ access rights for individual papers. Example situations calling for - tracks include external review committees, PC-paper review committees, and - multi-track conferences.

  • \n"; + " Tracks give chairs fine-grained control over PC members’ access rights for individual papers. Example situations calling for tracks include external review committees, PC-paper review committees, and multi-track programs.\n"; } else if ($gj->itemid === 6) { echo "
  • ", $hth->hotlink("Collect review preferences from the PC.", "reviewprefs"), " @@ -165,20 +162,12 @@ static function print_assignments(HelpRenderer $hth, $gj) { static function print_chair_conflicts(HelpRenderer $hth) { echo $hth->subhead("Chair conflicts"); - echo "

    Chairs and system administrators can access any information stored in the -conference system, including reviewer identities for conflicted papers. -It is easiest to simply accept such conflicts as a fact of life. Chairs -who can’t handle conflicts fairly shouldn’t be chairs. However, HotCRP -does offer other mechanisms for conflicted reviews.

    + echo "

    Chairs and system administrators can access any information stored in the program system, including reviewer identities for conflicted papers. It is easiest to simply accept such conflicts as a fact of life. Chairs who can’t handle conflicts fairly shouldn’t be chairs. However, HotCRP does offer other mechanisms for conflicted reviews.

    First, each paper can be assigned a paper administrator: a PC member who manages that paper’s reviewing and discussion. Use the left-hand side of a ", $hth->hotlink("submission’s assignment page", "assign"), " to enter its administrator. (You may need to -“Override conflicts” to access the assignment page.) -Paper administrators have full privilege to assign and view reviews for their -papers, and can, for example, use the autoassignment tool, but they cannot change -conference settings. When a paper -has an administrator, chair conflicts cannot be overridden.

    +“Override conflicts” to access the assignment page.) Paper administrators have full privilege to assign and view reviews for their papers, and can, for example, use the autoassignment tool, but they cannot change program settings. When a paper has an administrator, chair conflicts cannot be overridden.

    Paper administrators make life easy for PC reviewers and greatly restrict conflicted chairs’ access. Usually this suffices. @@ -219,7 +208,7 @@ static function print_premeeting(HelpRenderer $hth, $gj) { echo "

  • Set ", $hth->setting_link("PC can see review contents", "review_visibility_pc"), " to “Yes” (optional). This opens up the reviews to the program committee, allowing everyone to see scores and read reviews for non-conflicted papers. - (During most conferences’ review periods, a PC member can see a paper’s reviews + (During most programs’ review periods, a PC member can see a paper’s reviews only after completing their own review for that paper.)

  • \n"; } else if ($gj->itemid === 3) { @@ -291,9 +280,8 @@ static function print_atmeeting(HelpRenderer $hth, $gj) { " to expose decisions to PC members if desired.

    \n"; } else if ($gj->itemid === 4) { - echo "
  • Shepherding (optional). If your conference uses - shepherding for accepted papers, you can assign shepherds either ", - $hth->hotlink("paper by paper", "paper"), " or ", $hth->hotlink("automatically", "autoassign", "t=accepted"), ".

  • \n"; + echo "
  • Shepherding (optional). If your program uses shepherding for accepted applications, you can assign shepherds either ", + $hth->hotlink("application by application", "paper"), " or ", $hth->hotlink("automatically", "autoassign", "t=accepted"), ".

  • \n"; } } diff --git a/src/help/h_developer.php b/src/help/h_developer.php index 4407ed5ca..10753a1b7 100644 --- a/src/help/h_developer.php +++ b/src/help/h_developer.php @@ -60,8 +60,7 @@ function print_usage() { } function print_settings() { - echo "

    The chair-only api/settings endpoint accesses -conference settings in ", + echo "

    The chair-only api/settings endpoint accesses program settings in ", $this->hth->hotlink("JSON format", "help", ["t" => "jsonsettings"]) . ". To modify settings, use the POST method and provide a JSON request body. Examples:

    @@ -91,8 +90,7 @@ function print_settings() { } function print_submissions() { - echo "

    The api/paper endpoint accesses conference -submissions. GET calls return paper information; use + echo "

    The api/paper endpoint accesses program submissions. GET calls return paper information; use api/PAPERID/paper to return one paper, and api/paper?q=SEARCH&t=SEARCHTYPE to return all papers matching SEARCH.

    "; diff --git a/src/help/h_jsonsettings.php b/src/help/h_jsonsettings.php index ed960b455..fc2d3fcb5 100644 --- a/src/help/h_jsonsettings.php +++ b/src/help/h_jsonsettings.php @@ -19,10 +19,7 @@ function __construct(HelpRenderer $hth) { function print() { echo "

    With ", $this->hth->setting_group_link("Settings > Advanced", "json"), - ", administrators can configure site operation by modifying a JSON -specification. Advanced users can copy settings from one conference to -another and configure aspects of the site not accessible via the normal -settings UI.

    "; + ", administrators can configure site operation by modifying a JSON specification. Advanced users can copy settings from one program to another and configure aspects of the site not accessible via the normal settings UI.

    "; echo $this->hth->subhead("View settings"); @@ -117,11 +114,9 @@ class=\"settings-jpath\">decision is an array with one entry per } -
  • Copying settings between conferences. Beware of IDs -when copying settings between conferences. Unless you are careful, the IDs -used in one conference may differ from the IDs in another. Consider removing -the IDs from a conference’s JSON settings before uploading those settings to -another conference.

  • +
  • Copying settings between programs. Beware of IDs +when copying settings between programs. Unless you are careful, the IDs +used in one program may differ from the IDs in another. Consider removing the IDs from a program’s JSON settings before uploading those settings to another program.

  • Other common components in object lists include diff --git a/src/help/h_revround.php b/src/help/h_revround.php index f813e2fad..7c5c5cd45 100644 --- a/src/help/h_revround.php +++ b/src/help/h_revround.php @@ -4,7 +4,7 @@ class RevRound_HelpTopic { static function print(HelpRenderer $hth) { - echo "

    Many conferences divide their review assignments into named rounds, + echo "

    Many programs divide their review assignments into named rounds, such as “R1” or “lastround”. (We suggest very short names like “R1”.) Different review rounds can have different deadlines and can even have different fields on their review forms. diff --git a/src/help/h_search.php b/src/help/h_search.php index f323b7397..cdffce9cc 100644 --- a/src/help/h_search.php +++ b/src/help/h_search.php @@ -33,7 +33,7 @@ static function print(HelpRenderer $hth) { " and use “With any of the words” and “Without the words.”

    You can search several categories, depending on your role in the -conference. Options include:

    +program. Options include:

    Search won’t show you information you aren’t supposed to see. For example, -authors can only search their own submissions, and if the conference used +authors can only search their own submissions, and if the program used anonymous submission, then only the PC chairs can search by author.

    By default, search examines titles, abstracts, and authors. ", diff --git a/src/help/h_votetags.php b/src/help/h_votetags.php index 1f3f965e1..73bc1f20a 100644 --- a/src/help/h_votetags.php +++ b/src/help/h_votetags.php @@ -5,7 +5,7 @@ class VoteTags_HelpTopic { static function print(HelpRenderer $hth) { $votetag = $hth->example_tag(TagInfo::TF_ALLOTMENT) ?? "vote"; - echo "

    Some conferences have PC members vote for papers. In + echo "

    Some programs have PC members vote for papers. In allotment voting, each PC member is assigned a vote allotment to distribute among unconflicted papers; a PC member might assign one vote to one submission and five to another. In approval voting, each PC member diff --git a/src/multiconference.php b/src/multiconference.php index f6b8911ae..7f79f9d55 100644 --- a/src/multiconference.php +++ b/src/multiconference.php @@ -169,9 +169,9 @@ static private function make_qrequest() { /** @return string */ static private function nonexistence_error() { if (PHP_SAPI === "cli") { - return "Conference not specified. Use `-n CONFID` to specify a conference."; + return "Program not specified. Use `-n CONFID` to specify a program."; } else { - return "Conference not specified."; + return "Program not specified."; } } diff --git a/src/pages/p_adminhome.php b/src/pages/p_adminhome.php index 1e01c8380..9f89a1f1d 100644 --- a/src/pages/p_adminhome.php +++ b/src/pages/p_adminhome.php @@ -58,14 +58,14 @@ static function print(Contact $user) { } // Conference names if ($conf->opt("shortNameDefaulted")) { - $ml[] = new MessageItem(null, "<5>hoturl("settings", "group=basics") . "\">Set the conference abbreviation to a short name for your conference, such as “OSDI ’14”", MessageSet::WARNING_NOTE); + $ml[] = new MessageItem(null, "<5>hoturl("settings", "group=basics") . "\">Set the program abbreviation to a short name for your program, such as “OSDI ’14”", MessageSet::WARNING_NOTE); } else if (simplify_whitespace($conf->short_name) != $conf->short_name) { - $ml[] = new MessageItem(null, "<5>The hoturl("settings", "group=basics") . "\">conference abbreviation setting has a funny value. To fix it, remove leading and trailing spaces, use only space characters (no tabs or newlines), and make sure words are separated by single spaces (never two or more)", MessageSet::WARNING); + $ml[] = new MessageItem(null, "<5>The hoturl("settings", "group=basics") . "\">program abbreviation setting has a funny value. To fix it, remove leading and trailing spaces, use only space characters (no tabs or newlines), and make sure words are separated by single spaces (never two or more)", MessageSet::WARNING); } // Site contact $site_contact = $conf->site_contact(); if (!$site_contact->email || $site_contact->email == "you@example.com") { - $ml[] = new MessageItem(null, "<5>hoturl("settings", "group=basics") . "\">Set the conference contact’s name and email so submitters can reach someone if things go wrong", MessageSet::URGENT_NOTE); + $ml[] = new MessageItem(null, "<5>hoturl("settings", "group=basics") . "\">Set the program contact’s name and email so submitters can reach someone if things go wrong", MessageSet::URGENT_NOTE); } // Configuration updates if ($conf->opt("oAuthTypes")) { diff --git a/src/pages/p_home.php b/src/pages/p_home.php index cd21e1c73..1622fcc14 100644 --- a/src/pages/p_home.php +++ b/src/pages/p_home.php @@ -182,7 +182,7 @@ function print_welcome() { echo '

    Welcome to the ', htmlspecialchars($this->conf->full_name()), " submissions site."; if (($site = $this->conf->opt("conferenceSite")) && $site !== $this->conf->opt("paperSite")) - echo " For general conference information, see ", Ht::link(htmlspecialchars($site), htmlspecialchars($site)), "."; + echo " For general program information, see ", Ht::link(htmlspecialchars($site), htmlspecialchars($site)), "."; echo '
    '; } diff --git a/src/pages/p_mail.php b/src/pages/p_mail.php index e558808c8..7faf16920 100644 --- a/src/pages/p_mail.php +++ b/src/pages/p_mail.php @@ -259,7 +259,7 @@ function print_template() { Ht::button("Change template", ["id" => "template-changer", "class" => "ui js-mail-set-template"]), ''; } else { echo '
    ', Ht::button("Load template", ["class" => "ui js-mail-set-template"]), '
    ', - '
    Templates are mail texts tailored for common conference tasks.
    '; + '
    Templates are mail texts tailored for common program tasks.
    '; } echo ''; } diff --git a/src/pages/p_mergeaccounts.php b/src/pages/p_mergeaccounts.php index d891754c7..b4cdce63d 100644 --- a/src/pages/p_mergeaccounts.php +++ b/src/pages/p_mergeaccounts.php @@ -44,7 +44,7 @@ private function handle_merge() { return false; } if (!$this->user->contactId && !$other->contactId) { - $this->conf->warning_msg("<0>Neither of those accounts has any data associated with this conference"); + $this->conf->warning_msg("<0>Neither of those accounts has any data associated with this program"); return false; } if ($other->contactId && $other->contactId === $this->user->contactId) { @@ -94,7 +94,7 @@ private function print() { 'You may have multiple accounts registered; perhaps you were asked to review papers using different email addresses. This form will allow you to transfer information between accounts, including authorship, reviews, and PC status. (Note that the -transfer will only affect information currently stored in this conference.)

    '; +transfer will only affect information currently stored in this program.)

    '; echo Ht::form($this->conf->hoturl("=mergeaccounts")), '
    ', diff --git a/src/pages/p_offline.php b/src/pages/p_offline.php index 8e4b02816..2221f229b 100644 --- a/src/pages/p_offline.php +++ b/src/pages/p_offline.php @@ -167,7 +167,7 @@ static function go(Contact $user, Qrequest $qreq) { if (!$user->email) { $user->escape(); } else if (!$user->is_reviewer()) { - Multiconference::fail($qreq, 403, ["title" => "Offline reviewing"], "<0>You aren’t registered as a reviewer or PC member for this conference"); + Multiconference::fail($qreq, 403, ["title" => "Offline reviewing"], "<0>You aren’t registered as a reviewer or PC member for this program"); } else if (!$user->conf->time_review_open() && !$user->privChair) { Multiconference::fail($qreq, 403, ["title" => "Offline reviewing"], "<0>The site is not open for review"); } diff --git a/src/permissionproblem.php b/src/permissionproblem.php index 49e4ddde7..1c5f09834 100644 --- a/src/permissionproblem.php +++ b/src/permissionproblem.php @@ -265,7 +265,7 @@ function unparse($format = 0) { $ms[] = $this->conf->_("<0>“Override deadlines” can override this restriction."); } if ($this->_a["blindSubmission"] ?? false) { - $ms[] = $this->conf->_("<0>Submission to this conference is blind"); + $ms[] = $this->conf->_("<0>Submission to this program is blind"); } if ($this->_a["author"] ?? false) { $ms[] = $this->conf->_("<0>You aren’t a contact for #{}", $paperId); diff --git a/src/settings/s_review.php b/src/settings/s_review.php index cd001b490..8cb01671d 100644 --- a/src/settings/s_review.php +++ b/src/settings/s_review.php @@ -161,7 +161,7 @@ private static function print_round($sv, $ctr, $round_map) { static function print_rounds(SettingValues $sv) { Icons::stash_defs("trash"); - echo '

    Reviews are due by the deadline, but cannot be modified after the hard deadline. Most conferences don’t use hard deadlines for reviews.

    ', + echo '

    Reviews are due by the deadline, but cannot be modified after the hard deadline. Most programs don’t use hard deadlines for reviews.

    ', '

    ', $sv->type_hint("date"), '

    ', Ht::hidden("has_review", 1), Ht::unstash(); diff --git a/src/userstatus.php b/src/userstatus.php index 46b45feac..b217fdfec 100644 --- a/src/userstatus.php +++ b/src/userstatus.php @@ -1643,8 +1643,7 @@ static function print_topics(UserStatus $us) { return; } $us->cs()->add_section_class("w-text fx1")->print_start_section("Topic interests"); - echo '

    Please indicate your interest in reviewing papers on these conference -topics. We use this information to help match papers to reviewers.

    ', + echo '

    Please indicate your interest in reviewing applications on these program topics. We use this information to help match papers to reviewers.

    ', Ht::hidden("has_ti", 1), $us->feedback_html_at("ti"), ' @@ -1746,7 +1745,7 @@ static function print_administration(UserStatus $us) { $disabled = true; } else if (($disablement & Contact::CF_ROLEDISABLED) !== 0) { $klass = "flex-grow-1 disabled"; - $p = "

    Conference settings prevent this account from being enabled.

    "; + $p = "

    Program settings prevent this account from being enabled.

    "; $disabled = true; } else if ($us->user->security_locked_here()) { $klass = "flex-grow-1 disabled";