Skip to content

Fix/ PC Console AC status tab - allow function definition in query search#2692

Open
xkopenreview wants to merge 9 commits intomasterfrom
fix/ac-status-func-query-search
Open

Fix/ PC Console AC status tab - allow function definition in query search#2692
xkopenreview wants to merge 9 commits intomasterfrom
fix/ac-status-func-query-search

Conversation

@xkopenreview
Copy link
Copy Markdown
Collaborator

this pr should allow

areaChairStatusPropertiesAllowed

pc console config to allow function search
similar as in paper status tab

@melisabok
Copy link
Copy Markdown
Member

can you do the same for SAC tab?

@xkopenreview
Copy link
Copy Markdown
Collaborator Author

can you do the same for SAC tab?

what kind of search/filter will be performed in SAC status tab?
there's really not much info to search/filter unless it's SAC paper direct assignment that's why query search is currently disabled

@melisabok
Copy link
Copy Markdown
Member

what kind of search/filter will be performed in SAC status tab?

For the case of ARR, they want to filter out AC in the AC tab and SAC in the SAC tab where they have at least one submission assigned with less than 3 reviews. They want to find the problematic ones.

@xkopenreview
Copy link
Copy Markdown
Collaborator Author

what kind of search/filter will be performed in SAC status tab?

For the case of ARR, they want to filter out AC in the AC tab and SAC in the SAC tab where they have at least one submission assigned with less than 3 reviews. They want to find the problematic ones.

ok, looks like ARR do use sac paper assignment

@melisabok
Copy link
Copy Markdown
Member

ok, looks like ARR do use sac paper assignment

That doesn't change the PC console /SAC tab, the SACs are always assigned to submissions. Either by AC assignments or directly to submissions.

@xkopenreview
Copy link
Copy Markdown
Collaborator Author

ok, looks like ARR do use sac paper assignment

That doesn't change the PC console /SAC tab, the SACs are always assigned to submissions. Either by AC assignments or directly to submissions.

when it's SAC to AC, the tab has only SAC and AC profiles info, no submission info available

@melisabok
Copy link
Copy Markdown
Member

when it's SAC to AC, the tab has only SAC and AC profiles info, no submission info available

I'm thinking that for the case that SAC tab show assigned ACs, there will be also filter options needed. Nobody is asking for this but they might want to have custom filters. For example: filter out AC that didn't submit all the meta reviews.

@xkopenreview
Copy link
Copy Markdown
Collaborator Author

d7076fc should add support of function search in sac status tab when sac paper direct assignment is true

when it's sac to ac assignment, there's no change as there's no submission data at all

@xkopenreview
Copy link
Copy Markdown
Collaborator Author

updated pc console config doc

ProgramChairConsoleConfig : Object

Program Chair Console config doc

Kind: global typedef
Properties

Name Type Description
header Object mandatory but can be empty object
entity Object mandatory
venueId string mandatory
reviewersId string mandatory
programChairsId string mandatory
authorsId string mandatory
paperReviewsCompleteThreshold number mandatory
submissionId string mandatory
submissionVenueId string mandatory
officialReviewName string mandatory
commentName string mandatory
anonReviewerName string mandatory
shortPhrase string mandatory
enableQuerySearch boolean mandatory
submissionName string mandatory
areaChairsId string optional
seniorAreaChairsId string optional
bidName string optional
recommendationName string optional
metaReviewRecommendationName string optional
additionalMetaReviewFields Array.<string> optional
requestFormId string optional
withdrawnVenueId string optional
deskRejectedVenueId string optional
officialMetaReviewName string optional
decisionName string optional
anonAreaChairName string optional
reviewerName string optional
areaChairName string optional
seniorAreaChairName string optional
secondaryAreaChairName string optional
secondaryAnonAreaChairName string optional
scoresName string optional
reviewRatingName string | Array.<string> | Array.<object> optional
reviewConfidenceName string optional
recruitmentName string optional
paperStatusExportColumns Array.<Object> optional
reviewerStatusExportColumns Array.<Object> optional
areaChairStatusExportColumns Array.<Object> optional
customStageInvitations Array.<Object> optional
assignmentUrls Object optional
emailReplyTo string optional
reviewerEmailFuncs Array.<Object> optional
acEmailFuncs Array.<Object> optional
sacEmailFuncs Array.<Object> optional
submissionContentFields Array.<Object> optional
sacDirectPaperAssignment boolean optional
propertiesAllowed Object optional
areaChairStatusPropertiesAllowed Object optional
sacStatuspropertiesAllowed Object optional
filterOperators Array.<string> optional
messageReviewersInvitationId string optional
messageAreaChairsInvitationId string optional
messageSeniorAreaChairsInvitationId string optional
messageSubmissionReviewersInvitationId string optional
messageSubmissionAreaChairsInvitationId string optional
messageSubmissionSecondaryAreaChairsInvitationId string optional
preferredEmailInvitationId string optional
ithenticateInvitationId string optional
displayReplyInvitations Array.<Object> optional
metaReviewAgreementConfig Object optional
useCache boolean optional
ethicsReviewersName string optional
ethicsChairsName string optional
domainContent Object optional

ProgramChairConsoleConfig.header : Object

Page header object with "title" and "instructions" (markdown supported).

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{
  "header": {
    "title": "Some conference",
    "instructions": "some **instructions**"
  }
}

ProgramChairConsoleConfig.entity : Object

Venue group entity. Required for loading and permission checks.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{ "entity": { "id": "ICLR.cc/202X/Conference" } }

ProgramChairConsoleConfig.venueId : string

Venue group id used as base id/domain for links and API filters.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "venueId": "ICLR.cc/202X/Conference" }

ProgramChairConsoleConfig.submissionId : string

Submission invitation id used to load submissions shown in the console.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "submissionId": "ICLR.cc/202X/Conference/-/Submission" }

ProgramChairConsoleConfig.submissionName : string

Submission label used for tab names, invitation/group ids and links.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "submissionName": "Submission" }

ProgramChairConsoleConfig.paperReviewsCompleteThreshold : number

Threshold used for overview paper progress (papers at or above threshold are considered complete).

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{ "paperReviewsCompleteThreshold": 3 }

ProgramChairConsoleConfig.submissionVenueId : string

Venue id value for active submissions under review. Used in reminder/status filtering.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "submissionVenueId": "ICLR.cc/202X/Conference/Submission" }

ProgramChairConsoleConfig.requestFormId : string

Request form note id used for overview timeline/details links. If missing, bottom part of overview tab will not be shown.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "requestFormId": "u4QodE3u4r" }

ProgramChairConsoleConfig.withdrawnVenueId : string

Venue id value that marks withdrawn submissions.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "withdrawnVenueId": "ICLR.cc/202X/Conference/Withdrawn_Submission" }

ProgramChairConsoleConfig.deskRejectedVenueId : string

Venue id value that marks desk-rejected submissions.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "deskRejectedVenueId": "ICLR.cc/202X/Conference/Desk_Rejected_Submission" }

ProgramChairConsoleConfig.reviewersId : string

Reviewer group id. Used for reviewer invitations, assignments, bids and messaging.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "reviewersId": "ICLR.cc/202X/Conference/Reviewers" }

ProgramChairConsoleConfig.reviewerName : string

Reviewer role label used to identify per-paper role groups and UI labels.

Kind: static property of ProgramChairConsoleConfig
Default: "'Reviewers'"
Example

{ "reviewerName": "Reviewers" }

ProgramChairConsoleConfig.anonReviewerName : string

Prefix of anonymous reviewer groups used to map reviews to assigned reviewers.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "anonReviewerName": "Reviewer_" }

ProgramChairConsoleConfig.areaChairsId : string

AC group id. Enables AC timeline/stats, AC status tab and AC messaging.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "areaChairsId": "ICLR.cc/202X/Conference/Area_Chairs" }

ProgramChairConsoleConfig.areaChairName : string

AC role label used to identify per-paper AC groups and display labels.

Kind: static property of ProgramChairConsoleConfig
Default: "'Area_Chairs'"
Example

{ "areaChairName": "Area_Chairs" }

ProgramChairConsoleConfig.anonAreaChairName : string

Prefix of anonymous AC groups used to map meta reviews to assigned ACs.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "anonAreaChairName": "Area_Chair_" }

ProgramChairConsoleConfig.seniorAreaChairsId : string

SAC group id. Enables SAC timeline/stats, SAC status tab and SAC messaging.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "seniorAreaChairsId": "ICLR.cc/202X/Conference/Senior_Area_Chairs" }

ProgramChairConsoleConfig.seniorAreaChairName : string

SAC role label used to identify per-paper SAC groups and display labels.

Kind: static property of ProgramChairConsoleConfig
Default: "'Senior_Area_Chairs'"
Example

{ "seniorAreaChairName": "Senior_Area_Chairs" }

ProgramChairConsoleConfig.secondaryAreaChairName : string

Secondary AC role label used for assignment/status/messaging for secondary ACs (secondary AC email support in PR #2208).

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "secondaryAreaChairName": "Secondary_Area_Chairs" }

ProgramChairConsoleConfig.secondaryAnonAreaChairName : string

Prefix for anonymous secondary AC groups.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "secondaryAnonAreaChairName": "Secondary_Area_Chair_" }

ProgramChairConsoleConfig.programChairsId : string

Program chairs group id used in overview links.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "programChairsId": "ICLR.cc/202X/Conference/Program_Chairs" }

ProgramChairConsoleConfig.authorsId : string

Authors group id used in overview links and counts.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "authorsId": "ICLR.cc/202X/Conference/Authors" }

ProgramChairConsoleConfig.officialReviewName : string

Official review invitation name used for review parsing, stats and links.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "officialReviewName": "Official_Review" }

ProgramChairConsoleConfig.officialMetaReviewName : string

Meta-review invitation name used for status/statistics/link generation.

Kind: static property of ProgramChairConsoleConfig
Default: "'Meta_Review'"
Example

{ "officialMetaReviewName": "Meta_Review" }

ProgramChairConsoleConfig.commentName : string

Comment invitation name used in overview timeline display.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "commentName": "Official_Comment" }

ProgramChairConsoleConfig.decisionName : string

Decision invitation name used to parse/display per-submission decisions. Made optional in PR #1232.

Kind: static property of ProgramChairConsoleConfig
Default: "'Decision'"
Example

{ "decisionName": "Decision" }

ProgramChairConsoleConfig.bidName : string

Bid invitation suffix used for reviewer/AC/SAC bidding data and links. This config is optional since PR #1729.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "bidName": "Bid" }

ProgramChairConsoleConfig.recommendationName : string

Reviewer recommendation invitation suffix used for AC recommendation progress.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "recommendationName": "Recommendation" }

ProgramChairConsoleConfig.scoresName : string

Score invitation suffix used in edge browser links for bids/recommendations.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "scoresName": "Affinity_Score" }

ProgramChairConsoleConfig.metaReviewRecommendationName : string

Recommendation field key in meta-review content.

Kind: static property of ProgramChairConsoleConfig
Default: "'recommendation'"
Example

{ "metaReviewRecommendationName": "recommendation" }

ProgramChairConsoleConfig.additionalMetaReviewFields : Array.<string>

Extra meta-review fields added to table/search/export and status views (feature added in PR #1828).

Kind: static property of ProgramChairConsoleConfig
Default: []
Example

{ "additionalMetaReviewFields": ["final_recommendation"] }

ProgramChairConsoleConfig.reviewRatingName : string | Array.<string> | Array.<object>

Review rating field config. Supports string, string[] and object[] with fallback fields (fallback support added in PR #1808).

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example (single field)

{ "reviewRatingName": "rating" }

Example (multiple fields)

{ "reviewRatingName": ["soundness", "overall_recommendation"] }

Example (fallback mapping)

{
  "reviewRatingName": [
    { "overall_rating": ["final_rating", "preliminary_rating"] },
    "overall_recommendation"
  ]
}

ProgramChairConsoleConfig.reviewConfidenceName : string

Review confidence field used for confidence stats and export.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "reviewConfidenceName": "confidence" }

ProgramChairConsoleConfig.enableQuerySearch : boolean

Enables query-search controls in paper, AC and withdrawn/desk-rejected tabs.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{ "enableQuerySearch": true }

ProgramChairConsoleConfig.shortPhrase : string

Short venue phrase used in email subject and export file names.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "shortPhrase": "ICLR 202X" }

ProgramChairConsoleConfig.recruitmentName : string

Recruitment invitation suffix used in overview timeline.

Kind: static property of ProgramChairConsoleConfig
Default: "'Recruitment'"
Example

{ "recruitmentName": "Recruitment" }

ProgramChairConsoleConfig.paperStatusExportColumns : Array.<Object>

Extra export columns for the paper status table. This is an array of objects, where each object has: header (column title) and getValue (function body string executed with row in scope). getValue can get rather complex and the char escape should be handled carefully.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example (basic exmaple)

{
  "paperStatusExportColumns": [
    {
      "header": "Submission Type",
      "getValue": "row.note?.content?.submission_type?.value ?? 'N/A'"
    }
  ]
}

Example (complex exmaple)

{
  "paperStatusExportColumns": [
    {
      "header": "SAC Recommendation",
      "getValue": `const SACRecommendationNote = row.note?.details?.replies?.find(p => p.invitations.some(q => q.includes('SAC_Recommendation')));
return SACRecommendationNote ? \`\${SACRecommendationNote.content.decision?.value ?? 'N/A'}\` : 'N/A';`,
     },
    }
  ]
}

ProgramChairConsoleConfig.reviewerStatusExportColumns : Array.<Object>

Extra export columns for reviewer status table.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{
  "reviewerStatusExportColumns": [
    {
      "header": "OpenReview ID",
      "getValue": "row.reviewerProfileId"
    }
  ]
}

ProgramChairConsoleConfig.areaChairStatusExportColumns : Array.<Object>

Extra export columns for AC/SAC status tables.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{
  "areaChairStatusExportColumns": [
    {
      "header": "AC GS Scholar",
      "getValue": "row.areaChairProfile?.content?.gscholar ?? 'N/A'"
    }
  ]
}

ProgramChairConsoleConfig.propertiesAllowed : Object

Additional query-search properties for paper status. Supports paths array and function strings.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{
  "propertiesAllowed": {
    "flagged": ["note.content.flagged_for_ethics_review.value","note.content.flagged_for_something_else.value"],
    "officialReviewCount": `const invitationToCheck="Official_Review";
const officialReviews = row.note?.details?.replies?.filter(reply => (reply.invitations.some(invitation => invitation.includes(invitationToCheck))))
return officialReviews.length;
`
  }
}

ProgramChairConsoleConfig.areaChairStatusPropertiesAllowed : Object

Query-search properties override (instead of addition) for AC status, it also support function string

Kind: static property of ProgramChairConsoleConfig
Default: built-in AC defaults
Example

{
  "areaChairStatusPropertiesAllowed": {
    "name": ["areaChairProfile.preferredName"],
    "numTotalReplyCount": `
            const notesAssigned = row.notes
            const replyCounts = notesAssigned.map(note => note.replyCount ?? 0)
            const totalReplyCount = replyCounts.reduce((sum, count) => sum + count, 0)
            return totalReplyCount
          `,
  }
}

ProgramChairConsoleConfig.sacStatuspropertiesAllowed : Object

Query-search properties override for SAC status (direct paper assignment mode), it also support function string

Kind: static property of ProgramChairConsoleConfig
Default: built-in SAC defaults
Example

{
  "sacStatuspropertiesAllowed": {
    "number": ["number"],
    "name": ["sacProfile.preferredName"],
    "email": ["sacProfile.preferredEmail"],
    "hasSubmissionWithFewerThan3Reviews": `
          const assignedNotes = row.notes
          const hasSubmission = assignedNotes.some(note => (note.officialReviews?.length ?? 0) < 3)
          return hasSubmission ? 'yes' : 'no'
        `
  }
}

ProgramChairConsoleConfig.filterOperators : Array.<string>

Allowed query operators for query-search menu bars.

Kind: static property of ProgramChairConsoleConfig
Default: ["!=", ">=", "<=", ">", "<", "==", "="]
Example

{ "filterOperators": ["=", "==", "!=", ">", "<", ">=", "<="] }

ProgramChairConsoleConfig.customStageInvitations : Array.<Object>

Additional stage configs used in overview progress cards and table search/export

Kind: static property of ProgramChairConsoleConfig
Default: []
Example

{
  "customStageInvitations": [
    {
      "name": "Custom_Stage_Field_One",
      "role": "Area_Chairs",
      "repliesPerSubmission": 1,
      "displayField": "custom_stage_field_one",
      "extraDisplayFields": ["some_field"]
    }
  ]
}

ProgramChairConsoleConfig.metaReviewAgreementConfig : Object

Config for dedicated meta-review agreement stage shown in overview and search/export, similar to customStageInvitations but has no extraDisplayFields. Another difference is metaReviewAgreement checks for reply to meta review instead of forum reply

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{
  "metaReviewAgreementConfig": {
    "name": "Meta_Review_Agreement",
    "role": "Area_Chairs",
    "repliesPerSubmission": 1,
    "displayField": "decision",
    "description": "Agreement stage completion"
  }
}

ProgramChairConsoleConfig.assignmentUrls : Object

Per-role assignment URL configuration for timeline and paper status assignment links.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{
  "assignmentUrls": {
    "Reviewers": {
      "manualAssignmentUrl": "/edges/browse?...",
      "automaticAssignment": false
    },
    "Area_Chairs": {
      "manualAssignmentUrl": "/edges/browse?...",
      "automaticAssignment": true
    }
  }
}

ProgramChairConsoleConfig.submissionContentFields : Array.<Object>

Adds extra paper-status tabs keyed by submission content fields
field: The submission content field that the tab will be based on. The tab will filter based on whether or not this field is present in a submission's content
responseInvitations: Array of invitation endings that are used to display replies that were made after, and in response to the submission being flagged
reasonInvitations: Array of invitation endings that are used to display replies that were made before, or in parallel, the flag and are the reason that the flag was raised
reasonFields: Object that contains content fields that may be in any of the notes that reply to any of the reason invitations. These are the fields and possible values that would cause the process function to flag the submission

Kind: static property of ProgramChairConsoleConfig
Default: []
Example

{
  "submissionContentFields": [
    {
      "field": "ethics_review_flag",
      "reasonInvitations": ["Ethics_Review"],
      "reasonFields": { "ethics_review_triage": ['Ethics review needed.'] },
      "responseInvitations": ["Ethics_Response"]
    }
  ]
}

ProgramChairConsoleConfig.sacDirectPaperAssignment : boolean

If true, SAC status tab shows direct paper assignment progress instead of SAC-to-AC mapping.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{ "sacDirectPaperAssignment": true }

ProgramChairConsoleConfig.messageReviewersInvitationId : string

Invitation id used when sending bulk reminders from Reviewer Status tab.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "messageReviewersInvitationId": "ICLR.cc/202X/Conference/Reviewers/-/Message" }

ProgramChairConsoleConfig.messageAreaChairsInvitationId : string

Invitation id used when sending bulk reminders from AC Status tab.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "messageAreaChairsInvitationId": "ICLR.cc/202X/Conference/Area_Chairs/-/Message" }

ProgramChairConsoleConfig.messageSeniorAreaChairsInvitationId : string

Invitation id used when sending bulk reminders from SAC Status tab.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "messageSeniorAreaChairsInvitationId": "ICLR.cc/202X/Conference/Senior_Area_Chairs/-/Message" }

ProgramChairConsoleConfig.messageSubmissionReviewersInvitationId : string

Per-submission reviewer reminder invitation id used by Paper Status messaging modal.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{
  "messageSubmissionReviewersInvitationId": "ICLR.cc/202X/Conference/Submission{number}/-/Message"
}

ProgramChairConsoleConfig.messageSubmissionAreaChairsInvitationId : string

Per-submission AC reminder invitation id used by Paper Status messaging modal (selected-paper AC messaging added in PR #2011).

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{
  "messageSubmissionAreaChairsInvitationId": "ICLR.cc/202X/Conference/Submission{number}/Area_Chairs/-/Message"
}

ProgramChairConsoleConfig.messageSubmissionSecondaryAreaChairsInvitationId : string

Per-submission secondary-AC reminder invitation id used by Paper Status messaging modal (secondary AC messaging support in PR #2208).

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{
  "messageSubmissionSecondaryAreaChairsInvitationId": "ICLR.cc/202X/Conference/Submission{number}/Secondary_Area_Chairs/-/Message"
}

ProgramChairConsoleConfig.preferredEmailInvitationId : string

Invitation id for preferred-email edges used by profile links and copy-email actions.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "preferredEmailInvitationId": "ICLR.cc/202X/Conference/-/Preferred_Email" }

ProgramChairConsoleConfig.emailReplyTo : string

Reply-to address for reminder emails sent from PC console tabs.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{ "emailReplyTo": "pc@conference.org" }

ProgramChairConsoleConfig.reviewerEmailFuncs : Array.<Object>

Extra custom message filter options for the Reviewer Status message dropdown.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{
  "reviewerEmailFuncs": [
    {
      "label": "Reviewers with Zero Load",
      "filterFunc": `
        var loadNotes = row.reviewerProfile.registrationNotes?.filter(n => n.invitations.some(i => i.includes('Max_Load')));
        return parseInt(loadNotes?.[0]?.content?.maximum_load_this_cycle?.value, 10) == 0 ?? False
        `
    }
  ]
}

ProgramChairConsoleConfig.acEmailFuncs : Array.<Object>

Extra custom message filter options for the Area Chair Status message dropdown, similar to reviewerEmailFuncs.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{
  "acEmailFuncs": [
    {
      "label": "ACs from custom filter",
      "filterFunc": "return row.numCompletedMetaReviews === 0"
    }
  ]
}

ProgramChairConsoleConfig.sacEmailFuncs : Array.<Object>

Extra custom message filter options for the Senior Area Chair Status message dropdown, similar to reviewerEmailFuncs.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{
  "sacEmailFuncs": [
    {
      "label": "SACs from custom filter",
      "filterFunc": "return row.notes?.length === 0"
    }
  ]
}

ProgramChairConsoleConfig.ithenticateInvitationId : string

Duplication edge invitation id used to display/export similarity percentages.

Kind: static property of ProgramChairConsoleConfig
Default: "no default value"
Example

{
  "ithenticateInvitationId": "ICLR.cc/202X/Conference/Submission/-/Ithenticate"
}

ProgramChairConsoleConfig.displayReplyInvitations : Array.<Object>

Enables and configures the “Latest Replies” column in Paper Status (added in PR #2237).

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{
  "displayReplyInvitations": [
    {
      "id": "ICLR.cc/202X/Conference/Submission{number}/-/Official_Comment",
      "fields": ["summary", "limitations"]
    },
    {
      "id": "ICLR.cc/202X/Conference/Submission{number}/-/Public_Comment",
      "fields": ["strengths", "suitability"]
    }
  ]
}

ProgramChairConsoleConfig.useCache : boolean

If true, PC console loads/saves data via console cache and shows reload banner.

Kind: static property of ProgramChairConsoleConfig
Default: false
Example

{ "useCache": true }

ProgramChairConsoleConfig.ethicsReviewersName : string

Ethics reviewer role label used in timeline/overview role display.

Kind: static property of ProgramChairConsoleConfig
Default: "'Ethics_Reviewers'"
Example

{ "ethicsReviewersName": "Ethics_Reviewers" }

ProgramChairConsoleConfig.ethicsChairsName : string

Ethics chair role label used in timeline/overview role display.

Kind: static property of ProgramChairConsoleConfig
Default: "'Ethics_Chairs'"
Example

{ "ethicsChairsName": "Ethics_Chairs" }

ProgramChairConsoleConfig.domainContent : Object

Domain-level content fallback used in overview for role setup metadata.

Kind: static property of ProgramChairConsoleConfig
Default: no default value
Example

{
  "domainContent": {
    "reviewer_roles": ["Reviewers"],
    "area_chair_roles": ["Area_Chairs"],
    "senior_area_chair_roles": ["Senior_Area_Chairs"]
  }
}

Copy link
Copy Markdown
Member

@haroldrubio haroldrubio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes have been working good in my testing - related openreview-py PR for ARR: openreview/openreview-py#2975

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants