DMsGuild Classic
Page 1 of 2 12 Last
  1. #1

    Restricting An Extension to CoreRPG v3.0.8 (And Above)

    Hi Guys,

    Stupid question, but what values do I need to put in my Extension File to restrict the Extension to only be used with the CoreRPG v3.0.8 and above.

    I know the code:

    Code:
    <properties>
    	<ruleset>
    		<name>d20</name>
    		<minrelease>12</minrelease>
    	</ruleset>
    </properties>
    I just unsure of the relevant values

    Cheers
    Dulux-Oz

    √(-1) 2^3 Σ Π
    ...And it was Delicious!


    Alpha-Geek
    ICT Professional
    GMing Since 1982
    NSW, Australia, UTC +10
    LinkedIn Profile: www.linkedin.com/in/mjblack

    Watch our games on Twitch: www.twitch.tv/dulux_oz

    Support Me on Patreon: www.patreon.com/duluxoz

    Past Games, etc, on my YouTube Channel: www.youtube.com/c/duluxoz

  2. #2
    You have to use the release number in the ruleset base.xml file.

    I have typically only been incrementing this release number when the database structure changes, not when any part of the ruleset is changed. The reason is that the version number has primarily only been used for data migration code.

    Communication in the extension thread has been the main way to let people know which version.

    A better version management system would be great, but causes some backward compatibility concerns and requires dev design/code time to make sure it works well in the FG client. Given current Unity push, it's not in the cards short term.

    What specific capabilities in 3.0.8 are you using?

    You might just need to remind me to increment internal release number if necessary.

    Regards,
    JPG

  3. #3
    I'm primarily using the Extension package - you know, the new getExtensions() and getExtewnsionInfo() functions

    Cheers
    Dulux-Oz

    √(-1) 2^3 Σ Π
    ...And it was Delicious!


    Alpha-Geek
    ICT Professional
    GMing Since 1982
    NSW, Australia, UTC +10
    LinkedIn Profile: www.linkedin.com/in/mjblack

    Watch our games on Twitch: www.twitch.tv/dulux_oz

    Support Me on Patreon: www.patreon.com/duluxoz

    Past Games, etc, on my YouTube Channel: www.youtube.com/c/duluxoz

  4. #4
    Actually Moon, while I've got you online - do we need to do anything "special" to get the Extension "registered" with the Extension package - cause I can't seem to get any data back out of get Extensions()
    Dulux-Oz

    √(-1) 2^3 Σ Π
    ...And it was Delicious!


    Alpha-Geek
    ICT Professional
    GMing Since 1982
    NSW, Australia, UTC +10
    LinkedIn Profile: www.linkedin.com/in/mjblack

    Watch our games on Twitch: www.twitch.tv/dulux_oz

    Support Me on Patreon: www.patreon.com/duluxoz

    Past Games, etc, on my YouTube Channel: www.youtube.com/c/duluxoz

  5. #5
    OK, I've got the data retrieval sorted - all except Ruleset Dependencies. The following is in the Extensions.xml file:

    Code:
    <properties>
    	<name>Test Extension</name>
    	<version>1.0</version>
    	<author>Matthew James BLACK.</author>
    	<description>An Extension to Test the Extensions Module.</description>
    	<ruleset>
    		<name>d20</name>
    		<minrelease>12</minrelease>
    	</ruleset>
    	<ruleset>
    		<name>My Ruleset</name>
    		<minrelease>2</minrelease>
    		<maxrelease>12</maxrelease>
    	</ruleset>
    	<dependency>
    		<name>Locations</name>
    		<minversion>1</minversion>
    		<maxversion>3</maxversion>
    	</dependency>
    </properties>
    I can retrieve everything except the Ruleset Dependencies - any idea what I'm doing wrong, or is it a bug?

    Oh and what are exclusiongroups and how do we use them?

    Cheers
    Dulux-Oz

    √(-1) 2^3 Σ Π
    ...And it was Delicious!


    Alpha-Geek
    ICT Professional
    GMing Since 1982
    NSW, Australia, UTC +10
    LinkedIn Profile: www.linkedin.com/in/mjblack

    Watch our games on Twitch: www.twitch.tv/dulux_oz

    Support Me on Patreon: www.patreon.com/duluxoz

    Past Games, etc, on my YouTube Channel: www.youtube.com/c/duluxoz

  6. #6
    Ikael's Avatar
    Join Date
    Jan 2008
    Location
    Finland/Joensuu
    Posts
    2,284
    Quote Originally Posted by dulux-oz View Post
    OK, I've got the data retrieval sorted - all except Ruleset Dependencies. The following is in the Extensions.xml file:

    Code:
    <properties>
        <name>Test Extension</name>
        <version>1.0</version>
        <author>Matthew James BLACK.</author>
        <description>An Extension to Test the Extensions Module.</description>
        <ruleset>
            <name>d20</name>
            <minrelease>12</minrelease>
        </ruleset>
        <ruleset>
            <name>My Ruleset</name>
            <minrelease>2</minrelease>
            <maxrelease>12</maxrelease>
        </ruleset>
        <dependency>
            <name>Locations</name>
            <minversion>1</minversion>
            <maxversion>3</maxversion>
        </dependency>
    </properties>
    I can retrieve everything except the Ruleset Dependencies - any idea what I'm doing wrong, or is it a bug?

    Oh and what are exclusiongroups and how do we use them?

    Cheers
    I have also noticed that ruleset dependency information is not provided by the Extension package, but does that really matter because you cannot select the extension in launcher in the first place if deps are not ok.
    exclusiongroups can be used to say only one this type of extension can be allowed. For instance in SW we have lots of theme extension which change outlook. We use <exclusiongroups>theme</exclusiongroups> in all of them so when you're in launcher you can select only one theme-annotated extension. If you try to select more, then only latest of you selection remains, other are marked off.
    "Alright, you primitive screwheads, listen up: THIS... is my BOOMSTICK!" -- Ash Williams, Army of Darkness

    Post your SavageWorlds ruleset feature requests and issue reports here!

    Enhance your core Savage Worlds ruleset with SW Enhancement Extensions, get more to savage!
    Want to create SW NPCs quickly? Use SW NPC Maker extension!
    Want to prove your dices are cursed or blessed? Try out SW Roll Statistics

  7. #7
    Given how an update of a ruleset can effectively break an extension to that ruleset, it makes perfect sense to be able to say this extension only works with versions A through B, or some such. Until we have a more robust extension programming model, it seems to me like data issues are really only half of the problem with versioning.

  8. #8
    Ikael's Avatar
    Join Date
    Jan 2008
    Location
    Finland/Joensuu
    Posts
    2,284
    The major issue setting up <maxversion>x</maxversion> is that you must be able to predict your project's future and determine when extension becomes incompatible! This is nearly impossible unless you have pre-made plans but still. That definition would only be useful if extensions could be updated automatically to everyone via FG updater, because people might not know when to download new version manually.
    "Alright, you primitive screwheads, listen up: THIS... is my BOOMSTICK!" -- Ash Williams, Army of Darkness

    Post your SavageWorlds ruleset feature requests and issue reports here!

    Enhance your core Savage Worlds ruleset with SW Enhancement Extensions, get more to savage!
    Want to create SW NPCs quickly? Use SW NPC Maker extension!
    Want to prove your dices are cursed or blessed? Try out SW Roll Statistics

  9. #9
    damned's Avatar
    Join Date
    Mar 2011
    Location
    Australia
    Posts
    23,638
    Blog Entries
    1
    Quote Originally Posted by Ikael View Post
    The major issue setting up <maxversion>x</maxversion> is that you must be able to predict your project's future and determine when extension becomes incompatible! This is nearly impossible unless you have pre-made plans but still. That definition would only be useful if extensions could be updated automatically to everyone via FG updater, because people might not know when to download new version manually.
    when the extension stops appearing in the list?

    MoreCore - Generic Ruleset
    --- Projects ---
    Extensions | Tutorials | MoreCore | MoreCore Themes | Call of Cthulhu | Maelstrom | FG Con

  10. #10
    If you know for sure that your extension works up to a specific version, that would be your maxversion. Once you verify that your extension works with a newer version of the ruleset, you would bump up your maxversion for your extension. I don't see any other way around that. Alternately, you could just leave maxversion blank until you determine that a ruleset change has broken your extension. It's really a band aid for the current issues though. A much better solution would probably be more extensive peer review of extensions, and some open-source-ish way to community improve the rulesets so that popular extensions can be integrated directly in. But I'm sure even that has it's own issues...it's a hard problem.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Fantasy Grounds Fridays Pre

Log in

Log in