These are chat archives for WarHub/GodMode

3rd
Jun 2016
Austin C.
@capitaladot
Jun 03 2016 16:14
How about something that writes comments into the XML that say what links are, so that files are actually human-editable?
Amadeusz Sadowski
@amis92
Jun 03 2016 16:15
Ha! And we have the first one :D
Austin C.
@capitaladot
Jun 03 2016 16:16
Here's another idea: uniqueness detection for profile names, and a workflow that suggests a link in response to typing something with the same name that already exists?
Amadeusz Sadowski
@amis92
Jun 03 2016 16:16
Well, honestly I think XML comments are unviable. I don't know how does that look in BattleScribe engine, but in mine it almost undoable.
What's more doable is actually including some additional attribute within link node itself.
Austin C.
@capitaladot
Jun 03 2016 16:17
That works, too; named links could be a cool feature.
That is to say, something like a URL slug, rather than a hash.
Again, with the goal of being human-readable.
Amadeusz Sadowski
@amis92
Jun 03 2016 16:18
yeah. IDs are great and all, but when it comes to some more advanced manual things, it all but unrecognizable.
And even more actually useful user-story is that as we now use git, it's actually impossible to tell what changed just looking at the diff.
So that's one
Austin C.
@capitaladot
Jun 03 2016 16:19
Totally agree with that.
Stopping the catalog editor from re-indexing would also help.
Amadeusz Sadowski
@amis92
Jun 03 2016 16:19
Uniqueness detection sure is a nice thing, autocomplete is definitely a thing to include.
That last one on reindexing - what exactly do you have in mind?
Austin C.
@capitaladot
Jun 03 2016 16:19
Alternatively, some kind of other versioning system, in-app, would be cool... but would require client-server architecture.
Right now, I have seen the catalog re-orders things producing spurious changes in re: git diffs. I wish it would just stop doing that.
In re-ordering things, I have seen it create conflicts and require manual merge intervention.
This does not work for many of the BSData contributors, who aren't so into text editors and such.
Amadeusz Sadowski
@amis92
Jun 03 2016 16:21
Honestly I believe that it's a bug with BattleScribe, that it only reorders things sometimes.
Austin C.
@capitaladot
Jun 03 2016 16:22
I imagine all we can do is guess.
Amadeusz Sadowski
@amis92
Jun 03 2016 16:22
Haha, I remember I've decomppiled BS one time
long ago, to see what the exception was for
The code (obfuscated of course, but it's not the point) was so horribly made up, everything depended on everyhing else. It was a mess I'm glad Jon took care of in 2.0 (hopefully)
So, you've mentioned some other versioning system - to answer that, I think it'll be too much hassle for too little gain.
But I do have a question: right now I'm working on import/export data feature.
How would you imagine working with our GitHub repos in a sandbox way?
Austin C.
@capitaladot
Jun 03 2016 16:26
So, basically make the catalog editor in a Git client capable of committing and pushing?
Amadeusz Sadowski
@amis92
Jun 03 2016 16:26
The thing is, the app is built in Xamarin as cross-platform, mainly for mobile devices (but UWP works on desktop too).
Kind of what I'm aiming for
Austin C.
@capitaladot
Jun 03 2016 16:27
I think that would be smart, as it takes Git out of the toolchain for non-developers.
Amadeusz Sadowski
@amis92
Jun 03 2016 16:27
But using git in those restrained environments in simply impossible due to storage access things.
So, to round up:
  1. You'd save a link to a github repo
  2. When you'd want to edit something, the app downloads latest master
  3. You edit, save changes and fill commit message
  4. The app pushes changes directly as a new commit to master.
There are some problems, like with what I have, you can only include changes on single file in a commit (one file per commit).
Austin C.
@capitaladot
Jun 03 2016 16:32
I think it would make more sense perhaps to use github APIs to fork master?
Amadeusz Sadowski
@amis92
Jun 03 2016 16:33
That I can do, but then I still can't install git client on device, so I cannot git commit or git push, and GitHub API for commits allows only one file per commit
But I think there's some good thinking here.
Austin C.
@capitaladot
Jun 03 2016 16:36
Well, I wouldn't think the one file per commit thing would be a huge problem, would it? Perhaps I am missing something.
Amadeusz Sadowski
@amis92
Jun 03 2016 16:37
Yeah well I think that's what I'm gonna do. You can commit multiple times and then on pull request you can squash them into single commit to master.
Austin C.
@capitaladot
Jun 03 2016 16:48
Makes sense.
Amadeusz Sadowski
@amis92
Jun 03 2016 17:18
How much would you be happy if I were to introduce edit stack (Ctrl+Z) ? Would that be worth the effort (it's quite a big feature to implement) or should I take some other enhancements first?
Austin C.
@capitaladot
Jun 03 2016 18:38
Yes! That would be huge.
OftKilted
@OftKilted
Jun 03 2016 19:28
@amis92 So, are you building it to allow compatibility with the battlescribe data files?
Amadeusz Sadowski
@amis92
Jun 03 2016 19:42
Oh, that's the main point, of course
It's made to work specifically on BS files.
OftKilted
@OftKilted
Jun 03 2016 19:43
So ... from an IOS perspective, I need to be able to pull them, edit them, and then move them to a 'final resting place' or to submit them back to github.
And potentially pull them from a personal resource. i.e. Dropbox/Box/googledrive
And with being able to work with them in Xamarin, an Xbox One app would be both amusing and interesting. (Whee Universal Apps!)
Which brings me to OneDrive
Amadeusz Sadowski
@amis92
Jun 03 2016 21:38
Ok, so pulling from Dropbox/OneDrive etc will be the last thing to add - it's not our main use case/flow. First thing which already works is to pull files using index.bsi - which is simply what I already had from the WarHub (my BattleScribe port on WindowsPhone). Not really useful for GitHub repos/our flow.
XboxOne app will be (I think) available just as well, when I push it to Store - it's Universal Windows Platform app, and GodMode doesn't have any platform-specific requirements by design.
I'd really love to enable file association (so the system knows I can handle .cat/.catz/.gst/.gstz) but it's so damn different on every single platform it also has low priority.
Amadeusz Sadowski
@amis92
Jun 03 2016 21:46
First import feature (besides index.bsi) will pulling from GitHub. And next to it, ability to commit those changes and push'em to GitHub. I think the most convenient/simplest to implement will be fork/commit/pull request flow. I'll make research how viable is branching flow, but so far the API doesn't seem to allow that.
OftKilted
@OftKilted
Jun 03 2016 23:25
So, what is the expected use case? Who are your expected client profiles?
Why is "pulling from github" the most important item on the list?
Who are you aiming for as end users for the application, how do you expect them to be using the product?
Yes, I'm an expected user, as are you, but most people aren't Catalog editors like you me and the 60 and change other editors.
While we may be one of your primary client profiles, we're not usual/average.
OftKilted
@OftKilted
Jun 03 2016 23:30
I would expect the general workflow to be: determine that I want to make a change in a file, Download files from Appspot -> make the change, export the file back to battlescribe.
And potentially consider submitting it back to GitHub.
You don't have to answer these questions to me... I'm tossing them up as part of your analysis consideration in expected usage and scope and client needs determination.