Conference App¶
The overall conference settings are managed via the conference
app.
Conferences and their sections are added and configured via the Django admin.
Models¶
Each conference needs an instance of a Conference
model. In most cases you
will only need one of these but Symposion does support multiple conferences
sharing a database. Similar to the Django Sites framework, the conference your
project is for is selected by the CONFERENCE_ID
setting which defaults to
1
but can be changed to the pk of another conference if you have more than
one.
The conference model has an optional start_date
and end_date
indicating when the conference will run. These are optional so you can begin
to configure your conference even if you don’t know the exact dates.
The conference model also has a timezone
field which you should set to the
timezone your conference will be in.
There is also a Section
model. This is useful if your conference has
different parts to it that run of different days with a different management,
review or scheduling process. Example of distinct sections might be
“Tutorials”, “Talks”, “Workshops”, “Sprints”, “Expo”. Many aspects of
Symposion can be configured on a per-section basis.
Each section has an optional start_date
and end_date
similar to the
overall conference.
Proposals¶
Create different kinds of proposals, e.g. talk or tutorial, by creating
ProposalKind objects. You’ll also need to create a Form in the code for
that kind of proposal, and update the setting PROPOSAL_FORMS
with
the ProposalKind’s slug
as key, and the full package path to the form
to use as value. For example:
PROPOSAL_FORMS = {
"tutorial": "pycon.forms.PyConTutorialProposalForm",
"talk": "pycon.forms.PyConTalkProposalForm",
"poster": "pycon.forms.PyConPosterProposalForm",
}
To allow submitting proposals for a particular Section of the conference,
create a ProposalSection. The site will allow submitting proposals for that
Section between the ProposalSection’s start
and end
, unless
closed
has been set.
Helper Functions¶
A conference.models.current_conference()
function exists to retrieve the
Conference
selected by CONFERENCE_ID
.