changeset 26:0fe78d74a792

new roadmap page
author Goffi <goffi@goffi.org>
date Mon, 22 May 2023 15:27:23 +0200
parents 91e2f18bbbbb
children b2d26ffce40d
files pages/roadmap/page_meta.py templates/default/components/menu_labels.html templates/default/roadmap/roadmap.html
diffstat 3 files changed, 167 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pages/roadmap/page_meta.py	Mon May 22 15:27:23 2023 +0200
@@ -0,0 +1,116 @@
+#!/usr/bin/env python3
+
+
+name = "roadmap"
+template = "roadmap/roadmap.html"
+
+
+def prepare_render(self, request):
+    request.template_data["milestones"] = [
+        {
+            "title": "One-on-One Audio/Video Calls",
+            "release_number": "0.9",
+            "description": "Enable one-on-one audio/video calls and facilitate desktop sharing.",
+            "status": "P",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "Modern Package Manager Integration",
+            "release_number": "0.9",
+            "description": "Integrate Hatch as the primary package manager for application installation.",
+            "status": "",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "Personal Calendar Events",
+            "release_number": "0.9",
+            "description": "Refine the event creation interface for increased usability and introduce a dedicated view for personal agenda management.",
+            "status": "P",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "Web-Based Chat Interface",
+            "release_number": "0.9",
+            "description": "Develop a cutting-edge chat interface in the web frontend.",
+            "status": "",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "Stabilization of ActivityPub ↔️ XMPP Gateway",
+            "release_number": "0.9",
+            "description": "Ensure the stability of the ActivityPub ↔️ XMPP Gateway, making it suitable for production use.",
+            "status": "P",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "Web Notifications and Desktop Integration",
+            "release_number": "0.9",
+            "description": "Implement notifications on the web frontend for essential updates such as important messages, mentions, new comments, etc., along with desktop integration for these alerts.",
+            "status": "",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "Web Push Implementation",
+            "release_number": "0.9",
+            "description": "Integrate web push functionality for real-time updates.",
+            "status": "",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "API/Plugin Stabilization for Bridge",
+            "release_number": "0.9",
+            "description": "Improve the third-party plugin development experience by refactoring the module hierarchy, stabilizing the API, and providing detailed documentation.",
+            "status": "P",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "Easy Installation Image Updates",
+            "release_number": "0.9",
+            "description": "Update and fix installation images for Flatpak and Docker.",
+            "status": "",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "Self-Resetting Demo",
+            "release_number": "0.9",
+            "description": "Set up a demo on the official website, encapsulated in a Docker container. This demo, designed for isolated testing, will reset itself every few hours, with federation deactivated to confine user interactions within the instance.",
+            "status": "",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "Testing Instance Creation",
+            "release_number": "0.9",
+            "description": "Create a testing instance for Libervia. This will initially be invitation only.",
+            "status": "",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "List Customization Features",
+            "release_number": "0.9",
+            "description": "Develop a feature to easily create or modify list templates.",
+            "status": "",
+            "estimation": "Q2 2023",
+        },
+        {
+            "title": "Group Audio/Video Calls",
+            "release_number": "0.10",
+            "description": "Enable group audio/video calls and facilitate shared desktop sessions.",
+            "status": "",
+            "estimation": "Q3 2023",
+        },
+        {
+            "title": "Code Forge Enhancements",
+            "description": "Expand the existing ticketing and merge request system with a user-friendly code browser and a mechanism to clone repositories.",
+            "status": "",
+        },
+        {
+            "title": "Task Automation Features",
+            "description": "Introduce a user-friendly mechanism to automate various tasks such as triggering actions on PubSub events.",
+            "status": "",
+        },
+        {
+            "title": "Email Gateway Integration",
+            "description": "Develop a gateway to send and receive emails, and to use mailing lists as XMPP blogs.",
+            "status": "",
+        },
+    ]
--- a/templates/default/components/menu_labels.html	Mon May 22 09:14:04 2023 +0200
+++ b/templates/default/components/menu_labels.html	Mon May 22 15:27:23 2023 +0200
@@ -7,5 +7,6 @@
     'news': _('News'),
     'association': _('Association'),
     'press': _('Press/Talks'),
+    'roadmap': _('Roadmap'),
     'social_contract': _('Social Contract'),
 } %}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/default/roadmap/roadmap.html	Mon May 22 15:27:23 2023 +0200
@@ -0,0 +1,50 @@
+{% if not embedded %}{% extends 'base/base.html' %}{% endif %}
+
+{% block body %}
+<section class="section">
+    <div class="container">
+        <h1 class="title">{% trans %}Project Roadmap{% endtrans %}</h1>
+        <div class="message is-info">
+            <div class="message-body">
+                <p>
+                {% trans changelog_url='<a href="https://repos.goffi.org/libervia-backend/raw-file/tip/CHANGELOG" target="_blank">CHANGELOG</a>'|safe-%}
+                Please note that this roadmap doesn't cover all planned work.<br>
+                For a more detailed look at what has been achieved so far and what is coming up in the next release, check our {{changelog_url}}.
+                {%- endtrans %}
+                </p>
+            </div>
+        </div>
+        <ul>
+            {% for milestone in milestones %}
+            <li class="box">
+                <p class="title is-4 {{ 'has-text-success-dark' if milestone.status.lower() == 'c' else 'has-text-warning-dark' if milestone.status.lower() == 'p' else 'has-text-grey-light' }}">
+                    {% if milestone.status.lower() == 'c' %}<del>{% endif %}
+                        <strong>{{ milestone.title }}</strong>
+                        {% if milestone.release_number %}
+                            - {% trans %}Release{% endtrans %} <strong>{{ milestone.release_number }}</strong>
+                        {% else %}
+                            - 🚀 {% trans %}Future Release{% endtrans %}
+                        {% endif %}
+                    {% if milestone.status.lower() == 'c' %}</del>{% endif %}
+                </p>
+                {% if milestone.description %}
+                <p class="subtitle is-6"><strong>{% trans %}Description:{% endtrans %}</strong> {{ milestone.description }}</p>
+                {% endif %}
+                {% if milestone.estimation %}
+                <p><strong>{% trans %}Estimation:{% endtrans %}</strong> {{ milestone.estimation }}</p>
+                {% endif %}
+                <p><strong>{% trans %}Status:{% endtrans %}</strong>
+                    {% if milestone.status.lower() == 'c' %}
+                        ✅ {% trans %}Completed{% endtrans %}
+                    {% elif milestone.status.lower() == 'p' %}
+                        🚧 {% trans %}In Progress{% endtrans %}
+                    {% else %}
+                        📅 {% trans %}Planned{% endtrans %}
+                    {% endif %}
+                </p>
+            </li>
+            {% endfor %}
+        </ul>
+    </div>
+</section>
+{% endblock body %}