Author Topic: weidu next generation - add additional main keywords to provide information  (Read 3349 times)

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 390
  • Gender: Male
Please add few extra keywords for providing information:

FULLNAME - single-language full name of the mod, not for translation, without version number ( eg. Rouge Rebalancing )
DESCRIPTION - single-language description of the mod, not for translation
HOMEPAGE - link to forum thread or the webpage which has lot of information about mod etc (userful when SUPPORT keyword contains email or some other ID but not the page)
MAINTAINER - in case this flag exist, the "send error messages" should use this instead of the value from AUTHOR, no limitation of the content (can be email, webpage, link to send PM)
SUPPORT(AUTHOR alias) - instead of indicationg mod authorship, SUPPORT keyword should contain link to forum thread when the player can receive feedback not only from author
SEMANTICVERSION - only numbers + dots, required schematic of semantic versioning
DOWNLOAD - direct link to always up to date latest stable release of the mod, possible for G3,SHS,BWL and GitHub. PPG website links can't be used for now.

Maybe I will post more later, if someone have idea please contribute.

EDIT: changed DESCRIPTION, added FULLNAME, removed MAINTAINER
EDIT2: added DOWNLOAD
« Last Edit: March 05, 2018, 08:56:39 AM by AL|EN »
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
I don't think the TP2 file is the right place for metainformation. You shouldn't need to run WeiDU to get at it. The manifest file of the proposed new packaging format would seem like a more appropriate place to put it. The manifest can itself be in JSON and be directly parseable, without first invoking WeiDU. MAINTAINER seems pointless; just use AUTHOR already. Since SEMANTICVERSION would have to be optional anyway and semantic versioning is mostly about dependency resolution, it, too, seems like a better fit for the package format.

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 390
  • Gender: Male
I don't think the TP2 file is the right place for metainformation. You shouldn't need to run WeiDU to get at it. The manifest file of the proposed new packaging format would seem like a more appropriate place to put it. The manifest can itself be in JSON and be directly parseable, without first invoking WeiDU.

I've forgot to add that most of those new KEYWORDS should be mandatory (regardless of where they are):

FULLNAME
DESCRIPTION
HOMEPAGE (optional)
SEMANTICVERSION

By requesting those new KEYWORDS as mandatory for every mod, I'm trying to solve "missing mod information" problem for "mod installer tool".  It shouldn't be possibile anymore to create a mod without such basic mod information and the mod author should be responsible for them, not the community. The important part is not where the data is stored but what is required by weidu (next generation) in order to even start mod installation.

The manifest JSON file solution might work (+move AUTHOR, VERSION, README ) but only with the condition that including such file is mandatory in order for mod to be installed successfully. Otherwise, it's not linked to the mod itself - it means that mod author can be careless and ignore creating such file. Also maintaining two files can cause people to forgot to edit/update JSON after they edited tp2

There are two ways of solving this problem:

1.
- break compatibility with old wiedu (already requested)
- require new mandatory keywords to be placed into tp2
- "mod installer tool" will announce new mandatory requirements: we only support mods adapted to wiedu next generation

2.
- break compatibility with old wiedu (already requested)
- require new manifest JSON file to be included with mod (setup-<modname>.json), weidu won't execute without it
- "mod installer tool" will announce new mandatory requirements: we only support mods adapted to wiedu next generation

If the KEYWORDS/manifest aren't mandatory, nothing will change for the "mod installer tool"/central mod database.

MAINTAINER seems pointless; just use AUTHOR already.
If it would be some other modding community I wouldn't even think about it. But some recent improvements and patches which were provided for old BG mods was put my attention at this matter. The AUTHOR should be used only to indicate original creator of the mod. If somebody take care of the mod, modernize it and adopt to modern platforms, he also want's a feedback from players. Yet, he cannot change AUTHOR keywords because he expose himself to some copyright-troll who will screw all his hard work by saying that he "stole" the mod by replacing AUTHOR keyword. I would very much like to ignore something like this, but I can't. I'm asking a technical solution to get rig of "copyright" problem in such case. It's not too much work, It would be optional but if it can save us from some shitstorm, please reconsider it.
« Last Edit: July 10, 2017, 03:15:02 PM by AL|EN »
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
I've forgot to add that most of those new KEYWORDS should be mandatory (regardless of where they are):
Take a good, long look at the current state of the modding community. Making anything mandatory at this stage is wishful thinking.

SEMANTICVERSION ( mandatory ) - only numbers + dots, required schematic of semantic versioning
And an extra no for this, just for good measure.

MAINTAINER seems pointless; just use AUTHOR already.
If it would be some other modding community I wouldn't even think about it. But some recent improvements and patches which were provided for old BG mods was put my attention at this matter. The AUTHOR should be used only to indicate original creator of the mod. If somebody take care of the mod, modernize it and adopt to modern platforms, he also want's a feedback from players. Yet, he cannot change AUTHOR keywords because he expose himself to some copyright-troll who will screw all his hard work by saying that he "stole" the mod by replacing AUTHOR keyword. I would very much like to ignore something like this, but I can't. I'm asking a technical solution to get rig of "copyright" problem in such case. It's not too much work, It would be optional but if it can save us from some shitstorm, please reconsider it.
This is a solution desperately searching for a problem.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 390
  • Gender: Male
Let me quickly answer this one:
This is a solution desperately searching for a problem.
Agree, I'm exaggerating problem but that's what this community teach me to do when it comes to copyright. I will skip talking about recent ridiculous examples and I won't nag about MAINTAINER anymore.
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 390
  • Gender: Male
Take a good, long look at the current state of the modding community. Making anything mandatory at this stage is wishful thinking.

I did. That is what I saw:

- new mod authors appeared
- new mods are still created
- old mods are updated for EE and even for EET
- weidu is constantly updated to bring EE-features
- modding tools are still maintained
- mod hosting sites had some troubles but except one big loss (rpgdungenon.net) it seems that most of them are fine

What are you referring to?

Let me tell you why I'm requesting those extra mod data to be mandatory. It's because they are required for BWS/mod database ( Zeitgeist can use it) and the only rightful source of such information are mod authors. Not the community and definitely not the people who wan't to create BWS successor/central mod database/other stuff.
Without this responsibility switch, I can assure you you that chances for any new things are dramatically low - nobody alone will repeat our mistakes. If you still not convinced, let me add that the amount of work of three maintainers of the BWS wasn't enough to keep those information up to date and it is the main reason for all of them to abandon this never-ending, repeating work.

You are against SEMANTICVERSION, consider VERSION is not mandatory, are you really telling me that require a mod package to have:
FULLNAME
DESCRIPTION
SEMANTICVERSION/VERSION
and optional HOMEPAGE is too much? Really to much? I'm sorry but we will go nowhere if you against such trivial requirements. I would understand if my request was some enormous code changes which require lot of work from mod authors. But these requirements are very easy to meet ( they can even copy those data from BWS ini files), yet they have huge impact at the success of future projects like BWS successor/central mod database.

Also, there is a universal mod package in weidu roadmap. Does such idea should be also abandoned because it will have requirements and it would require mod authors to do something which they didn't do in the past? I don't think that require something after 15 years of status-quo is something terrible.
« Last Edit: July 10, 2017, 03:03:48 PM by AL|EN »
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
The mod graveyard remains substantial, with little suggesting a substantial change in the offing. Making something mandatory simply means we add unnecessary exclusions from ZG or add a lot of make-work. My objection is not to metainformation, or really even to your specific suggestions, it's to the mandatory part.

As for BWS having to maintain such information themselves, I'm an author of... however many mods list me as author, I don't know. I can count the number of times BWS solicited me for information (or offered me a tool where I could have done so myself) on zero fingers. The solution, upon which we agree, is to provide a way for authors to easily provide this information. Most (probably all) of the mods that won't or can't provide this info can get by with old, static information since they're either EOL or abandoned.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline CamDawg

  • Infidel
  • Planewalker
  • *****
  • Posts: 859
  • Dreaming of a red Xmas
    • The Gibberlings Three
Oh, and I should probably add: I would not object, and in fact would likely support, making at least some of this metainformation mandatory going forward. If you're publishing updates or new mods in 2017, yes, you should adhere to the standards of the time. Again, though, no one's going to be publishing new versions of Shards of Ice or Fonick because of missing meta.
The Gibberlings Three - Home of IE Mods

The BG2 Fixpack - All the fixes of Baldurdash, plus a few hundred more. Now available, with more fixes being added in every release.

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 390
  • Gender: Male
Quote
As for BWS having to maintain such information themselves, I'm an author of... however many mods list me as author, I don't know. I can count the number of times BWS solicited me for information (or offered me a tool where I could have done so myself) on zero fingers.
Because there wasn't any easy way for mod authors to provide such information, until I've made my weidu Auto-Parser which can provide 90% of mod except ACTION_READLN ( weidu limitation ). But there are also mod dependence and conflicts and it would be too much burden to maintain for someone who don't know BWS internals. Fixpack and Tweakpack are mandatory mods so the updates were provided almost instantly.

You along with few other modders are kindly enough to provide updates and I'm grateful. Others are careless but I don't blame them - dabus and the rest of BWS maintainers did all the work for them. We have no idea how much works it will be until it was too late and we burn out. The good thing is that I'm at least aware about those issues and I'm trying to solve them.

Quote
The mod graveyard remains substantial, with little suggesting a substantial change in the offing. Making something mandatory simply means we add unnecessary exclusions from ZG or add a lot of make-work. My objection is not to metainformation, or really even to your specific suggestions, it's to the mandatory part.
The solution, upon which we agree, is to provide a way for authors to easily provide this information. Most (probably all) of the mods that won't or can't provide this info can get by with old, static information since they're either EOL or abandoned.
Quote
Again, though, no one's going to be publishing new versions of Shards of Ice or Fonick because of missing meta.

We definitely agree at the "easy way to provide metainformation". I'm requesting those as mandatory is only for mods which will be adapted to new wiedu next generation. Old, unmaintained mods will use old weidu and if somebody will care enough to have them added to BWS successor/central mod database, he will do the job. And we already have big metadata database which we will use for old, unmaintained mods. If there will be any update to such old mod, the missing metadata would be taken from outside source which already exist - BWS ini files. The maintainer will take existing metadata and adapt the mod to wiedu next generation. I don't see any problems for old mods.

If you talking about 50 old, non-EE, kit/one day NPC/overpowered items mods then nobody needs to update them. They would use latest version of old WeiDU without breaking changes. New WeiDU 1.0.0.0 (yep, semantic versioning) would not be touched by old version/it won't touch old weidu executable so those mods can be installed without any problems.

Besides you don't know which mods will be updated. Nobody knew that RoT will be updated to EE/EET until it has been updated. Same for CtB, Aurora, NTotSC and others. It shows that the "mod graveyard" could be much smaller in the future.


Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Package format it is. I'll revisit when the day comes.

Offline ikki

  • Planewalker
  • *****
  • Posts: 10
Quote
Please add few extra keywords for providing information

Would it be possible to add some metadata for a basic install order, that would allow some sort of autosorting of the mods.
What i'm thinking is very basic : should a mod be installed first, or later, or at the end

And maybe a metadata with the Games that are supported
« Last Edit: July 18, 2017, 09:10:41 AM by ikki »

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Would it be possible to add some metadata for a basic install order, that would allow some sort of autosorting of the mods.
What i'm thinking is very basic : should a mod be installed first, or later, or at the end

And maybe a metadata with the Games that are supported
Would this be sufficiently fine-grained to be of use? If two mods are to be installed at the end, which is installed last?

Offline ikki

  • Planewalker
  • *****
  • Posts: 10
Quote
Would this be sufficiently fine-grained to be of use? If two mods are to be installed at the end, which is installed last?
Having a basic install order, donne by the modder themself, would be very handy.
That's a concrete way of doing it, but this is improvable

Add a INSTALL_ORDER metadata, that require a number betwenn 0 and 1000 (or 0 and 10000)
give some threshold (that are not restrictive) for the modder to chose an install number
- 0-100 : mod that require to be installed first( like the BG2fixpack)
- 100-200 : big quest mod
- 200-300 : quest mod
- 300-500 : NPC mod
- 500-600 : tweak/kit mod
- 600-700 : AI mod
- 700-800 : tweak/kit mod
- 900-1000 : mod that need to be installed very late (EET-end, worldmap)

in case of indentical number, have weidu/zeitgeist use the modname to sort them
« Last Edit: July 21, 2017, 03:48:40 AM by ikki »

Offline AstroBryGuy

  • Planewalker
  • *****
  • Posts: 154
  • Gender: Male
@ikki - What do you do about mods like Item Revisions, that require some components to be installed early and others be installed late? (e.g., IRs main component overwrites .ITM files so it should be installed early, but the later components need to be installed after other mods that add or replace items).

Offline ikki

  • Planewalker
  • *****
  • Posts: 10
Quote
What do you do about mods like Item Revisions, that require some components to be installed early and others be installed late

This is just something that may be examined.
If Zeitgeist could, when reading the TP2 sort the mod in a correct order, it would make the install more easy.

Now, look at what EET in doing : it has a component that must be installed first, and a second at the end. It handle that by using 2 separate .tp2.

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 390
  • Gender: Male
INSTALL_ORDER/INSTALL_SEQUENCE is a good idea because even if weidu can't use this data for future mod/components, external systems can. But since it is a data for component, it should not be inside IE mod manifest but inside --list-components-JSON.

Meanwhile:
under the assumption that mod authors can forget to edit tp2 keywords the same way as they can forget to edit JSON, let's take look at the simple example of additional file which will serve as IE mod manifest and provide necessary data:

7c#foebane.iemod - the .iemod filename is the same as .tp2 filename
Quote
{
   "mod":
   {
      "name": "Foebane +3 and +5 improvement"
      "description": "Correct Foebane's damage against extra planar creatures",
      "semanticversion": "1.2.0.0"
      "author": "elminster at forums.beamdog.com",
      "homepage": "https://forums.beamdog.com/discussion/comment/779516",
      "download": "http://lynxlynx.info/ie/modhub.php?CrevsDaak/7c#foebane"
   }
}

The advantage of additional IE mod manifest file:
- it can be added/modified without touching tp2 file
- it can be read without executing weidu
- it is using standard JSON format so it can be modified using standard data modification protocols

I think that IE mod manifest file is the way to go.
« Last Edit: July 28, 2017, 09:02:46 AM by AL|EN »
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 390
  • Gender: Male
New keyword:

DOWNLOAD - direct link to always up to date latest stable release of the mod, possible for GitHub,G3,SHS and even for BWL. PPG website links can't be used for now.
Mod authors can put there anything but there is nothing which we can do about it. Again, weidu can't use such data now ( but clever tp2 code can! ) but external system will use it.
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 390
  • Gender: Male
Well, it seems that something like MAINTAINER is still valid issue:

Quote from Roxanne:
Quote
Currently the only way to indicate that a mod is now maintained by another person is by some free text with //in the tp2 or in the readme. Players do not necessarily open these files to search such information.
If people encounter problems e.g with EE journal or other conversion problems, it is little help to point them to a long gone (or not interested) AUTHOR instead of giving feedback to the MAINTAINER.
The issue becomes even bigger over time as more and more mods are maintained by others than the AUTHOR.
In addition, a nlot of new players communicate and find mods via new bean dogs forum rather than Spellhold or G3. They are mostly unaware about the history of the older mods. All they see in case of error is the old *report problem to (long gone person). This is useless.
Call the stuff MAINTAINER or CONTACT or whatever. AUTHOR  may not have been very useful in the past, but today with a whole new generation of mod players, it would be very helpful to give them a *real* point of contact.
 PS - it would also avoid that trouble reports end up in the more general threads like *Mega Mod Help* or *BWS* because nobody knows where else to report them. And if something is done at all, it then ends up in fixpack instead of being fixed in the mods as it should be.


I hope that this proves my point so my new proposition is SUPPORT keyword.
« Last Edit: July 28, 2017, 04:47:51 AM by AL|EN »
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline GeN1e

  • Planewalker
  • *****
  • Posts: 267
  • Gender: Male
Honestly, I don't see a reason why AUTHOR should not be treated as MAINTAINER, which it really is - this string is only ever displayed when WeiDU tells the user to contact support. If it's a matter of "copyright"... good god, there's readme for that kind of information, while tp2 exists for the purpose of installing the thing correctly.

Offline AL|EN

  • Planewalker
  • *****
  • Posts: 390
  • Gender: Male
GeN1e, it seems that the "AUTHOR" keyword should be "SUPPORT" in the first place. Well, let me quickly go to my garage and fireup my time machine ;) So how about an alias to AUTHOR as SUPPORT? Old mods will be fine, maintainers of the old mods could rename AUTHOR to SUPPORT and achieve peace of the mind?
Project Infinity public BETA - mod manager for Infinity Engine games
Modder's Guide to Github - you cannot have progress without committing changes

Offline Wisp

  • Moderator
  • Planewalker
  • *****
  • Posts: 1176
Yes, I can add SUPPORT as an alias for AUTHOR.

Offline Almateria

  • Planewalker
  • *****
  • Posts: 76
Yay, a compromise after all the bickering! <3

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: