Reimplementing IETF Website
Wagtail templates
A Request for Proposals issued on 2020-06-29
IETF Executive Director
www.ietf.org
1
Reimplementing IETF Website Wagtail templates (2020-06-29)
Overview
The IETF Administration LLC (IETF LLC) is soliciting bids to provide software
development services to re-implement the page templates used by the content
management system (CMS) for www.ietf.org and to address issues identified
since its initial deployment. The site uses the Wagtail CMS, and currently
employs an undocumented HTML/CSS combination to specify the display layout
for the webpages it serves.
This work must retain the existing layouts, but re-implement them using a
well-known framework such as Bootstrap. Any framework which has wide
deployment, an active development community, and robust documentation and
support will be considered. This reimplementation would include addressing
identified issues in the existing page templates.
Timeline
29 June 2020 Request for Proposals (RFP) Issued
13 July 2020 Questions and Inquiries deadline
20 July 2020 Answers to questions issued and RPF updated if
required
27 July 2020 Bids due
10 August 2020 Preferred bidder selected and negotiations begin
24 August 2020 Contract execution and work begins
RFP Process
The process for the RFP is as follows:
1. The RFP is publicly issued, posted to our website and announced to the
1
RFP Announcement mailing list , which anyone can subscribe to.
2
2. Potential bidders have until 13 July 2020 to submit any questions by email
to [email protected]. Questions will be treated as anonymous but not
private, as explained below. If you do not receive confirmation that your
1
https://www.ietf.org/about/administration/rfps/
2
https://www.ietf.org/mailman/listinfo/rfp-announce
1
Reimplementing IETF Website Wagtail templates (2020-06-29)
questions have been received within 24 hours then please check your junk
folder for an address confirmation check.
3. A written response to all questions is provided on or before 20 July 2020,
direct to those parties that sent questions, by email to the RFP
Announcement Mailing List and posted on our website . The response will
3
include the questions asked and the answers, but will not identify the
company asking the question. If required, the RFP may be updated to
correct or clarify any issues identified.
4. Bids are due by 27 July 2020 by email to [email protected]. If you do not
receive confirmation that your bid has been received within 24 hours then
please check your junk folder for an address confirmation check. The bid
should include the following information:
a. Executive summary
b. Project approach including any assumptions.
c. Project plan and schedule including when the work will begin and
end, and any other milestones, as well as any dependencies that
may delay delivery.
d. Fee and payment schedule. Fixed priced bids are preferred but if
that is not possible then a maximum fee must be specified.
e. Warranty including a proposal for fee reduction/refund due to late-
or non-delivery
5. The IETF Administration LLC and designated contractors and volunteers
will select a preferred bid and notify the bidder by 10 August 2020. The
selection process may include questions by email and/or conference call.
6. The IETF Administration LLC then enters into contract negotiation with the
preferred bidder, based on its standard contract and using the relevant
sections of the Statement of Work below. If contract negotiation fails then
a different preferred bidder may be chosen.
7. Contract negotiation is anticipated to complete by 24 August 2020 and
result in the award of the contract. All RFP contract awards are posted on
our website and announced to the RFP Announcement mailing list. The
terms of the contract are later posted publicly on our website, with the fee
information and signatures (where possible) redacted. In addition any
3
https://www.ietf.org/about/administration/rfps/
2
Reimplementing IETF Website Wagtail templates (2020-06-29)
Conflict of Interest declarations required of the preferred bidder are also
posted publicly on our website. This transparency is non-negotiable.
8. Work generally begins immediately after award of the contract, unless
specified otherwise in the Statement of Work or negotiated contract.
Jay Daley
IETF Executive Director
IETF Administration LLC
3
Reimplementing IETF Website Wagtail templates (2020-06-29)
Statement of Work: Improving
www.ietf.org webpage templates
Overview
This site www.ietf.org website uses the Wagtail CMS , and currently uses an
4
undocumented HTML/CSS combination to specify the display layout for the
webpages it serves.
This work is to reimplement the existing layouts using a well-known framework
such as Bootstrap . This reimplementation would include addressing identified
5
issues in the existing page templates.
The IETF LLC currently maintains a Github repository that houses the code for
6
the www.ietf.org website and tracks issues related to it.
Deliverables
The following page templates must be re-implemented using the framework:
I. Home page
II. Index page
III. Standard page
IV. IESG Statements Index Page
V. Blog, News Index Page
VI. Blog, News, Statement Page
VII. Event listing page
VIII. Event page
IX. Form page
X. Topic page list
XI. Topic page
A detailed list of the files that make up these templates and a pointer to the
repository is in the Additional Details section below.
4
https://wagtail.io/
5
https://getbootstrap.com
6
https://github.com/ietf-tools/wagtail_website
4
Reimplementing IETF Website Wagtail templates (2020-06-29)
Requirements
Wagtail CMS support
The page templates must be implementable in and serveable from the Wagtail
CMS system used by the IETF, without any further reworking of content or of the
CMS itself.
Look and Feel
The reimplemented page templates should retain the look and function of the
current webpages to the closest extent possible, while still taking advantage of
optimizations made possible by the new framework. When these optimizations
would result in significant differences in look and function between the existing
pages and the reimplementations, guidance will be given by the IETF LLC on
how to proceed.
Issues
Reimplementation of page templates should also address the following specific
issues identified in the Github issue tracker :
7
1. Address issues identified in current CSS and page templates (Issues #1 #15
#24 #25 #41 #43)
2. Develop Print CSS for key pages (Issue #16)
Analytics
All page templates must be updated, as needed, to implement Matomo analytics
features such as tag managers.
Website Standards
The resulting web pages must meet the requirements in the IETF Website SOW
8
(2014-06-04) with particular attention to the following sections:
7. Standards and Security
7
https://github.com/ietf-tools/wagtail_website/issues
8
https://iaoc.ietf.org/documents/IETF-Website-SOW-20140604-Final.pdf
5
Reimplementing IETF Website Wagtail templates (2020-06-29)
a. HTML 5 and Open Standards
The website front end must be built with HTML5 and other open web
standards. The resulting website will be accessible via both HTTP and
HTTPS, and will encourage the use of HTTPS. Functions requiring a user
login will only be available over HTTPS.
<...>
c. Plug-ins and Javascript
The redesigned website will not use browser plug-ins. All information
should be accessible to visitors with or without javascript. If javascript is
used, it should be self-contained (i.e. loaded from the IETF website) and
implemented so that the website is responsive.
8. Functional Requirements
<...>
d. Accessibility
i. The site will be coded in compliance with the Web Content
Accessibility Guidelines (WCAG) 2.0:
ii. Text equivalent will be available for all non-text content. This will
involve providing alternative description in the alt attribute for
image tags or in-element content.
<...>
e. Responsive Design
The IETF website will adapt itself to provide the best user experience based
on the device being used. Responsive design can make content truly
accessible, not only in terms of assistive devices, but also serving content
to the widest cross section of devices and connection speeds. Responsive
design consists of three elements:
i. Different layouts for different devices (Adaptive layout) - the site
display is based on what device is requesting the site
ii. Fluid grid - the site uses percentages to define layout, so that the
content scales. This is another way to ensure that the content
presentation does not interfere with accessibility.
6
Reimplementing IETF Website Wagtail templates (2020-06-29)
iii. Flexible media/images - images and other media display based on
adaptive layout. For accessibility purposes, we can easily display alt
text, links to transcripts, and lower resolution for slower connections.
Additional Details
Current HTML and CSS for the templates can be found in the GitHub repository .
9
The files in the repository are listed below for reference:
Template files
ietf/snippets/templates/snippets/call_to_action.html
ietf/snippets/templates/snippets/browse.html
ietf/snippets/templates/snippets/group.html
ietf/snippets/templates/snippets/_snippet_link_types.html
ietf/snippets/templates/snippets/disclaimer.html
ietf/snippets/templates/snippets/includes/_results.html
ietf/snippets/templates/snippets/mailing_list_signup.html
ietf/snippets/templates/snippets/area_charter.html
ietf/home/templates/home/home_page.html
ietf/home/templates/includes/event-w-image.html
ietf/forms/templates/forms/form_page_landing.html
ietf/forms/templates/forms/form_page.html
ietf/iesg_statement/templates/iesg_statement/iesg_statement_page.html
ietf/iesg_statement/templates/iesg_statement/iesg_statement_index_page.html
ietf/bibliography/templates/bibliography/item_internetdraft.html
ietf/bibliography/templates/bibliography/item_glossaryitem.html
ietf/bibliography/templates/bibliography/referenced_objects.html
ietf/bibliography/templates/bibliography/bibliography.html
ietf/bibliography/templates/bibliography/item_rfc.html
ietf/bibliography/templates/bibliography/referencing_pages.html
ietf/bibliography/templates/bibliography/referenced_types.html
9
https://github.com/ietf-tools/wagtail_website/tree/master/ietf
7
Reimplementing IETF Website Wagtail templates (2020-06-29)
ietf/bibliography/templates/bibliography/item_charter.html
ietf/blog/templates/blog/blog_index_page.html
ietf/blog/templates/blog/blog_page.html
ietf/standard/templates/standard/standard_page.html
ietf/standard/templates/standard/standard_index_page.html
ietf/search/templates/search/search.html
ietf/glossary/templates/glossary/glossary_page.html
ietf/templates/base.html
ietf/templates/includes/related_links.html
ietf/templates/includes/highlight.html
ietf/templates/includes/imageblock.html
ietf/templates/includes/social_fields.html
ietf/templates/includes/row_siblings_in_section.html
ietf/templates/includes/social-sharebar.html
ietf/templates/includes/optional-introduction.html
ietf/templates/includes/children_in_this_section.html
ietf/templates/includes/breadcrumbs.html
ietf/templates/includes/streamfield.html
ietf/templates/includes/footer.html
ietf/templates/includes/header.html
ietf/templates/500.html
ietf/templates/404.html
ietf/documents/templates/wagtaildocs/documents/list.html
ietf/datatracker/templates/snippets/working_group.html
ietf/datatracker/templates/snippets/working_group_charter.html
ietf/datatracker/templates/snippets/_browse_results.html
ietf/datatracker/templates/snippets/internet_draft.html
ietf/datatracker/templates/snippets/rfc.html
ietf/datatracker/templates/datatracker/status.html
ietf/datatracker/templates/datatracker/person.html
8
Reimplementing IETF Website Wagtail templates (2020-06-29)
ietf/events/templates/events/includes/link_block.html
ietf/events/templates/events/event_listing_page.html
ietf/events/templates/events/event_page.html
ietf/topics/templates/topics/secondary_topic_page.html
ietf/topics/templates/topics/topic_index_page.html
ietf/topics/templates/topics/primary_topic_page.html
Styling files
ietf/static/css/variables.scss
ietf/static/css/fonts.scss
ietf/static/css/grid.scss
ietf/static/css/table.scss
ietf/static/css/jsenabled.scss
ietf/static/css/mixins.scss
ietf/static/css/main.scss
ietf/static/css/vendor/_ionicons-icons.scss
ietf/static/css/vendor/_ionicons-font.scss
ietf/static/css/vendor/_ionicons-variables.scss
ietf/static/css/vendor/normalize.scss
ietf/static/css/vendor/ionicons.scss
9