H&D website v2
H&D website v2 | |
---|---|
Name | H&D website v2 |
Owner | André Fincato |
Hours | [[]] |
Budget | [[]] |
Categories | [[]] |
Period | [[]] |
Intro
The following is a broad outline for the plans we have to re-build the current frontend website of H&D.
The current setup is composed of a Python program that reads from the WikiMedia instance of H&D (that we use as a CMS of sort), and build up a series of pages:
- a main page showing upcoming and past events
- a section page, listing pages under a specific Category
- an article page, displaying a single wiki article
While this structure holds well, there’s been some evolution in the type of content and the way we want to organize it, which can been seen for example in the ever-growing number of items in the main navigation bar.
Moreover, there are still some unclear problems when using some functionalities from MediaWiki (eg when using Concepts), that should either be better documented, or something to re-think.
Proposal
Starting from the above situation, here our plan:
- re-write the current Python program (currently using Werkzeug) into a more approachable codebase (eg by converting it to Flask), that can be understood and extended by more people:
- better routing
- split functions and make them composable
- better error handling when something goes wrong in the wiki
- re-think how top navigation works, both on wiki level as well as on frontend side
- add multi-language support (this should be done on MediaWiki, and then it can be implemented to the frontend)
- add a search function to the frontend, to query the wiki-backend
- focus on making the website highly accessible for users with different disabilities; keyboard navigation, text-to-speech, english and dutch language, small bandwidth consumption
- better integration to the rest of the software that H&D setup and or built in these years: etherpad, livestream, mailing-list, etc
- integrate a bit the wiki bits of MediaWiki into the frontend, eg last change, article history, has the article being referenced already in another article (within the wiki), etc; this can be put under “transparency”
- do not use any javascript; currently it’s used in the navigation and for adding an image slideshow, alternative solution can be implemented
Budget
…