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``.