If the location is new, add a new location in the Core.Locations table. Most field are explanatory. The Map_url field is the address when looking at the convention center on Google Maps.
Create the new Conferences instance in the Core.Conferences table by selecting the last year and choosing to copy it to the next year. Open the new instance and check the following:
Set the start and end date including the year.
Check the long name for a year and increment if necessary
Check the conference type to make sure it's set to the correct format: physical, virtual, or hybrid
Set Sponsor Handlers. Choose 0 or more users who will receive emails when a new sponsor submits an application.
Expo handlers: Choose 0 or more users who will receive emails when an Expo application is received.
Lottery Mode: If the physical conference is expected to sell out and you need to manage who gets access to tickets, set lottery mode to True.
Venue Capacity is the max number of tickets we can sell. Note that each Core.Sessions session has it's own capacity. E.g. the Tutorials session can have a different capacity than, say, Workshops.
Becomes Free After: Leave this empty for a physical only conference that has no virtual component. If you want the conference's live streams to become publicly visible after the conference is over, set this date, otherwise, leave empty.
Hide Pricing Page: the pricing page is designed to show pricing by exposing a form to allow you to check what you're attending and get both an early and late price. At a virtual conference, there is often no early / late pricing. For this simple situation, the pricing page is more effort than it's worth; make the pricing page hidden.
Oral and Poster Video: if we are pre-recording videos for the posters, do posters have a different (possibly shorter) video than the corresponding oral. At ICML, all posters get an oral and they share the same video. Most other meetings only give Oral presentations to a subset of posters and for these situations, separate (usually shorter) videos are recorded for posters.
Once you finish saving the core.Events.Conferences object, a systems administrator should do an apachectl graceful. This resets some strings in core.admin.py.
The website will either crash or look very odd until you create a session in this new conference. At least one session should start with the word, “Conference”, e.g. “Conference Sessions”.
If you are starting a new website based on the database of an older conference, clear CalendarGlobalData, otherwise, the older meeting's calendar will appear until you save an event.
Create new sessions for the new conference objects in core.models.Sessions
You may copy an old session forward to the latest year by checking the sessions you want to copy and using the admin actions to copy them to the current year.
Set the start and end date including the year.
Set the location of each Session
Set the is_physical flag to False for a virtual-only session, if you're having a “Virtual-only” session.
Business Logic is javascript for the registration page. For example, if you had a “Virtual Only” Session that covered the entire week, you would use business logic field to clear the other physical sessions with the assumption that a full virtual ticket is included with any physical ticket. Another use might be to automatically uncheck Expo when you pay for any component of the main conference. Javascript. This ties in with the “Conflicts with” pickers.
Conflicts with: These allow you to prevent a user from choosing two things that shouldn't both be chosen at the same time. E.g. Expo ($50) and any physical component.
If your conference is hybrid or physical, do not set any session location to “Virtual”, otherwise, the invitation letter will mention it.
SponsorPortalOpen, SponsorPortalClosed and SponsorPaymentDeadline. Without these, the SponsorPortal will be considered closed.
ExpoHallOpen describes when the expo talks become available (assuming they're using /Expo urls). The hall with open automatically on Conferences.expo_day if that is defined. ICLR doesn't usually define that date so be sure to have ExpoHallOpen for ICLR.
RegistrationOpens, RegistrationCloses. RegistrationCloses might be the day after the last day of the conference unless the venue has sold out. Open Registration in time for visa applications to complete.
EarlyRegistrationDeadline, EarlyCancellationDeadline, CancellationDeadline. CancellationDeadline is the last day a user can cancel their own registration for a full refund; set EarlyCancellationDeadline equal to CancellationDeadline - they both need to be present when adding a new conference year. Early Registration deadline should come at least 3 weeks after paper notifications to give authors time to get the early pricing but no later than about 6 weeks before the meeting date. CancellationDeadline is mostly driven by when the final catering numbers need to be in; usually it's about 3 weeks before the conference.
WorkshopStartEndTimeFreeze freezes the workshop schedule start and end time so SlidesLive can hire engineers.
ReviewerCompTransferDeadline is optional but very helpful if you plan to invite reviewers to accept a complimentary registration.
ExpoCallsOpen and ExpoCallsDeadline are necessary if we are handling the expo. SponsorPortalOpen will close the SponsorHall to everyone but admins. A sponsor can still see their own page.
VirtualSiteOpens will close the virtual site before the specified date to everyone except superusers, chairs listed in Groupconferences. An author will be allowed to see their own event if they know the URL to it.
Visibility Flags: Visible makes the date appear on the Dates page (accessible from the menu at the top of the page); Important makes it appear on the home page.
Confirmed means we've verified that the date is correct for the current year. This is only used as a reminder.
Some optional dates are:
ReviewerCompTransferDeadline
Visit the dates page for the new year, e.g., /Conferences/2035/Dates. The top of the page has an optional editable document. In most cases, you need to create that document and populate it following the pattern of previous year. That document is usually used to explain what the major components of the conference are and when they will take place.
AOE dates are set to 11:59 pm Baker Island timezone. Baker Island is east of Hawaii and is the last timezone before the international date line. If the AOE checkbox transitions from unchecked to checked, then the time in the box will be set to 11:59 pm Baker Island or 3:59 AM the next day in Los Angeles time.
The system first search core/templates/core/{settings.DATABASE}/Conferences/{year} for dates.html. If that is not found, then it uses core/templates/core/{settings.DATABASE}/Conferences/dates.html. This means that you can have a default dates page for a conference, but override it with a year-specific dates page if desired.
Each meeting has a index.html for each year. This is located. e.g. in core/templates/core/MLSYS/Conferences/2021/index.html. Create this by copying a prior year's content.
A new year menu bar needs to be created for the new conference. Copy the previous year to the current year to start with last years template. Details on adding this can be found on this page.
On the production server, set the current year and / or the default home page to the new year by editing the file /var/www/meetingname/serversettings.py. Reload the server and sudo service memcached restart. (A log out and log in might also work here). This file is not checked into the git repository and it a local file on the server. An example file is below:
import os
import sys
hostname = os.uname()[1].split(".")[0]
#serversettings.py is required on the production server.
#If present, this overrides the test servers definition in snlmailerRedirect.py
On a development server, check your .bash_profile for a function that sets up the meeting database and current year. Modify as needed. Also, there is a configs dictionary in settings.py that defines the current year.
As of Feb 2022, the setting for CURRENT and HOMEPAGE_CONFRENCE may be located in a .env file (might also be .env.{DATABASE} on a development server.
If we are going to offer Interview rooms then in database in Rooms create reservable rooms for the conference center and in Roomtimes the available date/times