Skip to content

Commit

Permalink
doc: add tocs.
Browse files Browse the repository at this point in the history
  • Loading branch information
sfermigier committed Dec 9, 2024
1 parent fcd97ac commit 93ed66a
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 47 deletions.
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ lint-pyright:
.PHONY: format
format:
ruff format src tests *.py

markdown-toc -i README.md
markdown-toc -i docs/roadmap.md

#
# Everything else
Expand Down
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@

Build status: [![builds.sr.ht status](https://builds.sr.ht/~sfermigier/abilian-sbe/commits/main/ubuntu-lts.yml.svg)](https://builds.sr.ht/~sfermigier/abilian-sbe/commits/main/ubuntu-lts.yml?)

<!-- toc -->

- [Introduction to Abilian SBE](#introduction-to-abilian-sbe)
- [Key Features](#key-features)
- [Installation and Deployment](#installation-and-deployment)
* [Local (development)](#local-development)
* [Production](#production)
* [Configuration example](#configuration-example)
* [On Heroku](#on-heroku)
- [Development](#development)
- [License compliance](#license-compliance)

<!-- tocstop -->

## Introduction to Abilian SBE

Expand Down
112 changes: 66 additions & 46 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# Roadmap for Abilian SBE

<!-- toc -->

- [Upcoming Releases](#upcoming-releases)
* [Version 1.2 (Q4 2024)](#version-12-q4-2024)
+ [Focus Areas:](#focus-areas)
* [Version 1.3 (Q1 2025)](#version-13-q1-2025)
+ [Focus Areas:](#focus-areas-1)
+ [Tasks](#tasks)
- [See also:](#see-also)
- [Completed Releases](#completed-releases)
* [Version 1.1 (Q1 2024)](#version-11-q1-2024)
+ [Tasks](#tasks-1)
+ [Achievements:](#achievements)
* [Version 1.1.x (Q2 2024)](#version-11x-q2-2024)
+ [Achievements:](#achievements-1)
* [Version 1.1.x (Q3 2024)](#version-11x-q3-2024)
+ [Achievements:](#achievements-2)

<!-- tocstop -->

## Upcoming Releases

### Version 1.2 (Q4 2024)
Expand All @@ -8,38 +28,38 @@

1. **Documentation Enhancements**:

- [ ] Improve and expand documentation for both developers and end-users.
- [ ] Review and update existing Architecture Decision Records (ADRs) to reflect the latest system architecture and practices.
- [ ] Improve and expand documentation for both developers and end-users.
- [ ] Review and update existing Architecture Decision Records (ADRs) to reflect the latest system architecture and practices.

1. **UI Modernization**:

- [ ] Transition to modern UI frameworks: [Flask-Vite](https://github.com/abilian/flask-vite), [Tailwind CSS](https://tailwindcss.com/), [Alpine.js](https://alpinejs.dev/), and [htmx](https://htmx.org/).
- [ ] Streamline the front-end development process (see: ADR 006).
- [ ] Transition to modern UI frameworks: [Flask-Vite](https://github.com/abilian/flask-vite), [Tailwind CSS](https://tailwindcss.com/), [Alpine.js](https://alpinejs.dev/), and [htmx](https://htmx.org/).
- [ ] Streamline the front-end development process (see: ADR 006).

1. **Codebase Refinement**:

- [x] Enhance type annotations and adopt modern Python coding practices, such as replacing legacy formatting with f-strings.
- [ ] Refactor the application class for simplicity and modularity.
- [ ] Split the extensions module to improve maintainability and logical separation.
- [x] Enhance type annotations and adopt modern Python coding practices, such as replacing legacy formatting with f-strings.
- [ ] Refactor the application class for simplicity and modularity.
- [ ] Split the extensions module to improve maintainability and logical separation.

1. **Dependency Updates**:

- [x] Upgrade critical dependencies like SQLAlchemy to their latest stable versions.
- [x] Address vulnerabilities by removing deprecated or insecure dependencies, such as `sqlparse`.
- [x] Upgrade critical dependencies like SQLAlchemy to their latest stable versions.
- [x] Address vulnerabilities by removing deprecated or insecure dependencies, such as `sqlparse`.

1. **Pipeline and CI/CD Enhancements**:

- [x] Support for additional Python versions (e.g., Python 3.12), ensuring long-term compatibility.
- [ ] Reactivate Alpine builds and optimize CI pipelines for better efficiency.
- [x] Support for additional Python versions (e.g., Python 3.12), ensuring long-term compatibility.
- [ ] Reactivate Alpine builds and optimize CI pipelines for better efficiency.

1. **Open Source Compliance**:

- [x] Ensure REUSE compliance across the project.
- [x] Add copyright notices and improve licensing transparency.
- [x] Ensure REUSE compliance across the project.
- [x] Add copyright notices and improve licensing transparency.

1. **SlapOS Integration**

- [ ] Update POC to MVP
- [ ] Update POC to MVP


### Version 1.3 (Q1 2025)
Expand All @@ -48,24 +68,24 @@

1. **Modular Architecture**:

- [ ] Develop and implement a plugin system to allow customizable integrations.
- [ ] Introduce pluggable components for storage (e.g., S3, MinIO) and search (e.g., Typesense, Elasticsearch) (see: ADR 005).
- [ ] Develop and implement a plugin system to allow customizable integrations.
- [ ] Introduce pluggable components for storage (e.g., S3, MinIO) and search (e.g., Typesense, Elasticsearch) (see: ADR 005).

1. **Enhanced Security**:

- [ ] Overhaul authentication and permission systems with OpenID Connect (OIDC), SCIM, and RBAC (see: ADR 001, ADR 002, ADR 003).
- [ ] Overhaul authentication and permission systems with OpenID Connect (OIDC), SCIM, and RBAC (see: ADR 001, ADR 002, ADR 003).

1. **UI and UX Improvements**:

- [ ] Finalize the adoption of modern UI technologies to enhance usability and responsiveness.
- [ ] Finalize the adoption of modern UI technologies to enhance usability and responsiveness.

1. **Community Engagement**:

- [ ] Foster an active contributor base through detailed onboarding guides, workshops, and governance transparency.
- [ ] Foster an active contributor base through detailed onboarding guides, workshops, and governance transparency.

1. **Release Planning**:

- [ ] Prepare a streamlined process for ongoing feature releases and updates.
- [ ] Prepare a streamlined process for ongoing feature releases and updates.

#### Tasks

Expand Down Expand Up @@ -98,70 +118,70 @@ A significant part of shaping the future of Abilian SBE involves participating i

1. **Code Modernization**:

- [x] Replaced Celery with Dramatiq for task management.
- [x] Conducted a significant cleanup of unused code and imports.
- [x] Transitioned to f-strings and type annotations for better readability and maintainability.
- [x] Removal of unused legacy code:
- `BaseCriterion`, `TextSearchCriterion`, `TextCriterion`, and `TagCriterion`.
- [x] Simplification of inheritance hierarchies and `CBVs`.
- [x] Clean-up of imports across the project and removal of obsolete monkey patches.
- [x] Ensuring consistency with modern Python standards (PEP 8, PEP 484).
- [x] Enhanced use of `black`, `isort`, and `ruff` to enforce code quality.
- [x] Replaced Celery with Dramatiq for task management.
- [x] Conducted a significant cleanup of unused code and imports.
- [x] Transitioned to f-strings and type annotations for better readability and maintainability.
- [x] Removal of unused legacy code:
- `BaseCriterion`, `TextSearchCriterion`, `TextCriterion`, and `TagCriterion`.
- [x] Simplification of inheritance hierarchies and `CBVs`.
- [x] Clean-up of imports across the project and removal of obsolete monkey patches.
- [x] Ensuring consistency with modern Python standards (PEP 8, PEP 484).
- [x] Enhanced use of `black`, `isort`, and `ruff` to enforce code quality.

1. **Dependency Upgrades**:

- [x] Upgraded Flask, WTForms, SQLAlchemy, and related libraries.
- [x] Addressed deprecated dependencies and ensured compatibility with Python 3.12.
- [x] Upgraded Flask, WTForms, SQLAlchemy, and related libraries.
- [x] Addressed deprecated dependencies and ensured compatibility with Python 3.12.

1. **Database Transition**:

- [x] Moved to a PostgreSQL-first architecture, aligned with the HyperOpen X initiative.
- [x] Moved to a PostgreSQL-first architecture, aligned with the HyperOpen X initiative.

1. **SlapOS Integration**:

- [x] Developed a proof of concept (POC) for deploying Abilian SBE on SlapOS, paving the way for future compatibility with edge computing solutions.
- [x] Developed a proof of concept (POC) for deploying Abilian SBE on SlapOS, paving the way for future compatibility with edge computing solutions.

1. **CI/CD Enhancements**:

- [x] Improved test pipelines for faster execution and stability.
- [x] Dropped support for Python 3.9 to focus on supported versions.
- [x] Improved test pipelines for faster execution and stability.
- [x] Dropped support for Python 3.9 to focus on supported versions.

### Version 1.1.x (Q2 2024)

#### Achievements:

1. **Stabilization**:

- [x] Incremental updates (1.1.6–1.1.10) to address bugs and improve stability.
- [x] Streamlined dependency management with `Nix` for reproducible builds.
- [x] Incremental updates (1.1.6–1.1.10) to address bugs and improve stability.
- [x] Streamlined dependency management with `Nix` for reproducible builds.

1. **Security**:

- [x] Protected sensitive configurations and secrets.
- [x] Addressed security vulnerabilities in outdated libraries.
- [x] Protected sensitive configurations and secrets.
- [x] Addressed security vulnerabilities in outdated libraries.

1. **Documentation**:

- [x] Enhanced developer documentation, including initial ADRs and improved README.
- [x] Enhanced developer documentation, including initial ADRs and improved README.

### Version 1.1.x (Q3 2024)

#### Achievements:

1. **Documentation Overhaul**:

- [x] Introduced a detailed contribution guide to lower the barrier for new contributors.
- [x] Expanded ADRs to cover architectural decisions comprehensively.
- [x] Introduced a detailed contribution guide to lower the barrier for new contributors.
- [x] Expanded ADRs to cover architectural decisions comprehensively.

1. **Governance and Transparency**:

- [x] Published governance documentation to improve project transparency and community involvement.
- [x] Published governance documentation to improve project transparency and community involvement.

1. **Developer Experience**:

- [x] Full adoption of `Nix` for reproducible environments.
- [x] Modernized CI/CD workflows for better developer productivity.
- [x] Full adoption of `Nix` for reproducible environments.
- [x] Modernized CI/CD workflows for better developer productivity.

1. **Modularity Preparations**:

- [x] Began groundwork for a pluggable architecture to support future extensibility.
- [x] Began groundwork for a pluggable architecture to support future extensibility.

0 comments on commit 93ed66a

Please sign in to comment.