-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Context
FreeCAD's websites infrastructure has been developed organically over the years. It is made of various parts which interact differently both for end-users and content contributors. Moreover they do not communicate easily with each other, they have a different logic data and code-wise and incoherent visual designs. This contributes to a difficult maintenance and is not advantageous for the project's impact. Some qualities can however be retained from the present state, which can serve as a useful experience and reference for future improvements. Early 2024, an initiative to review and improve the situation was launched by some Design Group contributors 1. This is the first step in a multi-year initiative.
Proposal description
This first step has two simultaneous objectives : update some parts of the infrastructure and lay the foundations for improved guidelines, documentation, curation and maintenance effort of the whole FreeCAD websites infrastructure.
Unification of the Homepage, News blog and Developers Handbook
The main goal of this first step is to update and unify most informative parts: the Homepage, the News blog and the Developers Handbook. This unification aims to provide a single structure for these three currently disconnected bits: simple to use, easy to augment and edit content, inter-connected, great flexibility to accommodate FreeCAD's growth and evolution, and as minimum maintenance as possible.
On the Technical side, all content is version-controlled, stored in simple Markup files (Markdown) and data interchange or serialization format files (e.g. JSON, YAML). A Static Site Generator (Hugo) and a server-less Content Management System (Sveltia) are used, making it easy to separate content from Theme and Configuration. More architecture choices and technical details can be read on the linked prototype below or can be requested in subsequent discussions.
A prototype of the above setup is currently under development 2. This grant will allow to move beyond the prototype phase so larger testing can be performed and potentially future deployment as well.
Foundations for improved guidelines, documentation, curation and maintenance
While the current effort is the start of a long and hopefully lasting initiative, improvements on the collaboration and development aspects are also expected. In recent years, FreeCAD has seen multiple initiatives geared towards fostering collaboration and the establishment of several interest groups bridging the gap between users, professionals and hobbyists, designers, non-code contributors and developers. This initiative seeks to promote comparable effects, specially in regard to website guidelines, documentation (FreeCAD use and code) and overall care for its user-facing infrastructure.
An informal group is currently contributing to the development of this initiative 3. This grant will allow to move beyond the informal phase so lasting benefits can be achieved in setting up a robust interest group in the open.
Step 1 and beyond
This Step 1 consists in completing the Alpha and Beta phases detailed below of the website unification prototype while setting up the foundations for greater collaboration. The pinnacle of this first step is setting up the unified website on a sub-domain (called here Release Candidate phase) so that it can be tested by a larger audience.
If this proves successful, a Step 2 will then begin: improvements, content call and polishing during the RC phase, transition to final production deployment (also archival of current websites), continued development and maintenance, planning of next steps (e.g. User documentation, aka Wiki migration, APIs docs, FPA website, etc.).
Deliverables
Alpha Phase: features parity
Task | Time estimation | Compensation | Collaboration |
---|---|---|---|
Homepage | 2 days | 200 € | Design with DWG, Approval by FPA |
Features page | 1 day | 100 € | Design with DWG |
Port blog to News section | 5 days | 500 € | Design with writers |
Community and Events page | 1 day | 100 € | Design with DWG |
Port Dev Handbook to Contribute section | 3 days | 300 € | Design with DWG & CQWG |
Telemetry page | 2 days | 200 € | Design with DWG |
Donation page and workflow | 4 days | 400 € | Design with DWG & FPA |
Authors credit (articles + images) | 1 day | 100 € | Design with DWG |
Footer | 1 day | 100 € | Design with DWG |
Archives pages | 1 day | 100 € | Design with DWG |
Social media links | 2 days | 200 € | Design with writers |
i18n Theme | 2 days | 200 € | Design with translators |
25 days | 2500 € |
Beta Phase: improvements and preparation for Release Candidate
Task | Time estimation | Compensation | Collaboration |
---|---|---|---|
Setup of FreeCAD web group | Discussion with FPA and other teams | ||
Design, layout and style improvements | 5 days | 500 € | Design with DWG |
Content Management System | 2 days | 200 € | Design with writers |
Code refactor | 2 days | 200 € | |
Cleanups and comments | 1 day | 100 € | |
Site documentation | 1 day | 100 € | |
Issue and PR templates | 1 day | 100 € | |
IE warning | 1 day | 100 € | |
Preparation for Release Candidate | 2 days | 200 € | Discussion with FPA |
15 days | 1500 € |
Edit of 12 June: fixed typo, removed misc and adjusted totals
Total Compensation for the Step 1 grant: 4000 €
Included in the above quote but not detailed:
- monthly meetings and notes
- detailed issues or discussion for on-boarding contributors
- dependencies updates, resolutions and bugs report to upstream
- report and discussion after each phase
Not included in the above quote and out of the scope of this first step:
- Tasks to be addressed in Step 2 or later steps (e.g. final content for the website, resolution of bugs during RC phase)
- Large re-architecture (e.g. change to dynamic stack) or big new features unlisted above (e.g. unified FreeCAD user account login system)
- Features deemed unfit at this stage, to be defined with interest groups, writers and translators
Timeline
The Alpha Phase is expected to last from June to September 2025.
The Bela Phase is expected to last from September to November 2025.
If this proves successful, a second FPA grant proposal in Q4 for Step 2 will be prepared.
Risks and mitigation
Time availability: due to personal or professional unforeseen circumstances, contributors may have to delay some tasks. The scheduling in two phases and the setup of an interest group may allow to revise the overall strategy, the definition and allocation of tasks among members.
Challenge in reaching a design consensus: due to divergence in opinions and experiences, contributors may not agree on particular choices or design. The setup of an interest group, consultation of other stakeholders, exploration of alternatives if not too time-consuming, emphasis on dialogue and benefits of reaching common ground may partially alleviate individual discrepancies.
About you
Coordination is assured by @marcuspollio as are most Step 1 tasks. Collaboration among existing involved and new contributors is most welcome. This includes above listed tasks, in which case the corresponding compensation will be awarded, or for others tasks as well. Design, content, comprehensive testing, code contributions and review are equally valued.
Pending questions
- Development environment: currently, the unified prototype is being developed in a public but personal repository. A migration is expected, also for coordination reasons. When is this migration preferred? After the approval of the grant, after the completion of all above tasks and just before the Release Candidate?
Footnotes
-
FreeCAD's websites improvements initiative - Step 1 : Homepage and blog migration on FreeCAD-Homepage repository. ↩
-
Temporary development repository for the new unified FreeCAD website on OP author repository. ↩
-
UX-Topics: FreeCAD's websites improvements initiative on FreeCAD's Discord channel. ↩