Skip to content

Commit 7e6ed23

Browse files
committed
Merged in [11858] from rjsparks@nostrum.com:
Merge forward Ryan's IETF Overview pages. - Legacy-Id: 11874 Note: SVN reference [11858] has been migrated to Git commit cb3af1a
2 parents 6859ca9 + cb3af1a commit 7e6ed23

14 files changed

Lines changed: 323 additions & 5 deletions

File tree

ietf/dbtemplate/templates/dbtemplate/template_edit.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ <h2>Meta information</h2>
3232
</dl>
3333

3434
<h2>Edit template content</h2>
35-
<form role="form" method="post">
35+
<form id="dbtemplate-edit" role="form" method="post">
3636
{% csrf_token %}
3737

3838
{% bootstrap_form form %}
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<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.
3+
4+
5+
6+
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.
7+
8+
9+
10+
The IETF mission includes:
11+
12+
13+
14+
* Identifying and proposing solutions to pressing operational and technical problems in the Internet
15+
16+
* Specifying the development or usage of protocols and the near-term architecture, to solve technical problems for the Internet
17+
18+
* Facilitating technology transfer from the Internet Research Task Force (IRTF) to the wider Internet community;and
19+
20+
* Providing a forum for the exchange of relevant information within the Internet community between vendors, users, researchers, agency contractors, and network managers.
21+
22+
23+
24+
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).
25+
26+
27+
28+
=================== =================================== ========================
29+
Name Area Email
30+
=================== =================================== ========================
31+
Jari Arkko IETF Chair chair@ietf.org
32+
Jari Arkko General Area jari.arkko@piuha.net
33+
Alia Atlas Routing Area akatlas@gmail.com
34+
Deborah Brungard Routing Areas db3546@att.com
35+
Ben Campbell Applications and Real-Time Area ben@nostrum.com
36+
Benoit Claise Operations and Management Area bclaise@cisco.com
37+
Alissa Cooper Applications and Real-Time Area alissa@cooperw.in
38+
Spencer Dawkins Transport Area spencerdawkins.ietf@gmail.com
39+
Stephen Farrell Security Area stephen.farrell@cs.tcd.ie
40+
Brian Haberman Internet Area brian@innovationslab.net
41+
Joel Jaeggli Operations and Management Area joelja@bogus.com
42+
Barry Leiba Applications and Real-Time Area barryleiba@computer.org
43+
Terry Manderson Internet Area terry.manderson@icann.org
44+
Kathleen Moriarty Security Area Kathleen.Moriarty.ietf@gmail.com
45+
Alvaro Retana Routing Area aretana@cisco.com
46+
Martin Stiemerling Transport Area mls.ietf@gmail.com
47+
=================== =================================== ========================
48+
49+
50+
Liaison and ex-officio members include:
51+
52+
53+
=================== =================================== ========================
54+
Olaf Kolkman IAB Chair iab-chair@iab.org
55+
Danny McPherson IAB Liaison danny@tcb.net
56+
Michelle Cotton IANA Liaison iana@iana.org
57+
Sandy Ginoza RFC Editor Liaison rfc-editor@rfc-editor.org
58+
Alexa Morris IETF Secretariat Liaison exec-director@ietf.org
59+
=================== =================================== ========================
60+
61+
62+
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).
63+
64+
65+
Other personnel that provide full-time support to the Secretariat include:
66+
67+
68+
========================= ===================================
69+
Senior Meeting Planner Marcia Beaulieu
70+
Project Manager Stephanie McCammon
71+
Meeting Regsitrar Maddy Conner
72+
Project Manager Cindy Morgan
73+
Project Manager Amy Vezza
74+
========================= ===================================
75+
76+
77+
To contact the Secretariat, please refer to the addresses and URLs provided on the IETF Secretariat Web page.
78+
79+
80+
81+
The IETF also has a general Administrative Support Activity headed by the IETF Administrative Director, Ray Pelletier iad@ietf.org
82+
83+
84+
85+
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.
86+
87+
88+
89+
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.
90+
91+
92+
93+
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>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# -*- coding: utf-8 -*-
2+
from __future__ import unicode_literals
3+
4+
from django.db import models, migrations
5+
6+
7+
class Migration(migrations.Migration):
8+
9+
dependencies = [
10+
('dbtemplate', '0002_auto_20141222_1749'),
11+
('meeting', '0033_add_meeting_acknowlegements'),
12+
]
13+
14+
operations = [
15+
migrations.AddField(
16+
model_name='meeting',
17+
name='overview',
18+
field=models.ForeignKey(related_name='overview', editable=False, to='dbtemplate.DBTemplate', null=True),
19+
preserve_default=True,
20+
),
21+
migrations.AlterField(
22+
model_name='meeting',
23+
name='acknowledgements',
24+
field=models.TextField(help_text=b'Acknowledgements for use in meeting proceedings. Use ReStructuredText markup.', blank=True),
25+
preserve_default=True,
26+
),
27+
]
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# -*- coding: utf-8 -*-
2+
from __future__ import unicode_literals
3+
4+
from django.db import migrations
5+
6+
7+
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.
8+
9+
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.
10+
11+
The IETF mission includes:
12+
13+
* Identifying and proposing solutions to pressing operational and technical problems in the Internet
14+
* Specifying the development or usage of protocols and the near-term architecture, to solve technical problems for the Internet
15+
* Facilitating technology transfer from the Internet Research Task Force (IRTF) to the wider Internet community;and
16+
* Providing a forum for the exchange of relevant information within the Internet community between vendors, users, researchers, agency contractors, and network managers.
17+
18+
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).
19+
20+
=================== =================================== ========================
21+
Name Area Email
22+
=================== =================================== ========================
23+
Jari Arkko IETF Chair chair@ietf.org
24+
Jari Arkko General Area jari.arkko@piuha.net
25+
Alia Atlas Routing Area akatlas@gmail.com
26+
Deborah Brungard Routing Areas db3546@att.com
27+
Ben Campbell Applications and Real-Time Area ben@nostrum.com
28+
Benoit Claise Operations and Management Area bclaise@cisco.com
29+
Alissa Cooper Applications and Real-Time Area alissa@cooperw.in
30+
Spencer Dawkins Transport Area spencerdawkins.ietf@gmail.com
31+
Stephen Farrell Security Area stephen.farrell@cs.tcd.ie
32+
Joel Jaeggli Operations and Management Area joelja@bogus.com
33+
Suresh Krishnan Internet Area suresh.krishnan@ericsson.com
34+
Mirja Kühlewind Transport Area ietf@kuehlewind.net
35+
Terry Manderson Internet Area terry.manderson@icann.org
36+
Alexey Melnikov Applications and Real-Time Area aamelnikov@fastmail.fm
37+
Kathleen Moriarty Security Area Kathleen.Moriarty.ietf@gmail.com
38+
Alvaro Retana Routing Area aretana@cisco.com
39+
=================== =================================== ========================
40+
41+
42+
Liaison and ex-officio members include:
43+
44+
=================== =================================== ========================
45+
Olaf Kolkman IAB Chair iab-chair@iab.org
46+
Danny McPherson IAB Liaison danny@tcb.net
47+
Michelle Cotton IANA Liaison iana@iana.org
48+
Sandy Ginoza RFC Editor Liaison rfc-editor@rfc-editor.org
49+
Alexa Morris IETF Secretariat Liaison exec-director@ietf.org
50+
=================== =================================== ========================
51+
52+
53+
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).
54+
55+
56+
Other personnel that provide full-time support to the Secretariat include:
57+
58+
========================= ===================================
59+
Senior Meeting Planner Marcia Beaulieu
60+
Project Manager Stephanie McCammon
61+
Meeting Regsitrar Maddy Conner
62+
Project Manager Cindy Morgan
63+
Project Manager Amy Vezza
64+
========================= ===================================
65+
66+
To contact the Secretariat, please refer to the addresses and URLs provided on the IETF Secretariat Web page.
67+
68+
The IETF also has a general Administrative Support Activity headed by the IETF Administrative Director, Ray Pelletier iad@ietf.org
69+
70+
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.
71+
72+
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.
73+
74+
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.
75+
'''
76+
77+
def forward(apps, schema_editor):
78+
DBTemplate = apps.get_model("dbtemplate", "DBTemplate")
79+
Group = apps.get_model("group", "Group")
80+
Meeting = apps.get_model("meeting", "Meeting")
81+
group = Group.objects.get(acronym='ietf')
82+
template = DBTemplate.objects.create(
83+
content=content,
84+
group=group,
85+
path='/meeting/proceedings/defaults/overview.rst',
86+
title='Proceedings Overview Template',
87+
type_id='rst')
88+
89+
# make copies for 95-97
90+
for n in (95,96,97):
91+
template.id = None
92+
template.path = '/meeting/proceedings/%s/overview.rst' % (n)
93+
template.title = 'IETF %s Proceedings Overview' % (n)
94+
template.save()
95+
meeting = Meeting.objects.get(number=n)
96+
meeting.overview = template
97+
meeting.save()
98+
99+
def reverse(apps, schema_editor):
100+
DBTemplate = apps.get_model("dbtemplate", "DBTemplate")
101+
Meeting = apps.get_model("meeting", "Meeting")
102+
DBTemplate.objects.get(path='/meeting/proceedings/defaults/overview.rst').delete()
103+
for n in (95,96,97):
104+
meeting = Meeting.objects.get(number=n)
105+
meeting.overview = None
106+
meeting.save()
107+
DBTemplate.objects.get(path='/meeting/proceedings/95/overview.rst').delete()
108+
DBTemplate.objects.get(path='/meeting/proceedings/96/overview.rst').delete()
109+
DBTemplate.objects.get(path='/meeting/proceedings/97/overview.rst').delete()
110+
111+
class Migration(migrations.Migration):
112+
113+
dependencies = [
114+
('meeting', '0034_auto_20160818_1555'),
115+
]
116+
117+
operations = [
118+
migrations.RunPython(forward,reverse),
119+
]

ietf/meeting/models.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from django.template.defaultfilters import date as date_format
2121
from django.utils.text import slugify
2222

23+
from ietf.dbtemplate.models import DBTemplate
2324
from ietf.doc.models import Document
2425
from ietf.group.models import Group
2526
from ietf.group.utils import can_manage_materials
@@ -90,7 +91,8 @@ class Meeting(models.Model):
9091
session_request_lock_message = models.CharField(blank=True,max_length=255) # locked if not empty
9192
proceedings_final = models.BooleanField(default=False, help_text=u"Are the proceedings for this meeting complete?")
9293
acknowledgements = models.TextField(blank=True, help_text="Acknowledgements for use in meeting proceedings. Use ReStructuredText markup.")
93-
94+
overview = models.ForeignKey(DBTemplate, related_name='overview', null=True, editable=False)
95+
9496
def __unicode__(self):
9597
if self.type_id == "ietf":
9698
return "IETF-%s" % (self.number)

ietf/meeting/tests_views.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,35 @@ def test_proceedings_acknowledgements(self):
271271
r = self.client.get(url)
272272
self.assertEqual(r.status_code, 200)
273273

274+
def test_proceedings_overview(self):
275+
'''Test proceedings IETF Overview page.
276+
Note: old meetings aren't supported so need to add a new meeting then test.
277+
'''
278+
make_meeting_test_data()
279+
# add meeting requires a previous meeting to work
280+
date = datetime.date(2016,7,14)
281+
Meeting.objects.create(type_id='ietf',date=date,number=96)
282+
url = urlreverse('ietf.secr.meetings.views.add')
283+
post_data = dict(number='97',city='Seoul',date='2016-11-13',country='KR',
284+
time_zone='Asia/Seoul',venue_name='Conrad Seoul',
285+
venue_addr='10 Gukjegeumyung-ro',
286+
idsubmit_cutoff_day_offset_00=13,
287+
idsubmit_cutoff_day_offset_01=20,
288+
idsubmit_cutoff_time_utc =datetime.timedelta(hours=23, minutes=59, seconds=59),
289+
idsubmit_cutoff_warning_days =datetime.timedelta(days=21),
290+
submission_start_day_offset=90,
291+
submission_cutoff_day_offset=26,
292+
submission_correction_day_offset=50,
293+
)
294+
self.client.login(username='secretary', password='secretary+password')
295+
296+
response = self.client.post(url, post_data)
297+
self.assertRedirects(response,urlreverse('ietf.secr.meetings.views.main'))
298+
url = urlreverse('ietf.meeting.views.proceedings_overview',kwargs={'num':97})
299+
response = self.client.get(url)
300+
self.assertEqual(response.status_code, 200)
301+
self.assertTrue('The Internet Engineering Task Force' in response.content)
302+
274303
def test_feed(self):
275304
meeting = make_meeting_test_data()
276305
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()

ietf/meeting/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
url(r'^proceedings(?:.html)?/?$', views.proceedings),
7474
url(r'^proceedings(?:.html)?/finalize/?$', views.finalize_proceedings),
7575
url(r'^proceedings/acknowledgements/$', views.proceedings_acknowledgements),
76+
url(r'^proceedings/overview/$', views.proceedings_overview),
7677
]
7778

7879
urlpatterns = [

ietf/meeting/views.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1638,6 +1638,22 @@ def finalize_proceedings(request, num=None):
16381638
def proceedings_acknowledgements(request, num=None):
16391639

16401640
meeting = get_meeting(num)
1641+
if meeting.number < 95:
1642+
return HttpResponseRedirect( 'https://www.ietf.org/proceedings/%s/acknowledgement.html' % num )
16411643
return render(request, "meeting/proceedings_acknowledgements.html", {
16421644
'meeting': meeting,
16431645
})
1646+
1647+
@role_required('Secretariat')
1648+
def proceedings_overview(request, num=None):
1649+
'''Display Overview for given meeting'''
1650+
meeting = get_meeting(num)
1651+
if meeting.number < 95:
1652+
return HttpResponseRedirect( 'https://www.ietf.org/proceedings/%s/overview.html' % num )
1653+
overview_template = '/meeting/proceedings/%s/overview.rst' % meeting.number
1654+
template = render_to_string(overview_template, {})
1655+
1656+
return render(request, "meeting/proceedings_overview.html", {
1657+
'meeting': meeting,
1658+
'template': template,
1659+
})

ietf/secr/meetings/tests.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ def test_add_meeting(self):
8585
response = self.client.post(url, post_data, follow=True)
8686
self.assertEqual(response.status_code, 200)
8787
self.assertEqual(Meeting.objects.count(),count + 1)
88+
meeting = Meeting.objects.order_by('id').last()
89+
self.assertEqual(meeting.overview.path,'/meeting/proceedings/%s/overview.rst' % meeting.number)
8890

8991
def test_edit_meeting(self):
9092
"Edit Meeting"

0 commit comments

Comments
 (0)