MovingBlocks / Terasology

Terasology - open source voxel world
http://terasology.org
Apache License 2.0
3.68k stars 1.34k forks source link

Filter obsolete modules from download listing #1891

Open msteiger opened 9 years ago

msteiger commented 9 years ago

Currently, the module listing shows all modules that are available in Artifactory for download. Two exceptions are currently filtered explitly: engine and engine-test. They exist in the meta-server list, because they are used for dependency resolution.

There are a few old modules like TerraTech, LandsOfTerra, and Rails that'll outright crash or make no sense. Maybe obsolete modules that exist in Artifactory but have been removed from the standard lineup should be filtered from the list in the "Select Modules" dialog.

The filter could or even should be aligned with the Omega list. I think the meta-server should provide all information and the filtering should be part of the engine.

How and where do we define the list of obsolete modules?

Suggestion for UI: If a module is available online but not in Omega mark it a darker gray than "not downloaded yet" to flag for "Caution" and have the game disclaim as much in the description box.

Taken from #1884.

Cervator commented 9 years ago

Rather than necessarily keep a list of obsolete modules we could treat the distro lists as repository manager indices of a sort. Users could activate different ones, even third party entries. Akin to enabling an unstable repo with updates/apps for an OS, if you dare.

Beyond Omega I considered a "Zeta" for "everything else" that produces a valid (even if crashy) build. Might compare to a "universe" repo type in some contexts, dunno. Module goes obsolete? Just make sure it isn't in any of the lists.

Zeta could be populated with a module entry automatically if it successfully releases (with authors able to release there's still no guarantee it is or remains stable). Or it could even include snapshots. Or there could be a snapshot distro ... lots of different options.

We've got a few related forum threads and more automation & release management to do for all that to work fully :-)

Finally: we could decorate modules with a letter or icon corresponding to the most stable distro they come from. So I for Iota (game foundation), O for Omega (extendeed game content) etc.