Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
| google-season-of-docs [2020/05/03 20:59] – Add Sub-project specific documentation idea aparcar1 | google-season-of-docs [2020/06/08 14:58] – added batman and maint/upgrade ops for remote routers steve-newcomb | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| **The link is added within the application and so this site shouldn' | **The link is added within the application and so this site shouldn' | ||
| - | ===== Project Ideas ===== | + | ====== Project Ideas ====== |
| - | **Project | + | ===== Project |
| - | **Description: | + | The OpenWrt system is based on several core components, all developed in different code repositories. Each component has documentation that is mainly targeted at OpenWrt developers, but can also be used by " |
| - | OpenWrt is based on multiple sub projects, all developed in different | + | The goal of the project |
| - | repositories. | + | |
| - | the OpenWrt main website. Keeping both in sync is not trivial due to very | + | |
| - | tooling. This project idea propose the transfer and extension | + | |
| - | documentation to the sub-projects repositories. Having both code and | + | |
| - | documentation in the same repository has two big advantages over the current | + | |
| - | approach: | + | |
| - | | + | |
| + | - transfer all documentation | ||
| + | - setup a system that builds all components documentation and makes the result easily available in a single place | ||
| + | - reorganize / improve each component documentation to improve consistency and readability | ||
| + | It is not required to have a deep technical knowledge of the components. | ||
| + | |||
| + | Having both code and documentation in the same repository has two big advantages over the current approach: | ||
| + | |||
| + | * Existing developers can use the same workflow to update and review documentation as they use for code. | ||
| * New developers find latest documentation next to the code, instead of finding it on some external website. | * New developers find latest documentation next to the code, instead of finding it on some external website. | ||
| - | Code documentation from the wikis technical reference would be converted to | ||
| - | Markdown format and stored in the repository. A documentation render engine | ||
| - | like `mkdocs` would be introduced to offer a webpage per project. The current | ||
| - | wiki would list those documentation websites. | ||
| - | **Related material:** | + | === Related material === |
| + | |||
| + | | ||
| + | | ||
| + | * [[: | ||
| + | |||
| + | ===== Project 2: Refresh documentation for device installations ===== | ||
| + | |||
| + | Device pages, important for users, are often very similar but still vary in | ||
| + | steps and formulation, | ||
| + | varying structure complicates the user. A template based page generated as | ||
| + | used by LineageOS device wiki[4] allows a consistent structure while allowing | ||
| + | notes for special cases. | ||
| + | |||
| + | This project idea proposes to unify existing device documentations as much as | ||
| + | possible and render them via a template engine. Ideally this reduces the work | ||
| + | of maintaining device documentation, | ||
| + | easier to translate installation guides into multiple languages. | ||
| + | |||
| + | In collaboration with wiki maintainers popular devices should be determinded | ||
| + | to form a page prioritization list. | ||
| + | |||
| + | === Related material | ||
| + | |||
| + | * An existing proof of concept for device documentation exists https:// | ||
| + | |||
| + | |||
| + | ===== Project 3: Refresh and refactor web interface documentation ===== | ||
| + | |||
| + | The wiki offers guides on how to use the LuCI, the OpenWrt web interface, for | ||
| + | common use cases, which is great because it's the most likely way for basic | ||
| + | users to interact with their routers. | ||
| + | |||
| + | However this could get some extra love: Partly pictures are missing, pictures | ||
| + | are outdated and/or missing from the web interface overview. This could be | ||
| + | refreshed and put in nice overview, maybe even even create click-through videos. | ||
| + | |||
| + | Ideally use/create tools that automatically click things in UIs and make | ||
| + | screenshots and thereby reproduce the documentation. This could make the | ||
| + | documentation easily future proof and translatable. | ||
| + | |||
| + | === Related material === | ||
| + | |||
| + | * The existing LuCI documentation at https:// | ||
| + | |||
| + | |||
| + | ===== Project 4: Showcase OpenWrt features and use-cases ===== | ||
| + | |||
| + | OpenWrt has a very wide ecosystem of packages that allow many different use-cases going beyond the simple "home router" | ||
| + | |||
| + | The idea is to " | ||
| + | |||
| + | The expected benefits for OpenWrt users are: increased awareness of OpenWrt features, easier access to advanced setups. | ||
| + | |||
| + | Some examples of features and use-cases to showcase: | ||
| + | |||
| + | * detailed monitoring of LAN traffic with nlbwmon or vnstat | ||
| + | * setting up a mobile connection (4G) as backup | ||
| + | * DNS filtering, similar to Pi-hole | ||
| + | * decentralized Wi-Fi controller between several Wi-Fi access points with Dawn | ||
| + | * local file-sharing setup (USB disk shared with Samba/ | ||
| + | * VPN client/ | ||
| + | * VPN server: connect remote clients to your LAN network | ||
| + | * improving performance of low-end Internet connections by using SQM to avoid bufferbloat | ||
| + | * simple multi-WAN setup with mwan3 | ||
| + | * advanced multi-WAN setup using MPTCP/ | ||
| + | * run applications in LXC containers | ||
| + | * community mesh network using B.A.T.M.A.N. | ||
| + | * maintenance/ | ||
| + | |||
| + | === Related material === | ||
| + | |||
| + | * [[docs: | ||
| + | * [[docs: | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[docs: | ||
| + | * [[docs: | ||
| + | * [[https:// | ||
| + | |||
| + | ===== Project 5: Improve first-time user experience ===== | ||
| + | |||
| + | OpenWrt can be challenging for new users: is my hardware supported? which version of OpenWrt should I use? can i use snapshots? how do I install OpenWrt? what are all these strange " | ||
| + | |||
| + | The idea of the project is to identify the main hurdles encountered by first-time users, and solve these hurdles to improve the first-time user experience: | ||
| + | |||
| + | | ||
| + | | ||
| - | * The to be individually documented projects are found on https:// | + | The proposed solution could include a " |
| - | * Some of the projects are already documented in the current wiki https:// | + | === Related material === |
| + | * [[supported_devices|Supported devices / Table of Hardware]] | ||
| + | * [[downloads|Download page]] | ||
| + | * [[docs: | ||
| + | * [[docs: | ||
| + | * See also Project 2 (for installation) and Project 3 (for basic web interface usage) | ||