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

Tracking: Turing Way #1336

Open
rowanc1 opened this issue Jun 19, 2024 · 13 comments
Open

Tracking: Turing Way #1336

rowanc1 opened this issue Jun 19, 2024 · 13 comments
Assignees

Comments

@rowanc1
Copy link
Member

rowanc1 commented Jun 19, 2024

We had a wonderful conversation this morning with the TuringWay team on how best to support the TuringWay team in their adoption of JupyterBook v2, which will be using mystmd. There were a lot of exciting possibilities that we talked about in terms of creating an ecosystem of content that the TuringWay could expose (figure, equations, glossaries), and that be included, linked to and cross-referenced by other books, tutorials, and communities in the wider open-science ecosystem. There are also some current deficiencies in MyST MD at the moment, one of the core ones is around internationalization. We got a really good demo from @BatoolMM on how that process is working, and some of the sticking points on how to bring content together to have a unified experience between languages. The localization also must include right-to-left languages, which will require a number of style updates and improvements across the components.

Resources for translations:

Example of Turing Way content deployed in MyST

Some cool things

image

turing-way-hover

Updates that need to happen

There are probably a number of other things that will come out as we work towards these goals, I encourage members of the TuringWay team to jump in here and let us know how we can support you. Please try the preview above and get a sense of where we are at. One of the cool wins is that the performance of navigating between pages should be improved quite a bit. There are also some abbreviations that will work and increase accessibility etc. for various pages.

I know that my team and @agoose77 do have some time to help with specific things, and some issues are in progress this week, so hopefully when we meet again in a few weeks there will be some progress to show!

@JimMadge @da5nsy @BatoolMM @agoose77 @sgibson91

We have had some previous conversations with the Environmental DataScience Book as well:

https://github.com/alan-turing-institute/environmental-ds-book

@acocac

@da5nsy
Copy link

da5nsy commented Jun 20, 2024

Amazing, thank you so much for getting the ball rolling on this @rowanc1. Really excited to see where we can go with this. And happy to assist where we can!

Linking to the issue over on TTW where we've been tracking our own attempts/progress on enabling multi-language support: the-turing-way/the-turing-way#3255

@agoose77
Copy link
Contributor

@rowanc1 was this meeting recorded in any fashion? I had some pre-conceived ideas around what TTW is doing regarding Crowdin, etc, and I know a bit about the space of tools. My read is that there are many ways to do this, so any guidance on the solution that TTW is converging on would be useful context.

@da5nsy
Copy link

da5nsy commented Jun 20, 2024

Hi @agoose77!
Not recorded I'm afraid, but I'm happy to answer (or redirect) any questions you have.

@BatoolMM is the person to ask about translation, or have a look here at our existing documentation.

And then from an infrastructure perspective this is the latest. In summary, there's currently no obvious out-of-the-box tools that we could use to deploy a multi-language site. We might be able to get something working with RTD, but honestly we would prefer an internal process that didn't rely on an external build service (so that we would be able to host anywhere).
(@JimMadge, @sgibson91, @bsipocz - correct me if I've misunderstood!)

@rowanc1
Copy link
Member Author

rowanc1 commented Jun 20, 2024

@fwkoch just made a change that takes turing way from >1min to build to 17 seconds. 🚀

image

@JimMadge
Copy link

Just leaving some of my thoughts/opinions,

Hosting isn't the same as the build. However, hosting that we have considered/used (Netlify, RTD) do place restrictions on the build.
Ideally, I would prefer that we control the build and just copy the output somewhere to host.

Multilingual support seems surprising difficult given how many languages are commonly used.
A lot of the solutions we have looked at seem to have inherited the idea of translations from software, where you have either

  • A set of messages with .po files for each language
  • A primary language with translations for each other language

Neither of these feel like they suit us. We don't want to enforce the idea of a primary or default language. We don't really see the task as reproducing the same information in each language.

Maybe we want something more like Wikipedia, where different languages are fairly independent but if there are pages on the same topic in two languages, you can switch between them.

This really isn't my area so I have no idea how difficult or possible that is 😆

@da5nsy
Copy link

da5nsy commented Nov 20, 2024

Hi folks!
Just adding a note to say that I tried following the instructions at https://next.jupyterbook.org/upgrade to test upgrading TTW and totally failed.
the-turing-way/the-turing-way#3958
Might be a Windows thing, or just me goofing something up, but I don't know.

@agoose77
Copy link
Contributor

@da5nsy thank you for trying out Jupyter Book and reporting back! I'll take a look at this within the next day.

@da5nsy
Copy link

da5nsy commented Jan 14, 2025

We're going to work through the error logs from the-turing-way/the-turing-way#4019 tomorrow at a collab cafe. If any folks from mystmd would like to join they'd be super welcome!

@acocac
Copy link

acocac commented Jan 15, 2025

I've experimented JB2 for EDS book since last month - Happy to join the collab session to have a look at the error logs too!

@rowanc1
Copy link
Member Author

rowanc1 commented Jan 15, 2025

It would be awesome to have a some of the exploration of this documented here so that we can improve things! I think that @agoose77 will be there, however I can't make it. Good luck!! 🚀

@agoose77
Copy link
Contributor

agoose77 commented Jan 15, 2025

We had a look at some error logs. There were a lot of hard-failure errors in @sgibson91's local build that look suspiciously like resource-exhaustion errors during the HTML build specifically.

We also found a lot of errors pertaining to genuinely missing links.

I observed:

  1. We should perhaps support caching link resolution (i.e. "it resolved") for a number of days
  2. We should enable cache persistence of myst builds with the GHA generated by myst init.
  3. Our DOI heuristic might be too aggressive: Examples of discrimination in AI include [racism in predictive policing](https://www.technologyreview.com/2020/07/17/1005396/predictive-policing-algorithms-racist-dismantled-machine-learning-bias-criminal-justice/) is treated as a DOI with 1005396
  4. Our wiki heuristic doesn't understand permalinks to wiki content: https://en.wikipedia.org/w/index.php?title=Tidy_data&oldid=962241815 fails
  5. We end up with a lot of errors RE Waiting for response from http://localhost:3000/remote-collab-guidelines.json that ultimately crash
  6. We also see ECONNRESET errors
  7. Perhaps we want to be able to ignore errors in a particular file e.g. automatic link fragment generation
  8. Do we support {cite}`Corporate Governance and Ethics<Dessain2011governance>`

@rowanc1
Copy link
Member Author

rowanc1 commented Jan 15, 2025

DOI fixed in continuous-foundation/doi-utils#15

The ECONNRESET is likely #1775 if you are building html. Especially for turing way we hit the web server with all requests at once; this should be looped in a promise limit. That should fix 5/6.

rowanc1 added a commit that referenced this issue Jan 15, 2025
rowanc1 added a commit that referenced this issue Jan 15, 2025
rowanc1 added a commit that referenced this issue Jan 15, 2025
rowanc1 added a commit that referenced this issue Jan 20, 2025
Limits outgoing connections to five.

See #1775, #1336
@rowanc1
Copy link
Member Author

rowanc1 commented Jan 20, 2025

This should fix 5/6:

rowanc1 added a commit that referenced this issue Jan 20, 2025
Limits outgoing connections to five.

See #1775, #1336
rowanc1 added a commit that referenced this issue Jan 20, 2025
Limits outgoing connections to five.

See #1775, #1336
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants