Skip to content

Commit 847e20e

Browse files
committed
updated README and CHANGELOG. Add LICENSE
1 parent 0b01fe2 commit 847e20e

File tree

3 files changed

+315
-27
lines changed

3 files changed

+315
-27
lines changed

CHANGELOG.md

Lines changed: 116 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,119 @@
11
# Changelog
22

3-
## 0.1.0 (2024-04-23)
3+
All notable changes to this project will be documented in this file.
44

5-
* First release on PyPI.
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [5.0.2] - 2025-01-XX
9+
10+
### Added
11+
- **Geographic Path Visualization**: Complete interactive map system with Leaflet
12+
- Multiple tile layer support (OpenStreetMap, satellite, topographic, CartoDB variants)
13+
- Individual segment map views with path geometry display
14+
- Comprehensive segments map view with filtering support
15+
- Overlapping segment detection and selection interface
16+
- Status-based color coding for visual segment identification
17+
18+
- **Path Data Management**: Full support for geographic path data
19+
- KML, KMZ, and GeoJSON file format support
20+
- Enhanced KMZ processing with multi-layer extraction
21+
- Automatic 3D to 2D coordinate conversion
22+
- Path geometry validation and error reporting
23+
- Automatic path length calculation using projected coordinates
24+
- Path data export as GeoJSON files
25+
26+
- **Advanced Map Features**:
27+
- Interactive controls (pan, zoom, fit-to-bounds)
28+
- Fallback visualization with straight lines when path data unavailable
29+
- Site markers for segment endpoints
30+
- Detailed segment information panels
31+
- Path data availability indicators
32+
- Responsive map controls and layer switching
33+
34+
- **Enhanced Data Model**:
35+
- `path_geometry` field for storing MultiLineString geometries
36+
- `path_length_km` field with automatic calculation
37+
- `path_source_format` field tracking data origin
38+
- `path_notes` field for additional metadata
39+
- Geographic helper methods for coordinate handling
40+
41+
- **UI/UX Improvements**:
42+
- Template extensions for Circuits, Providers, Sites, Locations, and Tenants
43+
- Custom table columns showing path data availability
44+
- Date status indicators with visual progress bars
45+
- Enhanced filtering including geographic data availability
46+
- Improved navigation with map view integration
47+
48+
- **API Enhancements**:
49+
- Separate serializers for list and detail views (performance optimization)
50+
- Geographic data endpoints for map visualization
51+
- GeoJSON export capabilities
52+
- Path bounds and coordinate data in API responses
53+
- Enhanced filtering on geographic fields
54+
55+
- **GraphQL Support**:
56+
- Complete GraphQL schema with geographic field support
57+
- Custom scalar types for path bounds and coordinates
58+
- Lazy-loaded relationship fields for performance
59+
- Geographic data queries and filtering
60+
61+
### Changed
62+
- **Breaking**: Upgraded to Django 5.2.3 with GeoDjango support
63+
- **Breaking**: Added PostGIS dependency for geographic features
64+
- **Breaking**: Modified database schema to include geographic fields
65+
- Improved segment form with path data upload capability
66+
- Enhanced segment detail view with geographic information
67+
- Updated table layouts with new path-related columns
68+
- Refactored status choices to use configurable ChoiceSet system
69+
- Improved error handling for geographic data processing
70+
71+
### Fixed
72+
- Resolved migration conflicts during table renaming process
73+
- Fixed segment validation to properly handle location-site relationships
74+
- Improved date validation with better error messaging
75+
- Enhanced KMZ file processing for complex archive structures
76+
- Fixed coordinate system handling for accurate length calculations
77+
78+
### Technical Details
79+
- Added `geopandas`, `fiona`, and `shapely` as core dependencies
80+
- Implemented comprehensive GIS utility functions
81+
- Added extensive JavaScript map handling with modular design
82+
- Created reusable template components for map functionality
83+
- Enhanced error handling and logging for geographic operations
84+
- Implemented proper geometric validation and sanitization
85+
86+
### Migration Notes
87+
- **Database Migration Required**: New geographic fields require PostGIS
88+
- **Dependency Installation**: Geographic libraries (GDAL, GEOS, PROJ) required
89+
- **Configuration Updates**: May need GeoDjango configuration updates
90+
- **Data Migration**: Existing installations will have empty path geometry fields
91+
92+
## [0.1.0] - 2024-04-23
93+
94+
### Added
95+
- Initial release on PyPI
96+
- Basic segment and service path management
97+
- Provider and circuit relationship tracking
98+
- Simple filtering and table views
99+
- REST API endpoints
100+
- NetBox 3.7 compatibility
101+
102+
### Features
103+
- Segment model with provider, site, and date tracking
104+
- Service path model with status and kind classification
105+
- Mapping models for segment-circuit and service path-segment relationships
106+
- Basic NetBox integration with standard views and forms
107+
- Template extensions for related model pages
108+
109+
---
110+
111+
## Development Guidelines
112+
113+
When updating this changelog:
114+
1. Add new entries at the top under "Unreleased" section
115+
2. Move completed features to version sections when releasing
116+
3. Follow [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) format
117+
4. Include breaking changes with **Breaking** prefix
118+
5. Group changes by type: Added, Changed, Deprecated, Removed, Fixed, Security
119+
6. Include migration notes for database or configuration changes

LICENSE

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,21 @@
1+
MIT License
12

3+
Copyright (c) 2024 CESNET, z. s. p. o.
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)