Skip to content

Commit 515dbed

Browse files
jennifer-richardsNGPixelrjsparksjimfenton
authored
feat: bring bs5 branch up to date with changes on main (ietf-tools#3644)
* chore: bring docker dev init script up to date with bs5 branch (ietf-tools#3611) * ci: only run codeql on schedule * feat: shorten long agenda filter button labels (ietf-tools#3602) Sessions with long names lead to poor rendering of the agenda filter buttons on the 'customize the agenda view' page. This truncates those labels at 3 words. * docs: Remove stale and incomplete information from the README (ietf-tools#3612) * docs: Suggest cloning a fork rather than ietf-tools repo (ietf-tools#3614) * docs: update README * chore: add issue templates * chore: update issue templates config * chore: remove duplicate security issue link * docs: point feature requests to discussions * chore: add bug report form * chore: remove bug report issue template * chore: fix bug report form * fix: point the api index page into Github instead of trac/svn * chore: remove os + version + log fields from bug report form * fix: point to GitHub for bug reports (ietf-tools#3625) * fix: point to GitHub for bug reports * fix: point report bug link to template chooser * fix: point report bug link to template chooser (2) Co-authored-by: Nicolas Giard <github@ngpixel.com> * fix: remove stale explanation of status reports (ietf-tools#3628) * fix: adjust about page to reflect move to GitHub. Normalize information level on page. (ietf-tools#3629) * fix: remove anchor tag with empty href (ietf-tools#3630) * fix: use same github issue URL on 500 error page as elsewhere (ietf-tools#3631) * chore: update report-a-bug.yml form * ci: fix __init__.py version quotes * chore: bring docker-compose to root level (ietf-tools#3642) (ietf-tools#3643) Authored-by: Nicolas Giard <github@ngpixel.com> Co-authored-by: Nicolas Giard <github@ngpixel.com> Co-authored-by: Robert Sparks <rjsparks@nostrum.com> Co-authored-by: Jim Fenton <fenton@bluepopcorn.net>
1 parent 90b2895 commit 515dbed

11 files changed

Lines changed: 109 additions & 228 deletions

File tree

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Help / Questions
4+
url: https://github.com/ietf-tools/datatracker/discussions/categories/help-questions
5+
about: Need help? Have a question on setting up the project or its usage?
6+
- name: New Feature / Enhancement Request
7+
url: https://github.com/ietf-tools/datatracker/discussions/categories/ideas
8+
about: Submit ideas for new features or improvements.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Report a Bug
2+
description: Something isn't right? File a bug report
3+
labels: ["bug"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to fill out this bug report!
9+
- type: textarea
10+
id: what-happened
11+
attributes:
12+
label: What happened?
13+
description: Also tell us, what did you expect to happen?
14+
placeholder: Tell us what you see!
15+
validations:
16+
required: true
17+
- type: dropdown
18+
id: browsers
19+
attributes:
20+
label: What browser(s) are you seeing the problem on?
21+
multiple: true
22+
options:
23+
- Chrome / Edge
24+
- Firefox
25+
- Safari
26+
- Not Applicable
27+
- type: checkboxes
28+
id: terms
29+
attributes:
30+
label: Code of Conduct
31+
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/ietf-tools/.github/blob/main/CODE_OF_CONDUCT.md)
32+
options:
33+
- label: I agree to follow the IETF's Code of Conduct
34+
required: true

.github/workflows/codeql-analysis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ name: CodeQL Analysis
33
on:
44
# push:
55
# branches: [ main ]
6-
pull_request:
7-
branches: [ main ]
6+
# pull_request:
7+
# branches: [ main ]
88
schedule:
99
- cron: '23 1 * * 1'
1010

README.md

Lines changed: 9 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,8 @@
1818
- [Changelog](https://github.com/ietf-tools/datatracker/blob/main/CHANGELOG.md)
1919
- [Contributing](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md)
2020
- [Getting Started](#getting-started)
21-
- [Prerequisites](#prerequisites)
2221
- [Git Cloning Tips](#git-cloning-tips)
23-
- [Code Tree Overview](#code-tree-overview)
24-
- [Adding a New Web Page](#adding-a-new-web-page)
25-
- [Testing your work](#testing-your-work)
26-
- [Docker Dev Environment](docker/README.md)
27-
- [Continuous Integration](#continuous-integration)
22+
- [Docker Dev Environment](docker/README.md)
2823
- [Database & Assets](#database--assets)
2924
- [Old Datatracker Branches](https://github.com/ietf-tools/old-datatracker-branches/branches/all)
3025
- [Bootstrap 5 Upgrade](#bootstrap-5-upgrade)
@@ -39,123 +34,38 @@ This project is following the standard **Git Feature Workflow** development mode
3934
4035
You can submit bug reports, enhancement and new feature requests in the [discussions](https://github.com/ietf-tools/datatracker/discussions) area. Accepted tickets will be converted to issues.
4136

42-
#### Prerequisites
43-
44-
- Python 3.6
45-
- Django 2.x
46-
- Node.js 16.x
47-
- MariaDB 10
48-
49-
> See the [Docker Dev Environment](docker/README.md) section for a preconfigured docker environment.
50-
5137
#### Git Cloning Tips
5238

53-
Because of the extensive history of this project, cloning the datatracker project locally can take a long time / disk space. You can speed up the cloning process by limiting the history depth, for example:
39+
As outlined in the [Contributing](https://github.com/ietf-tools/.github/blob/main/CONTRIBUTING.md) guide, you will first want to create a fork of the datatracker project in your personal GitHub account before cloning it.
40+
41+
Because of the extensive history of this project, cloning the datatracker project locally can take a long time / disk space. You can speed up the cloning process by limiting the history depth, for example *(replace `USERNAME` with your GitHub username)*:
5442

5543
- To fetch only up to the 10 latest commits:
5644
```sh
57-
git clone --depth=10 https://github.com/ietf-tools/datatracker.git
45+
git clone --depth=10 https://github.com/USERNAME/datatracker.git
5846
```
5947
- To fetch only up to a specific date:
6048
```sh
61-
git clone --shallow-since=DATE https://github.com/ietf-tools/datatracker.git
49+
git clone --shallow-since=DATE https://github.com/USERNAME/datatracker.git
6250
```
6351

64-
#### Code Tree Overview
52+
#### Overview of the datatracker models
6553

66-
The `ietf/templates/` directory contains Django templates used to generate web pages for the datatracker, mailing list, wgcharter and other things.
54+
A beginning of a [walkthrough of the datatracker models](https://notes.ietf.org/iab-aid-datatracker-database-overview) was prepared for the IAB AID workshop.
6755

68-
Most of the other `ietf` sub-directories, such as `meeting`, contain the python/Django model and view information that go with the related templates. In these directories, the key files are:
69-
70-
| File | Description |
71-
|--|--|
72-
| urls.py | binds a URL to a view, possibly selecting some data from the model. |
73-
| models.py | has the data models for the tool area. |
74-
| views.py | has the views for this tool area, and is where views are bound to the template. |
75-
76-
#### Adding a New Web Page
77-
78-
To add a new page to the tools, first explore the `models.py` to see if the model you need already exists. Within `models.py` are classes such as:
79-
80-
```python
81-
class IETFWG(models.Model):
82-
ACTIVE = 1
83-
group_acronym = models.ForeignKey(Acronym, primary_key=True, unique=True, editable=False)
84-
group_type = models.ForeignKey(WGType)
85-
proposed_date = models.DateField(null=True, blank=True)
86-
start_date = models.DateField(null=True, blank=True)
87-
dormant_date = models.DateField(null=True, blank=True)
88-
...
89-
```
90-
91-
In this example, the `IETFWG` class can be used to reference various fields of the database including `group_type`. Of note here is that `group_acronym` is the `Acronym` model so fields in that model can be accessed (e.g., `group_acronym.name`).
92-
93-
Next, add a template for the new page in the proper sub-directory of the `ietf/templates` directory. For a simple page that iterates over one type of object, the key part of the template will look something like this:
94-
95-
```html
96-
{% for wg in object_list %}
97-
<tr>
98-
<td><a href="{{ wg.email_archive }}">{{ wg }}</a></td>
99-
<td>{{ wg.group_acronym.name }}</td>
100-
</tr>
101-
{% endfor %}
102-
```
103-
In this case, we're expecting `object_list` to be passed to the template from the view and expecting it to contain objects with the `IETFWG` model.
104-
105-
Then add a view for the template to `views.py`. A simple view might look like:
106-
107-
```python
108-
def list_wgwebmail(request):
109-
wgs = IETFWG.objects.all();
110-
return render_to_response('mailinglists/wgwebmail_list.html', {'object_list': wgs})
111-
```
112-
The selects the IETFWG objects from the database and renders the template with them in object_list. The model you're using has to be explicitly imported at the top of views.py in the imports statement.
113-
114-
Finally, add a URL to display the view to `urls.py`. For this example, the reference to `list_wgwebmail` view is called:
115-
116-
```python
117-
urlpatterns += patterns('',
118-
...
119-
(r'^wg/$', views.list_wgwebmail),
120-
)
121-
```
122-
123-
#### Testing your work
124-
125-
Assuming you have the database settings configured already, you can run the server locally with:
126-
127-
```sh
128-
$ ietf/manage.py runserver localhost:<port>
129-
```
130-
where `<port>` is arbitrary. Then connect your web browser to `localhost:<port>` and provide the URL to see your work.
131-
132-
When you believe you are ready to commit your work, you should run the test suite to make sure that no tests break. You do this by running
133-
134-
```sh
135-
$ ietf/manage.py test --settings=settings_sqlitetest
136-
```
137-
138-
### Docker Dev Environment
56+
#### Docker Dev Environment
13957

14058
In order to simplify and reduce the time required for setup, a preconfigured docker environment is available.
14159

14260
Read the [Docker Dev Environment](docker/README.md) guide to get started.
14361

144-
### Continuous Integration
145-
146-
*TODO*
147-
14862
### Database & Assets
14963

15064
Nightly database dumps of the datatracker are available at
15165
https://www.ietf.org/lib/dt/sprint/ietf_utf8.sql.gz
15266

15367
> Note that this link is provided as reference only. To update the database in your dev environment to the latest version, you should instead run the `docker/cleandb` script!
15468

155-
Additional data files used by the datatracker (e.g. instance drafts, charters, rfcs, agendas, minutes, etc.) are available at
156-
https://www.ietf.org/standards/ids/internet-draft-mirror-sites/
157-
158-
> A script is available at `docker/scripts/app-rsync-extras.sh` to automatically fetch these resources via rsync.
15969

16070
---
16171

ietf/release/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
urlpatterns = [
1111
url(r'^$', views.release),
1212
url(r'^(?P<version>[0-9.]+.*)/$', views.release),
13-
url(r'^about/?$', TemplateView.as_view(template_name='release/about.html')),
13+
url(r'^about/?$', TemplateView.as_view(template_name='release/about.html'), name='releaseabout'),
1414
url(r'^stats/?$', views.stats),
1515
]
1616

ietf/templates/500.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{# Copyright The IETF Trust 2007, All Rights Reserved #}
1+
{# Copyright The IETF Trust 2007-2022, All Rights Reserved #}
22
{% extends "base.html" %}
33
{% load static %}
44
{% block title %}500 Internal Server Error{% endblock %}
@@ -18,9 +18,9 @@ <h2>Internal Server Error</h2>
1818
</p>
1919
<p class="mb-0">
2020
A failure report with details about what happened has been sent to the
21-
server administrators. It would be helpful if you would file a bug
22-
report with additional information at the
23-
<a href="https://trac.ietf.org/trac/ietfdb/newticket">IETF database issue tracker</a>, too.
21+
server administrators. It would be helpful if you would create an issue
22+
providing additional information at
23+
<a href="https://github.com/ietf-tools/datatracker/issues/new/choose">GitHub</a>, too.
2424
</p>
2525
</div>
2626
{% endblock %}

ietf/templates/api/index.html

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,10 @@ <h2 id="framework">Framework API</h2>
1919
to generate an API which mirrors the Django ORM (Object Relational Mapping)
2020
for the database. Each Django model class maps down to the SQL database
2121
tables and up to the API. The Django models classes are defined in the
22-
<code>models.py</code> files of the datatracker:
22+
models.py files of the datatracker. Browse the <a href="https://github.com/ietf-tools/datatracker">code tree</a>
23+
for the models file in each app (such as <a href="https://github.com/ietf-tools/datatracker/blob/main/ietf/doc/models.py">ietf/doc/models.py</a>,
24+
<a href="https://github.com/ietf-tools/datatracker/blob/main/ietf/group/models.py">ietf/group/models.py</a>, &hellip;).
2325
</p>
24-
<ul>
25-
<li>
26-
<a href="http://svn.ietf.org/svn/tools/ietfdb/trunk/ietf/doc/models.py">
27-
https://svn.ietf.org/svn/tools/ietfdb/trunk/ietf/doc/models.py
28-
</a>
29-
</li>
30-
<li>
31-
<a href="http://svn.ietf.org/svn/tools/ietfdb/trunk/ietf/group/models.py">
32-
https://svn.ietf.org/svn/tools/ietfdb/trunk/ietf/group/models.py
33-
</a>
34-
</li>
35-
<li>
36-
<a href="http://svn.ietf.org/svn/tools/ietfdb/trunk/ietf/iesg/models.py">
37-
http://svn.ietf.org/svn/tools/ietfdb/trunk/ietf/iesg/models.py
38-
</a>
39-
</li>
40-
<li>&hellip;</li>
41-
</ul>
4226
<p>
4327
The API top endpoint is at
4428
<a href="https://datatracker.ietf.org/api/v1/">https://datatracker.ietf.org/api/v1/</a>.
@@ -53,8 +37,8 @@ <h2 id="framework">Framework API</h2>
5337
<a href="https://datatracker.ietf.org/api/v1/group/group/">https://datatracker.ietf.org/api/v1/group/group/</a>
5438
</li>
5539
<li>
56-
<a href="https://trac.ietf.org/trac/ietfdb/browser/trunk/ietf/group/models.py">
57-
https://trac.ietf.org/trac/ietfdb/browser/trunk/ietf/group/models.py
40+
<a href="https://github.com/ietf-tools/datatracker/blob/main/ietf/group/models.py">
41+
ietf/group/models.py
5842
</a>
5943
</li>
6044
</ul>

ietf/templates/base.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{# Copyright The IETF Trust 2015-2021, All Rights Reserved #}
1+
{# Copyright The IETF Trust 2015-2022, All Rights Reserved #}
22
<!doctype html>
33
{% load ietf_filters static %}
44
{% load origin %}
@@ -78,14 +78,14 @@
7878
<a href="https://www.ietf.org/privacy-statement/" class="p-3">Privacy&nbsp;Statement</a>
7979
<div class="small text-muted p-3">
8080
{% if version_num %}
81-
<a href="/release/about">About</a>
82-
IETF Datatracker
83-
<a href="/release/{{ version_num }}/">Version {{ version_num }}</a>
84-
{{ revision_date }}
81+
<a href="/release/about">About</a>
82+
<a href="https://github.com/ietf-tools/datatracker/">IETF Datatracker<a>
83+
<a href="/release/{{ version_num }}/">Version {{ version_num }}</a>
84+
{{ revision_date }}
8585
{% endif %}
8686
Report a bug:
87-
<a href="https://trac.ietf.org/trac/ietfdb/newticket">
88-
Tracker
87+
<a href="https://github.com/ietf-tools/datatracker/issues/new/choose">
88+
GitHub
8989
<i class="bi bi-bug"></i>
9090
</a>
9191
{% if bugreport_email %}
@@ -152,4 +152,4 @@
152152
});
153153
</script>
154154
</body>
155-
</html>
155+
</html>

ietf/templates/base/menu.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{# Copyright The IETF Trust 2015-2019, All Rights Reserved #}
1+
{# Copyright The IETF Trust 2015-2022, All Rights Reserved #}
22
{% load origin %}
33
{% origin %}
44
{% load ietf_filters managed_groups wg_menu active_groups_menu group_filters cache %}
@@ -408,7 +408,7 @@
408408
{% endif %}
409409
<li>
410410
<a class="dropdown-item {% if flavor != 'top' %}text-wrap link-primary{% endif %}"
411-
href="https://trac.ietf.org/trac/ietfdb/newticket">
411+
href="https://github.com/ietf-tools/datatracker/issues/new/choose">
412412
<i class="bi bi-bug">
413413
</i>
414414
Report a bug

ietf/templates/meeting/agenda_filter.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ <h2 class="accordion-header" id="heading">
6565
data-filter-item="{{ group.keyword }}">
6666
<small>
6767
{% if group.is_bof %}
68-
<i>{{ group.label }}</i>
68+
<i>{{ group.label|truncatewords:"3" }}</i>
6969
{% else %}
70-
{{ group.label }}
70+
{{ group.label|truncatewords:"3" }}
7171
{% endif %}
7272
</small>
7373
</button>

0 commit comments

Comments
 (0)