Rewrite meeting tests: add fake data generator, rewrite the
SimpleUrlTest tests to work with fake data and expand them a bit (they are still pretty basic), rewrite the agenda editing tests to work with the small generated fake data, delete those tests that are trivial or only testing fixture facts as opposed to actually exercising the code, combine some of them, expand most to actually check the returned JSON and generally clean up the copy-paste mess of incorrect comments and incorrect POST data. At this point, no tests are using the real data base test machinery, so one can run the full test suite with just python manage.py test --settings=settings_sqlitetest This takes about 72 seconds one a 2.4 GHz Intel Core 2. The test-crawler and other real data tests take somewhat longer, though. - Legacy-Id: 7069
This commit is contained in:
parent
3408b73872
commit
d5b14f3fb3
55
ietf/meeting/test_data.py
Normal file
55
ietf/meeting/test_data.py
Normal file
|
@ -0,0 +1,55 @@
|
|||
import datetime
|
||||
|
||||
from ietf.utils.test_data import make_test_data
|
||||
from ietf.meeting.models import Meeting, Room, TimeSlot, Session, Schedule, ScheduledSession
|
||||
from ietf.person.models import Person
|
||||
from ietf.doc.models import Document, State
|
||||
from ietf.group.models import Group
|
||||
|
||||
|
||||
def make_meeting_test_data():
|
||||
make_test_data()
|
||||
system_person = Person.objects.get(name="(System)")
|
||||
plainman = Person.objects.get(user__username="plain")
|
||||
|
||||
meeting = Meeting.objects.get(number="42", type="ietf")
|
||||
schedule = Schedule.objects.create(meeting=meeting, owner=plainman, name="test-agenda", visible=True, public=True)
|
||||
room = Room.objects.create(meeting=meeting, name="Test Room", capacity=123)
|
||||
|
||||
# mars WG
|
||||
slot = TimeSlot.objects.create(meeting=meeting, type_id="session", duration=30 * 60, location=room,
|
||||
time=datetime.datetime.combine(datetime.date.today(), datetime.time(9, 30)))
|
||||
mars_session = Session.objects.create(meeting=meeting, group=Group.objects.get(acronym="mars"),
|
||||
attendees=10, requested_by=system_person,
|
||||
requested_duration=20, status_id="sched",
|
||||
scheduled=datetime.datetime.now())
|
||||
ScheduledSession.objects.create(timeslot=slot, session=mars_session, schedule=schedule)
|
||||
|
||||
# ames WG
|
||||
slot = TimeSlot.objects.create(meeting=meeting, type_id="session", duration=30 * 60, location=room,
|
||||
time=datetime.datetime.combine(datetime.date.today(), datetime.time(10, 30)))
|
||||
ames_session = Session.objects.create(meeting=meeting, group=Group.objects.get(acronym="ames"),
|
||||
attendees=10, requested_by=system_person,
|
||||
requested_duration=20, status_id="sched",
|
||||
scheduled=datetime.datetime.now())
|
||||
ScheduledSession.objects.create(timeslot=slot, session=ames_session, schedule=schedule)
|
||||
|
||||
meeting.agenda = schedule
|
||||
meeting.save()
|
||||
|
||||
doc = Document.objects.create(name='agenda-mars-ietf-42', type_id='agenda', title="Agenda", external_url="agenda-mars")
|
||||
doc.set_state(State.objects.get(type=doc.type_id, slug="active"))
|
||||
mars_session.materials.add(doc)
|
||||
|
||||
doc = Document.objects.create(name='minutes-mars-ietf-42', type_id='minutes', title="Minutes", external_url="minutes-mars")
|
||||
doc.set_state(State.objects.get(type=doc.type_id, slug="active"))
|
||||
mars_session.materials.add(doc)
|
||||
|
||||
doc = Document.objects.create(name='slides-mars-ietf-42', type_id='slides', title="Slideshow", external_url="slides-mars")
|
||||
doc.set_state(State.objects.get(type=doc.type_id, slug="active"))
|
||||
mars_session.materials.add(doc)
|
||||
|
||||
return meeting
|
||||
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
# Copyright The IETF Trust 2012, All Rights Reserved
|
||||
|
||||
"""
|
||||
The test cases are split into multiple files.
|
||||
"""
|
||||
|
||||
# actual tests are distributed among a set of files in subdir tests/
|
||||
from ietf.meeting.tests.meetingurls import MeetingUrlTestCase
|
||||
from ietf.meeting.tests.agenda import AgendaInfoTestCase
|
||||
from ietf.meeting.tests.api import ApiTestCase
|
||||
from ietf.meeting.tests.edit import EditTestCase
|
||||
from ietf.meeting.tests.auths import AuthDataTestCase
|
||||
from ietf.meeting.tests.view import ViewTestCase
|
||||
from ietf.meeting.tests.urlgen import UrlGenTestCase
|
||||
|
||||
|
File diff suppressed because it is too large
Load diff
|
@ -1,172 +0,0 @@
|
|||
"Date","Start","End","Session","Room","Area","Acronym","Type","Description","Session ID","Agenda","Slides"
|
||||
"2012-03-24","0930","1800","None","Hall Maillot A","","tools","","Code Sprint","22083","",""
|
||||
"2012-03-25","1000","1200","None","241","","iepg","","IEPG Meeting","2288","",""
|
||||
"2012-03-25","1100","1900","Registration","Hall Maillot A","","","","IETF Registration","r2898","",""
|
||||
"2012-03-25","1130","1300","Break","Hall Maillot A","","","","Break","b2904","",""
|
||||
"2012-03-25","1300","1450","None","252A","","ietf","","Meetecho Tutorial for Participants and WG Chairs","2278","",""
|
||||
"2012-03-25","1300","1450","None","252B","","edu","GEN","Newcomers' Orientation","2275","",""
|
||||
"2012-03-25","1300","1450","None","241","","edu","GEN","Tools for Creating Internet-Drafts Tutorial","2274","",""
|
||||
"2012-03-25","1500","1650","None","252B","","edu","GEN","Newcomers' Orientation (French)","2277","",""
|
||||
"2012-03-25","1500","1650","None","241","","edu","GEN","Operations, Administration, and Maintenance Tutorial","2276","",""
|
||||
"2012-03-25","1600","1700","None","Salon Etoile d'Or (Concorde Hotel)","","ietf","","Newcomers' Meet and Greet (open to Newcomers and WG chairs only)","2280","",""
|
||||
"2012-03-25","1700","1900","None","Hall Maillot A","","ietf","","Welcome Reception","2279","",""
|
||||
"2012-03-26","0800","1800","Registration","Hall Maillot A","","","","IETF Registration","r2899","",""
|
||||
"2012-03-26","0800","0900","Break","Hall Maillot A","","","","Beverages","b2909","",""
|
||||
"2012-03-26","0900","1130","Morning Session I","252B","APP","appsawg","WG","Applications Area Working Group","2160","http://www.ietf.org/proceedings/83/agenda/agenda-83-appsawg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-appsawg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-appsawg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-appsawg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-appsawg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-appsawg-4.pdf"
|
||||
"2012-03-26","0900","1130","Morning Session I","252A","INT","multimob","WG","Multicast Mobility","2161","http://www.ietf.org/proceedings/83/agenda/agenda-83-multimob.html","http://www.ietf.org/proceedings/83/slides/slides-83-multimob-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-multimob-7.pdf"
|
||||
"2012-03-26","0900","1130","Morning Session I","212/213","INT","tictoc","WG","Timing over IP Connection and Transfer of Clock","2257","http://www.ietf.org/proceedings/83/agenda/agenda-83-tictoc.txt","http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tictoc-1.pdf"
|
||||
"2012-03-26","0900","1130","Morning Session I","241","INT","trill","WG","Transparent Interconnection of Lots of Links","2174","http://www.ietf.org/proceedings/83/agenda/agenda-83-trill.txt","http://www.ietf.org/proceedings/83/slides/slides-83-trill-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-9.pdf"
|
||||
"2012-03-26","0900","1130","Morning Session I","253","IRTF","ncrg","","Network Complexity Research Group","2222","http://www.ietf.org/proceedings/83/agenda/agenda-83-ncrg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ncrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ncrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ncrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ncrg-3.pdf"
|
||||
"2012-03-26","0900","1130","Morning Session I","Maillot","OPS","v6ops","WG","IPv6 Operations","2175","http://www.ietf.org/proceedings/83/agenda/agenda-83-v6ops.html","http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-13.pdf"
|
||||
"2012-03-26","0900","1130","Morning Session I","243","RAI","mmusic","WG","Multiparty Multimedia Session Control","2166","http://www.ietf.org/proceedings/83/agenda/agenda-83-mmusic.htm","http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mmusic-1.pdf"
|
||||
"2012-03-26","0900","1130","Morning Session I","242AB","RTG","idr","WG","Inter-Domain Routing","2202","http://www.ietf.org/proceedings/83/agenda/agenda-83-idr.txt","http://www.ietf.org/proceedings/83/slides/slides-83-idr-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-idr-9.pdf"
|
||||
"2012-03-26","1130","1300","Break","Hall Maillot A","","","","Break","b2905","",""
|
||||
"2012-03-26","1300","1500","Afternoon Session I","212/213","APP","eai","WG","Email Address Internationalization","2265","",""
|
||||
"2012-03-26","1300","1500","Afternoon Session I","242AB","APP","websec","WG","Web Security","2159","http://www.ietf.org/proceedings/83/agenda/agenda-83-websec.txt","http://www.ietf.org/proceedings/83/slides/slides-83-websec-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-websec-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-websec-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-websec-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-websec-5.pdf"
|
||||
"2012-03-26","1300","1500","Afternoon Session I","212/213","IRTF","mobopts","","IP Mobility Optimizations Research Group","2263","http://www.ietf.org/proceedings/83/agenda/agenda-83-mobopts.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mobopts-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mobopts-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mobopts-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mobopts-3.pdf"
|
||||
"2012-03-26","1300","1500","Afternoon Session I","243","OPS","netmod","WG","NETCONF Data Modeling Language","2168","http://www.ietf.org/proceedings/83/agenda/agenda-83-netmod.txt","http://www.ietf.org/proceedings/83/slides/slides-83-netmod-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netmod-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netmod-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netmod-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netmod-3.pdf"
|
||||
"2012-03-26","1300","1500","Afternoon Session I","252B","RAI","avtcore","WG","Audio/Video Transport Core Maintenance","2216","http://www.ietf.org/proceedings/83/agenda/agenda-83-avtcore.html","http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-5.pdf"
|
||||
"2012-03-26","1300","1500","Afternoon Session I","Maillot","RTG","ccamp","WG","Common Control and Measurement Plane","2162","http://www.ietf.org/proceedings/83/agenda/agenda-83-ccamp.htm","http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-17.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-18.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-19.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-20.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-21.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-22.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-23.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-24.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-25.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-26.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-27.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-28.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-29.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-30.pdf"
|
||||
"2012-03-26","1300","1500","Afternoon Session I","241","RTG","sidr","WG","Secure Inter-Domain Routing","22087","http://www.ietf.org/proceedings/83/agenda/agenda-83-sidr.html","http://www.ietf.org/proceedings/83/slides/slides-83-sidr-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-17.pdf"
|
||||
"2012-03-26","1300","1500","Afternoon Session I","252A","TSV","i2aex","BOF","Infrastructure-to-Application Information Exposure","2281","http://www.ietf.org/proceedings/83/agenda/agenda-83-i2aex.txt","http://www.ietf.org/proceedings/83/slides/slides-83-i2aex-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-i2aex-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-i2aex-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-i2aex-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-i2aex-4.pdf"
|
||||
"2012-03-26","1300","1500","Afternoon Session I","253","TSV","ippm","WG","IP Performance Metrics","2248","http://www.ietf.org/proceedings/83/agenda/agenda-83-ippm.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ippm-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ippm-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ippm-1.pdf"
|
||||
"2012-03-26","1510","1610","Afternoon Session II","243","APP","urnbis","WG","Uniform Resource Names, Revised","2234","http://www.ietf.org/proceedings/83/agenda/agenda-83-urnbis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-urnbis-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-urnbis-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-urnbis-2.pdf"
|
||||
"2012-03-26","1510","1610","Afternoon Session II","Maillot","INT","pcp","WG","Port Control Protocol","2196","http://www.ietf.org/proceedings/83/agenda/agenda-83-pcp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pcp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-14.pdf"
|
||||
"2012-03-26","1510","1610","Afternoon Session II","242AB","OPS","opsec","WG","Operational Security Capabilities for IP Network Infrastructure","2247","http://www.ietf.org/proceedings/83/agenda/agenda-83-opsec.txt","http://www.ietf.org/proceedings/83/slides/slides-83-opsec-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsec-6.pdf"
|
||||
"2012-03-26","1510","1610","Afternoon Session II","252B","RAI","avtcore","WG","Audio/Video Transport Core Maintenance","2216","http://www.ietf.org/proceedings/83/agenda/agenda-83-avtcore.html","http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtcore-5.pdf"
|
||||
"2012-03-26","1510","1610","Afternoon Session II","241","RAI","insipid","WG","INtermediary-safe SIP session ID","2282","http://www.ietf.org/proceedings/83/agenda/agenda-83-insipid.txt","http://www.ietf.org/proceedings/83/slides/slides-83-insipid-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-insipid-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-insipid-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-insipid-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-insipid-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-insipid-5.pdf"
|
||||
"2012-03-26","1510","1610","Afternoon Session II","253","RTG","forces","WG","Forwarding and Control Element Separation","2180","http://www.ietf.org/proceedings/83/agenda/agenda-83-forces.txt","http://www.ietf.org/proceedings/83/slides/slides-83-forces-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-forces-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-forces-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-forces-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-forces-5.pdf"
|
||||
"2012-03-26","1510","1610","Afternoon Session II","252A","SEC","ipsecme","WG","IP Security Maintenance and Extensions","2230","http://www.ietf.org/proceedings/83/agenda/agenda-83-ipsecme.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipsecme-5.pdf"
|
||||
"2012-03-26","1510","1610","Afternoon Session II","212/213","TSV","rmt","WG","Reliable Multicast Transport","2198","http://www.ietf.org/proceedings/83/agenda/agenda-83-rmt.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rmt-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rmt-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rmt-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rmt-3.pdf"
|
||||
"2012-03-26","1610","1630","Break","Hall Maillot A","","","","Beverage and Snack Break I","b2914","",""
|
||||
"2012-03-26","1630","1930","Technical Plenary","Amphitheatre Bleu","","iab","","Technical Plenary","2273","http://www.ietf.org/proceedings/83/agenda/agenda-83-iab-technical-plenary.txt","http://www.ietf.org/proceedings/83/slides/slides-83-iab-0-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-6-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-5-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-7-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-8-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-9-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-10-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-11-technical-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iab-12-technical-plenary.pdf"
|
||||
"2012-03-27","0800","1800","Registration","Hall Maillot A","","","","IETF Registration","r2900","",""
|
||||
"2012-03-27","0800","0900","Break","Hall Maillot A","","","","Beverages","b2910","",""
|
||||
"2012-03-27","0900","1130","Morning Session I","243","APP","core","WG","Constrained RESTful Environments","2193","http://www.ietf.org/proceedings/83/agenda/agenda-83-core.txt","http://www.ietf.org/proceedings/83/slides/slides-83-core-0.pdf"
|
||||
"2012-03-27","0900","1130","Morning Session I","252A","GEN","antitrust","BOF","Does the IETF Need an Anti-Trust Policy","2283","http://www.ietf.org/proceedings/83/agenda/agenda-83-antitrust.txt","http://www.ietf.org/proceedings/83/slides/slides-83-antitrust-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-antitrust-2.pdf"
|
||||
"2012-03-27","0900","1130","Morning Session I","Maillot","INT","6man","WG","IPv6 Maintenance","2206","http://www.ietf.org/proceedings/83/agenda/agenda-83-6man.html","http://www.ietf.org/proceedings/83/slides/slides-83-6man-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6man-7.pdf"
|
||||
"2012-03-27","0900","1130","Morning Session I","241","IRTF","dtnrg","","Delay-Tolerant Networking Research Group","2231","http://www.ietf.org/proceedings/83/agenda/agenda-83-dtnrg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-5.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-dtnrg-7.pdf"
|
||||
"2012-03-27","0900","1130","Morning Session I","252B","RAI","clue","WG","ControLling mUltiple streams for tElepresence","2194","http://www.ietf.org/proceedings/83/agenda/agenda-83-clue.html","http://www.ietf.org/proceedings/83/slides/slides-83-clue-6.pptx|http://www.ietf.org/proceedings/83/slides/slides-83-clue-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-4.pptx|http://www.ietf.org/proceedings/83/slides/slides-83-clue-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-5.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-clue-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-10.pdf"
|
||||
"2012-03-27","0900","1130","Morning Session I","242AB","RTG","mpls","WG","Multiprotocol Label Switching","2188","http://www.ietf.org/proceedings/83/agenda/agenda-83-mpls.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mpls-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-26.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-17.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-27.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-21.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-22.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-23.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-24.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-25.pdf"
|
||||
"2012-03-27","0900","1130","Morning Session I","212/213","SEC","pkix","WG","Public-Key Infrastructure (X.509)","2157","http://www.ietf.org/proceedings/83/agenda/agenda-83-pkix.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pkix-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pkix-8.pdf"
|
||||
"2012-03-27","0900","1130","Morning Session I","253","TSV","tsvwg","WG","Transport Area Working Group","2242","http://www.ietf.org/proceedings/83/agenda/agenda-83-tsvwg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tsvwg-6.pdf"
|
||||
"2012-03-27","1130","1300","Break","Hall Maillot A","","","","Break","b2906","",""
|
||||
"2012-03-27","1300","1500","Afternoon Session I","252A","APP","httpbis","WG","Hypertext Transfer Protocol Bis","2238","http://www.ietf.org/proceedings/83/agenda/agenda-83-httpbis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-5.pdf"
|
||||
"2012-03-27","1300","1500","Afternoon Session I","252B","INT","pcp","WG","Port Control Protocol","12196","http://www.ietf.org/proceedings/83/agenda/agenda-83-pcp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pcp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcp-14.pdf"
|
||||
"2012-03-27","1300","1500","Afternoon Session I","212/213","OPS","bmwg","WG","Benchmarking Methodology","2243","http://www.ietf.org/proceedings/83/agenda/agenda-83-bmwg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bmwg-5.pdf"
|
||||
"2012-03-27","1300","1500","Afternoon Session I","241","OPS","eman","WG","Energy Management","2237","http://www.ietf.org/proceedings/83/agenda/agenda-83-eman.txt","http://www.ietf.org/proceedings/83/slides/slides-83-eman-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-eman-7.pdf"
|
||||
"2012-03-27","1300","1500","Afternoon Session I","Maillot","RAI","dispatch","WG","Dispatch","2190","http://www.ietf.org/proceedings/83/agenda/agenda-83-dispatch.html","http://www.ietf.org/proceedings/83/slides/slides-83-dispatch-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dispatch-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dispatch-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dispatch-1.pdf"
|
||||
"2012-03-27","1300","1500","Afternoon Session I","242AB","RTG","ospf","WG","Open Shortest Path First IGP","2172","http://www.ietf.org/proceedings/83/agenda/agenda-83-ospf.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ospf-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ospf-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ospf-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ospf-1.pdf"
|
||||
"2012-03-27","1300","1500","Afternoon Session I","243","RTG","pim","WG","Protocol Independent Multicast","2177","http://www.ietf.org/proceedings/83/agenda/agenda-83-pim.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pim-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pim-5.pdf"
|
||||
"2012-03-27","1300","1500","Afternoon Session I","253","SEC","kitten","WG","Common Authentication Technology Next Generation","2253","http://www.ietf.org/proceedings/83/agenda/agenda-83-kitten.txt","http://www.ietf.org/proceedings/83/slides/slides-83-kitten-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-kitten-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-kitten-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-kitten-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-kitten-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-kitten-5.pdf"
|
||||
"2012-03-27","1300","1500","Afternoon Session I","253","SEC","krb-wg","WG","Kerberos","2250","http://www.ietf.org/proceedings/83/agenda/agenda-83-krb-wg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-krb-wg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-krb-wg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-krb-wg-2.pdf"
|
||||
"2012-03-27","1500","1520","Break","Hall Maillot A","","","","Beverage and Snack Break I","b2915","",""
|
||||
"2012-03-27","1520","1700","Afternoon Session II","243","APP","weirds","WG","Web Extensible Internet Registration Data Service","2284","http://www.ietf.org/proceedings/83/agenda/agenda-83-weirds.txt","http://www.ietf.org/proceedings/83/slides/slides-83-weirds-0.pdf"
|
||||
"2012-03-27","1520","1700","Afternoon Session II","212/213","INT","ancp","WG","Access Node Control Protocol","2236","http://www.ietf.org/proceedings/83/agenda/agenda-83-ancp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ancp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ancp-3.pdf"
|
||||
"2012-03-27","1520","1700","Afternoon Session II","252B","INT","lisp","WG","Locator/ID Separation Protocol","2164","http://www.ietf.org/proceedings/83/agenda/agenda-83-lisp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-lisp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lisp-5.pdf"
|
||||
"2012-03-27","1520","1700","Afternoon Session II","252A","IRTF","iccrg","","Internet Congestion Control Research Group","2223","http://www.ietf.org/proceedings/83/agenda/agenda-83-iccrg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-7.pdf"
|
||||
"2012-03-27","1520","1700","Afternoon Session II","242AB","OPS","6renum","WG","IPv6 Site Renumbering","2245","http://www.ietf.org/proceedings/83/agenda/agenda-83-6renum.txt","http://www.ietf.org/proceedings/83/slides/slides-83-6renum-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6renum-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6renum-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-6renum-3.pdf"
|
||||
"2012-03-27","1520","1700","Afternoon Session II","Maillot","RAI","avtext","WG","Audio/Video Transport Extensions","2212","http://www.ietf.org/proceedings/83/agenda/agenda-83-avtext.txt","http://www.ietf.org/proceedings/83/slides/slides-83-avtext-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-avtext-6.pdf"
|
||||
"2012-03-27","1520","1700","Afternoon Session II","253","RAI","vipr","WG","Verification Involving PSTN Reachability","2271","http://www.ietf.org/proceedings/83/agenda/agenda-83-vipr.txt","http://www.ietf.org/proceedings/83/slides/slides-83-vipr-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-vipr-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-vipr-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-vipr-3.pdf"
|
||||
"2012-03-27","1520","1700","Afternoon Session II","241","SEC","jose","WG","Javascript Object Signing and Encryption","2170","http://www.ietf.org/proceedings/83/agenda/agenda-83-jose.html","http://www.ietf.org/proceedings/83/slides/slides-83-jose-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-jose-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-jose-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-jose-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-jose-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-jose-4.pdf"
|
||||
"2012-03-27","1710","1810","Afternoon Session III","212/213","APP","marf","WG","Messaging Abuse Reporting Format","2227","http://www.ietf.org/proceedings/83/agenda/agenda-83-marf.txt","http://www.ietf.org/proceedings/83/slides/slides-83-marf-0.pdf"
|
||||
"2012-03-27","1710","1810","","Maillot","GEN","rfcform","BOF","RFC Format Design Team Update","22081","http://www.ietf.org/proceedings/83/agenda/agenda-83-rfcform.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rfcform-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rfcform-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rfcform-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rfcform-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rfcform-5.pdf"
|
||||
"2012-03-27","1710","1810","Afternoon Session III","242AB","INT","dnsext","WG","DNS Extensions","2214","http://www.ietf.org/proceedings/83/agenda/agenda-83-dnsext.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-0.html|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsext-7.pdf"
|
||||
"2012-03-27","1710","1810","Afternoon Session III","252A","IRTF","iccrg","","Internet Congestion Control Research Group","2223","http://www.ietf.org/proceedings/83/agenda/agenda-83-iccrg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iccrg-7.pdf"
|
||||
"2012-03-27","1710","1810","Afternoon Session III","243","OPS","netconf","WG","Network Configuration","2182","http://www.ietf.org/proceedings/83/agenda/agenda-83-netconf.txt","http://www.ietf.org/proceedings/83/slides/slides-83-netconf-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netconf-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netconf-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netconf-2.pdf"
|
||||
"2012-03-27","1710","1810","Afternoon Session III","252B","RAI","sipcore","WG","Session Initiation Protocol Core","2210","http://www.ietf.org/proceedings/83/agenda/agenda-83-sipcore.html","http://www.ietf.org/proceedings/83/slides/slides-83-sipcore-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sipcore-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sipcore-1.pdf"
|
||||
"2012-03-27","1710","1810","Afternoon Session III","241","RTG","isis","WG","IS-IS for IP Internets","2244","http://www.ietf.org/proceedings/83/agenda/agenda-83-isis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-isis-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-isis-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-isis-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-isis-3.pptm|http://www.ietf.org/proceedings/83/slides/slides-83-isis-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-isis-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-isis-8.pdf"
|
||||
"2012-03-27","1710","1810","Afternoon Session III","253","SEC","mile","WG","Managed Incident Lightweight Exchange","2169","http://www.ietf.org/proceedings/83/agenda/agenda-83-mile.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mile-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mile-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mile-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mile-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mile-4.pdf"
|
||||
"2012-03-28","0800","1700","Registration","Hall Maillot A","","","","IETF Registration","r2901","",""
|
||||
"2012-03-28","0800","0900","Break","Hall Maillot A","","","","Beverages","b2911","",""
|
||||
"2012-03-28","0900","1130","Morning Session I","243","APP","paws","WG","Protocol to Access WS database","2249","http://www.ietf.org/proceedings/83/agenda/agenda-83-paws.txt","http://www.ietf.org/proceedings/83/slides/slides-83-paws-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-paws-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-paws-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-paws-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-paws-4.txt"
|
||||
"2012-03-28","0900","1130","Morning Session I","242AB","INT","homenet","WG","Home Networking","2183","http://www.ietf.org/proceedings/83/agenda/agenda-83-homenet.txt","http://www.ietf.org/proceedings/83/slides/slides-83-homenet-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-homenet-3.pdf"
|
||||
"2012-03-28","0900","1130","Morning Session I","253","OPS","opsarea","","Operations & Management Area Open Meeting","2184","http://www.ietf.org/proceedings/83/agenda/agenda-83-opsarea.txt","http://www.ietf.org/proceedings/83/slides/slides-83-opsarea-0.pdf"
|
||||
"2012-03-28","0900","1130","Afternoon Session I","253","OPS","opsawg","WG","Operations and Management Area Working Group","22085","http://www.ietf.org/proceedings/83/agenda/agenda-83-opsawg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-opsawg-8.pdf"
|
||||
"2012-03-28","0900","1130","Morning Session I","252B","RAI","rtcweb","WG","Real-Time Communication in WEB-browsers","2192","http://www.ietf.org/proceedings/83/agenda/agenda-83-rtcweb.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-5.pdf"
|
||||
"2012-03-28","0900","1130","Morning Session I","Maillot","RTG","ccamp","WG","Common Control and Measurement Plane","12162","http://www.ietf.org/proceedings/83/agenda/agenda-83-ccamp.htm","http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-17.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-18.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-19.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-20.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-21.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-22.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-23.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-24.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-25.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-26.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-27.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-28.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-29.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ccamp-30.pdf"
|
||||
"2012-03-28","0900","1130","Morning Session I","241","RTG","sidr","WG","Secure Inter-Domain Routing","2203","http://www.ietf.org/proceedings/83/agenda/agenda-83-sidr.html","http://www.ietf.org/proceedings/83/slides/slides-83-sidr-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-sidr-17.pdf"
|
||||
"2012-03-28","0900","1130","Morning Session I","212/213","TSV","nfsv4","WG","Network File System Version 4","2225","http://www.ietf.org/proceedings/83/agenda/agenda-83-nfsv4.txt","http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nfsv4-5.pdf"
|
||||
"2012-03-28","0900","1130","Morning Session I","252A","TSV","ppsp","WG","Peer to Peer Streaming Protocol","2187","http://www.ietf.org/proceedings/83/agenda/agenda-83-ppsp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ppsp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ppsp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ppsp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ppsp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ppsp-4.pdf"
|
||||
"2012-03-28","1130","1300","Break","Hall Maillot A","","","","Break","b2907","",""
|
||||
"2012-03-28","1130","1300","None","252B","","edu","GEN","Working Group Chairs' Training","22089","",""
|
||||
"2012-03-28","1300","1500","Afternoon Session I","252B","APP","hybi","WG","BiDirectional or Server-Initiated HTTP","2256","http://www.ietf.org/proceedings/83/agenda/agenda-83-hybi.txt","http://www.ietf.org/proceedings/83/slides/slides-83-hybi-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-hybi-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-hybi-1.pdf"
|
||||
"2012-03-28","1300","1500","Afternoon Session I","243","APP","repute","WG","Reputation Services","2197","http://www.ietf.org/proceedings/83/agenda/agenda-83-repute.txt",""
|
||||
"2012-03-28","1300","1500","Afternoon Session I","253","INT","netext","WG","Network-Based Mobility Extensions","2211","http://www.ietf.org/proceedings/83/agenda/agenda-83-netext.txt","http://www.ietf.org/proceedings/83/slides/slides-83-netext-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-netext-8.pdf"
|
||||
"2012-03-28","1300","1500","Afternoon Session I","252A","RAI","ecrit","WG","Emergency Context Resolution with Internet Technologies","2218","http://www.ietf.org/proceedings/83/agenda/agenda-83-ecrit.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ecrit-1.pdf"
|
||||
"2012-03-28","1300","1500","Afternoon Session I","242AB","RTG","karp","WG","Keying and Authentication for Routing Protocols","2173","http://www.ietf.org/proceedings/83/agenda/agenda-83-karp.html","http://www.ietf.org/proceedings/83/slides/slides-83-karp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-karp-7.pdf"
|
||||
"2012-03-28","1300","1500","Afternoon Session I","Maillot","RTG","nvo3","WG","Network Virtualization Overlays","2285","http://www.ietf.org/proceedings/83/agenda/agenda-83-nvo3.html","http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-nvo3-6.pdf"
|
||||
"2012-03-28","1300","1500","Afternoon Session I","241","RTG","roll","WG","Routing Over Low power and Lossy networks","2178","http://www.ietf.org/proceedings/83/agenda/agenda-83-roll.txt","http://www.ietf.org/proceedings/83/slides/slides-83-roll-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-roll-6.pdf"
|
||||
"2012-03-28","1300","1500","Afternoon Session I","212/213","SEC","nea","WG","Network Endpoint Assessment","2246","http://www.ietf.org/proceedings/83/agenda/agenda-83-nea.txt","http://www.ietf.org/proceedings/83/slides/slides-83-nea-0.pdf"
|
||||
"2012-03-28","1510","1610","Afternoon Session II","242AB","INT","softwire","WG","Softwires","2195","http://www.ietf.org/proceedings/83/agenda/agenda-83-softwire.htm","http://www.ietf.org/proceedings/83/slides/slides-83-softwire-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-14.pdf"
|
||||
"2012-03-28","1510","1610","Afternoon Session II","Maillot","OPS","armd","WG","Address Resolution for Massive numbers of hosts in the Data center","2240","http://www.ietf.org/proceedings/83/agenda/agenda-83-armd.html","http://www.ietf.org/proceedings/83/slides/slides-83-armd-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-armd-0.pdf"
|
||||
"2012-03-28","1510","1610","Afternoon Session II","241","RAI","p2psip","WG","Peer-to-Peer Session Initiation Protocol","2258","http://www.ietf.org/proceedings/83/agenda/agenda-83-p2psip.txt","http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-p2psip-6.pdf"
|
||||
"2012-03-28","1510","1610","Afternoon Session II","252A","RAI","soc","WG","SIP Overload Control","2207","http://www.ietf.org/proceedings/83/agenda/agenda-83-soc.txt","http://www.ietf.org/proceedings/83/slides/slides-83-soc-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-soc-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-soc-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-soc-3.pdf"
|
||||
"2012-03-28","1510","1610","Afternoon Session II","253","RAI","xmpp","WG","Extensible Messaging and Presence Protocol","2252","http://www.ietf.org/proceedings/83/agenda/agenda-83-xmpp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xmpp-6.pdf"
|
||||
"2012-03-28","1510","1610","Afternoon Session II","252B","RTG","bfd","WG","Bidirectional Forwarding Detection","2199","http://www.ietf.org/proceedings/83/agenda/agenda-83-bfd.txt","http://www.ietf.org/proceedings/83/slides/slides-83-bfd-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bfd-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bfd-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bfd-2.pdf"
|
||||
"2012-03-28","1510","1610","Afternoon Session II","243","SEC","tls","WG","Transport Layer Security","2254","http://www.ietf.org/proceedings/83/agenda/agenda-83-tls.txt","http://www.ietf.org/proceedings/83/slides/slides-83-tls-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tls-3.pdf"
|
||||
"2012-03-28","1510","1610","Afternoon Session II","212/213","TSV","pcn","WG","Congestion and Pre-Congestion Notification","2261","http://www.ietf.org/proceedings/83/agenda/agenda-83-pcn.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pcn-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcn-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pcn-2.pdf"
|
||||
"2012-03-28","1610","1630","Break","Hall Maillot A","","","","Beverage and Snack Break I","b2916","",""
|
||||
"2012-03-28","1630","1930","IETF Operations and Administration Plenary","Amphitheatre Bleu","","iesg","","IETF Operations and Administration Plenary","2272","http://www.ietf.org/proceedings/83/agenda/agenda-83-iesg-ietf-operations-and-administration-plenary.txt","http://www.ietf.org/proceedings/83/slides/slides-83-iesg-0-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-1-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-12-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-2-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-3-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-11-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-4-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-5-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-9-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-10-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-7-ietf-operations-and-administration-plenary.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iesg-8-ietf-operations-and-administration-plenary.pdf"
|
||||
"2012-03-29","0800","1700","Registration","Hall Maillot A","","","","IETF Registration","r2902","",""
|
||||
"2012-03-29","0800","0900","Break","Hall Maillot A","","","","Beverages","b2912","",""
|
||||
"2012-03-29","0900","1130","Morning Session I","252A","APP","scim","WG","System for Cross-domain Identity Management","2286","http://www.ietf.org/proceedings/83/agenda/agenda-83-scim.txt","http://www.ietf.org/proceedings/83/slides/slides-83-scim-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-scim-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-scim-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-scim-1.pdf"
|
||||
"2012-03-29","0900","1130","Morning Session I","253","INT","dhc","WG","Dynamic Host Configuration","2171","http://www.ietf.org/proceedings/83/agenda/agenda-83-dhc.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dhc-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dhc-14.pdf"
|
||||
"2012-03-29","0900","1130","Morning Session I","241","INT","dmm","WG","Distributed Mobility Management","22084","http://www.ietf.org/proceedings/83/agenda/agenda-83-dmm.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dmm-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dmm-11.pdf"
|
||||
"2012-03-29","0900","1130","Morning Session I","212/213","OPS","mboned","WG","MBONE Deployment","2185","http://www.ietf.org/proceedings/83/agenda/agenda-83-mboned.pptx","http://www.ietf.org/proceedings/83/slides/slides-83-mboned-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mboned-10.pdf"
|
||||
"2012-03-29","0900","1130","Morning Session I","Maillot","RAI","rtcweb","WG","Real-Time Communication in WEB-browsers","12192","http://www.ietf.org/proceedings/83/agenda/agenda-83-rtcweb.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtcweb-5.pdf"
|
||||
"2012-03-29","0900","1130","Morning Session I","242AB","RTG","pwe3","WG","Pseudowire Emulation Edge to Edge","2235","http://www.ietf.org/proceedings/83/agenda/agenda-83-pwe3.txt","http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pwe3-1.pdf"
|
||||
"2012-03-29","0900","1130","Morning Session I","243","SEC","abfab","WG","Application Bridging for Federated Access Beyond web","2229","http://www.ietf.org/proceedings/83/agenda/agenda-83-abfab.txt","http://www.ietf.org/proceedings/83/slides/slides-83-abfab-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-abfab-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-abfab-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-abfab-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-abfab-4.pdf"
|
||||
"2012-03-29","0900","1130","Morning Session I","252B","TSV","alto","WG","Application-Layer Traffic Optimization","2201","http://www.ietf.org/proceedings/83/agenda/agenda-83-alto.html","http://www.ietf.org/proceedings/83/slides/slides-83-alto-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-alto-7.pdf"
|
||||
"2012-03-29","1130","1300","Break","Hall Maillot A","","","","Break","b2908","",""
|
||||
"2012-03-29","1300","1500","Afternoon Session I","253","APP","precis","WG","Preparation and Comparison of Internationalized Strings","2241","http://www.ietf.org/proceedings/83/agenda/agenda-83-precis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-precis-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-precis-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-precis-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-precis-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-precis-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-precis-5.pdf"
|
||||
"2012-03-29","1300","1500","Afternoon Session I","Maillot","INT","intarea","WG","Internet Area Working Group","2262","http://www.ietf.org/proceedings/83/agenda/agenda-83-intarea.txt","http://www.ietf.org/proceedings/83/slides/slides-83-intarea-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-intarea-8.pdf"
|
||||
"2012-03-29","1300","1500","Afternoon Session I","212/213","IRTF","samrg","","Scalable Adaptive Multicast Research Group","2251","http://www.ietf.org/proceedings/83/agenda/agenda-83-samrg.txt","http://www.ietf.org/proceedings/83/slides/slides-83-samrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-samrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-samrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-samrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-samrg-2.pdf"
|
||||
"2012-03-29","1300","1500","Afternoon Session I","243","RAI","xrblock","WG","Metric Blocks for use with RTCP's Extended Report Framework","2208","http://www.ietf.org/proceedings/83/agenda/agenda-83-xrblock.txt","http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-xrblock-0.pdf"
|
||||
"2012-03-29","1300","1500","Afternoon Session I","242AB","RTG","l2vpn","WG","Layer 2 Virtual Private Networks","2233","http://www.ietf.org/proceedings/83/agenda/agenda-83-l2vpn.txt","http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-l2vpn-1.pdf"
|
||||
"2012-03-29","1300","1500","Afternoon Session I","241","RTG","manet","WG","Mobile Ad-hoc Networks","2186","http://www.ietf.org/proceedings/83/agenda/agenda-83-manet.txt","http://www.ietf.org/proceedings/83/slides/slides-83-manet-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-manet-5.pdf"
|
||||
"2012-03-29","1300","1500","Afternoon Session I","252A","SEC","oauth","WG","Web Authorization Protocol","2259","http://www.ietf.org/proceedings/83/agenda/agenda-83-oauth.txt","http://www.ietf.org/proceedings/83/slides/slides-83-oauth-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-oauth-1.pdf"
|
||||
"2012-03-29","1300","1500","Afternoon Session I","252B","TSV","cdni","WG","Content Delivery Networks Interconnection","2260","http://www.ietf.org/proceedings/83/agenda/agenda-83-cdni.html","http://www.ietf.org/proceedings/83/slides/slides-83-cdni-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-9.pdf"
|
||||
"2012-03-29","1500","1520","Break","Hall Maillot A","","","","Beverage Break","b2919","",""
|
||||
"2012-03-29","1520","1720","Afternoon Session II","241","APP","httpbis","WG","Hypertext Transfer Protocol Bis","12238","http://www.ietf.org/proceedings/83/agenda/agenda-83-httpbis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-httpbis-5.pdf"
|
||||
"2012-03-29","1520","1720","Afternoon Session II","252B","INT","lwig","WG","Light-Weight Implementation Guidance","2255","http://www.ietf.org/proceedings/83/agenda/agenda-83-lwig.txt","http://www.ietf.org/proceedings/83/slides/slides-83-lwig-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-1.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-lwig-4.pdf"
|
||||
"2012-03-29","1520","1720","Afternoon Session II","243","OPS","dime","WG","Diameter Maintenance and Extensions","2179","http://www.ietf.org/proceedings/83/agenda/agenda-83-dime.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dime-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dime-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dime-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dime-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dime-4.pdf"
|
||||
"2012-03-29","1520","1720","Afternoon Session II","Maillot","OPS","v6ops","WG","IPv6 Operations","12175","http://www.ietf.org/proceedings/83/agenda/agenda-83-v6ops.html","http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-v6ops-13.pdf"
|
||||
"2012-03-29","1520","1720","Afternoon Session II","212/213","RAI","drinks","WG","Data for Reachability of Inter/tra-NetworK SIP","2220","http://www.ietf.org/proceedings/83/agenda/agenda-83-drinks.txt","http://www.ietf.org/proceedings/83/slides/slides-83-drinks-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-drinks-5.pdf"
|
||||
"2012-03-29","1520","1720","Afternoon Session II","242AB","RTG","rtgarea","","Routing Area Open Meeting","2163","http://www.ietf.org/proceedings/83/agenda/agenda-83-rtgarea.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgarea-7.pdf"
|
||||
"2012-03-29","1520","1720","Afternoon Session II","252A","SEC","emu","WG","EAP Method Update","2205","http://www.ietf.org/proceedings/83/agenda/agenda-83-emu.txt","http://www.ietf.org/proceedings/83/slides/slides-83-emu-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-emu-7.pdf"
|
||||
"2012-03-29","1520","1720","Afternoon Session II","253","TSV","decade","WG","Decoupled Application Data Enroute","2204","http://www.ietf.org/proceedings/83/agenda/agenda-83-decade.htm","http://www.ietf.org/proceedings/83/slides/slides-83-decade-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-decade-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-decade-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-decade-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-decade-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-decade-5.pdf"
|
||||
"2012-03-29","1720","1740","Break","Hall Maillot A","","","","Beverage and Snack Break II","b2918","",""
|
||||
"2012-03-29","1740","1940","Afternoon Session III","252A","INT","mif","WG","Multiple Interfaces","2209","http://www.ietf.org/proceedings/83/agenda/agenda-83-mif.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mif-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mif-11.pdf"
|
||||
"2012-03-29","1740","1940","Afternoon Session III","212/213","OPS","ipfix","WG","IP Flow Information Export","2165","http://www.ietf.org/proceedings/83/agenda/agenda-83-ipfix.txt","http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-ipfix-13.pdf"
|
||||
"2012-03-29","1740","1940","Afternoon Session III","Maillot","RAI","clue","WG","ControLling mUltiple streams for tElepresence","12194","http://www.ietf.org/proceedings/83/agenda/agenda-83-clue.html","http://www.ietf.org/proceedings/83/slides/slides-83-clue-6.pptx|http://www.ietf.org/proceedings/83/slides/slides-83-clue-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-4.pptx|http://www.ietf.org/proceedings/83/slides/slides-83-clue-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-5.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-clue-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-clue-10.pdf"
|
||||
"2012-03-29","1740","1940","Afternoon Session III","243","RAI","geopriv","WG","Geographic Location/Privacy","2217","http://www.ietf.org/proceedings/83/agenda/agenda-83-geopriv.txt","http://www.ietf.org/proceedings/83/slides/slides-83-geopriv-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-geopriv-1.pdf"
|
||||
"2012-03-29","1740","1940","Afternoon Session III","241","RTG","pce","WG","Path Computation Element","2167","http://www.ietf.org/proceedings/83/agenda/agenda-83-pce.htm","http://www.ietf.org/proceedings/83/slides/slides-83-pce-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-pce-9.pdf"
|
||||
"2012-03-29","1740","1940","Afternoon Session III","252B","RTG","rtgwg","WG","Routing Area Working Group","2158","http://www.ietf.org/proceedings/83/agenda/agenda-83-rtgwg.html","http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-rtgwg-11.pdf"
|
||||
"2012-03-29","1740","1940","Afternoon Session III","242AB","SEC","saag","","Security Area Open Meeting","2219","http://www.ietf.org/proceedings/83/agenda/agenda-83-saag.txt","http://www.ietf.org/proceedings/83/slides/slides-83-saag-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-saag-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-saag-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-saag-3.pdf"
|
||||
"2012-03-29","1740","1940","Afternoon Session III","253","TSV","conex","WG","Congestion Exposure","2215","http://www.ietf.org/proceedings/83/agenda/agenda-83-conex.pdf","http://www.ietf.org/proceedings/83/slides/slides-83-conex-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-conex-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-conex-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-conex-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-conex-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-conex-5.pdf"
|
||||
"2012-03-30","0800","1100","Registration","Hall Maillot A","","","","IETF Registration","r2903","",""
|
||||
"2012-03-30","0800","0900","Break","Hall Maillot A","","","","Beverages","b2913","",""
|
||||
"2012-03-30","0900","1100","Morning Session I","253","APP","core","WG","Constrained RESTful Environments","12193","http://www.ietf.org/proceedings/83/agenda/agenda-83-core.txt","http://www.ietf.org/proceedings/83/slides/slides-83-core-0.pdf"
|
||||
"2012-03-30","0900","1100","Morning Session I","252A","APP","spfbis","WG","SPF Update","2268","http://www.ietf.org/proceedings/83/agenda/agenda-83-spfbis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-spfbis-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-spfbis-0.pdf"
|
||||
"2012-03-30","0900","1100","Morning Session I","252B","INT","softwire","WG","Softwires","12195","http://www.ietf.org/proceedings/83/agenda/agenda-83-softwire.htm","http://www.ietf.org/proceedings/83/slides/slides-83-softwire-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-softwire-14.pdf"
|
||||
"2012-03-30","0900","1100","Morning Session I","212/213","OPS","radext","WG","RADIUS EXTensions","2228","http://www.ietf.org/proceedings/83/agenda/agenda-83-radext.txt","http://www.ietf.org/proceedings/83/slides/slides-83-radext-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-radext-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-radext-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-radext-2.pdf"
|
||||
"2012-03-30","0900","1100","Morning Session I","243","RAI","siprec","WG","SIP Recording","2189","http://www.ietf.org/proceedings/83/agenda/agenda-83-siprec.pdf","http://www.ietf.org/proceedings/83/slides/slides-83-siprec-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-siprec-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-siprec-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-siprec-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-siprec-2.pdf"
|
||||
"2012-03-30","0900","1100","Morning Session I","Maillot","RTG","mpls","WG","Multiprotocol Label Switching","12188","http://www.ietf.org/proceedings/83/agenda/agenda-83-mpls.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mpls-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-26.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-9.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-17.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-27.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-21.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-22.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-23.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-24.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mpls-25.pdf"
|
||||
"2012-03-30","0900","1100","Morning Session I","242AB","TSV","cdni","WG","Content Delivery Networks Interconnection","12260","http://www.ietf.org/proceedings/83/agenda/agenda-83-cdni.html","http://www.ietf.org/proceedings/83/slides/slides-83-cdni-14.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-16.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cdni-9.pdf"
|
||||
"2012-03-30","0900","1100","Morning Session I","241","TSV","tcpm","WG","TCP Maintenance and Minor Extensions","2221","http://www.ietf.org/proceedings/83/agenda/agenda-83-tcpm.txt","http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-tcpm-4.pdf"
|
||||
"2012-03-30","1100","1120","Break","Hall Maillot A","","","","Beverage and Snack Break I","b2917","",""
|
||||
"2012-03-30","1120","1220","Afternoon Session I","253","APP","iri","WG","Internationalized Resource Identifiers","2266","http://www.ietf.org/proceedings/83/agenda/agenda-83-iri.txt","http://www.ietf.org/proceedings/83/slides/slides-83-iri-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iri-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iri-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-iri-3.pdf"
|
||||
"2012-03-30","1120","1220","Afternoon Session I","243","GEN","rpsreqs","BOF","Remote Participation System Requirements","2287","http://www.ietf.org/proceedings/83/agenda/agenda-83-rpsreqs.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rpsreqs-0.pdf"
|
||||
"2012-03-30","1120","1220","Afternoon Session I","242AB","INT","trill","WG","Transparent Interconnection of Lots of Links","12174","http://www.ietf.org/proceedings/83/agenda/agenda-83-trill.txt","http://www.ietf.org/proceedings/83/slides/slides-83-trill-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-11.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-15.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-8.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-7.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-13.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-10.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-12.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-trill-9.pdf"
|
||||
"2012-03-30","1120","1220","Afternoon Session I","212/213","IRTF","cfrg","","Crypto Forum Research Group","2270","http://www.ietf.org/proceedings/83/agenda/agenda-83-cfrg.pdf","http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-7.txt"
|
||||
"2012-03-30","1120","1220","Afternoon Session I","Maillot","OPS","dnsop","WG","Domain Name System Operations","2224","http://www.ietf.org/proceedings/83/agenda/agenda-83-dnsop.txt","http://www.ietf.org/proceedings/83/slides/slides-83-dnsop-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsop-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsop-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-dnsop-5.pdf"
|
||||
"2012-03-30","1120","1220","Afternoon Session I","241","RAI","bfcpbis","WG","Binary Floor Control Protocol Bis ","2213","http://www.ietf.org/proceedings/83/agenda/agenda-83-bfcpbis.txt","http://www.ietf.org/proceedings/83/slides/slides-83-bfcpbis-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-bfcpbis-1.pdf"
|
||||
"2012-03-30","1120","1220","Afternoon Session I","252A","RAI","codec","WG","Internet Wideband Audio Codec","2191","http://www.ietf.org/proceedings/83/agenda/agenda-83-codec.txt","http://www.ietf.org/proceedings/83/slides/slides-83-codec-0.gz"
|
||||
"2012-03-30","1120","1220","Afternoon Session I","252B","TSV","mptcp","WG","Multipath TCP","2232","http://www.ietf.org/proceedings/83/agenda/agenda-83-mptcp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-1.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-4.pdf"
|
||||
"2012-03-30","1230","1330","Afternoon Session II","243","GEN","rpsreqs","BOF","Remote Participation System Requirements","2287","http://www.ietf.org/proceedings/83/agenda/agenda-83-rpsreqs.txt","http://www.ietf.org/proceedings/83/slides/slides-83-rpsreqs-0.pdf"
|
||||
"2012-03-30","1230","1330","Afternoon Session II","212/213","IRTF","cfrg","","Crypto Forum Research Group","2270","http://www.ietf.org/proceedings/83/agenda/agenda-83-cfrg.pdf","http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-4.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cfrg-7.txt"
|
||||
"2012-03-30","1230","1330","Afternoon Session II","242AB","OPS","grow","WG","Global Routing Operations","2267","http://www.ietf.org/proceedings/83/agenda/agenda-83-grow.txt","http://www.ietf.org/proceedings/83/slides/slides-83-grow-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-grow-1.pdf"
|
||||
"2012-03-30","1230","1330","Afternoon Session II","253","RAI","atoca","WG","Authority-to-Citizen Alert","2239","http://www.ietf.org/proceedings/83/agenda/agenda-83-atoca.txt","http://www.ietf.org/proceedings/83/slides/slides-83-atoca-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-atoca-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-atoca-1.pdf"
|
||||
"2012-03-30","1230","1330","Afternoon Session II","241","RAI","cuss","WG","Call Control UUI Service for SIP","2200","http://www.ietf.org/proceedings/83/agenda/agenda-83-cuss.html","http://www.ietf.org/proceedings/83/slides/slides-83-cuss-1.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cuss-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-cuss-3.pdf"
|
||||
"2012-03-30","1230","1330","Afternoon Session II","252B","TSV","mptcp","WG","Multipath TCP","2232","http://www.ietf.org/proceedings/83/agenda/agenda-83-mptcp.txt","http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-0.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-2.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-1.ppt|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-3.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-5.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-6.pdf|http://www.ietf.org/proceedings/83/slides/slides-83-mptcp-4.pdf"
|
File diff suppressed because it is too large
Load diff
|
@ -1,385 +0,0 @@
|
|||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
METHOD:PUBLISH
|
||||
PRODID:-//IETF//datatracker.ietf.org ical agenda//EN
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:Europe/Paris
|
||||
X-LIC-LOCATION:Europe/Paris
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0100
|
||||
TZOFFSETTO:+0200
|
||||
TZNAME:CEST
|
||||
DTSTART:19810329T020000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0100
|
||||
TZNAME:CET
|
||||
DTSTART:19961027T030000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
|
||||
END:STANDARD
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+000921
|
||||
TZOFFSETTO:+000921
|
||||
TZNAME:PMT
|
||||
DTSTART:18910315T000100
|
||||
RDATE:18910315T000100
|
||||
END:STANDARD
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+000921
|
||||
TZOFFSETTO:+0000
|
||||
TZNAME:WET
|
||||
DTSTART:19110311T000100
|
||||
RDATE:19110311T000100
|
||||
END:STANDARD
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0000
|
||||
TZOFFSETTO:+0100
|
||||
TZNAME:WEST
|
||||
DTSTART:19160614T230000
|
||||
RDATE:19160614T230000
|
||||
RDATE:19170324T230000
|
||||
RDATE:19180309T230000
|
||||
RDATE:19190301T230000
|
||||
RDATE:19200214T230000
|
||||
RDATE:19210314T230000
|
||||
RDATE:19220325T230000
|
||||
RDATE:19230526T230000
|
||||
RDATE:19240329T230000
|
||||
RDATE:19250404T230000
|
||||
RDATE:19260417T230000
|
||||
RDATE:19270409T230000
|
||||
RDATE:19280414T230000
|
||||
RDATE:19290420T230000
|
||||
RDATE:19300412T230000
|
||||
RDATE:19310418T230000
|
||||
RDATE:19320402T230000
|
||||
RDATE:19330325T230000
|
||||
RDATE:19340407T230000
|
||||
RDATE:19350330T230000
|
||||
RDATE:19360418T230000
|
||||
RDATE:19370403T230000
|
||||
RDATE:19380326T230000
|
||||
RDATE:19390415T230000
|
||||
RDATE:19400225T020000
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0100
|
||||
TZOFFSETTO:+0000
|
||||
TZNAME:WET
|
||||
DTSTART:19161002T000000
|
||||
RDATE:19161002T000000
|
||||
RDATE:19171008T000000
|
||||
RDATE:19181007T000000
|
||||
RDATE:19191006T000000
|
||||
RDATE:19201024T000000
|
||||
RDATE:19211026T000000
|
||||
RDATE:19221008T000000
|
||||
RDATE:19231007T000000
|
||||
RDATE:19241005T000000
|
||||
RDATE:19251004T000000
|
||||
RDATE:19261003T000000
|
||||
RDATE:19271002T000000
|
||||
RDATE:19281007T000000
|
||||
RDATE:19291006T000000
|
||||
RDATE:19301005T000000
|
||||
RDATE:19311004T000000
|
||||
RDATE:19321002T000000
|
||||
RDATE:19331008T000000
|
||||
RDATE:19341007T000000
|
||||
RDATE:19351006T000000
|
||||
RDATE:19361004T000000
|
||||
RDATE:19371003T000000
|
||||
RDATE:19381002T000000
|
||||
RDATE:19391119T000000
|
||||
END:STANDARD
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0100
|
||||
TZOFFSETTO:+0200
|
||||
TZNAME:CEST
|
||||
DTSTART:19400614T230000
|
||||
RDATE:19400614T230000
|
||||
RDATE:19430329T020000
|
||||
RDATE:19440403T020000
|
||||
RDATE:19760328T010000
|
||||
RDATE:19770403T020000
|
||||
RDATE:19780402T020000
|
||||
RDATE:19790401T020000
|
||||
RDATE:19800406T020000
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0100
|
||||
TZNAME:CET
|
||||
DTSTART:19421102T030000
|
||||
RDATE:19421102T030000
|
||||
RDATE:19431004T030000
|
||||
RDATE:19450916T030000
|
||||
RDATE:19760926T010000
|
||||
RDATE:19770925T030000
|
||||
RDATE:19781001T030000
|
||||
RDATE:19790930T030000
|
||||
RDATE:19800928T030000
|
||||
RDATE:19810927T030000
|
||||
RDATE:19820926T030000
|
||||
RDATE:19830925T030000
|
||||
RDATE:19840930T030000
|
||||
RDATE:19850929T030000
|
||||
RDATE:19860928T030000
|
||||
RDATE:19870927T030000
|
||||
RDATE:19880925T030000
|
||||
RDATE:19890924T030000
|
||||
RDATE:19900930T030000
|
||||
RDATE:19910929T030000
|
||||
RDATE:19920927T030000
|
||||
RDATE:19930926T030000
|
||||
RDATE:19940925T030000
|
||||
RDATE:19950924T030000
|
||||
END:STANDARD
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0200
|
||||
TZNAME:WEMT
|
||||
DTSTART:19440825T000000
|
||||
RDATE:19440825T000000
|
||||
END:DAYLIGHT
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0100
|
||||
TZNAME:WEST
|
||||
DTSTART:19441008T010000
|
||||
RDATE:19441008T010000
|
||||
END:DAYLIGHT
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:+0100
|
||||
TZOFFSETTO:+0200
|
||||
TZNAME:WEMT
|
||||
DTSTART:19450402T020000
|
||||
RDATE:19450402T020000
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:+0100
|
||||
TZOFFSETTO:+0100
|
||||
TZNAME:CET
|
||||
DTSTART:19770101T000000
|
||||
RDATE:19770101T000000
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2923
|
||||
SUMMARY:Code Sprint
|
||||
LOCATION:Hall Maillot A
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120324T093000
|
||||
DTEND;TZID="Europe/Paris":20120324T180000
|
||||
DTSTAMP:20120305T111518Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2514
|
||||
SUMMARY:IEPG Meeting
|
||||
LOCATION:241
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120325T100000
|
||||
DTEND;TZID="Europe/Paris":20120325T120000
|
||||
DTSTAMP:20120224T000000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2503
|
||||
SUMMARY:Meetecho Tutorial for Participants and WG Chairs
|
||||
LOCATION:252A
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120325T130000
|
||||
DTEND;TZID="Europe/Paris":20120325T145000
|
||||
DTSTAMP:20120223T000000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2500
|
||||
SUMMARY:Newcomers' Orientation
|
||||
LOCATION:252B
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120325T130000
|
||||
DTEND;TZID="Europe/Paris":20120325T145000
|
||||
DTSTAMP:20120223T000000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2499
|
||||
SUMMARY:Tools for Creating Internet-Drafts Tutorial
|
||||
LOCATION:241
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120325T130000
|
||||
DTEND;TZID="Europe/Paris":20120325T145000
|
||||
DTSTAMP:20120223T000000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2502
|
||||
SUMMARY:Newcomers' Orientation (French)
|
||||
LOCATION:252B
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120325T150000
|
||||
DTEND;TZID="Europe/Paris":20120325T165000
|
||||
DTSTAMP:20120223T000000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2501
|
||||
SUMMARY:Operations\, Administration\, and Maintenance Tutorial
|
||||
LOCATION:241
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120325T150000
|
||||
DTEND;TZID="Europe/Paris":20120325T165000
|
||||
DTSTAMP:20120223T000000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2505
|
||||
SUMMARY:Newcomers' Meet and Greet (open to Newcomers and WG chairs only)
|
||||
LOCATION:Salon Etoile d'Or (Concorde Hotel)
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120325T160000
|
||||
DTEND;TZID="Europe/Paris":20120325T170000
|
||||
DTSTAMP:20120223T000000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2504
|
||||
SUMMARY:Welcome Reception
|
||||
LOCATION:Hall Maillot A
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120325T170000
|
||||
DTEND;TZID="Europe/Paris":20120325T190000
|
||||
DTSTAMP:20120223T000000Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2498
|
||||
SUMMARY:Technical Plenary
|
||||
LOCATION:Amphitheatre Bleu
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120326T163000
|
||||
DTEND;TZID="Europe/Paris":20120326T193000
|
||||
DTSTAMP:20120223T000000Z
|
||||
URL:http://www.ietf.org/proceedings/83/agenda/agenda-83-iab-technical-plenary
|
||||
DESCRIPTION:Technical Plenary\n
|
||||
\nAgenda:
|
||||
http://www.ietf.org/proceedings/83/agenda/agenda-83-iab-technical-plenary\n
|
||||
\nMinutes
|
||||
(Minutes for IAB at IETF-83):
|
||||
http://www.ietf.org/proceedings/83/minutes/minutes-83-iab-technical-plenary\n
|
||||
\nSlides
|
||||
(Agenda):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-0-technical-plenary.pdf\n
|
||||
\nSlides
|
||||
(IAB Report):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-1-technical-plenary.pdf\n
|
||||
\nSlides
|
||||
(Lessons Learned from WebSockets):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-10-technical-plenary.pdf\n
|
||||
\nSlides
|
||||
(Cryptography Infrastructure):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-11-technical-plenary.pdf\n
|
||||
\nSlides
|
||||
(It's Not the End of the World):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-12-technical-plenary.pdf\n
|
||||
\nSlides
|
||||
(Plenary Transcript (unedited)):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-13-technical-plenary.txt\n
|
||||
\nSlides
|
||||
(Technical Plenary Agenda):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-2-technical-plenary.pdf\n
|
||||
\nSlides
|
||||
(RSE Report):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-3.pdf\n
|
||||
\nSlides
|
||||
(IAB Report):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-4.pdf\n
|
||||
\nSlides
|
||||
(World IPv6 Launch):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-5-technical-plenary.pdf\n
|
||||
\nSlides
|
||||
(IRTF Report):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-6-technical-plenary.pdf\n
|
||||
\nSlides
|
||||
(Agenda: Implementation Challenges for Browser Security):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-7-technical-plenary.pdf\n
|
||||
\nSlides
|
||||
(When Good Standards Go Bad):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-8-technical-plenary.pdf\n
|
||||
\nSlides
|
||||
(How do we get to TLS Everywhere?):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iab-9-technical-plenary.pdf\n
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2926
|
||||
SUMMARY:Working Group Chairs' Training
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120328T113000
|
||||
DTEND;TZID="Europe/Paris":20120328T130000
|
||||
DTSTAMP:20120328T095200Z
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
UID:ietf-83-2497
|
||||
SUMMARY:IETF Operations and Administration Plenary
|
||||
LOCATION:Amphitheatre Bleu
|
||||
STATUS:CONFIRMED
|
||||
CLASS:PUBLIC
|
||||
DTSTART;TZID="Europe/Paris":20120328T163000
|
||||
DTEND;TZID="Europe/Paris":20120328T193000
|
||||
DTSTAMP:20120223T000000Z
|
||||
URL:http://www.ietf.org/proceedings/83/agenda/agenda-83-iesg-ietf-operations-and-administration-plenary
|
||||
DESCRIPTION:IETF Operations and Administration Plenary\n
|
||||
\nAgenda:
|
||||
http://www.ietf.org/proceedings/83/agenda/agenda-83-iesg-ietf-operations-and-administration-plenary\n
|
||||
\nAgenda:
|
||||
http://www.ietf.org/proceedings/83/agenda/agenda-83-none-ietf-operations-and-administration-plenary\n
|
||||
\nMinutes
|
||||
(Minutes for IESG at IETF-83):
|
||||
http://www.ietf.org/proceedings/83/minutes/minutes-83-iesg-ietf-operations-and-administration-plenary\n
|
||||
\nSlides
|
||||
(NOTE WELL):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-0-ietf-operations-and-administration-plenary.pdf\n
|
||||
\nSlides
|
||||
(Agenda):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-1-ietf-operations-and-administration-plenary.pdf\n
|
||||
\nSlides
|
||||
(ISOC Activities Status Report):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-10-ietf-operations-and-administration-plenary.pdf\n
|
||||
\nSlides
|
||||
(NOC Report Part 2):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-11-ietf-operations-and-administration-plenary.pdf\n
|
||||
\nSlides
|
||||
(Host Presentation: Cisco):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-12-ietf-operations-and-administration-plenary.pdf\n
|
||||
\nSlides
|
||||
(IETF Chair Report):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-2-ietf-operations-and-administration-plenary.pdf\n
|
||||
\nSlides
|
||||
(NOC Report):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-3-ietf-operations-and-administration-plenary.pdf\n
|
||||
\nSlides
|
||||
(IAOC and IAD Report):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-4-ietf-operations-and-administration-plenary.pdf\n
|
||||
\nSlides
|
||||
(IETF Trust Chair Report):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-5-ietf-operations-and-administration-plenary.pdf\n
|
||||
\nSlides
|
||||
(ISOC Activities Status Report):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-6-ietf-operations-and-administration-plenary.ppt\n
|
||||
\nSlides
|
||||
(Recognize Outgoing IAB\, IESG\, and IAOC Members):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-7-ietf-operations-and-administration-plenary.pdf\n
|
||||
\nSlides
|
||||
(IETF Logo -- Open Mic):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-8-ietf-operations-and-administration-plenary.pdf\n
|
||||
\nSlides
|
||||
(NomCom Chair Report):
|
||||
http://www.ietf.org/proceedings/83/slides/slides-83-iesg-9-ietf-operations-and-administration-plenary.pdf\n
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
|
@ -1,288 +0,0 @@
|
|||
|
||||
|
||||
Agenda of the 83rd IETF Meeting
|
||||
|
||||
March 25-30, 2012
|
||||
Updated 2012-03-28 09:52:00 PDT
|
||||
|
||||
IETF agendas are subject to change, up to and during the meeting.
|
||||
|
||||
|
||||
|
||||
SATURDAY, March 24, 2012
|
||||
0930-1800 Code Sprint - Hall Maillot A
|
||||
|
||||
|
||||
SUNDAY, March 25, 2012
|
||||
1000-1200 IEPG Meeting - 241
|
||||
1100-1900 IETF Registration - Hall Maillot A
|
||||
1130-1300 Break - Hall Maillot A
|
||||
1300-1450 Meetecho Tutorial for Participants and WG Chairs - 252A
|
||||
1300-1450 Newcomers' Orientation - 252B
|
||||
1300-1450 Tools for Creating Internet-Drafts Tutorial - 241
|
||||
1500-1650 Newcomers' Orientation (French) - 252B
|
||||
1500-1650 Operations, Administration, and Maintenance Tutorial - 241
|
||||
1600-1700 Newcomers' Meet and Greet (open to Newcomers and WG chairs only) - Salon Etoile d'Or (Concorde Hotel)
|
||||
1700-1900 Welcome Reception - Hall Maillot A
|
||||
|
||||
|
||||
MONDAY, March 26, 2012
|
||||
0800-1800 IETF Registration - Hall Maillot A
|
||||
0800-0900 Beverages - Hall Maillot A
|
||||
0900-1130 Morning Session I
|
||||
252B APP appsawg Applications Area Working Group WG - Combined with APPAREA
|
||||
252A INT multimob Multicast Mobility WG
|
||||
212/213 INT tictoc Timing over IP Connection and Transfer of Clock WG
|
||||
241 INT trill Transparent Interconnection of Lots of Links WG
|
||||
253 IRTF ncrg Network Complexity Research Group
|
||||
Maillot OPS v6ops IPv6 Operations WG
|
||||
243 RAI mmusic Multiparty Multimedia Session Control WG
|
||||
242AB RTG idr Inter-Domain Routing WG
|
||||
|
||||
1130-1300 Break - Hall Maillot A
|
||||
1300-1500 Afternoon Session I
|
||||
212/213 APP eai Email Address Internationalization WG - CANCELED
|
||||
242AB APP websec Web Security WG
|
||||
212/213 IRTF mobopts IP Mobility Optimizations Research Group - Room Changed From 252A
|
||||
243 OPS netmod NETCONF Data Modeling Language WG
|
||||
252B RAI avtcore Audio/Video Transport Core Maintenance WG
|
||||
Maillot RTG ccamp Common Control and Measurement Plane WG
|
||||
241 RTG sidr Secure Inter-Domain Routing WG
|
||||
252A TSV i2aex Infrastructure-to-Application Information Exposure BOF - Room Changed From 241
|
||||
253 TSV ippm IP Performance Metrics WG
|
||||
|
||||
1510-1610 Afternoon Session II
|
||||
243 APP urnbis Uniform Resource Names, Revised WG
|
||||
Maillot INT pcp Port Control Protocol WG
|
||||
242AB OPS opsec Operational Security Capabilities for IP Network Infrastructure WG
|
||||
252B RAI avtcore Audio/Video Transport Core Maintenance WG
|
||||
241 RAI insipid INtermediary-safe SIP session ID WG
|
||||
253 RTG forces Forwarding and Control Element Separation WG
|
||||
252A SEC ipsecme IP Security Maintenance and Extensions WG
|
||||
212/213 TSV rmt Reliable Multicast Transport WG
|
||||
|
||||
1610-1630 Beverage and Snack Break I - Hall Maillot A
|
||||
1630-1930 Technical Plenary - Amphitheatre Bleu
|
||||
|
||||
1630 - 1930 Technical Plenary
|
||||
|
||||
1630 - 1700 Welcome
|
||||
1. Welcome - Bernard Aboba
|
||||
2. IRTF Chair's Report - Lars Eggert
|
||||
3. IAB Chair's Report - Bernard Aboba
|
||||
4. RSOC Report - Fred Baker & Heather Flanagan
|
||||
|
||||
1700 - 1715 World IPv6 Launch - Leslie Daigle
|
||||
|
||||
1715 - 1915 Technical Session: "Implementation Challenges with Browser Security"
|
||||
|
||||
Hannes Tschofenig: Introduction
|
||||
Eric Rescorla: "How do we get to TLS Everywhere?"
|
||||
Tom Lowenthal: "Cryptography Infrastructure"
|
||||
Chris Weber: "When Good Standards Go Bad"
|
||||
Ian Fette: "Lessons Learned from WebSockets (RFC 6455)"
|
||||
Jeff Hodges: "It's Not the End of the World"
|
||||
|
||||
1915 - 1930 IAB Open Microphone Session
|
||||
|
||||
1930 Adjourn
|
||||
|
||||
|
||||
|
||||
TUESDAY, March 27, 2012
|
||||
0800-1800 IETF Registration - Hall Maillot A
|
||||
0800-0900 Beverages - Hall Maillot A
|
||||
0900-1130 Morning Session I
|
||||
243 APP core Constrained RESTful Environments WG
|
||||
252A GEN antitrust Does the IETF Need an Anti-Trust Policy BOF
|
||||
Maillot INT 6man IPv6 Maintenance WG
|
||||
241 IRTF dtnrg Delay-Tolerant Networking Research Group
|
||||
252B RAI clue ControLling mUltiple streams for tElepresence WG
|
||||
242AB RTG mpls Multiprotocol Label Switching WG
|
||||
212/213 SEC pkix Public-Key Infrastructure (X.509) WG
|
||||
253 TSV tsvwg Transport Area Working Group WG
|
||||
|
||||
1130-1300 Break - Hall Maillot A
|
||||
1300-1500 Afternoon Session I
|
||||
252A APP httpbis Hypertext Transfer Protocol Bis WG
|
||||
252B INT pcp Port Control Protocol WG
|
||||
212/213 OPS bmwg Benchmarking Methodology WG
|
||||
241 OPS eman Energy Management WG
|
||||
Maillot RAI dispatch Dispatch WG
|
||||
242AB RTG ospf Open Shortest Path First IGP WG
|
||||
243 RTG pim Protocol Independent Multicast WG
|
||||
253 SEC kitten Common Authentication Technology Next Generation WG - Combined with KRB-WG
|
||||
253 SEC krb-wg Kerberos WG - Combined with KITTEN
|
||||
|
||||
1500-1520 Beverage and Snack Break I - Hall Maillot A
|
||||
1520-1700 Afternoon Session II
|
||||
243 APP weirds Web Extensible Internet Registration Data Service WG
|
||||
212/213 INT ancp Access Node Control Protocol WG
|
||||
252B INT lisp Locator/ID Separation Protocol WG
|
||||
252A IRTF iccrg Internet Congestion Control Research Group
|
||||
242AB OPS 6renum IPv6 Site Renumbering WG
|
||||
Maillot RAI avtext Audio/Video Transport Extensions WG
|
||||
253 RAI vipr Verification Involving PSTN Reachability WG
|
||||
241 SEC jose Javascript Object Signing and Encryption WG
|
||||
|
||||
1710-1810 Afternoon Session III
|
||||
212/213 APP marf Messaging Abuse Reporting Format WG
|
||||
|
||||
1710-1810
|
||||
Maillot GEN rfcform RFC Format Design Team Update BOF
|
||||
|
||||
1710-1810 Afternoon Session III
|
||||
242AB INT dnsext DNS Extensions WG
|
||||
252A IRTF iccrg Internet Congestion Control Research Group
|
||||
243 OPS netconf Network Configuration WG
|
||||
252B RAI sipcore Session Initiation Protocol Core WG
|
||||
241 RTG isis IS-IS for IP Internets WG
|
||||
253 SEC mile Managed Incident Lightweight Exchange WG
|
||||
|
||||
|
||||
|
||||
WEDNESDAY, March 28, 2012
|
||||
0800-1700 IETF Registration - Hall Maillot A
|
||||
0800-0900 Beverages - Hall Maillot A
|
||||
0900-1130 Morning Session I
|
||||
243 APP paws Protocol to Access WS database WG
|
||||
242AB INT homenet Home Networking WG
|
||||
253 OPS opsarea Operations & Management Area Open Meeting - Combined with OPSAWG
|
||||
|
||||
0900-1130 Afternoon Session I
|
||||
253 OPS opsawg Operations and Management Area Working Group WG - Combined with OPSAREA
|
||||
|
||||
0900-1130 Morning Session I
|
||||
252B RAI rtcweb Real-Time Communication in WEB-browsers WG
|
||||
Maillot RTG ccamp Common Control and Measurement Plane WG
|
||||
241 RTG sidr Secure Inter-Domain Routing WG
|
||||
212/213 TSV nfsv4 Network File System Version 4 WG
|
||||
252A TSV ppsp Peer to Peer Streaming Protocol WG
|
||||
|
||||
1130-1300 Break - Hall Maillot A
|
||||
1130-1300 Working Group Chairs' Lunch Tutorial - 252B
|
||||
1300-1500 Afternoon Session I
|
||||
252B APP hybi BiDirectional or Server-Initiated HTTP WG
|
||||
243 APP repute Reputation Services WG
|
||||
253 INT netext Network-Based Mobility Extensions WG
|
||||
252A RAI ecrit Emergency Context Resolution with Internet Technologies WG
|
||||
242AB RTG karp Keying and Authentication for Routing Protocols WG
|
||||
Maillot RTG nvo3 Network Virtualization Overlays WG
|
||||
241 RTG roll Routing Over Low power and Lossy networks WG
|
||||
212/213 SEC nea Network Endpoint Assessment WG
|
||||
|
||||
1510-1610 Afternoon Session II
|
||||
242AB INT softwire Softwires WG
|
||||
Maillot OPS armd Address Resolution for Massive numbers of hosts in the Data center WG
|
||||
241 RAI p2psip Peer-to-Peer Session Initiation Protocol WG
|
||||
252A RAI soc SIP Overload Control WG
|
||||
253 RAI xmpp Extensible Messaging and Presence Protocol WG
|
||||
252B RTG bfd Bidirectional Forwarding Detection WG
|
||||
243 SEC tls Transport Layer Security WG
|
||||
212/213 TSV pcn Congestion and Pre-Congestion Notification WG
|
||||
|
||||
1610-1630 Beverage and Snack Break I - Hall Maillot A
|
||||
1630-1930 IETF Operations and Administration Plenary - Amphitheatre Bleu
|
||||
|
||||
Administrative and Management Plenary
|
||||
|
||||
1. Welcome
|
||||
2. Host Presentation
|
||||
3. Reporting
|
||||
- IETF Chair Report
|
||||
- NOC Report
|
||||
- IAOC Chair & IAD Reports
|
||||
- Trust Chair Report
|
||||
- NomCom Chair Report
|
||||
4. Open Internet Endowment Status Report
|
||||
5. Thank Outgoing IAB, IAOC, and IESG Members
|
||||
6. Introduce Incoming IAOC Members
|
||||
7. IAOC Open Mic
|
||||
8. Introduce Incoming IESG Members
|
||||
9. IESG Open Mic
|
||||
|
||||
|
||||
|
||||
THURSDAY, March 29, 2012
|
||||
0800-1700 IETF Registration - Hall Maillot A
|
||||
0800-0900 Beverages - Hall Maillot A
|
||||
0900-1130 Morning Session I
|
||||
252A APP scim System for Cross-domain Identity Management WG
|
||||
253 INT dhc Dynamic Host Configuration WG
|
||||
241 INT dmm Distributed Mobility Management WG
|
||||
212/213 OPS mboned MBONE Deployment WG
|
||||
Maillot RAI rtcweb Real-Time Communication in WEB-browsers WG
|
||||
242AB RTG pwe3 Pseudowire Emulation Edge to Edge WG
|
||||
243 SEC abfab Application Bridging for Federated Access Beyond web WG
|
||||
252B TSV alto Application-Layer Traffic Optimization WG
|
||||
|
||||
1130-1300 Break - Hall Maillot A
|
||||
1300-1500 Afternoon Session I
|
||||
253 APP precis Preparation and Comparison of Internationalized Strings WG
|
||||
Maillot INT intarea Internet Area Working Group WG
|
||||
212/213 IRTF samrg Scalable Adaptive Multicast Research Group
|
||||
243 RAI xrblock Metric Blocks for use with RTCP's Extended Report Framework WG
|
||||
242AB RTG l2vpn Layer 2 Virtual Private Networks WG
|
||||
241 RTG manet Mobile Ad-hoc Networks WG
|
||||
252A SEC oauth Web Authorization Protocol WG
|
||||
252B TSV cdni Content Delivery Networks Interconnection WG
|
||||
|
||||
1500-1520 Beverage Break - Hall Maillot A
|
||||
1520-1720 Afternoon Session II
|
||||
241 APP httpbis Hypertext Transfer Protocol Bis WG
|
||||
252B INT lwig Light-Weight Implementation Guidance WG
|
||||
243 OPS dime Diameter Maintenance and Extensions WG
|
||||
Maillot OPS v6ops IPv6 Operations WG
|
||||
212/213 RAI drinks Data for Reachability of Inter/tra-NetworK SIP WG
|
||||
242AB RTG rtgarea Routing Area Open Meeting
|
||||
252A SEC emu EAP Method Update WG
|
||||
253 TSV decade Decoupled Application Data Enroute WG
|
||||
|
||||
1720-1740 Beverage and Snack Break II - Hall Maillot A
|
||||
1740-1940 Afternoon Session III
|
||||
252A INT mif Multiple Interfaces WG
|
||||
212/213 OPS ipfix IP Flow Information Export WG
|
||||
Maillot RAI clue ControLling mUltiple streams for tElepresence WG
|
||||
243 RAI geopriv Geographic Location/Privacy WG
|
||||
241 RTG pce Path Computation Element WG
|
||||
252B RTG rtgwg Routing Area Working Group WG
|
||||
242AB SEC saag Security Area Open Meeting
|
||||
253 TSV conex Congestion Exposure WG
|
||||
|
||||
|
||||
|
||||
FRIDAY, March 30, 2012
|
||||
0800-1100 IETF Registration - Hall Maillot A
|
||||
0800-0900 Beverages - Hall Maillot A
|
||||
0900-1100 Morning Session I
|
||||
253 APP core Constrained RESTful Environments WG
|
||||
252A APP spfbis SPF Update WG
|
||||
252B INT softwire Softwires WG
|
||||
212/213 OPS radext RADIUS EXTensions WG
|
||||
243 RAI siprec SIP Recording WG
|
||||
Maillot RTG mpls Multiprotocol Label Switching WG
|
||||
242AB TSV cdni Content Delivery Networks Interconnection WG
|
||||
241 TSV tcpm TCP Maintenance and Minor Extensions WG
|
||||
|
||||
1100-1120 Beverage and Snack Break I - Hall Maillot A
|
||||
1120-1220 Afternoon Session I
|
||||
253 APP iri Internationalized Resource Identifiers WG
|
||||
243 GEN rpsreqs Remote Participation System Requirements BOF
|
||||
242AB INT trill Transparent Interconnection of Lots of Links WG
|
||||
212/213 IRTF cfrg Crypto Forum Research Group
|
||||
Maillot OPS dnsop Domain Name System Operations WG
|
||||
241 RAI bfcpbis Binary Floor Control Protocol Bis WG
|
||||
252A RAI codec Internet Wideband Audio Codec WG - CANCELED
|
||||
252B TSV mptcp Multipath TCP WG
|
||||
|
||||
1230-1330 Afternoon Session II
|
||||
243 GEN rpsreqs Remote Participation System Requirements BOF
|
||||
212/213 IRTF cfrg Crypto Forum Research Group
|
||||
242AB OPS grow Global Routing Operations WG
|
||||
253 RAI atoca Authority-to-Citizen Alert WG
|
||||
241 RAI cuss Call Control UUI Service for SIP WG
|
||||
252B TSV mptcp Multipath TCP WG
|
||||
|
||||
|
||||
====================================================================
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
import sys
|
||||
|
||||
from ietf.meeting.tests.ttest import AgendaTransactionalTestCase
|
||||
from ietf.utils import TestCase
|
||||
from ietf.name.models import SessionStatusName
|
||||
from ietf.person.models import Person
|
||||
from ietf.group.models import Group
|
||||
from ietf.meeting.models import TimeSlot, Session, Meeting, ScheduledSession
|
||||
from ietf.meeting.helpers import get_meeting, get_schedule
|
||||
|
||||
import debug
|
||||
|
||||
class AgendaInfoTestCase(TestCase):
|
||||
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
|
||||
perma_fixtures = [ 'meeting83.json',
|
||||
'constraint83.json',
|
||||
'workinggroups.json',
|
||||
'groupgroup.json',
|
||||
'person.json', 'users.json' ]
|
||||
|
||||
def test_SessionUnicode(self):
|
||||
m1 = get_meeting("83")
|
||||
g1 = Group.objects.get(acronym = "pkix")
|
||||
p1 = Person.objects.get(pk = 5376) # Russ Housley
|
||||
st1 = SessionStatusName.objects.get(slug = "appr")
|
||||
s1 = m1.session_set.create(name = "newone", group = g1, requested_by = p1, status = st1)
|
||||
self.assertEqual(s1.__unicode__(), "IETF-83: pkix (unscheduled)[22090]")
|
||||
|
||||
# this tests that a slot at 11:20 AM on Friday, has slot 10 minutes later
|
||||
# after it
|
||||
def test_TimeSlot2408_has_SlotToTheRight(self):
|
||||
ss2408 = ScheduledSession.objects.get(pk = 2408)
|
||||
self.assertTrue(ss2408.slot_to_the_right)
|
||||
|
||||
# this tests that a slot 9-11:30am on Wednesday, has no following slot,
|
||||
# as the slot purpose to the right is non-session.
|
||||
def test_TimeSlot2517_hasno_SlotToTheRight(self):
|
||||
ss2517 = ScheduledSession.objects.get(pk = 2517)
|
||||
self.assertFalse(ss2517.slot_to_the_right)
|
||||
|
||||
# this tests that a slot 13:00-15:00 on Tuesday has no following slot,
|
||||
# as the gap to the next slot (at 15:20) is too long (there is a break)
|
||||
def test_TimeSlot2418_hasno_SlotToTheRight(self):
|
||||
ss2418 = ScheduledSession.objects.get(pk = 2418)
|
||||
self.assertFalse(ss2418.slot_to_the_right)
|
||||
|
||||
def test_DoNotGetSchedule(self):
|
||||
from django.http import Http404
|
||||
num = '83'
|
||||
from ietf.meeting.views import get_meeting, get_schedule
|
||||
meeting = get_meeting(num)
|
||||
try:
|
||||
na = get_schedule(meeting, "none:83")
|
||||
except Http404:
|
||||
False
|
||||
|
||||
def test_GetSchedule(self):
|
||||
num = '83'
|
||||
from ietf.meeting.views import get_meeting, get_schedule
|
||||
meeting = get_meeting(num)
|
||||
na = get_schedule(meeting, "mtg:83")
|
||||
self.assertIsNotNone(na)
|
||||
|
||||
def test_sessionstr(self):
|
||||
num = '83'
|
||||
from ietf.meeting.views import get_meeting
|
||||
meeting = get_meeting(num)
|
||||
session1= Session.objects.get(pk=2157)
|
||||
self.assertEqual(session1.__unicode__(), u"IETF-83: pkix 0900[2157]")
|
||||
|
||||
def test_sessionstr_interim(self):
|
||||
"""
|
||||
Need a fixture for a meeting that is interim
|
||||
"""
|
||||
pass
|
||||
|
||||
def test_serialize_constraint(self):
|
||||
session1 = Session.objects.get(pk=2157)
|
||||
host_scheme = "http://datatracker.ietf.org"
|
||||
json_dict = session1.constraints_dict(host_scheme)
|
||||
self.assertEqual(len(json_dict), 25)
|
||||
|
||||
def test_avtcore_has_two_slots(self):
|
||||
mtg83 = get_meeting(83)
|
||||
sch83 = get_schedule(mtg83, "mtg:83")
|
||||
avtcore = mtg83.session_set.get(group__acronym='avtcore')
|
||||
self.assertEqual(avtcore.pk, 2216) # sanity check
|
||||
self.assertEqual(len(avtcore.scheduledsession_set.filter(schedule = sch83)), 2)
|
||||
|
||||
def test_clue_has_ad_present(self):
|
||||
mtg83 = get_meeting(83)
|
||||
clue83 = mtg83.session_set.filter(group__acronym='clue')[0]
|
||||
is_present = clue83.people_constraints
|
||||
self.assertIsNotNone(is_present, "why is constraint list none")
|
||||
self.assertEqual(len(is_present), 3)
|
||||
|
||||
|
|
@ -1,618 +0,0 @@
|
|||
import base64
|
||||
import sys, datetime
|
||||
import json
|
||||
|
||||
from ietf.utils import TestCase
|
||||
from ietf.person.models import Person
|
||||
from django.contrib.auth.models import User
|
||||
from ietf.meeting.models import TimeSlot, Session, ScheduledSession, Meeting
|
||||
from ietf.ietfauth.utils import has_role
|
||||
from auths import auth_joeblow, auth_wlo, auth_ietfchair, auth_ferrel
|
||||
from ietf.meeting.helpers import get_meeting
|
||||
|
||||
import debug
|
||||
|
||||
class ApiTestCase(TestCase):
|
||||
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
|
||||
perma_fixtures = [
|
||||
'meeting83.json',
|
||||
'constraint83.json',
|
||||
'workinggroups.json',
|
||||
'groupgroup.json',
|
||||
'person.json', 'users.json' ]
|
||||
|
||||
def test_noAuthenticationUpdateAgendaItem(self):
|
||||
ts_one = TimeSlot.objects.get(pk=2371)
|
||||
ts_two = TimeSlot.objects.get(pk=2372)
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
|
||||
# confirm that it has old timeslot value
|
||||
self.assertEqual(ss_one.timeslot, ts_one)
|
||||
|
||||
# move this session from one timeslot to another.
|
||||
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
|
||||
'argv': '{"schedule_id":"%u", "session_id":"%u", "scheduledsession_id":"2372"}' % (ss_one.schedule.id,ts_one.id)
|
||||
})
|
||||
|
||||
# confirm that without login, it does not have new value
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
self.assertEqual(ss_one.timeslot, ts_one)
|
||||
|
||||
def test_noAuthorizationUpdateAgendaItem(self):
|
||||
ts_one = TimeSlot.objects.get(pk=2371)
|
||||
ts_two = TimeSlot.objects.get(pk=2372)
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
|
||||
# confirm that it has old scheduledsession value
|
||||
self.assertEqual(ss_one.timeslot, ts_one)
|
||||
|
||||
# move this session from one scheduledsession to another.
|
||||
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
|
||||
'argv': '{"schedule_id":"%u", "scheduledsession_id":"%u","session_id":"%u" }' % (ss_one.schedule.id, ts_two.id, ss_one.session.id)
|
||||
}, **auth_ferrel)
|
||||
|
||||
# confirm that without login, it does not have new value
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
self.assertEqual(ss_one.timeslot, ts_one)
|
||||
|
||||
|
||||
def test_wrongAuthorizationUpdateAgendaItem(self):
|
||||
s2157 = Session.objects.get(pk=2157)
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
ss_two = ScheduledSession.objects.get(pk=2372)
|
||||
|
||||
old_two_s = ss_two.session
|
||||
|
||||
# confirm that it has old timeslot value
|
||||
self.assertEqual(ss_one.session, s2157)
|
||||
|
||||
# move this session from one scheduledsession to another.
|
||||
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
|
||||
'argv': '{"schedule_id":"%u", "scheduledsession_id":"%u", "session_id":"%u"}' % (ss_one.schedule.id, ss_two.id, s2157.id)
|
||||
}, **auth_joeblow)
|
||||
|
||||
# confirm that without login, it does not have new value
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
self.assertEqual(ss_one.session, s2157)
|
||||
|
||||
# confirm that the new scheduledsession has not changed.
|
||||
ss_two = ScheduledSession.objects.get(pk=2372)
|
||||
self.assertEqual(ss_two.session, old_two_s)
|
||||
|
||||
def test_wloUpdateAgendaItem(self):
|
||||
s2157 = Session.objects.get(pk=2157)
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
|
||||
# confirm that it has old session value
|
||||
self.assertEqual(ss_one.session, s2157)
|
||||
|
||||
ss_two = ScheduledSession.objects.get(pk=2372)
|
||||
self.assertNotEqual(ss_two.session, s2157)
|
||||
|
||||
# move this session from one timeslot to another.
|
||||
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
|
||||
'argv': '{"schedule_id":"%u", "scheduledsession_id":"%u", "session_id":"%u"}' % (ss_one.schedule.id, ss_two.id, s2157.id)
|
||||
}, **auth_wlo)
|
||||
|
||||
# confirm that it new scheduledsession object has new session.
|
||||
ss_two = ScheduledSession.objects.get(pk=2372)
|
||||
self.assertEqual(ss_two.session, s2157)
|
||||
|
||||
# confirm that it old scheduledsession object has no session.
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
self.assertEqual(ss_one.session, None)
|
||||
|
||||
def test_wloUpdateAgendaItemToUnscheduled(self):
|
||||
s2157 = Session.objects.get(pk=2157)
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
|
||||
# confirm that it has old scheduledsession value
|
||||
self.assertEqual(ss_one.session, s2157)
|
||||
|
||||
# move this session from one timeslot to another.
|
||||
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
|
||||
'argv': '{"schedule_id":"%u", "session_id":"%u", "scheduledsession_id":"0"}' % (ss_one.schedule.id,s2157.id)
|
||||
}, **auth_wlo)
|
||||
|
||||
# confirm that it old scheduledsession object now has no session.
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
self.assertEqual(ss_one.session, None)
|
||||
|
||||
def test_wloUpdateAgendaItemToNone(self):
|
||||
s2157 = Session.objects.get(pk=2157)
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
|
||||
# confirm that it has old timeslot value
|
||||
self.assertEqual(ss_one.session, s2157)
|
||||
|
||||
# move this session from one timeslot to another.
|
||||
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
|
||||
'argv': '{"schedule_id":"%u", "session_id":"%u"}' % (ss_one.schedule.id,s2157.id)
|
||||
}, **auth_wlo)
|
||||
|
||||
# confirm that it old scheduledsession object has no session.
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
self.assertEqual(ss_one.session, None)
|
||||
|
||||
def test_chairUpdateAgendaItemFails(self):
|
||||
s2157 = Session.objects.get(pk=2157)
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
|
||||
# confirm that it has old timeslot value
|
||||
self.assertEqual(ss_one.session, s2157)
|
||||
|
||||
# confirm that the slot was none empty.
|
||||
ss_two_saved = ScheduledSession.objects.get(pk=2372)
|
||||
|
||||
# move this session from one timeslot to another.
|
||||
self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
|
||||
'argv': '{"schedule_id":"%u", "session_id":"%u", "scheduledsession_id":"%u"}' % (ss_one.schedule.id,s2157.id, ss_two_saved.id)
|
||||
}, **auth_ietfchair)
|
||||
|
||||
# confirm that it new scheduledsession object has no new session.
|
||||
ss_two = ScheduledSession.objects.get(pk=2372)
|
||||
self.assertEqual(ss_two, ss_two_saved)
|
||||
|
||||
# confirm that it old scheduledsession object still has old session.
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
self.assertEqual(ss_one.session, s2157)
|
||||
|
||||
|
||||
def test_anyoneGetConflictInfo(self):
|
||||
s2157 = Session.objects.get(pk=2157)
|
||||
|
||||
# confirm that a constraint json is generated properly
|
||||
resp = self.client.get('/meeting/83/session/2157/constraints.json')
|
||||
conflicts = json.loads(resp.content)
|
||||
self.assertNotEqual(conflicts, None)
|
||||
|
||||
def test_conflictInfoIncludesPeople(self):
|
||||
mtg83 = get_meeting(83)
|
||||
clue83 = mtg83.session_set.filter(group__acronym='clue')[0]
|
||||
|
||||
# retrive some json that shows the conflict for this session.
|
||||
resp = self.client.get("/meeting/83/session/%u/constraints.json" % (clue83.pk))
|
||||
conflicts = json.loads(resp.content)
|
||||
self.assertNotEqual(conflicts, None)
|
||||
self.assertEqual(len(conflicts), 39)
|
||||
|
||||
def test_getMeetingInfoJson(self):
|
||||
resp = self.client.get('/meeting/83.json')
|
||||
mtginfo = json.loads(resp.content)
|
||||
self.assertNotEqual(mtginfo, None)
|
||||
|
||||
def test_getRoomJson(self):
|
||||
mtg83 = get_meeting(83)
|
||||
rm243 = mtg83.room_set.get(name = '243')
|
||||
|
||||
resp = self.client.get('/meeting/83/room/%s.json' % rm243.pk)
|
||||
rm243json = json.loads(resp.content)
|
||||
self.assertNotEqual(rm243json, None)
|
||||
|
||||
def test_createNewRoomNonSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
rm221 = mtg83.room_set.filter(name = '221')
|
||||
self.assertEqual(len(rm221), 0)
|
||||
|
||||
# try to create a new room.
|
||||
self.client.post('/meeting/83/rooms', {
|
||||
'name' : '221',
|
||||
'capacity': 50,
|
||||
}, **auth_joeblow)
|
||||
|
||||
# see that in fact the room was not created
|
||||
rm221 = mtg83.room_set.filter(name = '221')
|
||||
self.assertEqual(len(rm221), 0)
|
||||
|
||||
def test_createNewRoomSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
rm221 = mtg83.room_set.filter(name = '221')
|
||||
self.assertEqual(len(rm221), 0)
|
||||
|
||||
timeslots = mtg83.timeslot_set.all()
|
||||
timeslot_initial_len = len(timeslots)
|
||||
self.assertTrue(timeslot_initial_len>0)
|
||||
|
||||
extra_headers = auth_wlo
|
||||
extra_headers['HTTP_ACCEPT']='text/json'
|
||||
|
||||
# try to create a new room
|
||||
self.client.post('/meeting/83/rooms', {
|
||||
'name' : '221',
|
||||
'capacity': 50,
|
||||
}, **extra_headers)
|
||||
|
||||
# see that in fact wlo can create a new room.
|
||||
rm221 = mtg83.room_set.filter(name = '221')
|
||||
self.assertEqual(len(rm221), 1)
|
||||
|
||||
timeslots = mtg83.timeslot_set.all()
|
||||
timeslot_final_len = len(timeslots)
|
||||
self.assertEqual((timeslot_final_len - timeslot_initial_len), 26)
|
||||
|
||||
def test_deleteNewRoomSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
rm243 = mtg83.room_set.get(name = '243')
|
||||
slotcount = len(rm243.timeslot_set.all())
|
||||
self.assertNotEqual(rm243, None)
|
||||
|
||||
timeslots = mtg83.timeslot_set.all()
|
||||
timeslot_initial_len = len(timeslots)
|
||||
self.assertTrue(timeslot_initial_len>0)
|
||||
|
||||
# try to delete a new room
|
||||
self.client.delete('/meeting/83/room/%s.json' % (rm243.pk), **auth_wlo)
|
||||
|
||||
# see that in fact wlo can delete an existing room.
|
||||
rm243 = mtg83.room_set.filter(name = '243')
|
||||
self.assertEqual(len(rm243), 0)
|
||||
|
||||
timeslots = mtg83.timeslot_set.all()
|
||||
timeslot_final_len = len(timeslots)
|
||||
self.assertEqual((timeslot_final_len-timeslot_initial_len), -slotcount)
|
||||
|
||||
def test_getGroupInfoJson(self):
|
||||
resp = self.client.get('/group/pkix.json')
|
||||
#print "json: %s" % (resp.content)
|
||||
mtginfo = json.loads(resp.content)
|
||||
self.assertNotEqual(mtginfo, None)
|
||||
|
||||
def test_getPersonInfoJson(self):
|
||||
# 491 is Adrian Ferrel, an AD
|
||||
af = User.objects.filter(pk = 491)[0]
|
||||
person = af.person
|
||||
resp = self.client.get('/person/%u.json' % (person.pk))
|
||||
#print "json: %s" % (resp.content)
|
||||
pinfo = json.loads(resp.content)
|
||||
self.assertNotEqual(pinfo, None)
|
||||
|
||||
def test_getSlotJson(self):
|
||||
mtg83 = get_meeting(83)
|
||||
slot0 = mtg83.timeslot_set.all()[0]
|
||||
|
||||
resp = self.client.get('/meeting/83/timeslot/%s.json' % slot0.pk)
|
||||
slot0json = json.loads(resp.content)
|
||||
self.assertNotEqual(slot0json, None)
|
||||
|
||||
def test_createNewSlotNonSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
slot23 = mtg83.timeslot_set.filter(time=datetime.date(year=2012,month=3,day=23))
|
||||
self.assertEqual(len(slot23), 0)
|
||||
|
||||
# try to create a new room.
|
||||
resp = self.client.post('/meeting/83/timeslots', {
|
||||
'type' : 'plenary',
|
||||
'name' : 'Workshop on Smart Object Security',
|
||||
'time' : '2012-03-23',
|
||||
'duration_days' : 0,
|
||||
'duration_hours': 8,
|
||||
'duration_minutes' : 0,
|
||||
'duration_seconds' : 0,
|
||||
}, **auth_joeblow)
|
||||
|
||||
self.assertEqual(resp.status_code, 403)
|
||||
# see that in fact the room was not created
|
||||
slot23 = mtg83.timeslot_set.filter(time=datetime.date(year=2012,month=3,day=23))
|
||||
self.assertEqual(len(slot23), 0)
|
||||
|
||||
def test_createNewSlotSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
slot23 = mtg83.timeslot_set.filter(time=datetime.date(year=2012,month=3,day=23))
|
||||
self.assertEqual(len(slot23), 0)
|
||||
|
||||
extra_headers = auth_wlo
|
||||
extra_headers['HTTP_ACCEPT']='text/json'
|
||||
|
||||
# try to create a new room.
|
||||
resp = self.client.post('/meeting/83/timeslots', {
|
||||
'type' : 'plenary',
|
||||
'name' : 'Workshop on Smart Object Security',
|
||||
'time' : '2012-03-23',
|
||||
'duration': '08:00:00',
|
||||
}, **extra_headers)
|
||||
self.assertEqual(resp.status_code, 302)
|
||||
|
||||
# see that in fact wlo can create a new timeslot
|
||||
mtg83 = get_meeting(83)
|
||||
slot23 = mtg83.timeslot_set.filter(time=datetime.date(year=2012,month=3,day=23))
|
||||
self.assertEqual(len(slot23), 11)
|
||||
|
||||
def test_deleteNewSlotSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
slot0 = mtg83.timeslot_set.all()[0]
|
||||
|
||||
# try to delete a new room
|
||||
self.client.delete('/meeting/83/timeslot/%s.json' % (slot0.pk), **auth_wlo)
|
||||
|
||||
# see that in fact wlo can delete an existing room.
|
||||
slot0n = mtg83.timeslot_set.filter(pk = slot0.pk)
|
||||
self.assertEqual(len(slot0n), 0)
|
||||
|
||||
#
|
||||
# AGENDA API
|
||||
#
|
||||
def test_getAgendaJson(self):
|
||||
mtg83 = get_meeting(83)
|
||||
a83 = mtg83.agenda
|
||||
|
||||
resp = self.client.get('/meeting/83/agendas/%s.json' % a83.name)
|
||||
a83json = json.loads(resp.content)
|
||||
self.assertNotEqual(a83json, None)
|
||||
|
||||
def test_createNewAgendaNonSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
|
||||
# try to create a new agenda
|
||||
resp = self.client.post('/meeting/83/agendas', {
|
||||
'type' : 'plenary',
|
||||
'name' : 'Workshop on Smart Object Security',
|
||||
'time' : '2012-03-23',
|
||||
'duration_days' : 0,
|
||||
'duration_hours': 8,
|
||||
'duration_minutes' : 0,
|
||||
'duration_seconds' : 0,
|
||||
}, **auth_joeblow)
|
||||
|
||||
self.assertEqual(resp.status_code, 403)
|
||||
# see that in fact the room was not created
|
||||
slot23 = mtg83.timeslot_set.filter(time=datetime.date(year=2012,month=3,day=23))
|
||||
self.assertEqual(len(slot23), 0)
|
||||
|
||||
def test_createNewAgendaSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
a83 = mtg83.agenda
|
||||
|
||||
extra_headers = auth_wlo
|
||||
extra_headers['HTTP_ACCEPT']='text/json'
|
||||
|
||||
# try to create a new agenda
|
||||
resp = self.client.post('/meeting/83/agendas', {
|
||||
'name' : 'fakeagenda1',
|
||||
}, **extra_headers)
|
||||
|
||||
self.assertEqual(resp.status_code, 302)
|
||||
|
||||
# see that in fact wlo can create a new timeslot
|
||||
mtg83 = get_meeting(83)
|
||||
n83 = mtg83.schedule_set.filter(name='fakeagenda1')
|
||||
self.assertNotEqual(n83, None)
|
||||
|
||||
def test_updateAgendaSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
a83 = mtg83.agenda
|
||||
self.assertTrue(a83.visible)
|
||||
|
||||
extra_headers = auth_wlo
|
||||
extra_headers['HTTP_ACCEPT']='application/json'
|
||||
|
||||
# try to create a new agenda
|
||||
resp = self.client.put('/meeting/83/agendas/%s.json' % (a83.name),
|
||||
data='visible=0',
|
||||
content_type="application/x-www-form-urlencoded",
|
||||
**extra_headers)
|
||||
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
# see that in fact wlo can create a new timeslot
|
||||
mtg83 = get_meeting(83)
|
||||
a83 = mtg83.agenda
|
||||
self.assertFalse(a83.visible)
|
||||
|
||||
def test_deleteAgendaSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
a83 = mtg83.agenda
|
||||
self.assertNotEqual(a83, None)
|
||||
|
||||
# try to delete an agenda
|
||||
resp = self.client.delete('/meeting/83/agendas/%s.json' % (a83.name), **auth_wlo)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
# see that in fact wlo can delete an existing room.
|
||||
mtg83 = get_meeting(83)
|
||||
a83c = mtg83.schedule_set.filter(pk = a83.pk).count()
|
||||
self.assertEqual(a83c, 0)
|
||||
self.assertEqual(mtg83.agenda, None)
|
||||
|
||||
#
|
||||
# MEETING API
|
||||
#
|
||||
def test_getMeetingJson(self):
|
||||
resp = self.client.get('/meeting/83.json')
|
||||
m83json = json.loads(resp.content)
|
||||
self.assertNotEqual(m83json, None)
|
||||
|
||||
def test_setMeetingAgendaNonSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
self.assertNotEqual(mtg83.agenda, None)
|
||||
|
||||
# try to create a new agenda
|
||||
resp = self.client.put('/meeting/83.json',
|
||||
data="agenda=None",
|
||||
content_type="application/x-www-form-urlencoded",
|
||||
**auth_joeblow)
|
||||
|
||||
self.assertEqual(resp.status_code, 403)
|
||||
self.assertNotEqual(mtg83.agenda, None)
|
||||
|
||||
def test_setMeetingAgendaNoneSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
self.assertNotEqual(mtg83.agenda, None)
|
||||
|
||||
extra_headers = auth_wlo
|
||||
extra_headers['HTTP_ACCEPT']='application/json'
|
||||
|
||||
# try to create a new agenda
|
||||
resp = self.client.post('/meeting/83.json',
|
||||
data="agenda=None",
|
||||
content_type="application/x-www-form-urlencoded",
|
||||
**extra_headers)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
# new to reload the object
|
||||
mtg83 = get_meeting(83)
|
||||
self.assertEqual(mtg83.agenda, None)
|
||||
|
||||
def test_setMeetingAgendaSecretariatPublic(self):
|
||||
mtg83 = get_meeting(83)
|
||||
new_sched = mtg83.schedule_set.create(name="funny",
|
||||
meeting=mtg83,
|
||||
public=True,
|
||||
owner=mtg83.agenda.owner)
|
||||
self.assertNotEqual(mtg83.agenda, new_sched)
|
||||
|
||||
extra_headers = auth_wlo
|
||||
extra_headers['HTTP_ACCEPT']='text/json'
|
||||
|
||||
# try to create a new agenda
|
||||
resp = self.client.put('/meeting/83.json',
|
||||
data="agenda=%s" % new_sched.name,
|
||||
content_type="application/x-www-form-urlencoded",
|
||||
**extra_headers)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
# new to reload the object
|
||||
mtg83 = get_meeting(83)
|
||||
self.assertEqual(mtg83.agenda, new_sched)
|
||||
|
||||
def test_setNonPublicMeetingAgendaSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
new_sched = mtg83.schedule_set.create(name="funny",
|
||||
meeting=mtg83,
|
||||
public=False,
|
||||
owner=mtg83.agenda.owner)
|
||||
self.assertNotEqual(mtg83.agenda, new_sched)
|
||||
|
||||
extra_headers = auth_wlo
|
||||
extra_headers['HTTP_ACCEPT']='text/json'
|
||||
|
||||
# try to create a new agenda
|
||||
resp = self.client.put('/meeting/83.json',
|
||||
data="agenda=%s" % new_sched.name,
|
||||
content_type="application/x-www-form-urlencoded",
|
||||
**extra_headers)
|
||||
self.assertEqual(resp.status_code, 406)
|
||||
|
||||
# new to reload the object
|
||||
mtg83 = get_meeting(83)
|
||||
self.assertNotEqual(mtg83.agenda, new_sched)
|
||||
|
||||
def test_wlo_isSecretariatCanEditSched24(self):
|
||||
extra_headers = auth_wlo
|
||||
extra_headers['HTTP_ACCEPT']='text/json'
|
||||
|
||||
# check that wlo
|
||||
resp = self.client.post('/dajaxice/ietf.meeting.readonly/', {
|
||||
'argv': '{"meeting_num":"83","schedule_id":"24"}'
|
||||
}, **extra_headers)
|
||||
|
||||
m83perm = json.loads(resp.content)
|
||||
self.assertEqual(m83perm['secretariat'], True)
|
||||
self.assertEqual(m83perm['owner_href'], "http://testserver/person/108757.json")
|
||||
self.assertEqual(m83perm['read_only'], False)
|
||||
self.assertEqual(m83perm['write_perm'], True)
|
||||
|
||||
def test_joeblow_isNonUserCanNotSave(self):
|
||||
extra_headers = auth_joeblow
|
||||
extra_headers['HTTP_ACCEPT']='text/json'
|
||||
|
||||
# check that wlo
|
||||
resp = self.client.post('/dajaxice/ietf.meeting.readonly/', {
|
||||
'argv': '{"meeting_num":"83","schedule_id":"24"}'
|
||||
}, **extra_headers)
|
||||
|
||||
m83perm = json.loads(resp.content)
|
||||
self.assertEqual(m83perm['secretariat'], False)
|
||||
self.assertEqual(m83perm['owner_href'], "http://testserver/person/108757.json")
|
||||
self.assertEqual(m83perm['read_only'], True)
|
||||
self.assertEqual(m83perm['write_perm'], False)
|
||||
|
||||
def test_af_IsReadOnlySched24(self):
|
||||
"""
|
||||
This test case validates that despite being an AD, and having a login, a schedule
|
||||
that does not belong to him will be marked as readonly.
|
||||
"""
|
||||
extra_headers = auth_ferrel
|
||||
extra_headers['HTTP_ACCEPT']='text/json'
|
||||
|
||||
resp = self.client.post('/dajaxice/ietf.meeting.readonly/', {
|
||||
'argv': '{"meeting_num":"83","schedule_id":"24"}'
|
||||
}, **extra_headers)
|
||||
|
||||
m83perm = json.loads(resp.content)
|
||||
self.assertEqual(m83perm['secretariat'], False)
|
||||
self.assertEqual(m83perm['owner_href'], "http://testserver/person/108757.json")
|
||||
self.assertEqual(m83perm['read_only'], True)
|
||||
self.assertEqual(m83perm['write_perm'], True)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
def test_wlo_isNonUserCanNotSave(self):
|
||||
extra_headers = auth_joeblow
|
||||
extra_headers['HTTP_ACCEPT']='text/json'
|
||||
|
||||
# check that wlo
|
||||
resp = self.client.post('/dajaxice/ietf.meeting.readonly/', {
|
||||
'argv': '{"meeting_num":"83","schedule_id":"24"}'
|
||||
}, **extra_headers)
|
||||
|
||||
m83perm = json.loads(resp.content)
|
||||
self.assertEqual(m83perm['secretariat'], False)
|
||||
self.assertEqual(m83perm['owner_href'], "http://testserver/person/108757.json")
|
||||
self.assertEqual(m83perm['read_only'], True)
|
||||
self.assertEqual(m83perm['write_perm'], False)
|
||||
|
||||
def test_setMeetingAgendaSecretariat(self):
|
||||
mtg83 = get_meeting(83)
|
||||
new_sched = mtg83.schedule_set.create(name="funny",
|
||||
meeting=mtg83,
|
||||
owner=mtg83.agenda.owner)
|
||||
self.assertNotEqual(mtg83.agenda, new_sched)
|
||||
|
||||
extra_headers = auth_wlo
|
||||
extra_headers['HTTP_ACCEPT']='text/json'
|
||||
|
||||
# try to create a new agenda
|
||||
resp = self.client.put('/meeting/83.json',
|
||||
data="agenda=%s" % new_sched.name,
|
||||
content_type="application/x-www-form-urlencoded",
|
||||
**extra_headers)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
# new to reload the object
|
||||
mtg83 = get_meeting(83)
|
||||
self.assertEqual(mtg83.agenda, new_sched)
|
||||
|
||||
def test_noAuthenticationUpdatePinned(self):
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
|
||||
# confirm that it has old timeslot value
|
||||
self.assertEqual(ss_one.pinned, False)
|
||||
|
||||
# pin this session to this location
|
||||
self.client.post('/dajaxice/ietf.meeting.update_timeslot_pinned/', {
|
||||
'argv': '{"schedule_id":"%u", "scheduledsession_id":"%u", "pinned":"%u"}' % (ss_one.schedule.id, ss_one.id, 1)
|
||||
})
|
||||
|
||||
# confirm that without login, it does not have new value
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
self.assertEqual(ss_one.pinned, False)
|
||||
|
||||
def test_authenticationUpdatePinned(self):
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
|
||||
# confirm that it has old timeslot value
|
||||
self.assertEqual(ss_one.pinned, False)
|
||||
|
||||
extra_headers = auth_wlo
|
||||
extra_headers['HTTP_ACCEPT']='text/json'
|
||||
|
||||
# pin this session to this location
|
||||
self.client.post('/dajaxice/ietf.meeting.update_timeslot_pinned/', {
|
||||
'argv': '{"schedule_id":"%u", "scheduledsession_id":"%u", "pinned":"%u"}' % (ss_one.schedule.id, ss_one.id, 1)
|
||||
}, **extra_headers)
|
||||
|
||||
# confirm that without login, it does not have new value
|
||||
ss_one = ScheduledSession.objects.get(pk=2371)
|
||||
self.assertEqual(ss_one.pinned, True)
|
||||
|
||||
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
from ietf.utils import TestCase
|
||||
#from ietf.person.models import Person
|
||||
from django.contrib.auth.models import User
|
||||
from ietf.ietfauth.utils import has_role
|
||||
|
||||
# from http://djangosnippets.org/snippets/850/
|
||||
|
||||
auth_wlo = {'REMOTE_USER':'wnl'}
|
||||
|
||||
auth_ietfchair = {'REMOTE_USER':'rhousley'}
|
||||
|
||||
# this is a generic user who has no special role
|
||||
auth_joeblow = {'REMOTE_USER':'joeblow'}
|
||||
|
||||
# this is user who is an AD
|
||||
auth_ferrel = {'REMOTE_USER':'stephen.farrell@cs.tcd.ie'}
|
||||
|
||||
|
||||
class AuthDataTestCase(TestCase):
|
||||
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
|
||||
perma_fixtures = [
|
||||
'meeting83.json',
|
||||
'constraint83.json',
|
||||
'workinggroups.json',
|
||||
'groupgroup.json',
|
||||
'person.json', 'users.json' ]
|
||||
|
||||
def test_wlo_is_secretariat(self):
|
||||
wnl = User.objects.filter(pk = 509)[0]
|
||||
self.assertIsNotNone(wnl)
|
||||
self.assertTrue(has_role(wnl, "Secretariat"))
|
||||
|
||||
def test_housley_is_ad(self):
|
||||
rh = User.objects.filter(pk = 432)[0]
|
||||
self.assertIsNotNone(rh)
|
||||
self.assertTrue(has_role(rh, "Area Director"))
|
||||
|
||||
def test_ferrel_is_ad(self):
|
||||
sf = User.objects.filter(pk = 491)[0]
|
||||
self.assertIsNotNone(sf)
|
||||
self.assertTrue(has_role(sf, "Area Director"))
|
||||
|
||||
def test_joeblow_is_mortal(self):
|
||||
jb = User.objects.filter(pk = 99870)[0]
|
||||
self.assertIsNotNone(jb)
|
||||
self.assertFalse(has_role(jb, "Area Director"))
|
||||
self.assertFalse(has_role(jb, "Secretariat"))
|
||||
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
import re
|
||||
|
||||
from django.conf import settings
|
||||
from ietf.utils import TestCase
|
||||
from ietf.meeting.models import TimeSlot, Session, ScheduledSession
|
||||
from auths import auth_joeblow, auth_wlo, auth_ietfchair, auth_ferrel
|
||||
|
||||
capture_output = False
|
||||
|
||||
class EditTestCase(TestCase):
|
||||
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
|
||||
perma_fixtures = [
|
||||
'meeting83.json',
|
||||
'constraint83.json',
|
||||
'workinggroups.json',
|
||||
'groupgroup.json',
|
||||
'person.json', 'users.json' ]
|
||||
|
||||
def test_getEditData(self):
|
||||
# confirm that we can get edit data from the edit interface
|
||||
resp = self.client.get('/meeting/83/schedule/edit',{},
|
||||
**auth_wlo)
|
||||
m = re.search(".*session_obj.*", resp.content)
|
||||
# to capture new output (and check it for correctness)
|
||||
if capture_output:
|
||||
out = open("%s/meeting/tests/edit_out.html" % settings.BASE_DIR, "w")
|
||||
out.write(resp.content)
|
||||
out.close()
|
||||
self.assertIsNotNone(m)
|
||||
|
||||
def test_schedule_lookup(self):
|
||||
from ietf.meeting.views import get_meeting
|
||||
|
||||
# determine that there isn't a schedule called "fred"
|
||||
mtg = get_meeting(83)
|
||||
sched83 = mtg.get_schedule_by_name("mtg:83")
|
||||
self.assertIsNotNone(sched83, "sched83 not found")
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
import re
|
||||
|
||||
from ietf.utils.test_utils import SimpleUrlTestCase, canonicalize_feed
|
||||
|
||||
class MeetingUrlTestCase(SimpleUrlTestCase):
|
||||
def testUrls(self):
|
||||
self.doTestUrls(__file__)
|
||||
def doCanonicalize(self, url, content):
|
||||
if url.startswith("/feed/"):
|
||||
return canonicalize_feed(content)
|
||||
if "agenda" in url:
|
||||
content = re.sub("<!-- v.*-->","", content)
|
||||
content = re.sub('<a href="/release/.*?</a>','', content)
|
||||
return content
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
302 /meeting/
|
||||
200 /meeting/agenda/
|
||||
200 /meeting/agenda-utc
|
||||
200 /meeting/agenda/?_testiphone=1
|
||||
200 /meeting/agenda.html
|
||||
200 /meeting/agenda.txt
|
||||
200 /meeting/75/agenda.html
|
||||
200 /meeting/75/agenda.html?_testiphone=1
|
||||
200 /meeting/75/agenda.txt
|
||||
200 /meeting/75/materials.html
|
||||
200 /meeting/75/materials.html?_testoverride=1
|
||||
200 /meeting/75/agenda/mip4
|
||||
404 /meeting/99/agenda.html
|
||||
404 /meeting/99/agenda.txt
|
||||
404 /meeting/99/materials.html
|
||||
200 /feed/wg-proceedings/
|
||||
200 /meeting/83/schedule/edit
|
||||
200 /meeting/83/timeslots/edit
|
||||
404 /meeting/83/timeslots/foobar
|
||||
404 /meeting/83/schedule/doesnotexist
|
||||
404 /meeting/83/schedule/doesnotexist/edit
|
||||
200 /meeting/83/agenda.ics?APP,-~Other,-~Plenary
|
||||
200 /meeting/83/agenda.html ietf/meeting/tests/agenda-83.html.good
|
||||
200 /meeting/83/agenda-utc.html ietf/meeting/tests/agenda-83-utc.html.good
|
||||
200 /meeting/83/agenda.txt ietf/meeting/tests/agenda-83.txt.good
|
||||
200 /meeting/83/agenda.ics ietf/meeting/tests/agenda-83.ics.good
|
||||
200 /meeting/83/agenda.csv ietf/meeting/tests/agenda-83.csv.good
|
||||
200,skipdiff /meeting/83/rooms
|
||||
200,skipdiff /meeting/83/room/206.json
|
||||
200,skipdiff /meeting/83/timeslots
|
||||
200,skipdiff /meeting/83/timeslot/2371.json
|
||||
302 /meeting/83/agendas
|
|
@ -1,48 +0,0 @@
|
|||
from django.test import TestCase
|
||||
from django.core.management import call_command
|
||||
from django.db import transaction, connections, DEFAULT_DB_ALIAS
|
||||
from django.test.testcases import connections_support_transactions, disable_transaction_methods
|
||||
|
||||
class AgendaTransactionalTestCase(TestCase):
|
||||
"""
|
||||
Does basically the same as TransactionTestCase, but surrounds every test
|
||||
with a transaction, which is started after the fixtures are loaded.
|
||||
"""
|
||||
|
||||
def _fixture_setup(self):
|
||||
if not connections_support_transactions():
|
||||
return super(TestCase, self)._fixture_setup()
|
||||
|
||||
# If the test case has a multi_db=True flag, setup all databases.
|
||||
# Otherwise, just use default.
|
||||
if getattr(self, 'multi_db', False):
|
||||
databases = connections
|
||||
else:
|
||||
databases = [DEFAULT_DB_ALIAS]
|
||||
|
||||
if not TestCase.fixtures_loaded:
|
||||
|
||||
print "Loading agenda fixtures for the first time"
|
||||
from django.contrib.sites.models import Site
|
||||
Site.objects.clear_cache()
|
||||
for db in databases:
|
||||
# should be a no-op, but another test case method might have left junk.
|
||||
call_command('flush', verbosity=0, interactive=False, database=db)
|
||||
|
||||
# BUG, if the set of fixtures changes between test cases,
|
||||
# then it might not get reloaded properly.
|
||||
if hasattr(self, 'fixtures'):
|
||||
print " fixtures: %s" % (self.fixtures)
|
||||
call_command('loaddata', *self.fixtures, **{
|
||||
'verbosity': 0,
|
||||
'commit': False,
|
||||
'database': db
|
||||
})
|
||||
TestCase.fixtures_loaded = True
|
||||
|
||||
# now start a transaction.
|
||||
for db in databases:
|
||||
transaction.enter_transaction_management(using=db)
|
||||
transaction.managed(True, using=db)
|
||||
disable_transaction_methods()
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
from ietf.utils import TestCase
|
||||
|
||||
from ietf.person.models import Person
|
||||
from ietf.meeting.models import Meeting, TimeSlot, Session, ScheduledSession
|
||||
from ietf.meeting.models import Constraint
|
||||
from ietf.group.models import Group
|
||||
|
||||
|
||||
class UrlGenTestCase(TestCase):
|
||||
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
|
||||
perma_fixtures = [
|
||||
'meeting83.json',
|
||||
'constraint83.json',
|
||||
'workinggroups.json',
|
||||
'groupgroup.json',
|
||||
'person.json', 'users.json' ]
|
||||
|
||||
def test_meetingGeneratesUrl(self):
|
||||
mtg83 = Meeting.objects.get(pk=83)
|
||||
self.assertEqual(mtg83.json_url(), "/meeting/83.json")
|
||||
|
||||
def test_constraintGeneratesUrl(self):
|
||||
const1 = Constraint.objects.get(pk=21037)
|
||||
self.assertEqual(const1.json_url(), "/meeting/83/constraint/21037.json")
|
||||
|
||||
def test_groupGeneratesUrl(self):
|
||||
group1 = Group.objects.get(pk=1730)
|
||||
self.assertEqual(group1.json_url(), "/group/roll.json")
|
||||
|
||||
def test_sessionGeneratesUrl(self):
|
||||
sess1 = Session.objects.get(pk=22087)
|
||||
self.assertEqual(sess1.json_url(), "/meeting/83/session/22087.json")
|
||||
|
|
@ -1,134 +0,0 @@
|
|||
import re
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from ietf.utils import TestCase
|
||||
from ietf.meeting.models import TimeSlot, Session, ScheduledSession
|
||||
from auths import auth_joeblow, auth_wlo, auth_ietfchair, auth_ferrel
|
||||
from ietf.meeting.helpers import get_meeting
|
||||
from ietf.meeting.views import edit_agenda
|
||||
|
||||
class ViewTestCase(TestCase):
|
||||
# See ietf.utils.test_utils.TestCase for the use of perma_fixtures vs. fixtures
|
||||
perma_fixtures = [
|
||||
'meeting83',
|
||||
'constraint83',
|
||||
'workinggroups',
|
||||
'groupgroup',
|
||||
'person', 'users' ]
|
||||
|
||||
def test_nameOfClueWg(self):
|
||||
clue_session = Session.objects.get(pk=2194)
|
||||
self.assertEqual(clue_session.short_name, "clue")
|
||||
|
||||
def test_nameOfIEPG(self):
|
||||
iepg_session = Session.objects.get(pk=2288)
|
||||
self.assertEqual(iepg_session.short_name, "IEPG Meeting")
|
||||
|
||||
def test_nameOfEdu1(self):
|
||||
edu1_session = Session.objects.get(pk=2274)
|
||||
self.assertEqual(edu1_session.short_name, "Tools for Creating Internet-Drafts Tutorial")
|
||||
|
||||
def test_js_identifier_clue(self):
|
||||
iepg_ss = ScheduledSession.objects.get(pk=2413)
|
||||
slot = iepg_ss.timeslot
|
||||
self.assertEqual(slot.js_identifier, "252b_2012-03-27_0900")
|
||||
|
||||
def test_agenda_save(self):
|
||||
#
|
||||
# determine that there isn't a schedule called "fred"
|
||||
mtg = get_meeting(83)
|
||||
fred = mtg.get_schedule_by_name("fred")
|
||||
self.assertIsNone(fred)
|
||||
#
|
||||
# move this session from one timeslot to another.
|
||||
self.client.post('/meeting/83/schedule/edit', {
|
||||
'savename': "fred",
|
||||
'saveas': "saveas",
|
||||
}, **auth_wlo)
|
||||
#
|
||||
# confirm that a new schedule has been created
|
||||
fred = mtg.get_schedule_by_name("fred")
|
||||
self.assertNotEqual(fred, None, "fred not found")
|
||||
|
||||
def test_agenda_edit_url(self):
|
||||
url = reverse(edit_agenda,
|
||||
args=['83', 'fred'])
|
||||
self.assertEqual(url, "/meeting/83/schedule/fred/edit")
|
||||
|
||||
def test_agenda_edit_visible_farrel(self):
|
||||
# farrel is an AD
|
||||
url = reverse(edit_agenda,
|
||||
args=['83', 'russ_83_visible'])
|
||||
resp = self.client.get(url, **auth_ferrel)
|
||||
# a visible agenda can be seen by any logged in AD/Secretariat
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
def test_agenda_edit_visible_joeblow(self):
|
||||
url = reverse(edit_agenda,
|
||||
args=['83', 'russ_83_visible'])
|
||||
resp = self.client.get(url, **auth_joeblow)
|
||||
# a visible agenda can not be seen unless logged in
|
||||
self.assertEqual(resp.status_code, 403)
|
||||
|
||||
def test_agenda_edit_visible_authwlo(self):
|
||||
url = reverse(edit_agenda,
|
||||
args=['83', 'russ_83_visible'])
|
||||
resp = self.client.get(url, **auth_wlo)
|
||||
# secretariat can always see things
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
def test_agenda_edit_public_farrel(self):
|
||||
# farrel is an AD
|
||||
url = reverse(edit_agenda,
|
||||
args=['83', 'mtg:83'])
|
||||
resp = self.client.get(url, **auth_ferrel)
|
||||
self.assertEqual(resp.status_code, 200) # a public agenda can be seen by any logged in AD/Secretariat
|
||||
|
||||
def test_agenda_edit_public_joeblow(self):
|
||||
url = reverse(edit_agenda,
|
||||
args=['83', 'mtg:83'])
|
||||
resp = self.client.get(url, **auth_joeblow)
|
||||
self.assertEqual(resp.status_code, 200) # a public agenda can be seen by unlogged in people (read-only) XXX
|
||||
#self.assertEqual(resp.status_code, 403) # a public agenda can not be seen by unlogged in people
|
||||
|
||||
def test_agenda_edit_public_authwlo(self):
|
||||
url = reverse(edit_agenda,
|
||||
args=['83', 'mtg:83'])
|
||||
resp = self.client.get(url, **auth_wlo)
|
||||
self.assertEqual(resp.status_code, 200) # a public agenda can be seen by the secretariat
|
||||
|
||||
def test_agenda_edit_private_russ(self):
|
||||
# farrel is an AD
|
||||
url = reverse(edit_agenda,
|
||||
args=['83', 'russ_83_inv'])
|
||||
resp = self.client.get(url, **auth_ferrel)
|
||||
# a private agenda can only be seen its owner
|
||||
self.assertEqual(resp.status_code, 403) # even a logged in AD can not see another
|
||||
|
||||
def test_agenda_edit_private_farrel(self):
|
||||
url = reverse(edit_agenda,
|
||||
args=['83', 'sf_83_invisible'])
|
||||
resp = self.client.get(url, **auth_ferrel)
|
||||
self.assertEqual(resp.status_code, 200) # a private agenda can only be seen its owner XXX
|
||||
|
||||
def test_agenda_edit_private_joeblow(self):
|
||||
url = reverse(edit_agenda,
|
||||
args=['83', 'sf_83_invisible'])
|
||||
resp = self.client.get(url, **auth_joeblow)
|
||||
self.assertEqual(resp.status_code, 403) # a private agenda can not be seen by the public
|
||||
|
||||
def test_agenda_edit_private_authwlo(self):
|
||||
url = reverse(edit_agenda,
|
||||
args=['83', 'sf_83_invisible'])
|
||||
self.assertEqual(url, "/meeting/83/schedule/sf_83_invisible/edit")
|
||||
resp = self.client.get(url, **auth_wlo)
|
||||
self.assertEqual(resp.status_code, 200) # secretariat can see any agenda, even a private one.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
375
ietf/meeting/tests_api.py
Normal file
375
ietf/meeting/tests_api.py
Normal file
|
@ -0,0 +1,375 @@
|
|||
import datetime, json
|
||||
from urlparse import urlsplit
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.urlresolvers import reverse as urlreverse
|
||||
|
||||
from ietf.utils import TestCase
|
||||
from ietf.person.models import Person
|
||||
from ietf.group.models import Group
|
||||
from ietf.meeting.models import Schedule, TimeSlot, Session, ScheduledSession, Meeting, Constraint
|
||||
from ietf.meeting.helpers import get_meeting
|
||||
from ietf.meeting.test_data import make_meeting_test_data
|
||||
|
||||
|
||||
class ApiTests(TestCase):
|
||||
def test_update_agenda_item(self):
|
||||
meeting = make_meeting_test_data()
|
||||
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
|
||||
mars_scheduled = ScheduledSession.objects.get(session=session)
|
||||
mars_slot = mars_scheduled.timeslot
|
||||
|
||||
ames_scheduled = ScheduledSession.objects.get(session__meeting=meeting, session__group__acronym="ames")
|
||||
ames_slot = ames_scheduled.timeslot
|
||||
|
||||
def do_post(to):
|
||||
# move this session from one timeslot to another
|
||||
return self.client.post('/dajaxice/ietf.meeting.update_timeslot/', {
|
||||
'argv': json.dumps({
|
||||
"schedule_id": mars_scheduled.schedule.pk,
|
||||
"session_id": session.pk,
|
||||
"scheduledsession_id": to.pk if to else None,
|
||||
})})
|
||||
|
||||
# faulty post - not logged in
|
||||
r = do_post(to=ames_scheduled)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("error" in json.loads(r.content))
|
||||
self.assertEqual(ScheduledSession.objects.get(pk=mars_scheduled.pk).session, session)
|
||||
|
||||
# faulty post - logged in as non-owner
|
||||
self.client.login(remote_user="ad")
|
||||
r = do_post(to=ames_scheduled)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("error" in json.loads(r.content))
|
||||
|
||||
# move to ames
|
||||
self.client.login(remote_user="plain")
|
||||
r = do_post(to=ames_scheduled)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("error" not in json.loads(r.content))
|
||||
|
||||
self.assertEqual(ScheduledSession.objects.get(pk=mars_scheduled.pk).session, None)
|
||||
self.assertEqual(ScheduledSession.objects.get(pk=ames_scheduled.pk).session, session)
|
||||
|
||||
# unschedule
|
||||
self.client.login(remote_user="plain")
|
||||
r = do_post(to=None)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("error" not in json.loads(r.content))
|
||||
|
||||
self.assertEqual(ScheduledSession.objects.get(pk=ames_scheduled.pk).session, None)
|
||||
|
||||
|
||||
def test_constraints_json(self):
|
||||
meeting = make_meeting_test_data()
|
||||
session = Session.objects.filter(meeting=meeting, group__acronym="mars").select_related("group").first()
|
||||
c_ames = Constraint.objects.create(meeting=meeting, source=session.group,
|
||||
target=Group.objects.get(acronym="ames"),
|
||||
name_id="conflict")
|
||||
|
||||
c_person = Constraint.objects.create(meeting=meeting, source=session.group,
|
||||
person=Person.objects.get(user__username="ad"),
|
||||
name_id="bethere")
|
||||
|
||||
r = self.client.get(urlreverse("ietf.meeting.ajax.session_constraints", kwargs=dict(num=meeting.number, sessionid=session.pk)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
constraints = json.loads(r.content)
|
||||
self.assertEqual(set([c_ames.pk, c_person.pk]), set(c["constraint_id"] for c in constraints))
|
||||
|
||||
def test_meeting_json(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
||||
r = self.client.get(urlreverse("ietf.meeting.ajax.meeting_json", kwargs=dict(num=meeting.number)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
info = json.loads(r.content)
|
||||
self.assertEqual(info["name"], meeting.number)
|
||||
|
||||
def test_get_room_json(self):
|
||||
meeting = make_meeting_test_data()
|
||||
room = meeting.room_set.first()
|
||||
|
||||
r = self.client.get(urlreverse("ietf.meeting.ajax.timeslot_roomurl", kwargs=dict(num=meeting.number, roomid=room.pk)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
info = json.loads(r.content)
|
||||
self.assertEqual(info["name"], room.name)
|
||||
|
||||
def test_create_new_room(self):
|
||||
meeting = make_meeting_test_data()
|
||||
timeslots_before = meeting.timeslot_set.count()
|
||||
url = urlreverse("ietf.meeting.ajax.timeslot_roomsurl", kwargs=dict(num=meeting.number))
|
||||
|
||||
post_data = { "name": "new room", "capacity": "50" }
|
||||
|
||||
# unauthorized post
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
self.assertTrue(not meeting.room_set.filter(name="new room"))
|
||||
|
||||
# create room
|
||||
self.client.login(remote_user="secretary")
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertTrue(meeting.room_set.filter(name="new room"))
|
||||
|
||||
timeslots_after = meeting.timeslot_set.count()
|
||||
self.assertEqual((timeslots_after - timeslots_before), (meeting.room_set.count() - 1) * timeslots_before)
|
||||
|
||||
def test_delete_room(self):
|
||||
meeting = make_meeting_test_data()
|
||||
room = meeting.room_set.first()
|
||||
timeslots_before = list(room.timeslot_set.values_list("pk", flat=True))
|
||||
|
||||
url = urlreverse("ietf.meeting.ajax.timeslot_roomurl", kwargs=dict(num=meeting.number, roomid=room.pk))
|
||||
|
||||
# unauthorized delete
|
||||
r = self.client.delete(url)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
self.assertTrue(meeting.room_set.filter(pk=room.pk))
|
||||
|
||||
# delete
|
||||
self.client.login(remote_user="secretary")
|
||||
r = self.client.delete(url)
|
||||
self.assertTrue(not meeting.room_set.filter(pk=room.pk))
|
||||
self.assertTrue(not TimeSlot.objects.filter(pk__in=timeslots_before))
|
||||
|
||||
def test_group_json(self):
|
||||
meeting = make_meeting_test_data()
|
||||
group = Group.objects.get(acronym="mars")
|
||||
|
||||
url = urlreverse("ietf.group.ajax.group_json", kwargs=dict(acronym=group.acronym))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
info = json.loads(r.content)
|
||||
self.assertEqual(info["name"], group.name)
|
||||
|
||||
def test_person_json(self):
|
||||
meeting = make_meeting_test_data()
|
||||
person = Person.objects.get(user__username="ad")
|
||||
|
||||
url = urlreverse("ietf.person.ajax.person_json", kwargs=dict(personid=person.pk))
|
||||
r = self.client.get(url)
|
||||
info = json.loads(r.content)
|
||||
self.assertEqual(info["name"], person.name)
|
||||
|
||||
def test_slot_json(self):
|
||||
meeting = make_meeting_test_data()
|
||||
slot = meeting.timeslot_set.all()[0]
|
||||
|
||||
url = urlreverse("ietf.meeting.ajax.timeslot_sloturl",
|
||||
kwargs=dict(num=meeting.number, slotid=slot.pk))
|
||||
r = self.client.get(url)
|
||||
info = json.loads(r.content)
|
||||
self.assertEqual(info["timeslot_id"], slot.pk)
|
||||
|
||||
def test_create_new_slot(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
||||
slot_time = datetime.date.today()
|
||||
|
||||
url = urlreverse("ietf.meeting.ajax.timeslot_slotsurl",
|
||||
kwargs=dict(num=meeting.number))
|
||||
post_data = {
|
||||
'type' : 'plenary',
|
||||
'time' : slot_time.strftime("%Y-%m-%d"),
|
||||
'duration': '08:00:00',
|
||||
}
|
||||
|
||||
# unauthorized post
|
||||
self.client.login(remote_user="ad")
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 403)
|
||||
|
||||
# create room
|
||||
self.client.login(remote_user="secretary")
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
self.assertTrue(meeting.timeslot_set.filter(time=slot_time))
|
||||
|
||||
def test_delete_slot(self):
|
||||
meeting = make_meeting_test_data()
|
||||
slot = meeting.timeslot_set.all()[0]
|
||||
|
||||
url = urlreverse("ietf.meeting.ajax.timeslot_sloturl",
|
||||
kwargs=dict(num=meeting.number, slotid=slot.pk))
|
||||
|
||||
# unauthorized delete
|
||||
self.client.login(remote_user="ad")
|
||||
r = self.client.delete(url)
|
||||
self.assertEqual(r.status_code, 403)
|
||||
|
||||
# delete
|
||||
self.client.login(remote_user="secretary")
|
||||
self.client.delete(url)
|
||||
self.assertTrue(not meeting.timeslot_set.filter(pk=slot.pk))
|
||||
|
||||
def test_schedule_json(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
||||
url = urlreverse("ietf.meeting.ajax.agenda_infourl",
|
||||
kwargs=dict(num=meeting.number, schedule_name=meeting.agenda.name))
|
||||
|
||||
r = self.client.get(url)
|
||||
info = json.loads(r.content)
|
||||
self.assertEqual(info["schedule_id"], meeting.agenda.pk)
|
||||
|
||||
def test_create_new_schedule(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
||||
url = urlreverse("ietf.meeting.ajax.agenda_infosurl",
|
||||
kwargs=dict(num=meeting.number))
|
||||
post_data = {
|
||||
'name': 'new-agenda',
|
||||
}
|
||||
|
||||
# unauthorized post
|
||||
self.client.login(remote_user="plain")
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 403)
|
||||
self.assertTrue(not meeting.schedule_set.filter(name='new-agenda'))
|
||||
|
||||
# create new agenda
|
||||
self.client.login(remote_user="secretary")
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
self.assertTrue(meeting.schedule_set.filter(name='new-agenda'))
|
||||
|
||||
def test_update_schedule(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
||||
self.assertTrue(meeting.agenda.visible)
|
||||
|
||||
url = urlreverse("ietf.meeting.ajax.agenda_infourl",
|
||||
kwargs=dict(num=meeting.number,
|
||||
schedule_name=meeting.agenda.name))
|
||||
|
||||
post_data = {
|
||||
'visible': 'false',
|
||||
'name': 'new-test-name',
|
||||
}
|
||||
|
||||
# unauthorized post
|
||||
self.client.login(remote_user="plain")
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 403)
|
||||
|
||||
# change agenda
|
||||
self.client.login(remote_user="ad")
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 302)
|
||||
changed_schedule = Schedule.objects.get(pk=meeting.agenda.pk)
|
||||
self.assertTrue(not changed_schedule.visible)
|
||||
self.assertEqual(changed_schedule.name, "new-test-name")
|
||||
|
||||
def test_delete_schedule(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
||||
url = urlreverse("ietf.meeting.ajax.agenda_infourl",
|
||||
kwargs=dict(num=meeting.number,
|
||||
schedule_name=meeting.agenda.name))
|
||||
# unauthorized delete
|
||||
self.client.login(remote_user="plain")
|
||||
r = self.client.delete(url)
|
||||
self.assertEqual(r.status_code, 403)
|
||||
|
||||
# delete
|
||||
self.client.login(remote_user="secretary")
|
||||
r = self.client.delete(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(not Schedule.objects.filter(pk=meeting.agenda.pk))
|
||||
|
||||
def test_set_meeting_agenda(self):
|
||||
meeting = make_meeting_test_data()
|
||||
schedule = meeting.agenda
|
||||
|
||||
url = urlreverse("ietf.meeting.ajax.meeting_json",
|
||||
kwargs=dict(num=meeting.number))
|
||||
post_data = {
|
||||
"agenda": "",
|
||||
}
|
||||
# unauthorized post
|
||||
self.client.login(remote_user="ad")
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 403)
|
||||
|
||||
# clear
|
||||
self.client.login(remote_user="secretary")
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(not Meeting.objects.get(pk=meeting.pk).agenda)
|
||||
|
||||
# set agenda - first fail with non-public
|
||||
post_data = {
|
||||
"agenda": schedule.name,
|
||||
}
|
||||
schedule.public = False
|
||||
schedule.save()
|
||||
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertTrue(r.status_code != 200)
|
||||
self.assertTrue(not Meeting.objects.get(pk=meeting.pk).agenda)
|
||||
|
||||
# then go through with public
|
||||
schedule.public = True
|
||||
schedule.save()
|
||||
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertEqual(Meeting.objects.get(pk=meeting.pk).agenda, schedule)
|
||||
|
||||
def test_read_only(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
||||
data = {
|
||||
'argv': json.dumps({
|
||||
"meeting_num": meeting.number,
|
||||
"schedule_id": meeting.agenda.pk,
|
||||
})}
|
||||
|
||||
# Secretariat
|
||||
self.client.login(remote_user="secretary")
|
||||
r = self.client.post('/dajaxice/ietf.meeting.readonly/', data)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
info = json.loads(r.content)
|
||||
self.assertEqual(info['secretariat'], True)
|
||||
self.assertEqual(urlsplit(info['owner_href'])[2], "/person/%s.json" % meeting.agenda.owner_id)
|
||||
self.assertEqual(info['read_only'], True)
|
||||
self.assertEqual(info['write_perm'], True)
|
||||
|
||||
# owner
|
||||
self.client.login(remote_user=meeting.agenda.owner.user.username)
|
||||
r = self.client.post('/dajaxice/ietf.meeting.readonly/', data)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
info = json.loads(r.content)
|
||||
self.assertEqual(info['secretariat'], False)
|
||||
self.assertEqual(info['read_only'], False)
|
||||
self.assertEqual(info['write_perm'], False)
|
||||
|
||||
def test_update_timeslot_pinned(self):
|
||||
meeting = make_meeting_test_data()
|
||||
scheduled = ScheduledSession.objects.filter(
|
||||
session__meeting=meeting, session__group__acronym="mars").first()
|
||||
|
||||
url = '/dajaxice/ietf.meeting.update_timeslot_pinned/'
|
||||
|
||||
post_data = {
|
||||
'argv': json.dumps({
|
||||
"schedule_id": meeting.agenda.pk,
|
||||
"scheduledsession_id": scheduled.pk,
|
||||
"pinned": True,
|
||||
})}
|
||||
|
||||
# unauthorized post
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("error" in json.loads(r.content))
|
||||
self.assertTrue(not ScheduledSession.objects.get(pk=scheduled.pk).pinned)
|
||||
|
||||
# set pinned
|
||||
meeting.agenda.owner = Person.objects.get(user__username="secretary")
|
||||
meeting.agenda.save()
|
||||
self.client.login(remote_user="secretary")
|
||||
r = self.client.post(url, post_data)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(ScheduledSession.objects.get(pk=scheduled.pk).pinned)
|
228
ietf/meeting/tests_views.py
Normal file
228
ietf/meeting/tests_views.py
Normal file
|
@ -0,0 +1,228 @@
|
|||
import os, shutil, datetime
|
||||
|
||||
from django.core.urlresolvers import reverse as urlreverse
|
||||
from django.conf import settings
|
||||
|
||||
from pyquery import PyQuery
|
||||
|
||||
from ietf.utils.mail import outbox
|
||||
from ietf.utils.test_utils import login_testing_unauthorized
|
||||
from ietf.utils import TestCase
|
||||
|
||||
from ietf.doc.models import Document
|
||||
from ietf.group.models import Group
|
||||
from ietf.meeting.models import Session, TimeSlot, ScheduledSession
|
||||
from ietf.meeting.test_data import make_meeting_test_data
|
||||
|
||||
class MeetingTests(TestCase):
|
||||
def setUp(self):
|
||||
self.materials_dir = os.path.abspath("tmp-meeting-materials-dir")
|
||||
if not os.path.exists(self.materials_dir):
|
||||
os.mkdir(self.materials_dir)
|
||||
settings.AGENDA_PATH = self.materials_dir
|
||||
|
||||
def tearDown(self):
|
||||
if os.path.exists(self.materials_dir):
|
||||
shutil.rmtree(self.materials_dir)
|
||||
|
||||
def write_materials_file(self, meeting, doc, content):
|
||||
path = os.path.join(self.materials_dir, "%s/%s/%s" % (meeting.number, doc.type_id, doc.external_url))
|
||||
|
||||
dirname = os.path.dirname(path)
|
||||
if not os.path.exists(dirname):
|
||||
os.makedirs(dirname)
|
||||
|
||||
with open(path, "w") as f:
|
||||
f.write(content)
|
||||
|
||||
def test_agenda(self):
|
||||
meeting = make_meeting_test_data()
|
||||
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
|
||||
slot = TimeSlot.objects.get(scheduledsession__session=session)
|
||||
|
||||
time_interval = "%s-%s" % (slot.time.strftime("%H%M"), (slot.time + slot.duration).strftime("%H%M"))
|
||||
|
||||
# plain
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
agenda_content = q("#agenda").html()
|
||||
self.assertTrue(session.group.acronym in agenda_content)
|
||||
self.assertTrue(session.group.name in agenda_content)
|
||||
self.assertTrue(session.group.parent.acronym.upper() in agenda_content)
|
||||
self.assertTrue(slot.location.name in agenda_content)
|
||||
self.assertTrue(time_interval in agenda_content)
|
||||
|
||||
# mobile
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number)),
|
||||
{ '_testiphone': "1" })
|
||||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
agenda_content = q("#agenda").html()
|
||||
self.assertTrue(session.group.acronym in agenda_content)
|
||||
self.assertTrue(session.group.name[:10] in agenda_content)
|
||||
self.assertTrue(slot.location.name in agenda_content)
|
||||
self.assertTrue(time_interval in agenda_content)
|
||||
|
||||
# text
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number, ext=".txt")))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
agenda_content = r.content
|
||||
self.assertTrue(session.group.acronym in agenda_content)
|
||||
self.assertTrue(session.group.name in agenda_content)
|
||||
self.assertTrue(session.group.parent.acronym.upper() in agenda_content)
|
||||
self.assertTrue(slot.location.name in agenda_content)
|
||||
self.assertTrue(time_interval in agenda_content)
|
||||
|
||||
# CSV
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.agenda", kwargs=dict(num=meeting.number, ext=".csv")))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
agenda_content = r.content
|
||||
self.assertTrue(session.group.acronym in agenda_content)
|
||||
self.assertTrue(session.group.name in agenda_content)
|
||||
self.assertTrue(session.group.parent.acronym.upper() in agenda_content)
|
||||
self.assertTrue(slot.location.name in agenda_content)
|
||||
|
||||
# iCal
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.ical_agenda", kwargs=dict(num=meeting.number))
|
||||
+ "?" + session.group.parent.acronym.upper())
|
||||
self.assertEqual(r.status_code, 200)
|
||||
agenda_content = r.content
|
||||
self.assertTrue(session.group.acronym in agenda_content)
|
||||
self.assertTrue(session.group.name in agenda_content)
|
||||
self.assertTrue(slot.location.name in agenda_content)
|
||||
|
||||
# week view
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.week_view", kwargs=dict(num=meeting.number)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
agenda_content = r.content
|
||||
self.assertTrue(session.group.acronym in agenda_content)
|
||||
self.assertTrue(slot.location.name in agenda_content)
|
||||
|
||||
def test_materials(self):
|
||||
meeting = make_meeting_test_data()
|
||||
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
|
||||
draft = Document.objects.filter(type="draft", group=session.group).first()
|
||||
|
||||
self.write_materials_file(meeting, session.materials.get(type="agenda"),
|
||||
"1. WG status (15 minutes)\n\n2. Status of %s\n\n" % draft.name)
|
||||
|
||||
self.write_materials_file(meeting, session.materials.get(type="minutes"),
|
||||
"1. More work items underway\n\n2. The draft will be finished before next meeting\n\n")
|
||||
|
||||
self.write_materials_file(meeting, session.materials.get(type="slides"),
|
||||
"This is a slideshow")
|
||||
|
||||
# session agenda
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.session_agenda",
|
||||
kwargs=dict(num=meeting.number, session=session.group.acronym)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("1. WG status" in r.content)
|
||||
|
||||
# early materials page
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.current_materials"))
|
||||
self.assertEqual(r.status_code, 302)
|
||||
self.assertTrue(meeting.number in r["Location"])
|
||||
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.materials", kwargs=dict(meeting_num=meeting.number)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
row = q(".ietf-materials b:contains(\"%s\")" % session.group.acronym.upper()).closest("tr")
|
||||
self.assertTrue(row.find("a:contains(\"Agenda\")"))
|
||||
self.assertTrue(row.find("a:contains(\"Minutes\")"))
|
||||
self.assertTrue(row.find("a:contains(\"Slideshow\")"))
|
||||
|
||||
# FIXME: missing tests of .pdf/.tar generation (some code can
|
||||
# probably be lifted from similar tests in iesg/tests.py)
|
||||
|
||||
def test_feed(self):
|
||||
meeting = make_meeting_test_data()
|
||||
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
|
||||
|
||||
r = self.client.get("/feed/wg-proceedings/")
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("agenda" in r.content)
|
||||
self.assertTrue(session.group.acronym in r.content)
|
||||
|
||||
class EditTests(TestCase):
|
||||
def setUp(self):
|
||||
# make sure we have the colors of the area
|
||||
from ietf.group.colors import fg_group_colors, bg_group_colors
|
||||
area_upper = "FARFUT"
|
||||
fg_group_colors[area_upper] = "#333"
|
||||
bg_group_colors[area_upper] = "#aaa"
|
||||
|
||||
def test_edit_agenda(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
||||
self.client.login(remote_user="secretary")
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.edit_agenda", kwargs=dict(num=meeting.number)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue("session_obj" in r.content)
|
||||
|
||||
def test_save_agenda_as_and_read_permissions(self):
|
||||
meeting = make_meeting_test_data()
|
||||
url = urlreverse("ietf.meeting.views.edit_agenda", kwargs=dict(num=meeting.number))
|
||||
|
||||
# save as
|
||||
self.client.login(remote_user="ad")
|
||||
r = self.client.post(url, {
|
||||
'savename': "foo",
|
||||
'saveas': "saveas",
|
||||
})
|
||||
self.assertEqual(r.status_code, 302)
|
||||
|
||||
# get
|
||||
url = urlreverse("ietf.meeting.views.edit_agenda", kwargs=dict(num=meeting.number, schedule_name="foo"))
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
schedule = meeting.get_schedule_by_name("foo")
|
||||
schedule.visible = True
|
||||
schedule.public = False
|
||||
schedule.save()
|
||||
|
||||
# get as anonymous doesn't work
|
||||
self.client.logout()
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 403)
|
||||
|
||||
# public, now anonymous works
|
||||
schedule.public = True
|
||||
schedule.save()
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
# Secretariat can always see it
|
||||
schedule.visible = False
|
||||
schedule.public = False
|
||||
schedule.save()
|
||||
self.client.login(remote_user="secretary")
|
||||
r = self.client.get(url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
def test_edit_timeslots(self):
|
||||
meeting = make_meeting_test_data()
|
||||
|
||||
self.client.login(remote_user="secretary")
|
||||
r = self.client.get(urlreverse("ietf.meeting.views.edit_timeslots", kwargs=dict(num=meeting.number)))
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertTrue(meeting.room_set.all().first().name in r.content)
|
||||
|
||||
def test_slot_to_the_right(self):
|
||||
meeting = make_meeting_test_data()
|
||||
session = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
|
||||
mars_scheduled = session.scheduledsession_set.get()
|
||||
mars_slot = TimeSlot.objects.get(scheduledsession__session=session)
|
||||
mars_ends = mars_slot.time + mars_slot.duration
|
||||
|
||||
session = Session.objects.filter(meeting=meeting, group__acronym="ames").first()
|
||||
ames_slot_qs = TimeSlot.objects.filter(scheduledsession__session=session)
|
||||
|
||||
ames_slot_qs.update(time=mars_ends + datetime.timedelta(seconds=11 * 60))
|
||||
self.assertTrue(not mars_slot.slot_to_the_right)
|
||||
self.assertTrue(not mars_scheduled.slot_to_the_right)
|
||||
|
||||
ames_slot_qs.update(time=mars_ends + datetime.timedelta(seconds=10 * 60))
|
||||
self.assertTrue(mars_slot.slot_to_the_right)
|
||||
self.assertTrue(mars_scheduled.slot_to_the_right)
|
Loading…
Reference in a new issue