PDA

View Full Version : github-like contributions?



mwfantasygrounds
December 18th, 2024, 21:23
Similar to the LOS push a year or so ago, I think it would be outstanding if we could just submit updated code for added automations and bug fixes somewhere where the module owner can approve it and it will automatically show up in the next build/release. I think we could really collectively increase the quality of the FG products across the board here.

I have my own little personal modules where I have added a bunch of automation to official products, like Player Core, and where I have fixed errors in purchased APs that I've bought, but nobody will ever enjoy those fixes other than my group! I think it would be great if there were some way to submit code snippets/fixes directly into the source (like a github contributor) instead of posting issues to the various product threads (like I did for the extremely minor typographical thing in the Wizard class in Player Core the other day).

Trenloe
December 18th, 2024, 23:36
This is a good idea, but I doubt it will be able to be used for all products. We have multiple developers and it would rely on them all learning GitHub and actively using it. I know that there's a bunch of devs don't even use the internal SmiteWorks versioning system, let alone start using another one on top of the process that SmiteWorks use.

EDIT: plus we couldn't upload full official product data to GitHub.

Whereas some people are familiar with GitHub and could make use of it, I think it would only be used by a very small group of people and would end up having multiple places to manage changes, as we couldn't just move to GitHub for all changes.

All that said, the idea of community helping more in terms of product coding updates, especially around automation and such, is a great idea. I'd like to investigate how that could be reasonably managed for all, not just those who are prepared to learn and work with something like GitHub.

Mortar
December 19th, 2024, 01:29
It would be interesting to see for typos/grammar.

Trenloe
December 19th, 2024, 03:25
It would be interesting to see for typos/grammar.
If text doesn't match the original product, then just let us know in the "Pathfinder Second Edition - generic DLC issue thread". Thanks!

MaxAstro
December 19th, 2024, 03:38
I would absolutely submit automation code for various products if there was some streamlined way to do so. IIRC I've offered to assist with such in the past but there's not really a good conduit for that kind of thing right now.

Trenloe
December 19th, 2024, 04:12
I would absolutely submit automation code for various products if there was some streamlined way to do so. IIRC I've offered to assist with such in the past but there's not really a good conduit for that kind of thing right now.
That would be great. What would you find easier? Submitting via a document/spreadsheet? A FG module with the relevant records? Something else? Keep in mind that any changes will need to be merged into the SmiteWorks internal version control system, hence why I don't particularly fancy using something like GitHub, because then the relevant FG devs would need to be handling two different version control systems and we couldn't upload the full official products to something like GitHub anyway.

MaxAstro
December 19th, 2024, 06:44
Honestly what would be amazing - and I've wished for this functionality for other reasons too - would be a way to export a specific record from FG as XML, even just to the clipboard. If I could right click on a monster -> copy XML and then paste the record into a text document, that would make it super easy to work on a few records at a time and then share the work without having to worry about sharing the whole module file with instructions on what was changed, or manually extracting the XML, or having to create a new module with just the records and then update it each time, etc etc. Simple copy + paste.

Might be a pipe dream, but if you are asking me what the best solution would be - that, imo.

(If we are in magical fantasy unicorn land this would be paired with an option to import XML snippets in the same way, but honestly just export would be huge)

Trenloe
December 19th, 2024, 13:51
Honestly what would be amazing - and I've wished for this functionality for other reasons too - would be a way to export a specific record from FG as XML...
There's this functionality currently for NPCs - right-click in the NPC header and select "Export Record". If the record isn't read-only (i.e. in a read-only module) a Save File dialog will open, allowing you to specify where to save the XML just for that record.

EDIT: I'll add this option to all of the "Character" record types: Activities, Ancestries, Backgrounds, Classes, Feats, Lookup Data, Skills and Spells - plus Items. Are there any others you would you want this adding to?

mwfantasygrounds
December 19th, 2024, 16:56
Thanks Trenloe and others for the discussion :) I don't think github itself is the greatest solution, but some way to crowdsource fixes and improvements (especially in automation) would be so awesome.

For example (assuming Archives of Nethys is correct), Needle Darts in the Rage of Elements module is currently incorrectly configured to do 1 persistent,bleed damage upon successful hit, instead of only upon a Critical Success. Instead of noting the issue in the module forum thread, it would be cool if I can just submit the corrected, fully automated spell somewhere, for SmiteWorks and/or the module author to review and incorporate.

Or, for example, an area where the record is correct, but automation can be added - like the 20th level Archwizard's Might feat in Player Core. I'd like to be able to add an automation for it [SPELLSLOT add wizard|10:1] so that others can enjoy the enhanced functionality. For a system like this to work, there would probably need to be some sort of style/standards documentation added to the wiki so that automation implementations are consistent, and maybe a waiver of rights to royalties or something like that, but I think with the awesome community we have here, it is doable :)

MaxAstro
December 19th, 2024, 17:20
There's this functionality currently for NPCs - right-click in the NPC header and select "Export Record". If the record isn't read-only (i.e. in a read-only module) a Save File dialog will open, allowing you to specify where to save the XML just for that record.

EDIT: I'll add this option to all of the "Character" record types: Activities, Ancestries, Backgrounds, Classes, Feats, Lookup Data, Skills and Spells - plus Items. Are there any others you would you want this adding to?

This is fantastic! It would be convenient personally to have this functionality on encounters, parcels, tables, traits, and World record types, but that's more for "ease of sharing content with other GMs/users" rather than specific to this idea of crowdsourcing automation.

The only other thing I would want for the automation idea is as clear a path as possible for "here is where submissions go, here is how submissions should be labelled so SW can easily identify what they are for" and maybe, in a perfect world, a way of seeing what has already been submitted to avoid duplicate work. Whether that's a website, a Dropbox, a Google Drive, an email account, I don't really care as long as the instructions are clear.

Okay maybe please not an email account. :P

...Also once this functionality is implemented I am going to be sorely tempted to write an extension that handles importing XML records...

EDIT: A Google Drive or Dropbox with a folder structure along the lines of NameOfBook/RecordType/Record.xml seems like it would be a very convenient way to do this, maybe? I'm not sure what security on that would need to look like, though.


For a system like this to work, there would probably need to be some sort of style/standards documentation added to the wiki so that automation implementations are consistent
Also this. Very much this.

Mortar
December 19th, 2024, 17:54
If text doesn't match the original product, then just let us know in the "Pathfinder Second Edition - generic DLC issue thread". Thanks!

I wouldn't use Github as is being discussed in this thread if I wasn't specifically invited to do so. I can see both the merits and drawback to this idea though.

mwfantasygrounds
December 19th, 2024, 18:22
Also this. Very much this.

I find myself being inconsistent sometimes on my own things, haha! For example, when to use the "apply usage" and when not to use it. Formatting for how much info to put in the combat tracker. When to make something an Activity or when not to. When to personalize combat tracker effects to the Source using the [ACTORNAME] argument. When to check the "Show Apply All" box for a spell, or the Min Action box, etc. Lots of details for consistency, but also very doable :)

Trenloe
December 19th, 2024, 18:46
...Also once this functionality is implemented I am going to be sorely tempted to write an extension that handles importing XML records...
No need. Coming to a future version for the records that allow XML export...

https://www.fantasygrounds.com/forums/attachment.php?attachmentid=63014

MaxAstro
December 19th, 2024, 19:34
Trenloe you are an absolute hero.

Just a little while ago I was in the situation of wanting to share a specific piece of homebrew with another GM and since I keep all my homebrew in a single module it was hard to find a simple route to that. This is exactly perfect.

Trenloe
January 27th, 2025, 00:30
The ability to export/import individual XML for activities, backgrounds, classes, feats, items, lookupdata, ancestries, skills and spells will be available this coming Tuesday. Sorry for the delay in this, I've been overseas for the holidays and getting back down to FG dev only now. I'll be putting together a community contribution document that will detail how to contribute, how to track who's doing what, and some recommended best practices for format of actions, automation and "How to Use" text. It'll probably be a few weeks before I get all of that done and ready for community review.

mwfantasygrounds
January 27th, 2025, 14:58
Awesome! I can't wait to contribute :)

Erlu
January 28th, 2025, 04:35
I'm not a dev by trade (windows server admin), and using github type repositories is not natural to me. That said, I find a common repository that tracks changes and diffs them and makes merging in of new code is way useful at work, even for 'just powershell'. There might need to be some clever way to protect core code from public exposure, but I recommend the powers at be seek some sort of solution that allows community contributors to efficiently input code. Maybe some of the long term contributing mods and devs that do this every day that can/could be allowed access to smiteworks version tracking system could serve as funnel points for fixes? I don't know what you all have to go through presently though.
Maybe a cadre of contributors with NDA's to protect the intellectual property?

Trenloe
August 20th, 2025, 05:02
Thread necro - kinda sorry, kinda not... ;)

Sorry for the delay in getting around to this. I wanted to get some automation functionality programmed into the rulesets before I kicked this off; but there's been higher priorities keep popping up and I don't want to keep waiting on things that aren't at the top of the development list to get this moving.

I'd really like to engage the community to make the Pathfinder 2/Starfinder 2 ruleseta and products shine with expanded functionality and automation. We've been adding more functionality to the rulesets, but we're falling behind in automation within the products. This is where we'd like to engage the community, as discussed in this thread earlier this year.

We'd like to concentrate on the PF2 remastered product line (plus Starfinder 2 as we progress with this new-ish product line). However, if there's energy to update the PF2 legacy products, then I'll be very happy to do that too.

I still need to get the framework in place to provide feedback/coding details. At this point I would like to see if the community is still interested in getting involved. I see this project as having a number of areas:

Provide feedback for automation/action/activity coding for existing PF2/SF2 products. This could be PC/NPC automation, Spell/Feat/Activity actions, etc..
Discuss functionality needs and prioritization. I had big plans when I started the development of the Pathfinder 2 playtest ruleset over 7 years ago. I still do! And I'm also a bit embarrassed that some of my plans are still just plans... We keep adding in more functionality every month, and will continue to do so.
Test/troubleshoot new (or existing) functionality.


Basically, we'd like to make the Pathfinder 2 and Starfinder 2 implementation on Fantasy Grounds amazing - but also what the community is looking for.

To provide some background - all of the FG users involved in the Pathfinder 2e and Starfinder 2e ruleset and DLC development are community members. We get a small amount of recompense for this work - way below minimum wage, we do this primarily for the love of Fantasy Grounds and the Paizo products we work with and play with. With the level of detail and automation needed/expected and the Paizo frequent release cycle, we're falling behind in providing the level of detail and functionality that I'd expect as a user. Hence I'm resurrecting this thread and reaching out to the community to see if they'd be willing to assist us expand all aspects of Paizo Pathfinder 2e and Starfinder 2e on Fantasy Grounds.

We still need to put the mechanisms in place to provide feedback/coding updates. At this point I'm just gauging the community's thoughts on this potential initiative.

P.S. This in no way means we're going to relax what we've been doing so far. We're 6-ish community devs who sometimes don't see the wood for the trees. We try to engage and listen to the community (I hope we do an OK job at that), and we'd like to involve the community more.

MaxAstro
August 22nd, 2025, 02:21
I still think this is a fantastic idea. The automation features in Fantasy Grounds are the main appeal of the app for me, and I'd love to help keeping things that way!

Erlu
August 26th, 2025, 04:35
I also still support this idea! Please let us do the things:)

Neovirtus
August 27th, 2025, 16:07
I have been hoping to be able to contribute for some time. I have no significant coding experience so I would have either a huge learning curve, or simply need to work within the framework of Fantasy Grounds. I have no idea how reasonable that is, though I imagine if I were to do this kind of work picking up some XML knowledge would be relatively straightforward.

Trenloe
August 27th, 2025, 16:09
I have been hoping to be able to contribute for some time. I have no significant coding experience so I would have either a huge learning curve, or simply need to work within the framework of Fantasy Grounds. I have no idea how reasonable that is, though I imagine if I were to do this kind of work picking up some XML knowledge would be relatively straightforward.
Thank you! The plan's that everything done by the community will be within Fantasy Grounds.

mwfantasygrounds
August 27th, 2025, 18:13
Oh, cool, so there still is a plan to do something like this? That's really exciting for me; I have tried every other VTT out there and I think FGU is the best, and having the ability to contribute to corrections, updates, and especially automations for the official products would be really sweet!

Trenloe
May 6th, 2026, 15:56
Thread necro - kinda sorry, kinda not... ;)

Sorry for the delay in getting around to this. I wanted to get some automation functionality programmed into the rulesets before I kicked this off; but there's been higher priorities keep popping up and I don't want to keep waiting on things that aren't at the top of the development list to get this moving.

I'd really like to engage the community to make the Pathfinder 2/Starfinder 2 ruleseta and products shine with expanded functionality and automation. We've been adding more functionality to the rulesets, but we're falling behind in automation within the products. This is where we'd like to engage the community, as discussed in this thread earlier this year.

We'd like to concentrate on the PF2 remastered product line (plus Starfinder 2 as we progress with this new-ish product line). However, if there's energy to update the PF2 legacy products, then I'll be very happy to do that too.

I still need to get the framework in place to provide feedback/coding details. At this point I would like to see if the community is still interested in getting involved. I see this project as having a number of areas:

Provide feedback for automation/action/activity coding for existing PF2/SF2 products. This could be PC/NPC automation, Spell/Feat/Activity actions, etc..
Discuss functionality needs and prioritization. I had big plans when I started the development of the Pathfinder 2 playtest ruleset over 7 years ago. I still do! And I'm also a bit embarrassed that some of my plans are still just plans... We keep adding in more functionality every month, and will continue to do so.
Test/troubleshoot new (or existing) functionality.


Basically, we'd like to make the Pathfinder 2 and Starfinder 2 implementation on Fantasy Grounds amazing - but also what the community is looking for.

To provide some background - all of the FG users involved in the Pathfinder 2e and Starfinder 2e ruleset and DLC development are community members. We get a small amount of recompense for this work - way below minimum wage, we do this primarily for the love of Fantasy Grounds and the Paizo products we work with and play with. With the level of detail and automation needed/expected and the Paizo frequent release cycle, we're falling behind in providing the level of detail and functionality that I'd expect as a user. Hence I'm resurrecting this thread and reaching out to the community to see if they'd be willing to assist us expand all aspects of Paizo Pathfinder 2e and Starfinder 2e on Fantasy Grounds.

We still need to put the mechanisms in place to provide feedback/coding updates. At this point I'm just gauging the community's thoughts on this potential initiative.

P.S. This in no way means we're going to relax what we've been doing so far. We're 6-ish community devs who sometimes don't see the wood for the trees. We try to engage and listen to the community (I hope we do an OK job at that), and we'd like to involve the community more.
I'd put this on the backburner knowing that there was a big effects update on the horizon - which went live yesterday. We still need to get some things in place - ruleset update code, new effect documentation, best practices, etc.. We hope to get this moving over the next couple of months.

Erlu
May 10th, 2026, 06:05
We are still out here, waiting to help with the lift of maintaining and adding things.