Merge forward Ryan's IETF Overview pages. Commit ready for merge.
- Legacy-Id: 11858
This commit is contained in:
parent
3e3255db7d
commit
cb3af1a2d9
|
@ -32,7 +32,7 @@
|
|||
</dl>
|
||||
|
||||
<h2>Edit template content</h2>
|
||||
<form role="form" method="post">
|
||||
<form id="dbtemplate-edit" role="form" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
{% bootstrap_form form %}
|
||||
|
|
93
ietf/meeting/fixtures/proceedings_templates.xml
Normal file
93
ietf/meeting/fixtures/proceedings_templates.xml
Normal file
|
@ -0,0 +1,93 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<django-objects version="1.0"><object pk="179" model="dbtemplate.dbtemplate"><field type="CharField" name="path">/meeting/proceedings/defaults/overview.rst</field><field type="CharField" name="title">Proceedings Overview Template</field><field type="TextField" name="variables"><None></None></field><field to="name.dbtemplatetypename" name="type" rel="ManyToOneRel">rst</field><field type="TextField" name="content">The Internet Engineering Task Force (IETF) provides a forum for working groups to coordinate technical development of new protocols. Its most important function is the development and selection of standards within the Internet protocol suite.
|
||||
|
||||
|
||||
|
||||
The IETF began in January 1986 as a forum for technical coordination by contractors for the then US Defense Advanced Research Projects Agency (DARPA), working on the ARPANET, US Defense Data Network (DDN), and the Internet core gateway system. Since that time, the IETF has grown into a large open international community of network designers, operators, vendors, and researchers concerned with the evolution of the Internet architecture and the smooth operation of the Internet.
|
||||
|
||||
|
||||
|
||||
The IETF mission includes:
|
||||
|
||||
|
||||
|
||||
* Identifying and proposing solutions to pressing operational and technical problems in the Internet
|
||||
|
||||
* Specifying the development or usage of protocols and the near-term architecture, to solve technical problems for the Internet
|
||||
|
||||
* Facilitating technology transfer from the Internet Research Task Force (IRTF) to the wider Internet community;and
|
||||
|
||||
* Providing a forum for the exchange of relevant information within the Internet community between vendors, users, researchers, agency contractors, and network managers.
|
||||
|
||||
|
||||
|
||||
Technical activities in the IETF are addressed within working groups. All working groups are organized roughly by function into seven areas. Each area is led by one or more Area Directors who have primary responsibility for that one area of IETF activity. Together with the Chair of the IETF/IESG, these Area Directors comprise the Internet Engineering Steering Group (IESG).
|
||||
|
||||
|
||||
|
||||
=================== =================================== ========================
|
||||
Name Area Email
|
||||
=================== =================================== ========================
|
||||
Jari Arkko IETF Chair chair@ietf.org
|
||||
Jari Arkko General Area jari.arkko@piuha.net
|
||||
Alia Atlas Routing Area akatlas@gmail.com
|
||||
Deborah Brungard Routing Areas db3546@att.com
|
||||
Ben Campbell Applications and Real-Time Area ben@nostrum.com
|
||||
Benoit Claise Operations and Management Area bclaise@cisco.com
|
||||
Alissa Cooper Applications and Real-Time Area alissa@cooperw.in
|
||||
Spencer Dawkins Transport Area spencerdawkins.ietf@gmail.com
|
||||
Stephen Farrell Security Area stephen.farrell@cs.tcd.ie
|
||||
Brian Haberman Internet Area brian@innovationslab.net
|
||||
Joel Jaeggli Operations and Management Area joelja@bogus.com
|
||||
Barry Leiba Applications and Real-Time Area barryleiba@computer.org
|
||||
Terry Manderson Internet Area terry.manderson@icann.org
|
||||
Kathleen Moriarty Security Area Kathleen.Moriarty.ietf@gmail.com
|
||||
Alvaro Retana Routing Area aretana@cisco.com
|
||||
Martin Stiemerling Transport Area mls.ietf@gmail.com
|
||||
=================== =================================== ========================
|
||||
|
||||
|
||||
Liaison and ex-officio members include:
|
||||
|
||||
|
||||
=================== =================================== ========================
|
||||
Olaf Kolkman IAB Chair iab-chair@iab.org
|
||||
Danny McPherson IAB Liaison danny@tcb.net
|
||||
Michelle Cotton IANA Liaison iana@iana.org
|
||||
Sandy Ginoza RFC Editor Liaison rfc-editor@rfc-editor.org
|
||||
Alexa Morris IETF Secretariat Liaison exec-director@ietf.org
|
||||
=================== =================================== ========================
|
||||
|
||||
|
||||
The IETF has a Secretariat, which is managed by Association Management Solutions, LLC (AMS) in Fremont, California.The IETF Executive Director is Alexa Morris (exec-director@ietf.org).
|
||||
|
||||
|
||||
Other personnel that provide full-time support to the Secretariat include:
|
||||
|
||||
|
||||
========================= ===================================
|
||||
Senior Meeting Planner Marcia Beaulieu
|
||||
Project Manager Stephanie McCammon
|
||||
Meeting Regsitrar Maddy Conner
|
||||
Project Manager Cindy Morgan
|
||||
Project Manager Amy Vezza
|
||||
========================= ===================================
|
||||
|
||||
|
||||
To contact the Secretariat, please refer to the addresses and URLs provided on the IETF Secretariat Web page.
|
||||
|
||||
|
||||
|
||||
The IETF also has a general Administrative Support Activity headed by the IETF Administrative Director, Ray Pelletier iad@ietf.org
|
||||
|
||||
|
||||
|
||||
The working groups conduct their business during the tri-annual IETF meetings, at interim working group meetings, and via electronic mail on mailing lists established for each group. The tri-annual IETF meetings are 4.5 days in duration, and consist of working group sessions, training sessions, and plenary sessions. The plenary sessions include technical presentations, status reports, and an open IESG meeting.
|
||||
|
||||
|
||||
|
||||
Following each meeting, the IETF Secretariat publishes meeting proceedings, which contain reports from all of the groups that met, as well as presentation slides, where available. The proceedings also include a summary of the standards-related activities that took place since the previous IETF meeting.
|
||||
|
||||
|
||||
|
||||
Meeting minutes, working group charters (including information about the working group mailing lists), and general information on current IETF activities are available on the IETF Web site at https://www.ietf.org.</field><field to="group.group" name="group" rel="ManyToOneRel">1</field></object></django-objects>
|
27
ietf/meeting/migrations/0034_auto_20160818_1555.py
Normal file
27
ietf/meeting/migrations/0034_auto_20160818_1555.py
Normal file
|
@ -0,0 +1,27 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import models, migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('dbtemplate', '0002_auto_20141222_1749'),
|
||||
('meeting', '0033_add_meeting_acknowlegements'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='meeting',
|
||||
name='overview',
|
||||
field=models.ForeignKey(related_name='overview', editable=False, to='dbtemplate.DBTemplate', null=True),
|
||||
preserve_default=True,
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='meeting',
|
||||
name='acknowledgements',
|
||||
field=models.TextField(help_text=b'Acknowledgements for use in meeting proceedings. Use ReStructuredText markup.', blank=True),
|
||||
preserve_default=True,
|
||||
),
|
||||
]
|
119
ietf/meeting/migrations/0035_auto_20160818_1610.py
Normal file
119
ietf/meeting/migrations/0035_auto_20160818_1610.py
Normal file
|
@ -0,0 +1,119 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
content ='''The Internet Engineering Task Force (IETF) provides a forum for working groups to coordinate technical development of new protocols. Its most important function is the development and selection of standards within the Internet protocol suite.
|
||||
|
||||
The IETF began in January 1986 as a forum for technical coordination by contractors for the then US Defense Advanced Research Projects Agency (DARPA), working on the ARPANET, US Defense Data Network (DDN), and the Internet core gateway system. Since that time, the IETF has grown into a large open international community of network designers, operators, vendors, and researchers concerned with the evolution of the Internet architecture and the smooth operation of the Internet.
|
||||
|
||||
The IETF mission includes:
|
||||
|
||||
* Identifying and proposing solutions to pressing operational and technical problems in the Internet
|
||||
* Specifying the development or usage of protocols and the near-term architecture, to solve technical problems for the Internet
|
||||
* Facilitating technology transfer from the Internet Research Task Force (IRTF) to the wider Internet community;and
|
||||
* Providing a forum for the exchange of relevant information within the Internet community between vendors, users, researchers, agency contractors, and network managers.
|
||||
|
||||
Technical activities in the IETF are addressed within working groups. All working groups are organized roughly by function into seven areas. Each area is led by one or more Area Directors who have primary responsibility for that one area of IETF activity. Together with the Chair of the IETF/IESG, these Area Directors comprise the Internet Engineering Steering Group (IESG).
|
||||
|
||||
=================== =================================== ========================
|
||||
Name Area Email
|
||||
=================== =================================== ========================
|
||||
Jari Arkko IETF Chair chair@ietf.org
|
||||
Jari Arkko General Area jari.arkko@piuha.net
|
||||
Alia Atlas Routing Area akatlas@gmail.com
|
||||
Deborah Brungard Routing Areas db3546@att.com
|
||||
Ben Campbell Applications and Real-Time Area ben@nostrum.com
|
||||
Benoit Claise Operations and Management Area bclaise@cisco.com
|
||||
Alissa Cooper Applications and Real-Time Area alissa@cooperw.in
|
||||
Spencer Dawkins Transport Area spencerdawkins.ietf@gmail.com
|
||||
Stephen Farrell Security Area stephen.farrell@cs.tcd.ie
|
||||
Joel Jaeggli Operations and Management Area joelja@bogus.com
|
||||
Suresh Krishnan Internet Area suresh.krishnan@ericsson.com
|
||||
Mirja Kühlewind Transport Area ietf@kuehlewind.net
|
||||
Terry Manderson Internet Area terry.manderson@icann.org
|
||||
Alexey Melnikov Applications and Real-Time Area aamelnikov@fastmail.fm
|
||||
Kathleen Moriarty Security Area Kathleen.Moriarty.ietf@gmail.com
|
||||
Alvaro Retana Routing Area aretana@cisco.com
|
||||
=================== =================================== ========================
|
||||
|
||||
|
||||
Liaison and ex-officio members include:
|
||||
|
||||
=================== =================================== ========================
|
||||
Olaf Kolkman IAB Chair iab-chair@iab.org
|
||||
Danny McPherson IAB Liaison danny@tcb.net
|
||||
Michelle Cotton IANA Liaison iana@iana.org
|
||||
Sandy Ginoza RFC Editor Liaison rfc-editor@rfc-editor.org
|
||||
Alexa Morris IETF Secretariat Liaison exec-director@ietf.org
|
||||
=================== =================================== ========================
|
||||
|
||||
|
||||
The IETF has a Secretariat, which is managed by Association Management Solutions, LLC (AMS) in Fremont, California.The IETF Executive Director is Alexa Morris (exec-director@ietf.org).
|
||||
|
||||
|
||||
Other personnel that provide full-time support to the Secretariat include:
|
||||
|
||||
========================= ===================================
|
||||
Senior Meeting Planner Marcia Beaulieu
|
||||
Project Manager Stephanie McCammon
|
||||
Meeting Regsitrar Maddy Conner
|
||||
Project Manager Cindy Morgan
|
||||
Project Manager Amy Vezza
|
||||
========================= ===================================
|
||||
|
||||
To contact the Secretariat, please refer to the addresses and URLs provided on the IETF Secretariat Web page.
|
||||
|
||||
The IETF also has a general Administrative Support Activity headed by the IETF Administrative Director, Ray Pelletier iad@ietf.org
|
||||
|
||||
The working groups conduct their business during the tri-annual IETF meetings, at interim working group meetings, and via electronic mail on mailing lists established for each group. The tri-annual IETF meetings are 4.5 days in duration, and consist of working group sessions, training sessions, and plenary sessions. The plenary sessions include technical presentations, status reports, and an open IESG meeting.
|
||||
|
||||
Following each meeting, the IETF Secretariat publishes meeting proceedings, which contain reports from all of the groups that met, as well as presentation slides, where available. The proceedings also include a summary of the standards-related activities that took place since the previous IETF meeting.
|
||||
|
||||
Meeting minutes, working group charters (including information about the working group mailing lists), and general information on current IETF activities are available on the IETF Web site at https://www.ietf.org.
|
||||
'''
|
||||
|
||||
def forward(apps, schema_editor):
|
||||
DBTemplate = apps.get_model("dbtemplate", "DBTemplate")
|
||||
Group = apps.get_model("group", "Group")
|
||||
Meeting = apps.get_model("meeting", "Meeting")
|
||||
group = Group.objects.get(acronym='ietf')
|
||||
template = DBTemplate.objects.create(
|
||||
content=content,
|
||||
group=group,
|
||||
path='/meeting/proceedings/defaults/overview.rst',
|
||||
title='Proceedings Overview Template',
|
||||
type_id='rst')
|
||||
|
||||
# make copies for 95-97
|
||||
for n in (95,96,97):
|
||||
template.id = None
|
||||
template.path = '/meeting/proceedings/%s/overview.rst' % (n)
|
||||
template.title = 'IETF %s Proceedings Overview' % (n)
|
||||
template.save()
|
||||
meeting = Meeting.objects.get(number=n)
|
||||
meeting.overview = template
|
||||
meeting.save()
|
||||
|
||||
def reverse(apps, schema_editor):
|
||||
DBTemplate = apps.get_model("dbtemplate", "DBTemplate")
|
||||
Meeting = apps.get_model("meeting", "Meeting")
|
||||
DBTemplate.objects.get(path='/meeting/proceedings/defaults/overview.rst').delete()
|
||||
for n in (95,96,97):
|
||||
meeting = Meeting.objects.get(number=n)
|
||||
meeting.overview = None
|
||||
meeting.save()
|
||||
DBTemplate.objects.get(path='/meeting/proceedings/95/overview.rst').delete()
|
||||
DBTemplate.objects.get(path='/meeting/proceedings/96/overview.rst').delete()
|
||||
DBTemplate.objects.get(path='/meeting/proceedings/97/overview.rst').delete()
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('meeting', '0034_auto_20160818_1555'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(forward,reverse),
|
||||
]
|
|
@ -20,6 +20,7 @@ from django.conf import settings
|
|||
from django.template.defaultfilters import date as date_format
|
||||
from django.utils.text import slugify
|
||||
|
||||
from ietf.dbtemplate.models import DBTemplate
|
||||
from ietf.doc.models import Document
|
||||
from ietf.group.models import Group
|
||||
from ietf.group.utils import can_manage_materials
|
||||
|
@ -90,7 +91,8 @@ class Meeting(models.Model):
|
|||
session_request_lock_message = models.CharField(blank=True,max_length=255) # locked if not empty
|
||||
proceedings_final = models.BooleanField(default=False, help_text=u"Are the proceedings for this meeting complete?")
|
||||
acknowledgements = models.TextField(blank=True, help_text="Acknowledgements for use in meeting proceedings. Use ReStructuredText markup.")
|
||||
|
||||
overview = models.ForeignKey(DBTemplate, related_name='overview', null=True, editable=False)
|
||||
|
||||
def __unicode__(self):
|
||||
if self.type_id == "ietf":
|
||||
return "IETF-%s" % (self.number)
|
||||
|
|
|
@ -271,6 +271,35 @@ class MeetingTests(TestCase):
|
|||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
def test_proceedings_overview(self):
|
||||
'''Test proceedings IETF Overview page.
|
||||
Note: old meetings aren't supported so need to add a new meeting then test.
|
||||
'''
|
||||
make_meeting_test_data()
|
||||
# add meeting requires a previous meeting to work
|
||||
date = datetime.date(2016,7,14)
|
||||
Meeting.objects.create(type_id='ietf',date=date,number=96)
|
||||
url = urlreverse('ietf.secr.meetings.views.add')
|
||||
post_data = dict(number='97',city='Seoul',date='2016-11-13',country='KR',
|
||||
time_zone='Asia/Seoul',venue_name='Conrad Seoul',
|
||||
venue_addr='10 Gukjegeumyung-ro',
|
||||
idsubmit_cutoff_day_offset_00=13,
|
||||
idsubmit_cutoff_day_offset_01=20,
|
||||
idsubmit_cutoff_time_utc =datetime.timedelta(hours=23, minutes=59, seconds=59),
|
||||
idsubmit_cutoff_warning_days =datetime.timedelta(days=21),
|
||||
submission_start_day_offset=90,
|
||||
submission_cutoff_day_offset=26,
|
||||
submission_correction_day_offset=50,
|
||||
)
|
||||
self.client.login(username='secretary', password='secretary+password')
|
||||
|
||||
response = self.client.post(url, post_data)
|
||||
self.assertRedirects(response,urlreverse('ietf.secr.meetings.views.main'))
|
||||
url = urlreverse('ietf.meeting.views.proceedings_overview',kwargs={'num':97})
|
||||
response = self.client.get(url)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTrue('The Internet Engineering Task Force' in response.content)
|
||||
|
||||
def test_feed(self):
|
||||
meeting = make_meeting_test_data()
|
||||
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
|
||||
|
|
|
@ -71,6 +71,7 @@ type_ietf_only_patterns_id_optional = [
|
|||
url(r'^proceedings(?:.html)?/?$', views.proceedings),
|
||||
url(r'^proceedings(?:.html)?/finalize/?$', views.finalize_proceedings),
|
||||
url(r'^proceedings/acknowledgements/$', views.proceedings_acknowledgements),
|
||||
url(r'^proceedings/overview/$', views.proceedings_overview),
|
||||
]
|
||||
|
||||
urlpatterns = [
|
||||
|
|
|
@ -1641,6 +1641,22 @@ def finalize_proceedings(request, num=None):
|
|||
def proceedings_acknowledgements(request, num=None):
|
||||
|
||||
meeting = get_meeting(num)
|
||||
if meeting.number < 95:
|
||||
return HttpResponseRedirect( 'https://www.ietf.org/proceedings/%s/acknowledgement.html' % num )
|
||||
return render(request, "meeting/proceedings_acknowledgements.html", {
|
||||
'meeting': meeting,
|
||||
})
|
||||
|
||||
@role_required('Secretariat')
|
||||
def proceedings_overview(request, num=None):
|
||||
'''Display Overview for given meeting'''
|
||||
meeting = get_meeting(num)
|
||||
if meeting.number < 95:
|
||||
return HttpResponseRedirect( 'https://www.ietf.org/proceedings/%s/overview.html' % num )
|
||||
overview_template = '/meeting/proceedings/%s/overview.rst' % meeting.number
|
||||
template = render_to_string(overview_template, {})
|
||||
|
||||
return render(request, "meeting/proceedings_overview.html", {
|
||||
'meeting': meeting,
|
||||
'template': template,
|
||||
})
|
||||
|
|
|
@ -85,6 +85,8 @@ class SecrMeetingTestCase(TestCase):
|
|||
response = self.client.post(url, post_data, follow=True)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertEqual(Meeting.objects.count(),count + 1)
|
||||
meeting = Meeting.objects.order_by('id').last()
|
||||
self.assertEqual(meeting.overview.path,'/meeting/proceedings/%s/overview.rst' % meeting.number)
|
||||
|
||||
def test_edit_meeting(self):
|
||||
"Edit Meeting"
|
||||
|
|
|
@ -14,6 +14,7 @@ from django.shortcuts import render_to_response, get_object_or_404, redirect
|
|||
from django.template import RequestContext
|
||||
from django.utils.functional import curry
|
||||
|
||||
from ietf.dbtemplate.models import DBTemplate
|
||||
from ietf.ietfauth.utils import role_required
|
||||
from ietf.utils.mail import send_mail
|
||||
from ietf.meeting.helpers import get_meeting, make_materials_directories
|
||||
|
@ -313,9 +314,18 @@ def add(request):
|
|||
meeting.session_request_lock_message = previous_meeting.session_request_lock_message
|
||||
meeting.save()
|
||||
|
||||
#Create Physical new meeting directory and subdirectories
|
||||
# Create Physical new meeting directory and subdirectories
|
||||
make_materials_directories(meeting)
|
||||
|
||||
# Make copy of IETF Overview template
|
||||
template = DBTemplate.objects.get(path='/meeting/proceedings/defaults/overview.rst')
|
||||
template.id = None
|
||||
template.path = '/meeting/proceedings/%s/overview.rst' % (meeting.number)
|
||||
template.title = 'IETF %s Proceedings Overview' % (meeting.number)
|
||||
template.save()
|
||||
meeting.overview = template
|
||||
meeting.save()
|
||||
|
||||
messages.success(request, 'The Meeting was created successfully!')
|
||||
return redirect('meetings')
|
||||
else:
|
||||
|
|
|
@ -368,7 +368,8 @@ RFCDIFF_BASE_URL = "https://www.ietf.org/rfcdiff"
|
|||
TEST_RUNNER = 'ietf.utils.test_runner.IetfTestRunner'
|
||||
|
||||
# Fixtures which will be loaded before testing starts
|
||||
GLOBAL_TEST_FIXTURES = [ 'names','ietf.utils.test_data.make_immutable_base_data','nomcom_templates' ]
|
||||
GLOBAL_TEST_FIXTURES = [ 'names','ietf.utils.test_data.make_immutable_base_data',
|
||||
'nomcom_templates','proceedings_templates' ]
|
||||
|
||||
TEST_DIFF_FAILURE_DIR = "/tmp/test/failure/"
|
||||
|
||||
|
|
|
@ -313,6 +313,10 @@ pre {
|
|||
|
||||
/* misc pages */
|
||||
|
||||
#dbtemplate-edit textarea {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.liaison-group-col {
|
||||
min-width: 10em;
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<h2 class="anchor-target" id="introduction">Introduction</h2>
|
||||
<div>
|
||||
<a href="{% url 'ietf.meeting.views.proceedings_acknowledgements' num=meeting.number %}">Acknowledgements</a><br>
|
||||
<a href="#">IETF Overview</a><br>
|
||||
<a href="{% url 'ietf.meeting.views.proceedings_overview' num=meeting.number %}">IETF Overview</a><br>
|
||||
<a href="#">Progress Report</a><br>
|
||||
<a href="#">Attendees</a><br>
|
||||
</div>
|
||||
|
|
14
ietf/templates/meeting/proceedings_overview.html
Normal file
14
ietf/templates/meeting/proceedings_overview.html
Normal file
|
@ -0,0 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin markup_tags %}
|
||||
|
||||
{% block title %}IETF {{ meeting.number }} Proceedings {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<h1><a href="{% url 'ietf.meeting.views.proceedings' num=meeting.number %}">IETF {{ meeting.number }} Proceedings</a></h1>
|
||||
<h2>IETF Overview</h2>
|
||||
|
||||
{{ template|safe }}
|
||||
|
||||
{% endblock %}
|
Loading…
Reference in a new issue