ContentDB - now with package translation support

rob123
Member
Posts: 110
Joined: Wed Mar 03, 2021 07:15
GitHub: qwerty123a2
In-game: joe and joergeg

Re: ContentDB - database for the mod/game/txp in-menu installer

by rob123 » Post

The featured list on the main page has not been updated for months. There is still games from the 2022 game jam.
If my post says something, it is a opinion and not fact unless i say something

User avatar
ROllerozxa
Member
Posts: 228
Joined: Sun Apr 25, 2021 12:25
GitHub: ROllerozxa
IRC: ROllerozxa
In-game: ROllerozxa
Location: Sweden
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by ROllerozxa » Post

rob123 wrote:
Wed Aug 16, 2023 05:32
The featured list on the main page has not been updated for months. There is still games from the 2022 game jam.
Well, can you suggest some new packages to feature then?
ContentDB Editor | Website | ContentDB

User avatar
debiankaios
Member
Posts: 919
Joined: Thu Dec 03, 2020 12:48
IRC: debiankaios
In-game: debiankaios Nowe
Location: germany
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by debiankaios » Post

What is about connecting your ContentDB-account with the minetest-client?

User avatar
Neuromancer
Member
Posts: 1014
Joined: Tue Jun 12, 2012 22:28
GitHub: Neuromancer56

Re: ContentDB - database for the mod/game/txp in-menu installer

by Neuromancer » Post

Once you have implemented the ability to apply/enable a collection to a world, might I suggest adding collection settings. With this functionality it would give non-coders the ability to fine tune a collection of mods so that they make a perfect game, and also resolve minor incompatibilities between mods in collections. There would be an explosion of creativity at this point, because essentially all players (even non-coders) could create compelling games for Minetest. It would also start incentivizing modders to make their mods more configurable, and thus better able to play nice with other mods. It would be a game-changer for Minetest.

User avatar
Blockhead
Moderator
Posts: 2989
Joined: Wed Jul 17, 2019 10:14
GitHub: Montandalar
IRC: Blockhead256
In-game: Blockhead Blockhead256
Location: Land Down Under
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by Blockhead » Post

Neuromancer wrote:
Sat Aug 19, 2023 12:40
Once you have implemented the ability to apply/enable a collection to a world, might I suggest adding collection settings.
Settings that override minetest.conf settings when the collection is enabled instead of the individual mods? Or additional settings that mods inside the collection code do conditionals on inside the code?

With the first, there would need to be a list of allowed settings, otherwise you could turn mod security off/add certain mods to mod security and distribute Minetest viruses. With the second, that's not really a non-coder approach.
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂

User avatar
Neuromancer
Member
Posts: 1014
Joined: Tue Jun 12, 2012 22:28
GitHub: Neuromancer56

Re: ContentDB - database for the mod/game/txp in-menu installer

by Neuromancer » Post

Blockhead wrote:
Sun Aug 20, 2023 02:53
Neuromancer wrote:
Sat Aug 19, 2023 12:40
Once you have implemented the ability to apply/enable a collection to a world, might I suggest adding collection settings.
Settings that override minetest.conf settings when the collection is enabled instead of the individual mods? Or additional settings that mods inside the collection code do conditionals on inside the code?

With the first, there would need to be a list of allowed settings, otherwise you could turn mod security off/add certain mods to mod security and distribute Minetest viruses. With the second, that's not really a non-coder approach.
I think I'm talking about the first. Meaning configurable at the collection level, and overriding the settings when you go to Settings Tab> All Settings> Content: Mods. You'd want to be able to allow users to tweak this as well. So probably on the Settings tab Content: Mods, have a dropdown for which collection settings you are overriding. I think it would probably be far easier to maintain a blacklist of any sensitive settings that shouldn't be overridden rather than maintaining an ever growing list of which settings are whitelisted. But a poor man's way of doing this if it's too much of a risk would be having the collection creator just put what the settings should be in the collection description/comments, and then allowing the users to enter those settings for the collection under the settings tab in Minetest.

User avatar
rubenwardy
Moderator
Posts: 7104
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: London, United Kingdom
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by rubenwardy » Post

Collections

Users can now make "collections". These are lists of packages that you can reorder and add descriptions to. Each collection has a page where you can add markdown text. Example: https://content.minetest.net/collection ... nal_games/

Each user also has a "Favorites" collection, and there's a button on each package page to quickly favorite a package. Favorites collections are public by default but can be changed by editing the collection.

Image

Collections can be used for curation/recommending packages, guides, sharing lists of mods you use, keeping track of packages you want to try, and more. Eventually, you'll be able to install packages from collections in the client.

Collections are also used internally by ContentDB staff to feature packages on the homepage and in the client. This replaces the "protected tags" feature which was quite hacky.


10,000,000 downloads

Image


Other ContentDB updates

  • Upgraded to Bootstrap 5
  • Review helpfulness votes don't reload the page anymore (if you have JS enabled)
  • Can submit comments using ctrl+enter
  • Improved form UX by adding "Required" labels and improving hints
  • Added ability to select date ranges on statistics pages
  • Added an API for getting package descriptions as Minetest hypertext. This will allow showing the full descriptions in the client in the future
  • Added links to sort packages by downloads/date/etc in user profiles
  • Improvements and fixes game support
  • Lots of refactoring and modernisation
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
Neuromancer
Member
Posts: 1014
Joined: Tue Jun 12, 2012 22:28
GitHub: Neuromancer56

Re: ContentDB - database for the mod/game/txp in-menu installer

by Neuromancer » Post

ContentDb just sent me the following message for all of my packages on contentDb: Failed to check git repository

Error: 'fatal: unable to access 'https://github.com/Neuromancer56/phonics/': getaddrinfo() thread failed to start'.

User avatar
rubenwardy
Moderator
Posts: 7104
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: London, United Kingdom
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by rubenwardy » Post

Yeah, that's a very strange issue. Downgrading from Python 3.10.13 to 3.10.11 appears to fix it
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
mtvisitor
Member
Posts: 157
Joined: Sun Jul 10, 2022 08:54
IRC: mtvisitor
In-game: mtvisitor
Location: East China

Re: ContentDB - database for the mod/game/txp in-menu installer

by mtvisitor » Post

Is there some voting sub-system for ContentDB which the mod users and developers could vote for their favorite mod(s) online ?

thank you very much for your help and support. 🤝
Crane Zhou | My mt. world, my mt. dream | No money, no happy.

User avatar
rubenwardy
Moderator
Posts: 7104
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: London, United Kingdom
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by rubenwardy » Post

mtvisitor wrote:
Sat Sep 02, 2023 02:58
Is there some voting sub-system for ContentDB which the mod users and developers could vote for their favorite mod(s) online ?

thank you very much for your help and support. 🤝
ContentDB has a review system, there's a row on the homepage for highest reviewed packages. There's also a favourites/starring system, but that's more for saving packages
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
mtvisitor
Member
Posts: 157
Joined: Sun Jul 10, 2022 08:54
IRC: mtvisitor
In-game: mtvisitor
Location: East China

Re: ContentDB - database for the mod/game/txp in-menu installer

by mtvisitor » Post

rubenwardy wrote:
Sat Sep 02, 2023 09:39
mtvisitor wrote:
Sat Sep 02, 2023 02:58
Is there some voting sub-system for ContentDB which the mod users and developers could vote for their favorite mod(s) online ?

thank you very much for your help and support. 🤝
ContentDB has a review system, there's a row on the homepage for highest reviewed packages. There's also a favourites/starring system, but that's more for saving packages
okay, thank you very much for your answer(s). 🤝🍺
Crane Zhou | My mt. world, my mt. dream | No money, no happy.

User avatar
runs
Member
Posts: 3225
Joined: Sat Oct 27, 2018 08:32

Re: ContentDB - database for the mod/game/txp in-menu installer

by runs » Post

"Failed to check github repository" error because new authentification system I asume.

User avatar
runs
Member
Posts: 3225
Joined: Sat Oct 27, 2018 08:32

Re: ContentDB - database for the mod/game/txp in-menu installer

by runs » Post

Hey,

I propose a server section, informative thing and even download the entire server from github if available.

Regards.

User avatar
Nininik
Member
Posts: 955
Joined: Thu Apr 06, 2023 01:55
GitHub: nininik0
IRC: nininik
In-game: nininik
Location: CA, Team thunderstrike headquarters
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by Nininik » Post

I just love the fact that there's several websites dedicated solely to MT, and thay we can post our mods here.
↯Glory to Team Thunderstrike!↯
↯T.T.S.↯

User avatar
sorcerykid
Member
Posts: 1920
Joined: Fri Aug 26, 2016 15:36
GitHub: sorcerykid
In-game: Nemo
Location: Illinois, USA

Re: ContentDB - database for the mod/game/txp in-menu installer

by sorcerykid » Post

It appears I've discovered a couple issues with the markdown preview on ContentDB. Using the toolbar button to create a list, shows all of the list items running together in the preview pane.

Image

Also, using triple backticks to demarcate a code block results in white on gray text in the preview pane. Oddly enough, it renders fine on the package information page. So perhaps it's just a stylesheet issue.

Image

Edit: It looks like I discovered the issue with the bulleted lists. Apparently a blank line is required before the first list item. Yet testing this on the top 5 markdown editors online, do not have this restriction.

User avatar
rubenwardy
Moderator
Posts: 7104
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: London, United Kingdom
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by rubenwardy » Post

That's the expected behaviour, the preview uses the server-side markdown implementation. I use the "markdown" python library, it's fairly strict with how it interprets the markdown "spec" and so requires a blank space before lists. Markdown is only informally specified, there's no standard spec as such and each implementation does things differently. Perhaps I'll switch to another implementation at some point
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
Blockhead
Moderator
Posts: 2989
Joined: Wed Jul 17, 2019 10:14
GitHub: Montandalar
IRC: Blockhead256
In-game: Blockhead Blockhead256
Location: Land Down Under
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by Blockhead » Post

sorcerykid wrote:
Sun Oct 15, 2023 14:18
Edit: It looks like I discovered the issue with the bulleted lists. Apparently a blank line is required before the first list item. Yet testing this on the top 5 markdown editors online, do not have this restriction.
"top 5 online"? I thought GitHub's markdown previews did the same, and would give that a substantial amount of weight. And like Rubenwardy said, "markdown" isn't really one language. It's got a bunch of different syntaxes that are more or less strict and some extensions like tables - see e.g. commonmark.org.
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂

User avatar
Linuxdirk
Member
Posts: 3415
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by Linuxdirk » Post

CommonMark is pretty much consensus nowadays, when it comes to Markdown parsing.

So maybe using mistletoe would be a good idea to consider. It not only follows CommonMark, it’s also extensible by design.

User avatar
Nininik
Member
Posts: 955
Joined: Thu Apr 06, 2023 01:55
GitHub: nininik0
IRC: nininik
In-game: nininik
Location: CA, Team thunderstrike headquarters
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by Nininik » Post

guys, just.... Do we really need a github repository for mods? like I have an anti-lag texture pack with 785 textures and I tried to upload them 3 times but once it said try to upload less than 100 files, so I did. BUT THEN I TRIED AGAIN AND when I pressed commit changes it said the submitted form was invalid please try again, so my progress failed, TWO TIMES.
↯Glory to Team Thunderstrike!↯
↯T.T.S.↯

User avatar
ROllerozxa
Member
Posts: 228
Joined: Sun Apr 25, 2021 12:25
GitHub: ROllerozxa
IRC: ROllerozxa
In-game: ROllerozxa
Location: Sweden
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by ROllerozxa » Post

Nininik wrote:
Fri Oct 20, 2023 03:30
guys, just.... Do we really need a github repository for mods? like I have an anti-lag texture pack with 785 textures and I tried to upload them 3 times but once it said try to upload less than 100 files, so I did. BUT THEN I TRIED AGAIN AND when I pressed commit changes it said the submitted form was invalid please try again, so my progress failed, TWO TIMES.
You should use a proper Git client for committing that large amount of files rather than using the GitHub web UI. If you are on a phone you can use Termux and install gitui in it.
ContentDB Editor | Website | ContentDB

User avatar
Linuxdirk
Member
Posts: 3415
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by Linuxdirk » Post

Nininik wrote:
Fri Oct 20, 2023 03:30
Do we really need a github repository for mods?
No, you can (and should, but that’s just my opinion) use another Git hosting service than GitHub.

You can even host your own.

User avatar
rubenwardy
Moderator
Posts: 7104
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy
Location: London, United Kingdom
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by rubenwardy » Post

OAuth2 Applications

You can now create OAuth2 Applications.This could be used for "Sign in with ContentDB" on third-party sites. It currently only allows access to public data, but ability to request more scopes like editing packages could be supported in the future depending on demand. Interested to see what people do with this, and any ideas for future integrations.

Docs: https://content.minetest.net/help/oauth/

Image

Other changes

  • Added a photo gallery popup/lightbox to packages (thanks recluse4615)
  • Added a super fast latest release API (used by update detection in 5.8.0)
  • Readded "Sync with forums" button for profile pics
  • Fixed position of table of contents on help pages
  • Added how to install help page
  • Various bug fixes and UX improvements
Renewed Tab (my browser add-on) | Donate | Mods | Minetest Modding Book

Hello profile reader

User avatar
Nininik
Member
Posts: 955
Joined: Thu Apr 06, 2023 01:55
GitHub: nininik0
IRC: nininik
In-game: nininik
Location: CA, Team thunderstrike headquarters
Contact:

Re: ContentDB - database for the mod/game/txp in-menu installer

by Nininik » Post

wow, gotta love the fact that there's a steam marketplace type of thing but specifically for minetest.
↯Glory to Team Thunderstrike!↯
↯T.T.S.↯

doxygen_spammer
Member
Posts: 71
Joined: Wed Dec 16, 2020 16:52
GitHub: doxygen-spammer

Re: ContentDB - database for the mod/game/txp in-menu installer

by doxygen_spammer » Post

rubenwardy wrote:
Mon Jul 03, 2023 22:22
doxygen_spammer wrote:
Mon Jul 03, 2023 22:15
I already do that (and git-archive-all understands it correctly), but it still doesn’t work.
The problem must be in ContentDB.
ContentDB uses git-archive-all to create the archives, ContentDB itself never parses .gitattributes. It works with other packages - the only thing different here is **/, so I imagine that is causing the issue

The relevant code is:

Code: Select all

from git_archive_all import GitArchiver
archiver = GitArchiver(prefix=release.package.name, force_sub=True, main_repo_abspath=repo.working_tree_dir)
archiver.create(destPath)
Perhaps one of these arguments explains why it doesn't work on ContentDB but does work with your tests of git-archive-all
I looked again at this.
I quickly found the code you have quoted in July, and I think the issue is just that ContentDB checks the repository, but not the release¹.
I think there is no point in checking the repository, since it may well contain things not in the release.
However, it is necessary to check the release, since it might be missing important things (e. g. be totally empty).

¹) With release I mean the packaged mod which git-archive-all has created, and will be downloaded by Minetest clients.

If I understand everything correctly, the order should be changed.
The below code snipped illustrates it.

Code: Select all

@celery.task(bind=True)
def make_vcs_release(self, id, branch):
    release = PackageRelease.query.get(id)
    if release is None:
        raise TaskError("No such release!")
    elif release.package is None:
        raise TaskError("No package attached to release")

    with clone_repo(release.package.repo, ref=branch, recursive=True) as repo:
        post_release_check_update(          #   }
            self,                           #   }
            release,                        #   }------->-------+
            repo.working_tree_dir)  # <--+  #   }               |
                                    #    +------------------+   |
                                                        #   |   |
        filename = random_string(10) + ".zip"           #   |   |
        destPath = os.path.join(                        #   |   |
            app.config["UPLOAD_DIR"],                   #   |   |
            filename)                                   #   |   |
                            #      ______-------------------+   |
                            #     /      \              #       V
        assert(not os.path.isfile(destPath))            #       |
        archiver = GitArchiver(                         #       |
            prefix=release.package.name,                #       |
            force_sub=True,                             #       |
            main_repo_abspath=repo.working_tree_dir)    #       |
        archiver.create(destPath)                       #       |
        assert(os.path.isfile(destPath))                #       |
                                                        #       |
        #     <-------------------------------------------------+

        release.url         = "/uploads/" + filename
        release.task_id     = None
        release.commit_hash = repo.head.object.hexsha
        release.approve(release.package.author)
        db.session.commit()

        return release.url
Cheers, doxy

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests