Jump to content

Let's decide about LABEL being globally reserved


AL|EN

LABELS  

3 members have voted

You do not have permission to vote in this poll, or see the poll results. Please sign in or register to vote in this poll.

Recommended Posts

When I was writing a guide about "How to properly handle mod components dependencies" and "Best practices for LABEL's" one important thing got my attention:

Do labels from all of my mods are 'reserved' just as filename prefixes? So already defined labels can't be used for other mods, even if they are inside different tp2? So they can be utilized as globally unique ID of the component?

Q: What is LABEL and why I should add LABEL's to my mods?
A: LABEL is a better DESIGNATED. It allows assigning a unique textual identifier for a given mod component. And use this identifier to handle internal dependencies between the components of the same mod and external dependencies of the mods from different authors. By using globally unique LABEL's locally, you are saving yourself the trouble of fixing dependences after DESIGNATED changes. By using external mods LABEL's for defining dependencies, you avoid 'locking' DESIGNATED numbers changes of those mods so the author can freely change them when he needs to.

Before I can move forward with the guides and with the next PI features, I would like to know the modders opinion about this matter.

So let me demonstrate examples of already existing LABEL which are globally unique across all existing and future mods:

Ascension-RewrittenFinalChapterOfToB
Ascension-BalthazarCanBeRedeemed
#L-TRANSITIONS-MAIN
#L-TRANSITIONS-BG1_DREAM
isra_npc_for_bg
isra_valerie_crossmod_content

Some thoughts:

  1. Ensuring that the labels LABEL's are globally unique across ALL existing mods can be achieved without searching across all tp2's. The longer the LABEL is, the higher chance to be globally unique.
  2. Best practices can influence and make sure that all LABEL's created by any modder will be globally unique across all existing mods. I have a list of best practices but let's leave it for another topic.
  3. LABEL's which were unknowingly created by modders are indeed globally unique across all existing mods. This was achieved without any form of community contract or a best practice guide.
  4. If the LABEL's of certain mod contains the unique tp2 name, the label is globally unique. It is hard to imagine a mod that would have "Ascension-*" as a part of its LABEL and not be a component of the Ascension mod. That doesn't mean that a mod can't have for eg: a#-MyMod-Double-Ascension-Creature-Level as LABEL.
  5. LABEL's which contain modder prefixes are automatically reserved only for modders who reserved a given prefix. I think that we can agree that modders prefixes could be used as the first part of the LABEL thus making all labels globally unique.

It appears to me that, similar to modder prefixes, LABEL's should be utilized as globally unique and not as a combination of tp2 name and label itself. And they became globall ID of the component.

This is it!

It's the most important missing functionality in the mod ecosystem. To underline the enormous importance of this, let me mention that if the concept of globally unique ID had been present since the beginning of WeiDU component system, the BWS project would still be bustling with life and would not require 24/7, never-ending Sisyphus work. All the work could be spared to improve mods.

All problems related to changing DESIGNATED numbers are solved by adding a LABEL to the components. Additionally, LABEL's utilized as globally unique (and not only within tp2 files) allow for additional features outside of what WeiDU can do. Right now, it doesn't matter that WeiDU currently cannot use it without providing tp2 name. It can be improved later at least to some degree. Mod managers can use full advantages of LABEL's being utilized as globally unique.

Those are extra advantages that mod ecosystem will get when LABEL's will be utilized as globally unique instead of being bound to tp2 name:

  • so-called mod compilations will not become obsolete after changing the DESIGNATED numbers or even donating components to other mods
  • installation order guides will not become obsolete after changing DESIGNATED numbers or even donating components to other mods
  • mod conflicts list will not become obsolete after changing the DESIGNATED numbers or even donating components to other mods
  • players can safely keep the list of selected components and use it without this kind of nightmare

Everyone, please share your thoughts and opinions.

@CamDawg @argent77 @subtledoctor @DavidW @jastey @Gwendolyne @Bartimaeus @Angel @kjeron @Luke @Magus @Lauriel

 

 

Edited by AL|EN
LABEL's stuff
Link to comment

@Bartimaeus Thanks, I've added nice explanation what is LABEL and why someone should add it to his mods. And another explanation how to use it. Also clarification about how important this decision is from the mod ecosystem perspective.

Edited by AL|EN
Link to comment

At the risk of biased questions, I added an anonymous poll. Please don't be terrified by this, it's not like we are setting-up Devil's pledge.

BTW: The discussion regarding "LABEL's vs marker files" was moved to this topic at my request and with subtledoctor consents.

 

Edited by AL|EN
Link to comment

I want to add a caveat to my 'use them globally' - I mean, that component, no matter which mod may include it, must use that label, even if they also use another.  I reuse components, but I make sure the same label is used.

Edited by Lauriel
Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...