You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+61Lines changed: 61 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,47 @@
1
1
# Changelog
2
2
3
+
All notable changes to OPTIMAP are documented in this file.
4
+
5
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
3
8
## [Unreleased]
4
9
5
10
### Added
6
11
12
+
-**Geoextent API** - REST API exposing the [geoextent library](https://github.com/nuest/geoextent) for extracting geospatial and temporal extents from various file formats and remote repositories. Features include:
- Documentation section with supported formats and providers
28
+
- Added to main menu and sitemaps
29
+
-**Feeds sitemap** - Dynamic `/sitemap-feeds.xml` listing all regional feeds (continents and oceans) for search engine discovery
30
+
-**Wikidata export** - Export publication metadata to Wikibase/Wikidata instances:
31
+
- Export works with spatial metadata to Wikidata
32
+
- Support for complex geometries (points, lines, polygons, multigeometry)
33
+
- Export extreme points (northernmost, southernmost, easternmost, westernmost) and geometric center
34
+
- Configurable via `WIKIBASE_*` environment variables
35
+
-**Geocoding/gazetteer search** - Map search functionality allowing users to search for locations by name:
36
+
- Nominatim geocoder integration (default)
37
+
- Optional GeoNames support (requires username configuration)
38
+
- Search results displayed on map with zoom to location
39
+
- Accessible via search box in map interface
40
+
-**Works list with pagination** - Browse all works page at `/works/list/` with:
41
+
- Configurable pagination (default 50 items per page)
42
+
- User-selectable page size with min/max limits
43
+
- Cached publication statistics (total works, published works, metadata completeness)
44
+
- Direct links to work landing pages
7
45
-**Regional subscription system** - Users can subscribe to receive notifications for new publications from specific continents and oceans. Features include:
8
46
- Checkbox-based UI with 8 continents and 7 oceans
9
47
- "All Regions" checkbox to select/deselect all at once
@@ -26,6 +64,29 @@
26
64
27
65
### Changed
28
66
67
+
-**Contribution page pagination** - Added full pagination support to the contribution page (`/contribute/`) with:
68
+
- Configurable page size (default 50, min 10, max 200 works per page)
69
+
- User-selectable page size dropdown with automatic form submission
70
+
- Full pagination controls at top and bottom (First, Previous, page numbers, Next, Last)
71
+
- Shows current range (e.g., "Showing 1 to 50 of 150 works")
72
+
- Fixed variable name bugs (`publication` → `work` throughout template)
73
+
- Reuses the same pagination layout as works listing page for consistency
74
+
-**Model terminology alignment** - Renamed base entity from "publications" to "works" throughout the codebase to align with [OpenAlex terminology](https://docs.openalex.org/api-entities/works):
75
+
- Django app renamed from `publications/` to `works/`
76
+
-`Publication` model renamed to `Work`
77
+
- API endpoint changed from `/api/v1/publications/` to `/api/v1/works/`
78
+
- Sitemap updated from `/sitemap-publications.xml` to `/sitemap-works.xml`
79
+
- URL patterns updated from `/publication/<id>/` to `/work/<id>/`
80
+
- All import statements, templates, and configuration files updated
81
+
- Fresh migrations created from scratch
82
+
- All test fixtures updated
83
+
-**Work type taxonomy** - Added comprehensive `type` field to works using Crossref/OpenAlex controlled vocabulary:
- Type set from source's `default_work_type` during harvesting
86
+
- Overridden by OpenAlex API type when available
87
+
- Indexed and filterable in admin interface
88
+
-**Removed external CDN dependencies** - All JavaScript and CSS libraries now served locally for improved privacy, security, and offline functionality
89
+
-**Improved map accessibility** - Enhanced keyboard navigation and screen reader support for map interactions
29
90
-**Regional subscription email notifications** - Notification emails now group publications by region with dedicated sections for each subscribed continent or ocean. Each region section includes:
-**Views** ([views.py](publications/views.py)) - Handles passwordless login, subscriptions, data downloads
28
-
-**Tasks** ([tasks.py](publications/tasks.py)) - Django-Q async tasks for harvesting and data export
29
-
-**API** ([api.py](publications/api.py), [viewsets.py](publications/viewsets.py), [serializers.py](publications/serializers.py)) - DRF REST API at `/api/v1/`
0 commit comments