+- +-

+-User

Welcome, Guest.
Please login or register.
 
 
 
Forgot your password?

+-Stats ezBlock

Members
Total Members: 129
Latest: Drath3n
New This Month: 1
New This Week: 0
New Today: 0
Stats
Total Posts: 676
Total Topics: 334
Most Online Today: 3
Most Online Ever: 20
(June 30, 2017, 12:18:50 AM)
Users Online
Members: 0
Guests: 2
Total: 2

Author Topic: Please read this and weigh in - Issue/Source/Document Version Control System  (Read 1365 times)

dracusmage

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
    • 4e Source Files and Documentation
I would like to propose that we move development/fixing these files to a proper version control system with real issue tracking and discussion possibilities.

It will make it easier to track issues people have and also to fix them - rather than bouncing through a forum. It would track progress on fixes and also have the ability to point to a released version that includes the fix.

The two ways to get this done are to use a system designed for code versioning or a project manager. A code versioning setup sometimes has issue tracking and discussion tacked on, but almost exclusively requires a tool to upload the files. I'm assuming there is a project manager out there that isn't catastrophically overbuilt for what we need, but the upside is that a good one will do file versioning with files that you can just upload using the web interface.

I'm currently playing with done setting up a CodePlex project https://hl4e.codeplex.com/ with a Git backend (a code versioning program with an almost ideal user interface). It's pretty easy, but not quite easy enough for me to acclaim it as the perfect setup. Downloading, issues, discussion, etc are all simple, but uploading code files requires the use of a Git control interface program and not all of the types of files are view-able (.dat files are just stored, you can't compare versions of them). Neither is the end of the world. Versioning in the fix requires a interface, but the ticket system allows files to be uploaded with comments, so as long as we have at least one person with an interface the code can be added, if not as rapidly as it being added when fixed. As far as the un-viewable file types goes, I'll probably push to add the .xml extensioin to all of the relevant files to make it easier to use, and wack together a (windows) script to trim it back off if someone wants to download the files without waiting for a release and doesn't want to manually remove the extra extension.

I've been looking around for a web host-able version that would allow for easy code commits, or even better, editing within the webpage itself, but mostly they want me to install them on a real server rather than just a hosting account. That's not a deal breaker - I'm the System Administrator for a few companies, so I have access to a half dozen fallow static IP address and old pieces of hardware that I can make into a physical server, I would just prefer not having to maintain the server myself, which is why I pay for web hosting in the first place.

dracusmage

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
    • 4e Source Files and Documentation
I've also set up a GitLab environment https://gitlab.com/HeroLabAuthKit/4e/. GitLab doesn't need to be babysat to understand that the xml files are actually xml files (even when they are pretending to be .dat files or whatever), so it does the color styling for the code (and diff-ing new versions of the files). It's not my favorite color scheme, but I'm just happy it works without me fighting for it. It also as browser based file and folder creation/editing/deletion without the need for a Git client. The editing doesn't do the style coding, but again, just doing it at all is great. The biggest problem with it is that it does not have any sort of forum functionality - the only communication is through the issue tracker. That may not be the worst thing ever, because as it turns out, we already have a forum.

I prefer the look of the CodePlex site, but that doesn't matter much. I vastly prefer the fact that the GitLab interface reads the files correctly and the friendliness of not requiring a tool to upload fixes. Both of them require a user account to do any issue reporting and the like. With GitLab there is much more granular control, but I don't imagine we will need much by way of limits really due to the extremely low stakes in this.

GitLab also has the ability to automatically retrieve updates to the repository from CodePlex as well as to push updates to another Git server (like our CodePlex setup). So it is possible for someone to fork the CodePlex site over to a personal GitLab project, work on the file in a disconnected development branch, then automatically have that branch push the changes over to a personal CodePlex branch, and from there generate merges. I don't think that is worth the effort, but it could be done. The biggest problem with that is that the issue tracker isn't built into Git, so issues don't transfer over.

The more I think about it, the more I think just uploading fixes to the issue tickets in CodePlex is the best answer and relying on a couple people to actually merge them in every so often. I'm going to keep adding documentation to the CodePlex site because it's a handy place to keep it, and moving wiki markup to a new home if necessary isn't the most strenuous task.

Cryptoknight

  • Administrator
  • Sr. Member
  • *****
  • Posts: 260
    • View Profile
I'm all for it... I put this whole mess into git a long time ago but I've since forgotten what git repository I used at the time.

If we can generate a monthly build... or a quarterly one, I can update the download spot so that everybody using HL and the 4e ruleset can get official updates.

Between life and work I haven't had time to try to fix HL 4e bugs anymore, but I could do this for the community.

dracusmage

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
    • 4e Source Files and Documentation
If I can get buy-in to putting issues and fixes into a repository, or even just issues into an issue tracker and fixes as files in comments on an issue tracker, I'd be willing to commit at least 1 year to maintaining it and generating builds every month.

Our current system is ok, but I am not finding new problems that matter to me because I'm not playing. I'm willing to fix things still because I have such deep and worthless knowledge of this system, but I don't normally have that much time. If I could quickly get a list of issues that aren't fixed I could spend time fixing a problem instead of looking for a problem to fix that someone else might also be working on.

At one point in the past I was working on a large fix and a version of it got merged into an update. That meant that in order for me to keep working on it I needed to manually go though my files and track down the parts that merged and the parts that were still only offline. I believe what I actually did was to shrug and stop fixing them rather than get the last half dozen powers fixed; clearly not a the best way. Having a more regimented merge would prevent this from happening - I could still post a temporary fix for the person who has the problem, but keep it from being merged to the update until it's completed. (I'm not trying to attack you Cryptoknight - you did great work and I appreciate you getting this forum up and keeping it going, packages and all).

Paragon

  • Newbie
  • *
  • Posts: 19
    • View Profile
I'll be happy to provide what fixes I already have, but they're not done in a particularly easy-to-explain fashion; for the most part all I've got listed is what particular item I did work on, not even what I did.

As to your more general question--to be honest, I don't understand the question well enough to answer it.  I'm a borderline coder at best, and have never actually participated in anything but small projects for my own purposes, so while I intellectually understand there are good and bad ways to run ones with multiple participants, I don't actually understand what those are or how they are done.  I just happen to be a not completely untalented amateur who has some conceptual understanding of what I'm doing, but no real training at all.

Fox Lee

  • Newbie
  • *
  • Posts: 31
  • She Bites
    • View Profile
    • Invincible Ink
I don't have much of an opinion on version control software - I've used it a few times, but not so much that I have preferences. As long as it doesn't cost money, I'll use whatever I have to, in order to contribute :p

As far as hosting our own version control goes, I can install Subversion repositories on my server without needing to go through the effort. I've done it for gamedev in the past, and everything seemed to work fine. However, it would be up to users to choose/install their own SVN software, so definitely not the friendliest way to handle it. But if it would be helpful, the option is there.

Either way, getting more real updates out there - instead of just "replace thing with fixed thing" user files - would be great! Maybe with a basic style guide too? (I'm always worried that my fixes are somehow not living up to some standard or other - my ever-present impostor syndrome, I guess.)
« Last Edit: February 26, 2017, 05:26:52 AM by Fox Lee »

dracusmage

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
    • 4e Source Files and Documentation
The fact that most of us are not really programmers is why I am even now working on an easier way if I can find one - if everyone was a programmer I would have just set up a Subversion repository and posted the url. In fact, setting up Subversion was the very first thing I did because it took me all of 1 minute total to do.

I'm only considering systems that either cost nothing or will cost nothing for anyone other than me. Adding a barrier to user participation is the worst thing we could do. Which is also why I've been trying to find some kind of non-terrible web based code editor that will do its own checking in and out of the files from a repo. I've not had much luck at my 0$/user/month price point.

This is why I keep looping back to CodePlex but revising the procedure. At this point I think it's going to be the best - the interface is not horrible, it has a great bug tracker that allows for files to be attached to comments, has a forum that we may or may not use, a wiki system for documentation, and a Git back-end for tracking code and submissions for the few that aren't turned off by the oblique ways of code control.

The only real downside of CodePlex is it's run by Microsoft, and our project kinda skirts the real purpose of the site. I'm pretty sure we are never going to be big enough to draw any hellfire anyway.

Anyone interested should go look at the site and make an account - if you ask to be part of the project over there I'll let you in so you can look around.

The other option that I've been toying with is a document version system. I've hot one of them running (poorly) on my web hosting. It has the upside of making submitting fixes extremely easy, and it tracks versions automatically and has a robust document submission flow where uploads can be approved before included, and so on. The problem with it is that it doesn't have an issue tracker built in. Setting up an issue tracker and a wiki to bring us back to the full ecosystem would work, but then require multiple logins.

If anyone has any alternative ideas I'm up for basically anything. I've looked at a lot of project management systems which are slightly closer to what we want, but are usually far more regimented than we are in this project and usually don't have a way for people without user accounts to access the files.

I'm also still looking for a really good shared hosting xml editor. A WYSIWYM with modifiable schema would be ideal, but mostly I've only found ones that don't work or cost $20 (or way way more) per person, so not really a valid option for a tiny hobbyist coding project.

I can also post all of my scattered detritus of testing if anyone is interested in seeing if I discarded an option that would really be perfect.

dracusmage

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
    • 4e Source Files and Documentation
Gmail had very thoughtfully hidden all of the requests to join the project from me in my "Social" folder. Since I am extremely introverted, I ignore that folder like the plague, so I didn't see them. If you request access to the codeplex site I promise I will eventually notice, but if you want access more quickly, just comment in this thread and it will email me in a way that makes me notice.

Charlie

  • Newbie
  • *
  • Posts: 21
    • View Profile
Okay, I'm in. What do you need to know, and where do I go to learn how to upload our modified files with all the bug fixes?

dracusmage

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
    • 4e Source Files and Documentation
The longer I work on this, the more I'm just settling into using CodePlex to manage it. hl4e.codeplex.com is the site.

You will need to either sign in using an existing Microsoft Account or create a CodePlex account. After you are signed in, there is a link on the main page on the right to "Join Us" which will let you ask for permission to join the project. You do not have to do this. The only difference between "signed-in" and the base level of contributor is that you can edit wiki pages as a contributor. That's it. All the normal forking and commenting and everything else is the same.

If you have an account, you can access all of the source code files, you can create new issues and comment on existing ones, and view the documentation. If you create a fix for an issue, you can comment on that issue and attach the fix file. If you have a fix for an issue that doesn't have an issue created, just create an issue for it and upload your fix.

If you want to get into the actual code merge side of it, I would recommend you don't. It's scary and dark and full of silly things that coders think are good ideas that no one else in the world agrees with. This is also a code repository managed by a System Administrator (me) so I'm certain I'm not doing things "correctly" although it is working. If you think you still want to send fixes in using Git rather than uploading code to the issue tracker, I'm all for it because it will make my life easier.

You will again not need to join the project. Just fork the source code, then you can submit "Pull Requests" to the project from your fork, at which point we can test and approve the patch to integrate it into the system source code. I have basically no guidance to give you if you go this route - everything I know I figured out the hard way over the last month, and I'm certain it's worth every penny I spent on the lessons.

dracusmage

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
    • 4e Source Files and Documentation
If you are going to try to actually join the "team" please go to this post and tell me who you are on CodePlex. You can also tell me who you are over here when you request permission to join over there, but I'm more likely to believe you if you use your account here to say who you are over there than vise versa.

Charlie

  • Newbie
  • *
  • Posts: 21
    • View Profile
Done and done.

We have several modified files with months worth of bug fixes that we've done, but the change documentation is minimal because we didn't expect to have anyone else working on 4e. What's the best way to get what we have to you?

dracusmage

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
    • 4e Source Files and Documentation
If you create an issue with a general idea of what you fixed and attach the fixes (even all as one chunk) I'll pick the threads apart and merge it in. I'm shooting for a new package to be done by the Ides.

If you made the fixes directly into the files, that's actually even easier for me because I can do a compare/merge between the two versions. If that's what you've done, just zip the modified files up and attach the zip. (The zip is to make sure it's under the upload limit, especially if any fixes are in the item file).
« Last Edit: March 03, 2017, 11:13:55 PM by dracusmage »

dracusmage

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
    • 4e Source Files and Documentation
I said I was shooting for a March 15 update, but I've pushed it back a little because I'm hopeful there will be progress on a program level bug that I'm dealing with HL development on. If I don't hear anything soon (or else if I do hear something conclusive soon) I'll finish the patch.

Charlie

  • Newbie
  • *
  • Posts: 21
    • View Profile
Well, so Microsoft is shutting down Codeplex.

 https://blogs.msdn.microsoft.com/bharry/2017/03/31/shutting-down-codeplex/

So what's the plan now? GitHub or another repository?

 

+-Recent Topics

Total Newb... but... by Johnny B Evil
November 19, 2017, 02:47:52 PM

Feat Valenar Weapon Training by Eldyn
October 13, 2017, 08:53:03 PM

Making Utility Powers? by dmayhew469
July 07, 2017, 02:11:16 PM

4e license question by Cryptoknight
June 25, 2017, 09:28:29 PM

Remove/increase limit on Temporary Adjustment value? by Fox Lee
June 22, 2017, 07:30:45 PM

Add the INit modifier for Battle Harness by dmayhew469
June 15, 2017, 08:27:12 PM

Change Attack Ability by dmayhew469
June 15, 2017, 07:57:20 PM

How to allow resistance show up by dmayhew469
June 12, 2017, 04:05:57 PM

Would somebody like to take this over? by dmayhew469
June 09, 2017, 02:02:12 PM

Inherent Bonuses by dmayhew469
June 09, 2017, 01:59:28 PM

No Class or Race options by rkjanik
June 06, 2017, 01:57:21 AM

Spy by Mckinley
May 25, 2017, 02:06:57 AM

Is there a guide out for how to build a race by SAbel
May 05, 2017, 11:59:46 PM

Please read this and weigh in - Issue/Source/Document Version Control System by Charlie
April 27, 2017, 09:54:40 PM

Request Access to the CodePlex System by Charlie
March 03, 2017, 10:47:03 PM

Vampire class by Fox Lee
February 26, 2017, 05:29:29 AM

As we look at Making Card Headers correct colors by dracusmage
February 23, 2017, 03:24:01 PM

Question Involving Twofold Pact for Warlock by dracusmage
February 16, 2017, 02:52:32 AM

Daily Powers by Charlie
February 15, 2017, 06:31:00 PM

Missing Fighter? by dracusmage
February 13, 2017, 10:41:45 PM

Armor at Paragon and above by dracusmage
February 13, 2017, 06:52:16 PM

Help applying bonus damage (x + modifier) to class powers by Fox Lee
January 18, 2017, 06:16:49 AM

Cavalier Summon Steed Patch by Fox Lee
January 15, 2017, 01:00:56 AM

Fey Beast Companions (HotF) by Fox Lee
January 12, 2017, 07:49:08 PM

Has anyone worked with the Warlock (Binder) by SAbel
December 29, 2016, 11:43:17 PM

Powered by EzPortal