As far as I understand it, the Package Manager is falling behind in at least two ways. I feel like it needs to be a little more intelligent, especially for 2.0. I love that it tries to install things on multiple themes...but that has issues of its own....what if my custom themes are all based on core and the mod is trying to install curve edits for example?
I think it needs a rather small update to make it more intelligent so it can do things like:
1) Specify an edit is for Core or Curve based themes
This would allow theme authors to specify whether their theme is core or curve based too, so mods can be installed on it automatically (theme info can do this). IF the theme does not have it specified it should be able to be defined by the admin, in which case the package manager should update the theme info for that theme to reflect it.
I ran into this issue with my mod that deletes 2 lines from Curve and like 6 from Core, to specify the directory in one package would cut out custom themes because I would be going directly into the folder of core or curve. SMF 2.0 is supposed to be custom theme friendly, trying to install things on custom themes, so why would I make my mod inferior to that? Instead I had to make a CURVE and a CORE package. This makes it more confusing to the end user too, who has to sort through my versions and packages. I could have had it all in the one if there was a tag that said "$corebase/index.template.php" or "$curvebase/index.template.php" for example....and it would have let me package my 3.0.1 version in one file.
Theme info is equipt to handle this already? I dunno, maybe this is for something else, but I've never seen it used before.
<!-- Base this theme off another? Default is blank, or no. It could be "default". -->
2) Check which languages are installed
Some mods have their own language files, for example, Chris' Team Page Mod. On the forum I work on this mod and several others installed around 35 language files, including 6 TeamPage.language.php files for languages the forum didnt have installed, confusing and worrying the owner. Not to mention taking up space. Mods like Simple Portal and Tiny Portal which are rather large currently have these as separate packages, but the little mods arent doing it that way....
It would be good to be able to say "language = "turkish"" in the mod package somewhere and have the package manager check if that is a language the forum uses....if not, it shouldnt install or do anything to do with that language. It's all fine and dandy if the mod edits modifications.language.php because that file exists, but when the mod is large enough to have a custom language file (but not large enough to keep these separate) there's problems.
To be honest both of these issues are pushing me away from making mods....or rather, releasing and maintaining them. It's two fairly quick edits that can be done and save people a lot of pain in the long run.