Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure tech docs #3569

Merged
merged 16 commits into from
Jul 19, 2024
Merged

Restructure tech docs #3569

merged 16 commits into from
Jul 19, 2024

Conversation

tillprochaska
Copy link
Contributor

@tillprochaska tillprochaska commented Jan 16, 2024

Aleph’s technical documentation has been growing organically over the years. New information has been mostly added to existing pages, resulting in a few very long pages that are difficult to read and digest. This makes it difficult for authors/contributors to add new contents, and it makes it difficult for users to find relevant information.

This change reorganizes existing contents to make contents easier to discover, but I’ve also updated some of the frequently accessed contents and added new contents.

Preview

You can preview the changes here: https://aleph-docs-preview.netlify.app/developers/

Changes

#3064 has a complete overview of progress/changes, but below is a summary of the most relevant changes:

New

  • Configuration option reference: A complete reference of all available configuration options (including those accepted by Aleph dependencies such as servicelayer). If I’ve missed any configuration options, let me know!
  • Glossary: A reference of terms that have a specific meaning in Aleph.
  • Explanation articles: In-depth articles about fundamental concepts in Aleph and Aleph’s system design (for example about the ingest pipeline, search, …)
  • How-to guides: There’s a new section with How-to guides that help different types of users solve concrete problems. These are partially based on the existing FAQ as well as common questions we’ve received via our support channels. There are separate How-to subsections for developers, instance admins, and data journalists/developers.

Updated

  • Data commons: Updated with new datasets and resources
  • Development environment
  • Production deployment: There is now a generic page about production deployments that lists a lot of things that admins should consider before deploying Aleph in production and a separate page that shows how to get started with a production deployment using Docker Compose.

Removed

  • Memorious documentation: This page was outdated and is covered by the Memorious documentation.
  • Deployment without Docker: This page was completely outdated. It’s not really an approach we can recommend, and updating it would be a significant amount of work.
  • Importing structured data: This page covers many of the advanced FtM data mapping features with in-detail examples. I think it’s a great resource, and Pudo had some plans to migrate this page to the FollowTheMoney documentation. The basic concepts are covered by new How-to guides (like this one), but some advanced features are not.

Todos

  • Fix GitHub Actions workflow
  • Convert README to Markdown
  • Evaluate Vale
  • Update configuration options reference with new options that have been introduced in the meantime

Fixes #3064

tillprochaska and others added 5 commits May 27, 2024 18:52
refer to alephdata/aleph/raw/ to get actual files
"shell aleph upgrade" is mandatory for 1st time installs.
download actual files instead of HTML wrapped configuration
Order of commands made more clean
@tillprochaska tillprochaska force-pushed the docs/tech-docs branch 2 times, most recently from a991be7 to fd140ed Compare June 24, 2024 14:22
@tillprochaska tillprochaska changed the base branch from develop to main June 24, 2024 14:23
@tillprochaska tillprochaska force-pushed the docs/tech-docs branch 2 times, most recently from 96080cd to aa4e73f Compare June 24, 2024 16:15
Aleph’s technical documentation has been growing organically over the years. New information has been mostly added to existing pages, resulting in a few very long pages that are difficult to read and digest. This makes it difficult for authors/contributors to add new contents, and it makes it difficult for users to find relevant information.

This change reorganizes existing contents to make contents easier to discover, but I’ve also updated some of the frequently accessed contents and added new contents.
These images were previously referenced in the old user guide and technical documentation. I’ve moved all images that are still used into a directory structure following the content structure that hopefully makes it easier to maintain. This commit only deletes the "old" copies.
Vale is an open-source tool that helps enforcing a consistent writing style and prevents common spelling and grammar errors. I set this up as an experiment, not sure I’ll keep it.
This change runs the workflow whenever a pull request is opened or updated or when a push to the `develop` or `main` branches occurs.
In order to publish documentation changes, they currently need to be merged directly into main (which is only possible if they do not contain non-docs changes). Merging documentation changes into develop means that they will only get publish on the next release.

In most cases, documentation changes are enhancements that are not coupled to a release and should be published as soon as possible, and deploying from develop accounts for this use cases.
Copy link
Contributor

@Rosencrantz Rosencrantz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Structure seems sensible to me, checked the test site and it's looking great. Giving this the thumbs up!

Copy link
Contributor

@stchris stchris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love the rework, the structure makes a lot of sense to me. Thanks for all the hard work on this, @tillprochaska !

@@ -28,7 +30,7 @@ jobs:
docs-path: ./docs

deploy:
if: ${{ github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' }}
if: ${{ github.ref == 'refs/heads/develop' || github.event_name == 'workflow_dispatch' }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just checking but the intention here is to leave it like this so we can update docs by merging to develop?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, good catch, this is indeed intended!

In order to publish documentation changes, they currently need to be merged directly into main (which is only possible if they do not contain non-docs changes). Merging documentation changes into develop means that they will only get published on the next release.

I think deploying docs from develop is sensible: In most cases, small changes will get published faster without us having to remember to merge to the (non-default) main branch. Also, this has sometimes caused merge conflicts in the past.

In case we really want to publish a documentation change only after the next stable release, this requires a little more work now, but this case is quite rate.

@tillprochaska tillprochaska changed the base branch from main to develop July 17, 2024 09:33
@tillprochaska tillprochaska merged commit 8423119 into develop Jul 19, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

We’re reorganizing our technical documentation
5 participants