11-24-13, 05:34 AM   #1
pelf
Sentient Plasmoid

Join Date: May 2008
Posts: 133

I've been sort of putting off delving into these particular topics as I didn't have anything I wanted to package into an addon, before, and I was spending more time learning Lua and addon development than I was spending thinking about Lua and addon development. The time has come.

I've spent a lot of time reading reference material (officially-, third-party- and individually-published) as I've been learning, and while people talk about and around these things, I have yet to see anything that addresses, cohesively, the scenario of a new addon developer approaching these decision points:

1. What are all of the options for storing the code?
Does WoWInterface have its own repository? Is CurseForge's separate from WowAce's? (The CF forum appears to just be a mirror of WA, so...) I'm also pretty sure it's possible to just upload a manually-packaged addon to the addon sites; is that right? Are there any reasons why an author would manually package anything (sufficiently small addon?)?

2. Of the repository options, what are the differences?
Which of them would make the most sense to start from scratch on?

I remember reading someone talking about one site having better localization tools, but the other site having better ____. It seems like some (all?) of them can generate documentation from Luadoc style headers? Other stuff? I did some initial reading, over at WowAce, about the process for creating repositories. WowAce looks like it uses Git? Do they all use Git? That brings me to...

3. Does anyone have a favorite Git tutorial(s)?
Every time I've tried to learn Git, I've gotten buried up to my ears in questions while the guide just keeps throwing out information that, I swear, would only be useful if the reader already understood it. I probably shouldn't even ask this as I can already explain to myself why learning mechanics rather than an abstraction of mechanics is more wholesome, but: are there any good Windows UIs for managing Git repositories, by now?

4. How can I avoid all the pitfalls and gotchas that are possible with stuff like: documentation, packager configuration, cross-site file management, etc.?
I have seen, fairly frequently, authors, who I recognize by name, make posts asking questions about fine details of various components of addon file management and distribution. Is there anywhere outside of the brains of veteran authors where all of these "if you do this, you have to do this like that" guidelines reside?

5. Once an author chooses B of sites A..C, what are the best options for getting his/her addon published to the other sites?
I would imagine, given how much back-and-forth I've seen about the sites, that even choosing one over the other might necessitate changes to ensuing processes.

I think that's good enough to start with. If I've just not found the resource that has the answer to one of my questions, a link is just as good as an explanation. Thanks!

11-24-13, 06:39 AM   #2
Lombra
A Firelord

Join Date: Nov 2006
Posts: 474
1. Yes on all accounts + if they don't want to use any version control system.

2. I have not used the WoWI repo for years now, but back then it was fairly simple. Curse can package the addon automatically when you commit to your repo (eg publish a downloadable .zip file for the public), automatically download libraries and dependencies, Luadocs, manage localisations. (correct me if WoWI has any of this these days) Curse supports SVN, Mercurial and Git and WoWI supports SVN and Git I believe.

Pass on the rest.
__________________
Grab your sword and fight the Horde!

11-24-13, 06:49 AM   #3
Resike
A Pyroguard Emberseer
Join Date: Mar 2010
Posts: 1,122
If you need help to set up remote Git for curseforge/wowace i can help you with that. GitHUB is a really good client for windows (With github you don't have to know any git commands, you just clicking around just like in SVN.), however since git is a linux project it's never gonna be perfect on windows.
Also it's still a lot harder to handle/understand then SVN, but the main reason i use it it's their online interface and functions: https://github.com/Resike/PowerAuras...s/contributors

It's also has nice and easy "how to"s and tutorials:

https://help.github.com/articles/create-a-repo

Last edited by Resike : 11-24-13 at 06:54 AM.

11-24-13, 06:52 AM   #4
Dridzt
A Pyroguard Emberseer

Join Date: Nov 2005
Posts: 1,248
1.
Wowinterface has its own (optional) svn and git repositories as well as the "direct upload" option.
The curse network has it's own svn, git, mercurial repositories as well as a "direct upload" option (on the curseforge side of things only for the last).
The curseforge/wowace distinction is "skin-deep", the back end is common.
Wowi / Curse are completely separate entities though.
As for comparison this is in no way an "objective" comparison or exhaustive enumeration of features so take it as my entirely personal take on things.
Curse: +Localization app, +Author reward program
Wowi: +Much saner design (whatever facilities the site offers, actually work vs the hit or miss nature of Curse, their track record at breaking search functionality of whatever site they incorporate is impeccable, latest victim being wowpedia), ++Addon user/author community (I realize there's a large cross-section of both but the Wowi administration is just so much better at fostering community spirit and weeding out undesirables the signal to noise ratio of Wowi is vastly superior)

2.
Version control differences are too broad a subject to cover here, in the context of wow addon development most of those differences are inconsequential, main reason to pick one over the other is familiarity pre-dating someone's involvement with addon development or taking the opportunity to familiarize yourself with version control and collaborative development tools in a low responsibility environment.
For the starting author the common-sense approach is "none" (use the direct file upload option).

3.
No (as in "I don't have any favorite tutorials" )

4.
There is no such central reference point, the FAQ, knowledge base articles, wikis of the different addon hosts might hold some information but it's mostly collective knowledge spread among the brains of different members of the addon author community and site administrators.

5.
Generally speaking setting up an automated or semi-automated process where you can push to both sites from a single point of origin is an exercise for nerds (or geeks, pick whatever term you prefer )
The easiest way to publish to both sites is to mirror your releases manually.
If you're going to be using the repository system of either site, push your release there, then download the resulting package like any user would do and use the "direct upload" option of the other site.
If you're doing manual uploads to both, just upload the same local file to both.

11-24-13, 07:05 AM   #5
Phanx
Cat.

Join Date: Mar 2006
Posts: 5,524
#1

Both WoWI and Curse offer SVN and Git repositories for addon authors, and both can package a ZIP file and push it to your public download page from your repo. (Note that neither site has "a repository" -- every addon gets its own repository; you may be thinking of the original WowAce repo, which *was* shared by all addons.) Both sites also allow you to just manually upload a ZIP file if you would rather do that.

You can also use the repository services of any other site. Many authors use Google Code for SVN repos, or GitHub for Git repos. In this case, you will have to manually create a ZIP file and upload it to the addon site(s) you're using.

#1a

CurseForge and WowAce are both part of Curse. WowAce used to be its own site, but it was absorbed by Curse years ago. It's still semi-separate for legacy branding/community reasons, but it's all the same thing on the backend. The only difference is that if you choose the WowAce domain for your addon, you can't manually upload ZIP files; if you want to do that, you have to choose the CurseForge domain. The forums are also unified on the backend, but each domain shows only some of the (sub)forums.

#2

WoWI has more stable servers, and a way more awesome staff who actually respond to requests for help, know what's going on, and can fix problems.

Curse has more features, but their servers go down a lot more, their packager breaks very often, bugs that take years to get fixed, and they tend to "accidentally" things a lot.

Curse's localization app lets people enter translations for your addon on the website, and the packager can pull the latest translations from the website into your addon when it makes a ZIP file for you. However, you can use the localization app without using the packager and without using a Curse-provided SVN/Git repo. My addons' SVN repos are all on WoWI, but I do use the Curse localization app. To update the localizations in my addon, I export the translations from the Curse app and copy/paste them into my addon files.

Curse lets you create as many extra pages for your addon as you want, and can automatically populate those pages with documentation generated from your files (several syntaxes are supported). This feature is useful if your addon has a lot of complicated options (WeakAuras, kgPanels) or if your addon has an API you intend for other addons to use, but most addons do not need more than the description and basic instructions written on their main download page.

Curse also lets you create a dedicated forum for your addon, but I don't use this feature, as it just adds more places you need to keep track of to provide support for your addon, and more places for users to look to get support.

#4

I would recommend *not* reading the manual for either SVN or Git. Unless you are a diehard commandline user, you do not need to know 99% of what is in the manual. If you're going with SVN, just get TortoiseSVN; it's a Windows shell extension, so you don't need to learn a new GUI, you just look at your files in Windows Explorer and do everything via right-click. If you're going with Git, there is a TortoiseGit. I don't use it, since I rarely have to interact with Git repos, but I imagine it's just as straightforward as TortoiseSVN.

#4

If you're using WoWI, there is no "packager configuration". When you want to make a release, you go to your repo list on the website, click "Make ZIP", fill in the blanks, and click a button.

If you're using Curse, there is still very little packager configuration to be done, it's all one-time stuff, and there is extensive documentation about it. Most of the questions about the packager I see on Curse are posted by people who obviously did not RTFM and/or are afraid the universe will implode if they just try something and see what happens.

Really, the answer to this question is: stop overthinking it, and just do it. It does exactly what it says on the tin, and you don't actually need to use most of the available features and options to get your addon out there.

#5

There's no magical "process" for getting your addon onto multiple sites. The process for every site is slightly different, but basically the same: you upload your addon. If you're using one site's SVN or Git repo and packaging directly from your repo to your download page on that site, then you get to download the resulting ZIP file and upload it to the other site(s) yourself. If you're not using either site's repo feature, then you just upload your ZIP to both/all sites yourself.

My "process" is this:

1. Click the button on WoWI to create a ZIP file and put it on my WoWI download page.
3. Upload the ZIP file from my computer to my CurseForge project.

That's it.

Edit

In response to Dridzt's mention of the author reward program on Curse, that's really irrelevant to this dicussion, because you don't need to use Curse's repo system, localization app, or any other features to be eligible for rewards. You just need to upload your addon there.
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.

Last edited by Phanx : 11-24-13 at 07:15 AM.

11-24-13, 07:57 AM   #6
pelf
Sentient Plasmoid

Join Date: May 2008
Posts: 133
That was fast.

Using "repository" collectively was a terminological mistake -- my fault. I guess I should've said something like "a CVS".

It seems like the choice is between WoWI and external. I wasn't super happy with the ticketing system on WoWI the one time I used it to report something; though, I suppose the ticketing system can be independent as well (at least one addon I've made a lot of reports on uses Google Code just for ticketing). But, if all I lose is auto-zip and upload ... writing a script to get files from another CVS, zip it and upload it isn't too big of a lift. I suppose even the upload is scriptable if I do the HTTP POST manually. Then I could have almost everything in one place with just duplicated info pages on the addon sites.

WRT "documentation": I've become so accustomed to writing full comment headers, at work, for every (C#) method, property and class -- public, private or otherwise -- that code looks horribly barren without it. (The only thing we don't have to comment is private fields.) I think the lack of something equivalent to /// and the XML documentation support in Visual Studio will curb my enthusiasm a bit; though, anything accessible via the addon table is definitely going to get a header comment.

Thanks for the quick responses; and, you're right, Phanx: not doing something generally makes it seem more difficult than it really is.

11-24-13, 08:20 AM   #7
Lombra
A Firelord

Join Date: Nov 2006
Posts: 474
From a user perspective I find it annoying when I have to go to some third part site to submit feedback. If you're going to upload on both sites, maybe accept feedback only on either of them if you're concerned about having to look in more than one place.
__________________
Grab your sword and fight the Horde!

11-24-13, 08:22 AM   #8
Phanx
Cat.

Join Date: Mar 2006
Posts: 5,524
 Originally Posted by pelf It seems like the choice is between WoWI and external.
SVN is SVN no matter whose server it's on, etc. Really, the decision you should be making is whether you want to use Curse or WoWI as your primary "base of operations", and the main factor in that decision should be which site you like more overall.

 Originally Posted by pelf I wasn't super happy with the ticketing system on WoWI the one time I used it to report something; though, I suppose the ticketing system can be independent as well (at least one addon I've made a lot of reports on uses Google Code just for ticketing).
Neither site has any coupling between your SVN/Git repo (or lack thereof) and the ticketing system.

I do agree that WoWI's ticketing system is sub-par, but it's servicable. Bug reporting and fixing for a WoW addon is just not that complicated. The hardest part is getting the user to provide the information you want in the first place. I accept tickets on both WoWI and Curse(Forge) since users can download my addon on either site, and may not have (or want to create) an account on the other one. I don't bother with a third-party site for ticket management, as I feel it should be as easy as possible for non-technical users to report a bug, and asking them to set up an account on yet another site is unreasonable.

 Originally Posted by pelf WRT "documentation": I've become so accustomed to writing full comment headers, at work, for every (C#) method, property and class -- public, private or otherwise -- that code looks horribly barren without it.
You can write all the comment headers you want, and neither site will stop you. There's just no reason for those comment headers to be pushed out to a public-facing web page for users to read in 99% of cases, so the fact that Curse has "autodoc" features and WoWI doesn't isn't relevant in 99% of cases.
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.

Last edited by Phanx : 11-24-13 at 08:29 AM.

11-24-13, 10:38 AM   #9
Rilgamon

Join Date: Sep 2009
Posts: 657
Curse offers an API to automate your upload. While there is no support for it (at least I failed to get some and even killed the packager when I tried to understand it on my own) its fairly "easy" to use.
http://www.curseforge.com/wiki/proje...ough-a-script/
I have my svn here and run a php-script on my webserver to pull from wowi-svn, package and upload.
__________________
The cataclysm broke the world ... and the pandas could not fix it!

11-24-13, 01:39 PM   #10
Seerah
Fishing Trainer

Join Date: Oct 2006
Posts: 10,231

Your portal here on WoWI also allows you to make as many pages as you wish, which will then be linked in the navigation panel on the side of your page. You can use these for any documentation you wish to provide. You can also link to external pages.
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

11-24-13, 06:44 PM   #11
pelf
Sentient Plasmoid

Join Date: May 2008
Posts: 133
Thanks, again, for the responses.

 Originally Posted by Phanx I accept tickets on both WoWI and Curse(Forge) since users can download my addon on either site, and may not have (or want to create) an account on the other one. I don't bother with a third-party site for ticket management, as I feel it should be as easy as possible for non-technical users to report a bug, and asking them to set up an account on yet another site is unreasonable.
Oh, I guess you just point the CurseForge site to the WoWI repository? Or, can you have a page on CurseForge that isn't actually linked to code?

11-24-13, 08:29 PM   #12
Rainrider
An Onyxian Warder
Join Date: Nov 2008
Posts: 385
I'll just post my way of doing this with some minor explanation on why I chose that way. I hope it could be of any help to you. I'll go through my workflow using git on Windows and publishing the code to github.com and wowace.com. I'll also list the tools I use.

The reason:
The main feature I miss on sites like WoWI/WowAce/Curse is the ability to browse addon code online. I like the way things are on github and that's why I did choose git as the VCS to use. I also found the github tutorials easy to follow and it was fast enough for me to achieve what I wanted without any prior knowledge about VCS at all.

The workflow:
2. Code up to an alpha state
3. Create a repo on github called MyAddon
4. Set up a git repo on wowace called MyAddon
then on the command-line
6. git init
10. git commit -m "some witty comment"
11. git push -u origin master
12. git push wowace master

Wowace/Curse packager will automatically create a downloadable zip for every commit you push. Every untagged commit counts as alpha. Tagged commits are either beta or release based on the tag message. From your MyAddon folder on the command line:
1. git tag -a v1.0 -m "Version 1.0"
2. git push origin v1.0
3. git push wowace v1.0
This will create a release on both github and wowace.

I don't know how exactly things are on WoWI, but as they support git, I suppose the same pretty much applies to it too.

Issue tracking:
I like and use github's as you can close tickets directly from a commit and when you browse the commit there is a link to the ticket it closes and vice versa. On WoWI you could disable file comments and post a link to whatever you want to use. On wowace/curse you can link directly to whatever you want to use (when people click on "Tickets" they get redirected).

A small note:
The name and email you set up with git are publicly available once you push to a public remote as everyone can pull them. Once you tag a beta or a release on wowace, your email and name appear in the change log (for alphas it's just your name). Git does not care whether you enter a valid email address or not and so do github and wowace (again, I have no experience with WoWI). You could set both your name and email globally and per repo where the per repo setting will always precede the global one. Use
Code:
git config user.name "Your name"
git config user.email [email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */
on the command line from within the MyAddon folder to set those locally. Remember to set up those in advance if you are uncomfortable with making your real name and email public as wowace won't let you rewrite your repo's history (you could still change the change log manually from the site though, but the commit info is still there)

Tools used:
MSysGit - has a basic GUI and command line support (through the command prompt). It also adds 2 entries to the windows explorer context menu ("Git Bash Here" - opens command prompt at the selected folder, and "Git GUI Here" - opens the GUI). That it what I prefer to use.
GitHub for Windows - sleek GUI (but github.com restricted) and command line (through PowerShell)

Git Guide:
http://git-scm.com/book/

11-24-13, 10:55 PM   #13
Phanx
Cat.

Join Date: Mar 2006
Posts: 5,524
 Originally Posted by pelf Or, can you have a page on CurseForge that isn't actually linked to code?
Yes. You can upload your addon to either site without using a version control system hosted by that site, and without using a version control system at all. SVN and Git repositories are offered as a convenience to authors who want to use those systems for their development process, so they don't have to deal with a third-party hosting service. You are not required to use them.

The only exception is WowAce. If you want your addon "hosted on WowAce" -- which really just means it's hosted on CurseForge but gets a special label so it says "wowace" in the URL bar instead of "curseforge" -- then you have to use a CurseForge/WowAce-hosted version control system, since the special "wowace" label removes your ability to upload your own ZIP files. This is why I don't recommend anyone choose the "wowace" URL over the "curseforge" URL. The only difference to users is that your project URL has a different domain name, but you lose features.

 Originally Posted by pelf Oh, I guess you just point the CurseForge site to the WoWI repository?
No. WoWI creates my ZIP file from the files in my WoWI repository, and puts it on my WoWI download page for me. I then go to my WoWI download page, click the Download button, and save the ZIP file to my computer. Finally, I go to my CurseForge project page, click the "Upload file" link, and upload the same ZIP file from my computer to my CurseForge project page.

Theoretically you can do what you describe, using the "External repository" option on CurseForge, but:

(1) The CurseForge packager works off of the tags you make in your repository. (If you're not familiar with SVN or Git, a "tag" is basically a specific revision that you've "bookmarked".) The CurseForge packager automatically labels the ZIP files it makes as alpha, beta, or release quality depending on what name (if any) you gave your tag, and those labels determine which users see the file. Curse.com only shows versions labeled as "release", and by default the Curse Client only updates to "release" versions as well. Alpha versions are packaged for every commit. Beta versions are packaged for every tag that has the word "beta" in the tag name. Release versions are packaged for all other tags. (You can disable alpha and beta packaging if you only want to make release versions available.)

By contrast, the WoWI packager does not care about your tags at all. When you tell it to package a release, it pulls the current latest versions of all your files from the trunk (for SVN) or the master branch (for Git). So, if you wanted to host your repo on WoWI, and have the CurseForge packager work on it, you would need to tag your repo with the same name you entered on WoWI when you packaged it here.

(2) Nobody seems to know exactly how it works, how reliably it works, or even if it works at all. I've asked several times on the WowAce forums about it over the years, and have never gotten any replies from people who have actually used the feature. Considering that this is Curse we're talking about, it's quite possible that it doesnt work at all, or if it does, that it's extremely unreliable and full of bugs. Between that, and the fact that I'd have to clutter up my repo with tags to try it myself, and the fact that it's just not that hard to manually upload a ZIP file, I haven't bothered to check it out.
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.

11-24-13, 11:13 PM   #14
Phanx
Cat.

Join Date: Mar 2006
Posts: 5,524
 Originally Posted by Rainrider The main feature I miss on sites like WoWI/WowAce/Curse is the ability to browse addon code online.
WoWI has this feature. Go to http://svn.wowinterface.com/ and click on the repo you want to browse.

Addon authors can choose to de-list their repositories, though. Personally, I've de-listed all of of mine because if I don't, people get overly excited about every alpha commit, and start hounding me to know when the new feature or new addon I'm working on will be finished.

 Originally Posted by Rainrider then on the command-line
Whyyyyyyyyyy? Having started out my technological life using DOS, the invention of the GUI was like the invention of indoor plumbing. I just don't understand why you would willingly subject yourself to using the command line to type out a whole series of long commands to perform a common task, when you could just click a single button instead.

 Originally Posted by Rainrider I like and use github's as you can close tickets directly from a commit and when you browse the commit there is a link to the ticket it closes and vice versa.
This would be a nice feature, and I generally like GitHub's UI -- other than their tiny, tiny font sizes -- but as I mentioned before, I think asking the average addon user to sign up with another site just to report a bug is an unnecessary barrier.
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.

11-25-13, 07:37 AM   #15
Rainrider
An Onyxian Warder
Join Date: Nov 2008
Posts: 385
 Originally Posted by Phanx WoWI has this feature. Go to http://svn.wowinterface.com/ and click on the repo you want to browse. Addon authors can choose to de-list their repositories, though. Personally, I've de-listed all of of mine because if I don't, people get overly excited about every alpha commit, and start hounding me to know when the new feature or new addon I'm working on will be finished.
Oh nice to know, they have it. I see git.wowinterface.com too. Where is syntax highlighting? Where is the link to the download page and vice versa? I understand WoWI is user centric and mixing it up with development stuff will imply the issues with communication you mention. That's why I prefer github to that end, it's about reading code, not downloading it.

 Originally Posted by Phanx Whyyyyyyyyyy? Having started out my technological life using DOS, the invention of the GUI was like the invention of indoor plumbing. I just don't understand why you would willingly subject yourself to using the command line to type out a whole series of long commands to perform a common task, when you could just click a single button instead.
This is just for the virtual guide through my workflow. It is easier to write down a command than to describe clicking through menus in some specific GUI. I personally use msysGit's GUI. I like the command line though. One never has "where do I find that" questions And my approach, even on the command line, seems faster than you up- and downloading zips.

 Originally Posted by Phanx -- but as I mentioned before, I think asking the average addon user to sign up with another site just to report a bug is an unnecessary barrier.
You are right here, it is not optimal to make the user sign up for a site she doesn't have any other use of, just to write a ticket. But I give my code away and I don't want anything in return (again, I only released one tiny addon on an addon site ). I don't even have a donate button or something. So if a user does not want to make an effort to help fixing a problem they have, then I'm perfectly fine if they go the easier route of just replacing my addon.

11-25-13, 08:24 AM   #16
Phanx
Cat.

Join Date: Mar 2006
Posts: 5,524
 Originally Posted by Rainrider Where is syntax highlighting? Where is the link to the download page and vice versa?
The download link page would be a good feature. I personally dislike 99% of syntax highlighting implementations, however, so I'm going to say it's a feature that WoWI doesn't have that.

 Originally Posted by Rainrider And my approach, even on the command line, seems faster than you up- and downloading zips.
Possibly. But, since I don't think raw commit logs have any business showing up as user-facing release changelogs, even if I automate all the ZIP creation and uploading, I'm still going to have to do some work to manually enter the desired changelog text on both sites, formatted differently for each site. While I'm already there manually entering stuff, it only takes another 0.5 second to download the ZIP on WoWI and 1 second to upload it on Curse, so I might as well just do that, and save myself the trouble of entering a bunch of horrible command-line commands.
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.

11-25-13, 09:13 AM   #17
myrroddin
A Molten Giant

Join Date: Oct 2008
Posts: 650
The only thing not mentioned thus far is that Curseforge/WowAce accepts external repository URLs. You could use theirs, or Google's, or WowInterface's, or, or, or.

As which one to pick, it is user preference. I prefer CF/WA, but I still support and upload to WowI. My process is the reverse of Phanx's. That way, if there is translations in the localization app, I don't need the extra steps of exporting and then importing translations before creating zips. But honestly, those two extra steps are very minor.

11-25-13, 09:13 AM   #18
Nimhfree
A Cobalt Mageweaver
Join Date: Aug 2006
Posts: 216
Seems I am late to the show, but I will comment anyway. :-)

1/2. I personally use a repository other than those provided by either site because I thought being in control of my repository is a better thing than relying on others. If I were to start a repository from scratch I would use git, and if I could not host it myself would use github as the origin (main repository).

3. Most things for git you can ignore until years later. You really only need to know how to create a repository, and check things in and out. Learning how to create and merge branches you will find will be extremely useful, as one of the main reasons to use git is because its branching system is extremely powerful. When you want to experiment with a new feature you can easily make a new branch and work on that without worry as the cost of creating a new branch is minimal and so much better than Subversion. As mentioned by others, you can actually have multiple sites hold your git repositories very easily, so your origin can be on github, but you can "mirror" that onto any other site that hosts git repositories, and you can conveniently name those repositories like Rainrider does to easily understand where you are pushing/pulling changes. Collaboration with other users using git is quite simple as well, and you can directly pull from their repositories to incorporate their changes. However, this is not something you normally really need to worry about when just starting. The most important thing is to come up with ways you go about tasks, and keep that simple, but powerful. One of my favorite tutorials on this is: http://nvie.com/posts/a-successful-git-branching-model/ and hopefully you find that helps a lot to make things clearer.

4/5. I create the zip files myself and manually load them to both sites. I have my master documentation created with the specific markups for both sites as well. Basically I use a Mac and my development environment (Xcode) is set up to allow me to generate the files I need to upload automatically (as long as I remember to update the TOC files, etc.), and once they are generated I go to each website and update the changes. I do use curse's localization and when there are updates there I export the information and integrate it into my source code, but other than that I do not rely on any of the sites' automatic package generation capabilities. I also only put the release products on those sites and maintain prereleases on my own site.

11-25-13, 02:49 PM   #19
Cairenn
Credendo Vides

Join Date: Mar 2004
Posts: 7,035
As Seerah mentioned, we have a tool to upload to WoWI from external sources, courtesy Shadowed:

 Originally Posted by Seerah This should still work, if you want to give it a try: http://www.wowinterface.com/download...dUploader.html

11-25-13, 08:20 PM   #20
Phanx
Cat.

Join Date: Mar 2006
Posts: 5,524
 Originally Posted by myrroddin The only thing not mentioned thus far is that Curseforge/WowAce accepts external repository URLs. You could use theirs, or Google's, or WowInterface's, or, or, or.
I did mention that, along with some reasons I don't use it, in a previous post.

TLDR version: There's no documentation and nobody seems to know whether it works or how reliable it is, and it would still require extra work on my part to start using tags on my repo, and even more extra work to check back later and fix the changelog once the package was made. I'd rather just spend 2 minutes doing it manually, so it's over and done with, and done right.
__________________
Author/maintainer of Grid, PhanxChat, oUF_Phanx, and many more.