News:

SMF 2.1.1 has been released! Take it for a spin! Read more.

Main Menu

Package Manager needs more intelligence

Started by Jade Elizabeth, March 25, 2010, 06:21:52 PM

Previous topic - Next topic

Jade Elizabeth

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". -->
<based-on></based-on>


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.
Once proud Documentation Writer and Help Squad Leader | Check out my new adult coloring career: Color With Jade/Patreon.

Antechinus

Those are good ideas, but realistically they cannot be incorporated into 2.0 at this stage.
Sources code: making easy front end changes difficult since 1873 :P

Mods & Themes | Revamped theme for this site | Dark theme for this site | GitHub for n00bz

Jade Elizabeth

Once proud Documentation Writer and Help Squad Leader | Check out my new adult coloring career: Color With Jade/Patreon.

SlammedDime

I think he means this...
Quote from: Antechinus on March 25, 2010, 06:47:31 PM
Those are good ideas, but realistically they cannot be incorporated into 2.0 at this stage.

Although I disagree with item 2... if a admin installs a language at another time after the mod install, how do you expect them to then get the languages installed for that mod for their new language?  Uninstall and reinstall the mod?
SlammedDime
Former Lead Customizer
BitBucket Projects
GeekStorage.com Hosting
                      My Mods
SimpleSEF
Ajax Quick Reply
Sitemap
more...
                     

Antechinus

What I really mean is that I do not think it is practical to start attempting to incorporate entirely new features in the fourth release candidate.
Sources code: making easy front end changes difficult since 1873 :P

Mods & Themes | Revamped theme for this site | Dark theme for this site | GitHub for n00bz

Jade Elizabeth

Quote from: SlammedDime on March 25, 2010, 07:08:35 PM
I think he means this...
Quote from: Antechinus on March 25, 2010, 06:47:31 PM
Those are good ideas, but realistically they cannot be incorporated into 2.0 at this stage.

Although I disagree with item 2... if a admin installs a language at another time after the mod install, how do you expect them to then get the languages installed for that mod for their new language?  Uninstall and reinstall the mod?

Same way an admin INSTALLS THE MOD ONTO THEIR NEW THEME :P LOL.

Quote from: Antechinus on March 25, 2010, 09:35:22 PM
What I really mean is that I do not think it is practical to start attempting to incorporate entirely new features in the fourth release candidate.

But you agree with the points and that it's discouraging to mod authors. That's what I was pointing out.


I'm not expecting it to be incorporated into 2.0. I would absolutely LOVE it to be but I really don't see it happening. Everyone's too anti-changes to 2.0 lol. I'm just sad cause I came in when it was frozen :(.
Once proud Documentation Writer and Help Squad Leader | Check out my new adult coloring career: Color With Jade/Patreon.

Kindred

it is a good idea, Jade...  I typically make my own edits, removing such files... (although I don't see how someone could think they were bad files, LOL)


and, as you recognize, 2.0 is technically feature frozen.

It is probably a fairly minor adjustment which could make its way into 2.1
Слова
Украина

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Jade Elizabeth

Quote from: Kindred on March 26, 2010, 01:30:24 PM
it is a good idea, Jade...  I typically make my own edits, removing such files... (although I don't see how someone could think they were bad files, LOL)

No he was worried because he thought the forum would think Turkish or what ever was installed....and because he was getting notices about bandwidth but I fixed that for him :D.


Quote from: Kindred on March 26, 2010, 01:30:24 PMand, as you recognize, 2.0 is technically feature frozen.

It is probably a fairly minor adjustment which could make its way into 2.1

I don't see why really small adjustments can't make it to 2.0. I mean, if you want it to be tested I will give hours to test to have these changes made. I'm willing to put work in to help, because I feel with these rather small edits we could encourage a lot more mods and more compatibility for them :).


I think some of the "NO WE CANT IT'S FROZEN" moments are over dramatic. Some changes would be very fast and simple to implement and test, and prevent a fair bit of pain.
Once proud Documentation Writer and Help Squad Leader | Check out my new adult coloring career: Color With Jade/Patreon.

SlammedDime

Maybe because I'm a seasoned mod author, but even when I wasn't, I didn't see either of these things as issues that would have kept me from making mods...

BTW, moved this to Feedback and Discussion, it's more appropriate there.
SlammedDime
Former Lead Customizer
BitBucket Projects
GeekStorage.com Hosting
                      My Mods
SimpleSEF
Ajax Quick Reply
Sitemap
more...
                     

aw06

When you install a theme it should be default... and the old default renamed to default-orig lol ...

Naw, just kidding, that makes no sense dwl  :P
:: ShopinJA.com Powered by SMF 1.1.19 | Ig-Oh Theme by Koni | 70 Rock Solid Error Free Mods | Many Custom Edits & Tweaks ::
- Host Unlimited Websites - Free Website Builder & Templates - Unlimited Disk Space & Bandwidth

Arantor

A theme doesn't itself know if it's Core or Curve based, all it knows that it inherits from default or uses its own files.

Unless you add something to the theme-info.xml file to denote it's Curve or Core based, ain't no way you can do that...


Also, speaking as a mod author - and bearing in mind I'm working on a very large mod for 2.0 - it's never been a real issue for me either. (Heck, SimpleDesk looks great in both Curve and Core themes)
No good deed goes unpunished / All helpful urges should be circumvented

I have something to say: it's better to burn out than to fade away. There can be only one.

Jade Elizabeth

Quote from: Arantor on March 27, 2010, 06:47:22 AM
A theme doesn't itself know if it's Core or Curve based, all it knows that it inherits from default or uses its own files.

I said you should make it know, from the theme author telling it. I just asked if it was able to be used for that already, I don't know what the based on thing is for.

Besides that, they can't use their own files....that would be 1) a huge theme, and 2) an issue for mods with their own templates because the theme wouldnt be allowed to look for missing files in the default folder.

Quote from: Arantor on March 27, 2010, 06:47:22 AMUnless you add something to the theme-info.xml file to denote it's Curve or Core based, ain't no way you can do that...

I suggested that
* Jade Elizabeth smacks Pete and tells him to go re-read her post


Quote from: Arantor on March 27, 2010, 06:47:22 AMAlso, speaking as a mod author - and bearing in mind I'm working on a very large mod for 2.0 - it's never been a real issue for me either. (Heck, SimpleDesk looks great in both Curve and Core themes)

Yeah well how do you manage editing both core and curve in the same package? I can't do it, it merges my edits together and errors and other bull. I had to have two separate packages :(.

Now my should be two packages is three packages.
Once proud Documentation Writer and Help Squad Leader | Check out my new adult coloring career: Color With Jade/Patreon.

Arantor

Point is, it isn't going to happen in 2.0, maybe not in 2.1.

As for having it not mash edits... that's surprisingly easy.

For Curve only, have it modify $theme_dir/default/ and for Core only have it modify $theme_dir/core/


I would still point out this flag is sort of pointless anyway. You know that Core is still quite heavily related to Curve anyway if you look at the templates...?
No good deed goes unpunished / All helpful urges should be circumvented

I have something to say: it's better to burn out than to fade away. There can be only one.

Jade Elizabeth

* Jade Elizabeth smacks her head on the desk

Pete, you're reading but you're not listening to anything I'm saying :(.

Quote from: Jade Elizabeth on March 25, 2010, 06:21:52 PM
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.
Once proud Documentation Writer and Help Squad Leader | Check out my new adult coloring career: Color With Jade/Patreon.

Arantor

I don't get what the problem is.

If you have a custom theme at some point the code is going to have to be CUSTOM.

The only way you can actually avoid the issue you're referring to is to never have anything other than the core template.
No good deed goes unpunished / All helpful urges should be circumvented

I have something to say: it's better to burn out than to fade away. There can be only one.

aw06

I don't mind the custom edits, what i do mind is mods filled with errors or countless bugs, so after you spend time editing it's like a waste when the mod doesn't work well..
:: ShopinJA.com Powered by SMF 1.1.19 | Ig-Oh Theme by Koni | 70 Rock Solid Error Free Mods | Many Custom Edits & Tweaks ::
- Host Unlimited Websites - Free Website Builder & Templates - Unlimited Disk Space & Bandwidth

Norv

I agree with both points, even with the relative emergency of the first... (on the contrary I'd say the second has really low priority, given that I didn't see any other user feedback on it - please point it out to me if there are other discussions on it)

We ship two official themes, with 2.x, so it makes sense IMHO that package manager knows how to use them AND those based on them, properly, or closer to expectations... The simple truth today is that if you take custom themes based on Core and the edits for Core and Core-based themes don't match those of Curve, you'll never have a choice, but to edit it manually and have your mod's users do the same.
While some things (many, not only from package manager, but others as well) will always remain tied up to the default theme, still I agree that we should try to make Core more of a first-class citizen for package manager. After all, I might be wrong here, but it seems to me that, contrary to 1.1.x official custom themes, Babylon and Classic, the Core of 2.x is and will continue to be much more used as basis of custom themes.

I have no possible estimation to make at this point, though. But I prefer this thread to be in Feature Requests, for the dev team to keep an eye on it.
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

JBlaze

Jason Clemons
Former Team Member 2009 - 2012

Jade Elizabeth

I fully agree Norv :).


But I don't think the Devs really hang out in feature requests.
Once proud Documentation Writer and Help Squad Leader | Check out my new adult coloring career: Color With Jade/Patreon.

Arantor

No good deed goes unpunished / All helpful urges should be circumvented

I have something to say: it's better to burn out than to fade away. There can be only one.

Liam.

Quote from: Jade Elizabeth on April 26, 2010, 02:42:01 AM
I fully agree Norv :).


But I don't think the Devs really hang out in feature requests.

Quote from: Arantor on April 26, 2010, 06:43:46 AM
Jade... look at Norv's badge :P

Purely owned ;) But I do still agree with Jade's point at the beginning, the Package Manager is currently lacking a bit...

Arantor

The package manager isn't lacking, it's been incomplete since... forever, if you listen to the former devs...
No good deed goes unpunished / All helpful urges should be circumvented

I have something to say: it's better to burn out than to fade away. There can be only one.

Kill Em All

Quote from: Arantor on April 27, 2010, 03:04:46 PM
The package manager isn't lacking, it's been incomplete since... forever, if you listen to the former devs...
I completely agree!


My Site: KEAGaming.com

Manual Installation of Mods
Prevent Spam and Forum Attacks
Please do not PM or email me for support unless offered, help should be publicly displayed to others.

Liam.

Quote from: Kill Em All on April 27, 2010, 03:17:45 PM
Quote from: Arantor on April 27, 2010, 03:04:46 PM
The package manager isn't lacking, it's been incomplete since... forever, if you listen to the former devs...
I completely agree!

So do I. If it is incomplete, then it's obviously lacking things... Basic Engrish there ;)

Arantor

No, there's a difference between lacking and incomplete. Something can be finished but lacking things - e.g. SimpleDesk 1.0 final was 'finished' but lacking features that are going into 1.1.
No good deed goes unpunished / All helpful urges should be circumvented

I have something to say: it's better to burn out than to fade away. There can be only one.

Jade Elizabeth

Quote from: Arantor on April 26, 2010, 06:43:46 AM
Jade... look at Norv's badge :P

He doesnt count. He owes me my project LOL.
Once proud Documentation Writer and Help Squad Leader | Check out my new adult coloring career: Color With Jade/Patreon.

Norv

Coming back on this... This was not solved so far. And it still seems wrong to me, to ship two themes by default, and yet accommodate only one of them... Even if it's "the" default theme, and the other should be considered "custom"...

I'd rather see Core distributed separately as custom theme, or SMF accommodate both... To do for 2.1.
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

Jade Elizabeth

Once proud Documentation Writer and Help Squad Leader | Check out my new adult coloring career: Color With Jade/Patreon.

Herman's Mixen

I just want to say as for the package manager - Mods must only provided with an english string into it - if there are more languages are needed - just make addon language packs for that mod, in this case we keep mods simple as it was ment to be , and how the package manager originally was designed ;)
Met vriendelijke groet, The Burglar!

 House Mixes | Mixcloud | Any Intelligent fool can make things bigger, more complex, and more violent.
It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Albert Einstein

Former Godfather of our dutch community ;)

Norv

That would be a good idea, too. Unfortunately yeah, we currently have mods bundling all languages they're translated in, and that is by design.

The Burglar,
Would you see package manager helping in some way with additional language files for a mod, or simply letting it all at the modders' choice to package up?
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

Herman's Mixen

I am here to help if there are needed additional language packs, i did this a while back for some mods and had permissions of the original author to make those packs... after a while i decided to make additional packs for the dutch community that's where i am the most active here on SM.org not all dutch members seems to understand the English language very well to translate for them... so that was part of the job i did then... now i want this as a standard feature for all languages other than English so it can be a group of people who make those packs for their language/community

second that a lot of mods can be much smaller in size cause their is just a need for just one extra additional language pack as desired for the language used ;)

so standard we have a mod with just the English strings build into it, the additional packs can be provided for every language which is needed.

Met vriendelijke groet, The Burglar!

 House Mixes | Mixcloud | Any Intelligent fool can make things bigger, more complex, and more violent.
It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Albert Einstein

Former Godfather of our dutch community ;)

Norv

On the current customize site, additional files/packs could be added to the downloads... although, there will always be practically a limited number of them for practical reasons I guess.

Instructions in readme file, like "take this and that file or pack, and unzip it in your languages folder" don't seem to support your wish very well, if I understand you correctly? It's very... well, "manual".

How exactly should package manager behave, though? Or the customize site.
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

青山 素子

Perhaps you could add a "smart" option to the packages so that theme and language file edits can be applied independent of the main installation if someone wishes. This may require extending the XML to have a special section for those items.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


Herman's Mixen

The package manger is good as it is right now, only mod authors don't need to build a bunch of language files into their mod just keep it simple one global language English.

Then languages packs can be added as add-ons i will show you how i will do it. I'll come back to you Norv..


Met vriendelijke groet, The Burglar!

 House Mixes | Mixcloud | Any Intelligent fool can make things bigger, more complex, and more violent.
It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Albert Einstein

Former Godfather of our dutch community ;)

Fustrate

#34
Just adding this on the pile, I'd like to move away from XML towards something more like YAML or JSON. XML is just way too verbose for most things, in my opinion... source code edits, sure, but package-info.xml is ugly as hell.

Hopefully source code edits will be greatly reduced in the future, eliminated for most things in favor of events (hooks).
Steven Hoffman
Former Team Member, 2009-2012

青山 素子

Quote from: Fustrate on November 10, 2011, 01:45:12 PM
Just adding this on the pile, I'd like to move away from XML towards something more like YAML or JSON. XML is just way too verbose for most things, in my opinion... source code edits, sure, but package-info.xml is ugly as hell.

Both JSON and YAML seem bad fits IMO for replacing the package format. Properly done, XML is actually really useful. Sadly, XML is rarely done right and usually turns into garbage.

YAML seems particularly bad as it relies on indentation to express hierarchy. If used for marking code edits, it could make for some messy code. For an info file alone, it might make more sense, but I just don't see it being as friendly to those starting.

JSON just doesn't seem to make sense as a replacement for the code edit stuff.

Either way, if you keep XML for the operations stuff, why would you force a different thing for the package info files?


Quote from: Fustrate on November 10, 2011, 01:45:12 PM
Hopefully source code edits will be greatly reduced in the future, eliminated for most things in favor of events (hooks).

It'll be interesting to see how well the "hooks" hold up in the future as more and more stuff uses them. I forsee a ton of hooks being added to cover every possible scenario resulting in either huge code flow tracing issues and a lot of mess when developing.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


Fustrate

Honestly, if we did source code edits, I would prefer to do them with diffs... but that's going way too far for most SMF programmers.

I think YAML would be more friendly - it's a much more human-friendly format, the only thing you *really* need to remember is to use spaces instead of tabs, although we can easily alter a YAML parser to support tabs.
Steven Hoffman
Former Team Member, 2009-2012

Advertisement: