#1 Migration of the website

Open
opened 1 week ago by brickup · 4 comments
brickup commented 1 week ago

Hi there,

we’ve made it, the website is back up and running! Right now, switching.software is a copy of every cached page of the switching.social website, pulled from different sources and points in time.

But there is a problem ahead: We only have plain HTML pages with all the content, headers, footers and technical stuff intertwined. See for example the Facebook site in the archive repository

This works, but the design and content is nearly unmaintainable. So, I think we need to extract all the articles and separate them from the technical stuff.

Here is my proposal on how to move on from here:

  1. We move to Grav CMS, as it is also currently used by my German fork of the site and working perfectly fine. It’s a simple flat-file content management system with everything we need baked-in (website).

  2. We create seperate markdown files for every entry, meaning every proposed software alternative. So, every entry (say “Matrix”) can be easily reused in multiple lists (say for “Whatsapp”, “Slack”, …).

  3. We do all of this via codeberg.org - meaning this git repository and issues like this one here. Codeberg is a non-profit non-tracking git hosting provider for Open Source projects like ours.

Here is what I would like this project to look like in the end, showcased via the German version:

  • Have a look at this page concerning Twitter.

  • The page itself is a folder with a simple file inside, that pulls all entries replacing twitter.

  • Every list entry is also a folder with a markdown+YAML file, like this file for Mastodon in this folder

  • That’s why it’s easy to create another list with the same entries but in a different order, see this Facebook page created by this file

  • An English example of all this can be found in the “use” and “replace” subfolders here.

What do you think of the three proposals? And who would like to help me pull this off? You can comment here (after creating an account) or text me on Mastodon.

Hi there, we've made it, **the website is back up and running!** Right now, [switching.software](https://switching.software) is a copy of every cached page of the switching.social website, pulled from different sources and points in time. But there is a problem ahead: We only have plain HTML pages with all the content, headers, footers and technical stuff intertwined. See for example [the Facebook site](https://codeberg.org/swiso-en/archive/src/branch/master/ethical-alternatives-to-facebook/index.html) in the [archive repository](https://codeberg.org/swiso-en/archive) This works, but the design and content is nearly unmaintainable. So, I think we need to extract all the articles and separate them from the technical stuff. Here is **my proposal** on how to move on from here: 1. **We move to Grav CMS**, as it is also currently used by [my German fork of the site](https://swiso.de) and working perfectly fine. It's a simple flat-file content management system with everything we need baked-in ([website](getgrav.org/)). 2. **We create seperate markdown files for every entry**, meaning every proposed software alternative. So, every entry (say "Matrix") can be easily reused in multiple lists (say for "Whatsapp", "Slack", ...). 3. **We do all of this via codeberg.org** - meaning this git repository and issues like this one here. Codeberg is a non-profit non-tracking git hosting provider for Open Source projects like ours. Here is what I would like this project to look like in the end, showcased via the German version: - Have a look at [this page](https://switchingsocial.de/ersetze/twitter) concerning Twitter. - The page itself is a [folder](https://gitlab.com/swisode/website/blob/primary/pages/ersetze/twitter) with [a simple file](https://gitlab.com/swisode/website/blob/primary/pages/ersetze/twitter/list.md#L7) inside, that pulls all entries replacing twitter. - Every list entry is also a folder with a markdown+YAML file, like [this file for Mastodon](https://gitlab.com/swisode/website/blob/primary/pages/nutze/mastodon/entry.md#L9) in [this folder](https://gitlab.com/swisode/website/blob/primary/pages/nutze/mastodon) - That's why it's easy to create another list with the same entries but in a different order, see [this Facebook page](https://switchingsocial.de/ersetze/facebook) created by [this file](https://gitlab.com/swisode/website/blob/primary/pages/ersetze/facebook/list.md#L7) - An English example of all this can be found in the "use" and "replace" subfolders [here](https://codeberg.org/swiso-en/website/src/branch/develop/pages). **What do you think of the three proposals?** And who would like to help me pull this off? You can comment here (after creating an account) or text me on [Mastodon](https://mstdn.swiso.org/@switchingsoftware).
Ghost commented 6 days ago

Hi, I guess the issues would be : a) cost, and b) look.

The cheaper the better obviously, but then if having the website hosted on Codeberg.org would be free but would also mean having the Codeberg.org header, the website would be less consistent.

I don’t know what are the costs nor look of any of those solutions, so I can’t give my opinion right now, but if your GitLab-based solution for the German website works like a charm and is easy to set up with yaml files, why not just applying it to the English version ?

Hi, I guess the issues would be : a) cost, and b) look. The cheaper the better obviously, but then if having the website hosted on Codeberg.org would be free but would also mean having the Codeberg.org header, the website would be less consistent. I don't know what are the costs nor look of any of those solutions, so I can't give my opinion right now, but if your GitLab-based solution for the German website works like a charm and is easy to set up with yaml files, why not just applying it to the English version ?
Jonah commented 6 days ago

The cheaper the better obviously, but then if having the website hosted on Codeberg.org would be free but would also mean having the Codeberg.org header, the website would be less consistent.

Pretty sure he’s saying the code will be hosted here on Codeberg, in this repository. The website will likely be hosted elsewhere, so there wouldn’t be Codeberg branding on the user-facing site.

I assume you have hosting lined up @brickup, but just in case: We (privacytools.io, or technically my company nabla.host) offer free web hosting (and Git hosting for that matter at git.privacytools.io) on our servers to privacy-oriented websites like this. Just wanted to extend that offer to you.

I think this sounds like a great idea overall. When I get a free moment I’ll try and move some of those entries in a Pull Request and/or see if I can get other PTIO team/community members to chip in :)

> The cheaper the better obviously, but then if having the website hosted on Codeberg.org would be free but would also mean having the Codeberg.org header, the website would be less consistent. Pretty sure he's saying the code will be hosted here on Codeberg, in this repository. The website will likely be hosted elsewhere, so there wouldn't be Codeberg branding on the user-facing site. I assume you have hosting lined up @brickup, but just in case: We (privacytools.io, or technically my company nabla.host) offer free web hosting (and Git hosting for that matter at git.privacytools.io) on our servers to privacy-oriented websites like this. Just wanted to extend that offer to you. I think this sounds like a great idea overall. When I get a free moment I'll try and move some of those entries in a Pull Request and/or see if I can get other PTIO team/community members to chip in :)
brickup commented 5 days ago
Owner

Yes, that’s what I’m saying. We are only hosting the git repository here, not the website :-)

And thanks a lot for the website hosting offer. Right now, I just quickly set up a Digital Ocean Droplet, as I wanted the site to be back online fast. But I would really appreciate better alternatives. Also maybe in a way, that I’m not the only person who has access to the server - single point of failure, you know :-)

I will contact you about this when we’ve made some progress with the codebase.

Yes, that's what I'm saying. We are only hosting the git repository here, not the website :-) And thanks a lot for the website hosting offer. Right now, I just quickly set up a Digital Ocean Droplet, as I wanted the site to be back online fast. But I would really appreciate better alternatives. Also maybe in a way, that I'm not the only person who has access to the server - single point of failure, you know :-) I will contact you about this when we've made some progress with the codebase.
jaredmoody commented 5 days ago
Collaborator

Have you considered using a static site generator instead of a CMS?

One potential downside I see of using a CMS is that it might be a little harder for people to contribute; i.e. the only people that can use the CMS are those that are granted access. With a static site, you have no user accounts or CMS backend to manage - contribution would just be via pull request to the source files.

Static HTML is also very easy to deploy and will use very few resources on the server.

Have you considered using a static site generator instead of a CMS? One potential downside I see of using a CMS is that it might be a little harder for people to contribute; i.e. the only people that can _use_ the CMS are those that are granted access. With a static site, you have no user accounts or CMS backend to manage - contribution would just be via pull request to the source files. Static HTML is also very easy to deploy and will use very few resources on the server.
Sign in to join this conversation.
No Label
No Milestone
No Assignees
4 Participants
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
Cancel
Save
There is no content yet.