OpenRiak Website #8
Replies: 6 comments 2 replies
-
As I see it, we need to have a slick, modern feeling website aimed at new users to get people interested. However, we also need all the documentation and history we have on the existing sites for the more technical people. The page layouts should be simple and clean, but need to be nicely styled. Branding and navigation at the top, footer with links to key site sections and external links (slack, github, social media, etc...). I'd say use markdown in a Github repo, and either GH pages (not sure if that will let us do fancier things like the documentation version menus or dynamic download pages) or GH Actions with a docker instance running a modern Hugo site generator. Continue using LunrJS for search as that works well. As a starting suggestion for content:
|
Beta Was this translation helpful? Give feedback.
-
I look at two obvious comparators - FoundationDB and CouchDB. Both open-source, niche, NoSQL databases. What is noticeable is how simple their sites are. I suspect they're simple as they know their audience - my hypothesis is that most enterprise adoption of open-source is led by engineers, and so they speak only to the engineers. Also simple in that it seems to be fairly easy to maintain, nothing that may require an ongoing churn of content. They also focusing on documenting the present & the near future, but not the past. Most of the documentation is just using standard documentation packages (e.g. sphinx) of github markdown on the project website (presumably to host on github pages). Overall, I like these examples, and I think we should keep things as simple as possible. |
Beta Was this translation helpful? Give feedback.
-
One thing on hosting of both the site, and also of production of packages going forward. I think we have to be careful about what assurance can be demonstrated about the integrity of the build chain. If we provide packages going forward, they should be automatically produced through a visible process - maybe Github Actions -> PackageCloud. We have to trust third parties in this case, but third parties which are subject to very strict audit conditions. For similar security reasons I have a preference for any website to use auto-generation to Github Pages or equivalent, rather than have to trust an unaudited organisation to adhere to sufficiently strict security processes in managing the hosting of a software. |
Beta Was this translation helpful? Give feedback.
-
Docs, downloads and support for older versionsDocs and support for historical versions is essential as companies do not upgrade unless there is a pressing need. Even then, it's normally an OS upgrade rather than a Riak upgrade which is why we make packages for older OSs. We shouldn't have an "only current" set of documentation and downloads. Build processI agree with automating the build process via GitHub Actions -> Package Cloud, and maybe also GitHub's Releases so there is a manual way of downloading packages from a trusted source (which many corporate clients prefer). The current method of getting packages (files.tiot.jp) has a specific structure that Basho used to automate the creation of download links (as a JSON blob which was then used by Hugo) in the docs. We can probably change that to use the GitHub API for releases instead. I'll have to research how GitHub releases works with multiple OS versions and architectures for a given release tag if we go that route. We can get a free account with PackageCloud under their "Free for OpenSource" program. Docs processI think we're in general agreement here. It would be lovely to have this fully automated. Would you consider the use of Hugo via docker to make the static files sufficient (in which case this should be fairly simple)? Or would you be keen for a complete rewrite of how the docs get generated from the Markdown source in GitHub using Sphinx? Sphinx's multi-version support seems quite poor compared to what we do now. My personal preference would be to update to the latest version of Hugo (which will involve some work, but less than migrating to Sphinx) and then doing GitHub repo with Markdown -> GitHub Actions -> Hugo -> GitHub Pages with custom domain "docs.openriak.com". We would then do the same for "www.openriak.com". This also allows for very simple testing during updates. |
Beta Was this translation helpful? Give feedback.
-
We probably need to check in with Alistair (with his security hat on) what the requirements might be here (e.g. ISO approved accreditation etc), for hosting or building packages associated with the project. There may be some other parts of the process we need to consider, such as the pre-building of binaries (e.g. rebar3) within the repos itself. Older versionsThere is a need to provide documentation for older versions, so this is a question about how this should be done. Lots of people, including us, use a non-current version of Erlang/OTP; and it is possible to access the documentation of previous versions. However, going to https://www.erlang.org/doc/readme.html still takes you to the current version only, and that is what google indexes etc. So if it makes life much harder to present all versions together, just as basho did, I don't think we should be tied to that. I'm concerned here not only about the impact on producing the docs, but also on consuming them. I don't want to hamper our ability to refactor the documents to make them easier and clearer to consume now, because of a need to present them in the same visual framework for showing past documentation (when the project had so many more parts). Likewise for builds. In my opinion we (the OpenRiak community) should focus on having the best process for making packages available to get the current release, on a currently supported OS. If packaging older releases and a wider variety of Operating Systems over-complicates that process, then including that shouldn't be a priority for the community effort. That is not to prevent any third party from fulfilling demand as part of the services they provide, but then how a third party should do that would be between them and the people who use that service; and not a matter of concern to the OpenRiak community. Doc automationFor me, running a very old version of software because we can't upgrade is a no-no. It is imperative we keep things up to date, and can demonstrate the ability to keep things up to date. Perhaps also, something we should check with Alistair on. As per above, I would be happy to break the link with past documentation if it makes this easier to do, but others may have a different opinion. If we really want to maintain version history as per-basho docs, and use a common up-to-date documentation framework - someone has already done the bulk of the work and I think we should take advantage of that. |
Beta Was this translation helpful? Give feedback.
-
First, as a general point, I think it's important for the website to be consistently referred to as I agree with Martin, with clarifications of my opinions that:
You'll note that I want to keep us at arms length from commercial entities, which I believe to be critical for corporate adoption and participation. I'm happy to have TIoT (or any other company) participating, but I don't want us to show any official or implied preference for any external vendor. Again, I want to stress that we're a community-supported project and, like many, you can purchase services from external vendors, but that's your own business decision and entirely distinct from the OpenRiak project. |
Beta Was this translation helpful? Give feedback.
-
We need a website. We have a domain name and I believe that TI Tokyo will provide server space to host it.
Question is, what should we put on it?
Do we want it to be dynamic and flashy like some of the newer databases or do we want a mature look to reflect that our codebase is over a decade old and still good?
Do we want to do like Basho did and just use Wordpress or do we want to do something else e.g. have a Github repo for the website in Markdown that will then be converted. This might allow for easier member contributions but then again, Wordpress isn't that hard either. Do we just want one of those obscenely long web pages that seem to be the trend of late?
Please, ideas, suggestions and anything else you have, drop it in below.
Beta Was this translation helpful? Give feedback.
All reactions