Updated Support, Security, and Versioning with modern design.
authorJonathan S. Katz <jonathan.katz@excoventures.com>
Mon, 16 Apr 2018 03:59:49 +0000 (23:59 -0400)
committerJonathan S. Katz <jonathan.katz@excoventures.com>
Tue, 17 Apr 2018 17:43:12 +0000 (13:43 -0400)
Authors: Sarah Conway <sarah.conway@crunchydata.com> andme.

templates/pages/support.html
templates/profserv/list.html
templates/profserv/root.html
templates/security/security.html
templates/support/versioning.html

index 0d5701d5512c87974e38fbca5357cdbe350f3a02..4d05130cc655d3913e68eeab64c37d1c8aca1e39 100644 (file)
@@ -2,16 +2,20 @@
 {%block title%}Support{%endblock%}
 {%block contents%}
 
-<h1>Support</h1>
+<h1>Support <i class="fa fa-question-circle"></i></h1>
 
-<p>PostgreSQL has a wide variety of community and commercial support options available for users.
-The <a href="/community/">Community</a> section of this website details the support options available to users from the PostgreSQL
-community, including <a href="/community/lists/">mailing lists</a> and <a href="/community/irc/">IRC</a>.
-And don't forget to read the <a href="/docs/faq/">FAQs</a> and <a href="/docs/">documentation</a>.
+<p>PostgreSQL has a wide variety of community and commercial support options available for users, including:
+  <ul>
+    <li><a href="/docs/">Documentation</a></li>
+    <li>The <a href="/community/">Community</a> section, which details the support options available to users from the PostgreSQL community</li>
+    <li><a href="https://lists.postgresql.org/" target="_blank">Mailing Lists</a></li>
+    <li><a href="/community/irc/">IRC</a></li>
+    <li><a href="https://postgres-slack.herokuapp.com" target="_blank">Slack</a></li>
+  </ul>
 </p>
 
-<p>Commercial support is also available from one of the many companies providing <a href="/support/professional_support">professional services</a>
-to the PostgreSQL community. A listing of companies that provide <a href="/support/professional_hosting">hosting</a> with PostgreSQL access is
+<p><a href="/support/professional_support/">Commercial support</a> is also available from one of the many companies providing <a href="/support/professional_support/">professional services</a>
+to the PostgreSQL community. A list of companies that provide <a href="/support/professional_hosting/">PostgreSQL-specific hosting</a> is
 also available.</p>
 
 <h2>Bug Reporting</h2>
index 64e0ab6f0bf8c4f041a5b8631055864a11a79235..21f6d6c5d99af90880ebd784416e43881f0a3a8f 100644 (file)
@@ -1,80 +1,76 @@
 {%extends "base/page.html"%}
 {%block title%}{{title}}{%endblock%}
 {%block contents%}
-<h1>{{title}}</h1>
+<h1>{{title}} <i class="fa fa-question-circle"></i></h1>
 <p>The following {{whatname}} are registered in {{regionname}}.</p>\r
 
-{%for s in services%}
-  <div class="tblBasic">\r
-  <table border="0" cellpadding="0" cellspacing="0" class="tblBasicGrey">\r
-   <tr>\r
-    <td class="colFirst">Name</td>\r
-    <td class="colMid"><strong>{{s.org.name}}</strong>{%if s.url%} (<a href="{{s.url}}">{{s.url}}</a>){%endif%}</td>\r
-    <th class="colLast" />\r
-   </tr>
-   {%if s.provides_hosting and s.provides_support %}\r
-   <tr>\r
-    <td class="colFisrtT">Provides</td>\r
-    <td class="colMidT">Provides both support and hosting.</td>\r
-    <td class="colLastT" />\r
-   </tr>
-   {%endif%}\r
-   <tr>\r
-    <td class="colFirstT">Description</td>\r
-    <td class="colMidT">{{s.description}}</td>\r
-    <td class="colLastT" />\r
-   </tr>\r
-   {%if s.employees %}\r
-   <tr>\r
-    <td class="colFirstT">Number of employees</td>\r
-    <td class="colMidT">{{s.employees}}</td>\r
-    <td class="colLastT" />\r
-   </tr>
-   {%endif%}\r
-   {%if s.locations%}\r
-   <tr>\r
-    <td class="colFirstT">Office locations</td>\r
-    <td class="colMidT">{{s.locations}}</td>\r
-    <td class="colLastT" />\r
-   </tr>
-   {%endif%}\r
-   {%if s.hours %}
-   <tr>\r
-    <td class="colFirstT">Hours</td>\r
-    <td class="colMidT">{{s.hours}}</td>\r
-    <td class="colLastT" />\r
-   </tr>
-   {%endif%}\r
-   {%if s.languages%}
-   <tr>\r
-    <td class="colFirstT">Languages</td>\r
-    <td class="colMidT">{{s.languages}}</td>\r
-    <td class="colLastT" />\r
-   </tr>
-   {%endif%}\r
-   {%if s.customerexample%}
-   <tr>\r
-    <td class="colFirstT">Customer example</td>\r
-    <td class="colMidT">{{s.customerexample}}</td>\r
-    <td class="colLastT" />\r
-   </tr>\r
-   {%endif%}
-   {%if s.experience %}
-   <tr>\r
-    <td class="colFirstT">Experience</td>\r
-    <td class="colMidT">{{s.experience}}</td>\r
-    <td class="colLastT" />\r
-   </tr>
-   {%endif%}\r
-   {%if s.contact%}
-   <tr class="lastrow">\r
-    <td class="colFirstT">Contact information</td>\r
-    <td class="colMidT">{{s.contact}}</td>\r
-    <td class="colLastT" />\r
-   </tr>
-   {%endif%}\r
-  </table>\r
-  </div>
+{% for s in services %}
+  <h2 class="news">
+    <a href="{{s.url}}" target="_blank">{{ s.org.name }}</a>
+  </h2>
+  <table class="table table-striped">
+    <tbody>
+      {% if s.url %}
+         <tr>
+          <th scope="row">Website</th>
+          <td><a href="{{s.url}}" target="_blank">{{s.url}}</a></td>
+         </tr>
+      {% endif %}
+      <tr>
+        <th scope="row" style="width: 20%">Description</th>
+        <td>{{s.description}}</td>
+      </tr>
+      {% if s.provides_hosting and s.provides_support %}
+        <tr>
+          <th scope="row">Provides</th>
+          <td>Provides both support and hosting.</td>
+        </tr>
+      {% endif %}
+      {%if s.employees %}
+        <tr>
+          <th scope="row">Employees</th>
+          <td>{{s.employees}}</td>
+        </tr>
+      {% endif %}
+      {%if s.locations%}
+        <tr>
+          <th scope="row">Office locations</th>
+          <td>{{s.locations}}</td>
+        </tr>
+      {% endif %}
+      {% if s.hours %}
+        <tr>
+          <th scope="row">Hours</th>
+          <td>{{s.hours}}</td>
+        </tr>
+      {% endif %}
+      {% if s.languages %}
+        <tr>
+          <th scope="row">Languages</th>
+          <td>{{s.languages}}</td>
+        </tr>
+      {% endif %}
+      {% if s.customerexample %}
+        <tr>
+          <th scope="row">Customer example</th>
+          <td>{{s.customerexample}}</td>
+        </tr>
+      {% endif %}
+      {% if s.experience %}
+        <tr>
+          <th scope="row">Experience</th>
+          <td>{{s.experience}}</td>
+        </tr>
+      {% endif %}
+      {%if s.contact%}
+        <tr>
+          <th scope="row">Contact information</th>
+          <td>{{s.contact}}</td>
+        </tr>
+      {% endif %}
+    </tbody>
+  </table>
+  <hr />
 {%endfor%}
 
 {%endblock%}
index 086b9a605f043f5385f35bdbcb07f94ce7fe47b9..5f8809d14ccf32a49c940f2890e6511c4e7188b8 100644 (file)
@@ -1,7 +1,7 @@
 {%extends "base/page.html"%}
 {%block title%}{{title}}{%endblock%}
 {%block contents%}
-<h1>{{title}}</h1>
+<h1>{{title}}  <i class="fa fa-question-circle"></i></h1>
 
 {%if support%}
 <p>Commercial support is available from many different companies providing professional services
index 5838725d3c821681d3a82d5c44c0882339adf255..1466fc3b4615eea8416cd1570b0767bf78fe624c 100644 (file)
@@ -2,7 +2,7 @@
 {%block title%}Security Information{%endblock%}
 {%block contents%}
 
-<h1>Security Information</h1>
+<h1>Security Information <i class="fas fa-lock"></i></h1>
 
 <p>
 If you wish to report a new security vulnerability in PostgreSQL, please
@@ -61,33 +61,33 @@ You can filter the view of patches to show just patches for version:<br/>
 - <a href="/support/security/">all</a>
 </p>
 
-<div class="tblBasic">
<table border="0" cellpadding="0" cellspacing="0" class="tblBasicGrey">
-  <tr>
-   <th class="colFirst">Reference</th>
-   <th class="colMid">Affected<br/>versions</th>
-   <th class="colMid">Fixed in</th>
-   <th class="colMid" align="center"><a href="#comp">Component</a> and<br/>CVSS v3 Base Score</th>
-   <th class="colLast">Description</th>
-  </tr>
-{%for p in patches%}
-  <tr valign="top">
-    <td class="colFirst">
-{%if p.cve%}<nobr>{%if p.cve_visible%}<a href="{{p.cvelink}}">CVE-{{p.cve}}</a>{%else%}CVE-{{p.cve}}{%endif%}</nobr><br/>{%endif%}
-{%if p.newspost%}<a href="/about/news/{{p.newspost.id}}/">Announcement</a><br/>{%endif%}
-    </td>
-    <td class="colMid">{{p.affected|join:", "}}</td>
-    <td class="colMid">{{p.fixed|join:", "}}</td>
-    <td class="colMid" align="center">
-{{p.component}}<br/>
-{%if p.cvssscore >= 0%}<a href="https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector={{p.cvssvector}}">{{p.cvssscore}}</a><br/><span class="cvssvector">{{p.cvssvector}}</span>
-{%else%}Legacy: {{p.legacyscore}}{%endif%}</td>
-    <td class="colLast">{{p.description}}{%if p.detailslink%}<br/><br/><a href="{{p.detailslink}}">more details</a>{%endif%}</td>
-  </tr>
-{%endfor%}
-
</table>
-</div>
+<table class="table table-striped">
 <thead class="thead-light">
+    <tr>
+      <th>Reference</th>
+      <th>Affected</th>
+      <th>Fixed</th>
+      <th><a href="#comp">Component</a> & CVSS v3 Base Score</th>
+      <th>Description</th>
+    </tr>
+  </thead>
+  <tbody>
+    {%for p in patches%}
+      <tr>
+        <td>
+          {%if p.cve%}<nobr>{%if p.cve_visible%}<a href="{{p.cvelink}}">CVE-{{p.cve}}</a>{%else%}CVE-{{p.cve}}{%endif%}</nobr><br/>{%endif%}
+          {%if p.newspost%}<a href="/about/news/{{p.newspost.id}}/">Announcement</a><br/>{%endif%}
+        </td>
+        <td>{{p.affected|join:", "}}</td>
+        <td>{{p.fixed|join:", "}}</td>
+        <td>{{p.component}}<br/>
+          {%if p.cvssscore >= 0%}<a href="https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector={{p.cvssvector}}">{{p.cvssscore}}</a><br/><span class="cvssvector">{{p.cvssvector}}</span>
+    {%else%}Legacy: {{p.legacyscore}}{%endif%}</td>
+        <td>{{p.description}}{%if p.detailslink%}<br/><br/><a href="{{p.detailslink}}">more details</a>{%endif%}</td>
+      </tr>
+    {% endfor %}
 </tbody>
+</table>
 
 <h3>Unsupported versions</h3>
 <p>
@@ -105,42 +105,40 @@ You can filter the view of patches to show just patches for version:<br/>
 The following component references are used in the above table:
 </p>
 
-<div class="tblBasic">
- <table border="0" cellpadding="0" cellspacing="0" class="tblBasicGrey">
-  <tr>
-   <th class="colFirst">Component</th>
-
-   <th class="colLast">Description</th>
-  </tr>
-
-  <tr valign="top">
-   <td class="colFirst">core server</td>
-   <td class="colLast">This vulnerability exists in the core server product.</td>
-  </tr>
-
-  <tr valign="top">
-   <td class="colFirst">client</td>
-   <td class="colLast">This vulnerability exists in a client library or client application only.</td>
-  </tr>
-
-  <tr valign="top">
-   <td class="colFirst">contrib module</td>
-   <td class="colLast">This vulnerability exists in a contrib module. Contrib modules are not installed by default when PostgreSQL is installed from source. They may be installed by binary packages.</td>
-
-  </tr>
-
-  <tr valign="top">
-   <td class="colFirst">client contrib module</td>
-   <td class="colLast">This vulnerability exists in a contrib module used on the client only.</td>
-  </tr>
-
-  <tr valign="top" class="lastrow">
-   <td class="colFirst">packaging</td>
-   <td class="colLast">This vulnerability exists in PostgreSQL binary packaging, e.g. an installer or RPM.</td>
-  </tr>
-
- </table>
-</div>
+<table class="table table-striped">
+  <thead class="thead-light">
+    <tr>
+      <th>Component</th>
+      <th>Description</th>
+    </tr>
+  </thead>
+  <tbody>
+      <tr>
+       <td>core server</td>
+       <td>This vulnerability exists in the core server product.</td>
+      </tr>
+
+      <tr>
+       <td>client</td>
+       <td>This vulnerability exists in a client library or client application only.</td>
+      </tr>
+
+      <tr>
+       <td>contrib module</td>
+       <td>This vulnerability exists in a contrib module. Contrib modules are not installed by default when PostgreSQL is installed from source. They may be installed by binary packages.</td>
+      </tr>
+
+      <tr>
+       <td>client contrib module</td>
+       <td>This vulnerability exists in a contrib module used on the client only.</td>
+      </tr>
+
+      <tr>
+       <td>packaging</td>
+       <td>This vulnerability exists in PostgreSQL binary packaging, e.g. an installer or RPM.</td>
+      </tr>
+  </tbody>
+</table>
 
 
 {%endblock%}
index 82f995f8471b3fdf6c44dd9b411b2a0d4e725a2b..34c90f67fe8fc129ddb3f771f76963f0ec3fa449 100644 (file)
@@ -2,7 +2,7 @@
 {%block title%}Versioning policy{%endblock%}
 {%block contents%}
 
-<h1>Versioning policy</h1>
+<h1>Versioning policy <i class="fas fa-code-branch"></i></h1>
 
 <p>
 <em>We always recommend that all users run the latest available minor release for whatever major version is in use.</em>
@@ -53,25 +53,27 @@ version may be required.
 </p>
 
 <h2>End Of Life (EOL) dates</h2>
-<div class="tblBasic">
- <table border="0" cellpadding="0" cellspacing="0" class="tblBasicGrey">
-  <tr>
-   <th class="colFirst">Version</th>
-   <th class="colMid">Current minor</th>
-   <th class="colMid">Supported</th>
-   <th class="colMid">First release date</th>
-   <th class="colLast">EOL date</th>
-  </tr>
 
-{%for v in versions%}
-  <tr {%if forloop.last%}class="lastrow"{%endif%}>
-   <td class="colFirst">{{v.numtree}}</td>
-   <td class="colMid">{{v.numtree}}.{{v.latestminor}}</td>
-   <td class="colMid">{{v.supported|yesno:"Yes,No"}}</td>
-   <td class="colMid">{{v.firstreldate|date:"F Y"}}</td>
-   <td class="colLast">{{v.eoldate|date:"F Y"}}</td>
-  </tr>
-{%endfor%}
- </table>
-</div>
+<table class="table table-striped">
+  <thead class="thead-light">
+    <tr>
+      <th>Version</th>
+      <th>Current minor</th>
+      <th>Supported</th>
+      <th>First release date</th>
+      <th>EOL date</th>
+    </tr>
+  </thead>
+  <tbody>
+    {%for v in versions%}
+      <tr>
+       <td>{{v.numtree}}</td>
+       <td>{{v.numtree}}.{{v.latestminor}}</td>
+       <td>{{v.supported|yesno:"Yes,No"}}</td>
+       <td>{{v.firstreldate|date:"F Y"}}</td>
+       <td>{{v.eoldate|date:"F Y"}}</td>
+      </tr>
+    {%endfor%}
+  </tbody>
+</table>
 {%endblock%}