News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Mods, Mods, Mods (Qs and suggestions)

Started by Sarke, January 10, 2007, 06:44:17 PM

Previous topic - Next topic

Sarke

I have some questions about mods (duh! ;D), and some suggestions.

How many people are involved in the mod approval process?  Does a mod need the approval of more than one person?  Is the approval process done as a group for each mod, or does each member of the group focus one a mod each?

What is the average approval length for a mod?  For a simple one?  For a complex one?

Are there people whose sole responsibility is to approve mods?  Is there a structure where there's someone "on duty" every day, or is it when they get around to it?  Are they staff or volunteers?

Do mods get bumped to the back of the queue if they are edited or updated?  Will previous version still be available for download while the new version is waiting to be approved?  Do mods have to go through the same approval process when updated?



I'm sure many agree with me that customisability is one of the biggest selling points for SMF, and I think the mod process needs to be as positive a process as possible.  The more mods the better the final product will be.  That said, I have a few suggestions:

Approve priority vote.  Sort of like rating a mod, but is done while it's waiting for approval.  The mods with a high priority vote (i.e. many people are waiting to use it) could be bumped up the queue.

More modular code.  I've noticed a few times that the (almost) exact same piece of code are in several places.  It would be much more mod-friendly if these were made into functions. 

Approval status.  Basically a bit of info about how far along the approval process the mod is.  Maybe just sort of "someone has stared examining it"?  I think the current approval process is a bit of a "cold shoulder", and it could be a bit of a turn-off for prospective mod creators (who are trying to help after all).  I think it could be made a bit more friendly and involve the mod creators a bit more (to everyone's benefit).

Mod detail for theme edits.  Also on the mod page where the mod details are (version, etc), there could be info about wether the mod makes changes to the default theme or not.  So if someone is using a custom theme, they know that they'll need to modify their theme manually.



Well that's it (for now).  I feel I want to be active and involved with SMF as it's a good thing.  Keep the good stuff coming!  :D


P.S. I'm still relatively new to the SMF community (although I jumped in with both feet), so if I'm totally off the wall on some things I appologise.

My MODs          Please don't PM me for support, post in the appropriate topic.

Oldiesmann

Quote from: Sarke on January 10, 2007, 06:44:17 PM
I have some questions about mods (duh! ;D), and some suggestions.

How many people are involved in the mod approval process?  Does a mod need the approval of more than one person?  Is the approval process done as a group for each mod, or does each member of the group focus one a mod each?

It depends. Usually someone from the Customization Team will look at the mod, check for coding standards, etc. and test it out. If there's a problem with it, they'll start a topic to discuss the issues with the rest of the customization team (other team members weigh in occasionally as well), and the mod author is contacted and given a chance to resolve these issues. If the issues are not resolved, or the author doesn't reply within a certain period of time, the mod is rejected.

Quote
What is the average approval length for a mod?  For a simple one?  For a complex one?

That varies. It can take anywhere from a few hours to a month or more, depending on how many mods are ahead of it, how much time everyone has to go through the mod queue, etc. Right now we've got 44 mods awaiting approval (although we're discussing 20 of them). We're trying to be more careful with the approval process, as we've had a few times in recent months where a major problem is discovered with a mod after it's been approved (for example, one mod was selecting all the data from the members table just to get the value of one field for a particular member).

Quote
Are there people whose sole responsibility is to approve mods?  Is there a structure where there's someone "on duty" every day, or is it when they get around to it?  Are they staff or volunteers?

It's generally whenever they have time and get around to it. Mods are always approved by a team member (although not necessarily by a member of the Customization team).

Quote
Do mods get bumped to the back of the queue if they are edited or updated?  Will previous version still be available for download while the new version is waiting to be approved?  Do mods have to go through the same approval process when updated?

I'm not sure. I think they're listed in the order they were originally submitted in.

QuoteI'm sure many agree with me that customisability is one of the biggest selling points for SMF, and I think the mod process needs to be as positive a process as possible.  The more mods the better the final product will be.

I agree with you here. I don't know how many times I've heard people judge a forum system solely on the number of mods available for it. It's annoying, but there's not much we can do about it.

QuoteThat said, I have a few suggestions:

Approve priority vote.  Sort of like rating a mod, but is done while it's waiting for approval.  The mods with a high priority vote (i.e. many people are waiting to use it) could be bumped up the queue.

While it would get the more popular mods approved faster, it wouldn't be a very fair process. We'd start getting questions about why a mod submitted three weeks ago hadn't been approved yet, but a mod submitted yesterday got approved within a few hours.

QuoteMore modular code.  I've noticed a few times that the (almost) exact same piece of code are in several places.  It would be much more mod-friendly if these were made into functions.

Can you provide some examples? I'm only aware of one particular place where this happens (ModSettings.php), but we can't really make arrays into functions...

QuoteApproval status.  Basically a bit of info about how far along the approval process the mod is.  Maybe just sort of "someone has stared examining it"?  I think the current approval process is a bit of a "cold shoulder", and it could be a bit of a turn-off for prospective mod creators (who are trying to help after all).  I think it could be made a bit more friendly and involve the mod creators a bit more (to everyone's benefit).

That's a good idea. I'll talk to Jay about it and see what he can come up with.

QuoteMod detail for theme edits.  Also on the mod page where the mod details are (version, etc), there could be info about wether the mod makes changes to the default theme or not.  So if someone is using a custom theme, they know that they'll need to modify their theme manually.

I was thinking about something along those lines the other day. I'm not sure which mod it is, but there is at least one case where the author listed every file that the mod changed, along with what files it added, what file changed the database and how many changes were made to the database.

Many authors are getting in the habit of putting the code for the theme changes on the mod page, and I also like what Daniel15 has done for the FlashChat integration mod (colorful headings, etc.)

Keep the suggestions coming. We're always looking at ways to improve the functionality and usefulness of the site, and we're always open to new ideas or even criticism.

Hope you've enjoyed SMF so far. It's great to see that you're really into it :)
Michael Eshom
Christian Metal Fans

Sarke

#2
Quote from: Oldiesmann on January 10, 2007, 08:44:18 PM
QuoteI'm sure many agree with me that customisability is one of the biggest selling points for SMF, and I think the mod process needs to be as positive a process as possible.  The more mods the better the final product will be.

I agree with you here. I don't know how many times I've heard people judge a forum system solely on the number of mods available for it. It's annoying, but there's not much we can do about it.

Well, more mods = larger and more active community = better forum.  Usually...


Quote from: Oldiesmann on January 10, 2007, 08:44:18 PM
QuoteMore modular code.  I've noticed a few times that the (almost) exact same piece of code are in several places.  It would be much more mod-friendly if these were made into functions.

Can you provide some examples? I'm only aware of one particular place where this happens (ModSettings.php), but we can't really make arrays into functions...

If you're talking about the $subActions, I just ran into that problem the other day!  And sure you can make it into a function!


function SubActions()
{
return = array(
'basic' => 'ModifyBasicSettings',
'layout' => 'ModifyLayoutSettings',
'karma' => 'ModifyKarmaSettings',
);
}


and then you just call it like this


$subActions = SubActions();


Then when it's being modified you just need to do it in one place.  At the very least put a comment in front of the array so it's easier to search for, like so


// $subActions array in ModifyFeatureSettings()
$subActions = array(


// $subActions array in ModifyFeatureSettings2()
$subActions = array(


The other example I bumped into was today when I was looking at changing how member names are displayed.  I found the following:

Code (Sources/MessageIndex.php) Select

if (!empty($row['onlineColor']))
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '" style="color: ' . $row['onlineColor'] . ';">' . $row['realName'] . '</a>';
else
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['realName'] . '</a>';

$is_buddy = in_array($row['ID_MEMBER'], $user_info['buddies']);
if ($is_buddy)
$link = '<b>' . $link . '</b>';

Code (Sources/Display.php) Select

if (!empty($row['onlineColor']))
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '" style="color: ' . $row['onlineColor'] . ';">' . $row['realName'] . '</a>';
else
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['realName'] . '</a>';

$is_buddy = in_array($row['ID_MEMBER'], $user_info['buddies']);
if ($is_buddy)
$link = '<b>' . $link . '</b>';

Code (Sources/BoardIndex.php) Select

// Some basic color coding...
if (!empty($row['onlineColor']))
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '" style="color: ' . $row['onlineColor'] . ';">' . $row['realName'] . '</a>';
else
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['realName'] . '</a>';

$is_buddy = in_array($row['ID_MEMBER'], $user_info['buddies']);
if ($is_buddy)
{
$context['num_buddies']++;
$link = '<b>' . $link . '</b>';
}

Code (SSI.php) Select

// Some basic color coding...
if (!empty($row['onlineColor']))
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '" style="color: ' . $row['onlineColor'] . ';">' . $row['realName'] . '</a>';
else
$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['ID_MEMBER'] . '">' . $row['realName'] . '</a>';

// Bold any buddies.
if ($show_buddies && in_array($row['ID_MEMBER'], $user_info['buddies']))
{
$return['buddies']++;
$link = '<b>' . $link . '</b>';
}


As you can see, parts of these are identical, and could easily be made into functions.  Much of the surrounding code is also very similar.


Quote from: Oldiesmann on January 10, 2007, 08:44:18 PM
QuoteMod detail for theme edits.  Also on the mod page where the mod details are (version, etc), there could be info about wether the mod makes changes to the default theme or not.  So if someone is using a custom theme, they know that they'll need to modify their theme manually.

I was thinking about something along those lines the other day. I'm not sure which mod it is, but there is at least one case where the author listed every file that the mod changed, along with what files it added, what file changed the database and how many changes were made to the database.

Intersting.  Perhaps list the files being modified, just like on the package install page?  Another idea that just came to mind would be to have mods in two parts: one for the code and one for the template.  This way they would work independently of each other.


Quote from: Oldiesmann on January 10, 2007, 08:44:18 PM
Keep the suggestions coming. We're always looking at ways to improve the functionality and usefulness of the site, and we're always open to new ideas or even criticism.

No problem, it's nice to see the feedback welcomed and taken seriously.  :)


Quote from: Oldiesmann on January 10, 2007, 08:44:18 PM
Hope you've enjoyed SMF so far. It's great to see that you're really into it :)

I only discovered it about a week ago, and I've already made my first mod (no stranger to PHP).  I've been running IPB for about three years and I finally had enough and decided to look for a forum software that was not only free but also mod friendly.  Currently I only run SMF for testing because I have so many customisation I made with my IPB that I need to make sure my members don't loose any functionality when I make the switch.  I'm making a log of all the changes I need to make when I do switch, and maybe I should post that here when I'm done?  :-\

So far I really like what I see of SMF, thanks again and keep up the good work!



Oh, and I have another question for you, if you don't mind.  What are the copyright issues with mods?  For example, do we release it to SMF by submitting it to the site?  I don't mind that, since SMF can then be free to implement it in SMF as a default (should have a "special thanks" page for that :P).  Also, what about other modders updating older mods to work with the latest version, or perhaps improving them?


Hooray for long posts!   :D

My MODs          Please don't PM me for support, post in the appropriate topic.

JayBachatero

Thanks for the feedback.  In addition to Oldiesmann's response I was thinking maybe showing mod authors a notices saying "Your mod is currently under discussions".  That way you can know that the mod is being looked at.  Not sure about expanding it more than that.  Once a mod is being discussed the mod author and "approver" have a 1 to 1 conversation in how to improve the mod and the changes that are required.

About the approval also.  I am in the process of adding single file approval to the mod site.  This will make approving mods a longer process but in the long run it will benefit the end user as we ensure that all files that are uploaded to the mod site are safe.  Right now once a mod is approved someone can reupload a malicious file that can break someone's forum.  This hasn't been done so far but as we grow we become more of a target and have to prevent things like these.

About theme stuff.  I'm not too sure about this.  It all really comes down to the mod author.  If you check there are mods that are very descriptive and give tons of info, but on the other hand there are mods that just have the name of the mod for a description and that's about it.  With that said nothing is impossible.  There is a function in Subs-Packages.php (I think that's the file) that has the ability to parse the mod changes and display them.  From this I can look at the mods .xml files and look at the changes that it makes to themes.  Then I can just store it in the database.  Another thing that sounds good is displaying the list of files that it changes like the package manager.  I'll bring this up with the rest of the team and see what they think.

In regards to the license, if I'm correct once you submit a mod you are releasing it to SM.  I'm not 100% on this so I have to look it up.  Also mods that become features are rewritten 90% of the time.  The devs might just take the idea but it's rewritten.

Once again thanks for the feedback :).
Follow me on Twitter

"HELP!!! I've fallen and I can't get up"
This moment has been brought to you by LifeAlert

Rudolf

Quote from: Oldiesmann on January 10, 2007, 08:44:18 PM
I was thinking about something along those lines the other day. I'm not sure which mod it is, but there is at least one case where the author listed every file that the mod changed, along with what files it added, what file changed the database and how many changes were made to the database.
That sounds me, except the database part. So probably it's someone else. However I created a simple html template for my readme file that I use for writing the readme for the mods I release. In there I have the list of the files changed categorized in Source, Themes and Language files.
I also enclose my code between comments like

//-Some_mod_name MOD - START
...code of my mod...
//-Some_mod_name MOD - END

or

code of my mod... //-Some_mod_name MOD -

to make it easier to spot the code added by my mod. I even had a couple of positive feedback on this, people saying that it actually helped them a lot.
I will update all my mods in the next few weeks. Thanks for your patience.

SVG-Collapse (you need an SVG compliant browser)

Sarke

Quote from: Sarke on January 10, 2007, 06:44:17 PM
Do mods get bumped to the back of the queue if they are edited or updated?  Will previous version still be available for download while the new version is waiting to be approved?

Do we have an answer for this yet?

I was also wondering why unapproved MODs aren't available for downlad.  I think people should be allowed to take the risk if they want to, since there is a big warning sign (which suggests that the unapproved MODs ARE available for download).


Quote from: JayBachatero on January 11, 2007, 09:56:50 AM
About the approval also.  I am in the process of adding single file approval to the mod site.  This will make approving mods a longer process but in the long run it will benefit the end user as we ensure that all files that are uploaded to the mod site are safe.
Wouldn't that mean that when SMF releases a new version and most MODs will need to be updated, all those MODs will have to be approved all over again?  By the time they're all approved again, SMF will have a new update out. :P

My MODs          Please don't PM me for support, post in the appropriate topic.

JayBachatero

1. Previous versions will be available for download.  Mods don't get bumped backed to the queue if they are updated.

2. The reason for this is that we don't know what security issues the mod might have so we need to look at it before it is available for download.  If we allowed this and a mod deletes all the tables from the database then people would try to hold us liable for it since the mod was up for download w/o being approved.  But the main reason for not allowing downloads is cause of security.  We don't want peoples site to go into another galaxy just cause of a mod.

3. Well I was thinking of having options for the type of upgrade/update that the file is.  This will allow users to release security releases immediately BUT we will still check the logs.  People might take advantage and use the security release option to have the mod approved right away.  We are still not sure how we are going to implement this yet.  I'm still thinking about it in my head.  Lets see what I can come up with that will benefit the community and help out mod approvers.
Follow me on Twitter

"HELP!!! I've fallen and I can't get up"
This moment has been brought to you by LifeAlert

Sarke

Quote from: JayBachatero on January 12, 2007, 10:06:30 PM
We are still not sure how we are going to implement this yet.  I'm still thinking about it in my head.  Lets see what I can come up with that will benefit the community and help out mod approvers.

Perhaps there could be a sort of MOD creator trust score (for lack of a better name).  It could be based on (for example) how many MODs the person has made and how long each has been approved.  There could be different levels based on this score, for example:

1. Allowed to release security updates without needing approval.
2. Allowed to release minor updates (few changes) without needing approval.
3. Allowed to release major updates (many changes) without needing approval.
4. Allowed to release new MODs without needing approval.
5. Why aren't they on the SMF Customizer Team yet? ;)

The score could be public or private only to the SMF Staff.  It could also be based on something else, like the Karma system but where only the SMF Staff is allowed to vote.


Another idea just came to mind.  What if MOD updates are only allowed to be patches instead of a new version package?  This would make it easier for the SMF Staff to approve them since the don't have to look over the entire code again.  This would work best if the SMF site automatically merges the patches into a new standalone package, and it would make it easier for end users as well because there will always be a patch to the MODs so they don't have to uninstall to upgrade.  It would of course make it a bit harder for MOD makers, and that's not good...

Perhaps it's too much work to set that up, but worth thinking about maybe?

My MODs          Please don't PM me for support, post in the appropriate topic.

JayBachatero

I like your first idea.  I'll bring it up with the team and see what they have to say about it.  I'm not too sure about your second idea.
Follow me on Twitter

"HELP!!! I've fallen and I can't get up"
This moment has been brought to you by LifeAlert

Sarke

Glad I could help!  (thumbs up emoticon here)

Yeah, I wasn't too sure about the second one myself, but it never hurts to brainstorm.

My MODs          Please don't PM me for support, post in the appropriate topic.

nitins60

One suggestion from myside, When a mod s under Approval! Please look at the mods which don't deal with database, rather deal with Templates/Source files, give them HIGH priority to approve them quickly! It's my personal opinion, i submitted a mod, which has 2 lines of code deals with one source file, submitted 2weeks back, not yet approved, even no of downloads by appr team are 2!

JayBachatero

What does dealing with database have to do with anything?  Just cause you want your mod to be approved fast?  There is a mod queue and it doesn't matter if the mod touched the database, makes a template change or sour change.  It will follow the queue.  I don't think just cause a mod does x thing it has to get a high priority.

Also asking team members to approve a certain mod will just get the mod deeper in the queue ;).
Follow me on Twitter

"HELP!!! I've fallen and I can't get up"
This moment has been brought to you by LifeAlert

JayBachatero

Follow me on Twitter

"HELP!!! I've fallen and I can't get up"
This moment has been brought to you by LifeAlert

nitins60

I don't want my mod to be approved  first! Mods which deal with database tables should have closer look, because they can even crush database(never happened :P)! I don't think, template changes are going to effect database, these modifications are very small (usually)! Hope you don't mind these things   ;)

Daniel15

QuoteMore modular code.  I've noticed a few times that the (almost) exact same piece of code are in several places.  It would be much more mod-friendly if these were made into functions.
To be honest, SSI.php has heaps of duplicate code in it. I do agree that some of the code should be moved into a single Subs-***.php file (or have all the formatting code [for example, the snipplet you posted] in a seperate subs file, or even in the template?)

QuoteWhat are the copyright issues with mods?  For example, do we release it to SMF by submitting it to the site?
As far as I know, you can have your own license on the mods. I personally use the SMF license, and put a short "This mod is released under the same license as SMF itself" on the mod's page and readme file.

QuoteMany authors are getting in the habit of putting the code for the theme changes on the mod page, and I also like what Daniel15 has done for the FlashChat integration mod (colorful headings, etc.)
Thank you :D. I was looking through the mod site one day (this was before I became a team member), and I thought to myself, "A lot of these mods don't have a good description on them". However, I did see one mod with a really good description and colourful titles (can't remember which mod it was). Since then, I've tried to put a detailed description on all my mods, with colourful headings (I first did this for the Akismet mod)

QuoteMods which deal with database tables should have closer look, because they can even crush database(never happened )! I don't think, template changes are going to effect database, these modifications are very small (usually)!
Even though it's very small, there are some mods which were submitted before it. We usually approve the older mods before the newer ones (even team members like myself get our mods approved by another team member :D)

QuoteI was thinking about something along those lines the other day. I'm not sure which mod it is, but there is at least one case where the author listed every file that the mod changed, along with what files it added, what file changed the database and how many changes were made to the database.
If people want to know about what changes the mod does, I usually point them to my package parser (see my signature) :)
Daniel15, former Customisation team member, resigned due to lack of time. I still love everyone here :D.
Go to smfshop.com for SMFshop support, do NOT email or PM me!

Sarke

I think what nitins60 is trying to say is that there may be a few big MODs that are holding up the line, and that in the time it takes to approve only one big MOD many smaller MODs could be approved instead.

My MODs          Please don't PM me for support, post in the appropriate topic.

Sarke

#16
I'd like to add another suggestion.  Well, more like a modification of a previous one: the status suggestion.  While a status box about how far along the approval process the mod is would be nice, I think another almost as useful but much easier to implement would be to just display the mods place in the queue.

It would only take a few lines of code, since all you need to do is to query how many mods are not approved, and then sorted by date find the current MOD's place in line; then output it.

EDIT: Or just a simple COUNT query WHERE unapproved = true AND submit date < this MOD's submit date.


This would reduce some of the frustration by MOD makers because if three weeks goes by and their MOD is still unapproved currently they don't know if anything has even happened, while if they see the place in line go from something like 40 to 10 then they get an idea that there is progess and approx. how long is left to wait.


Another Q while I'm at it.  Who codes the SMF website pages (portal, mod/theme sites, etc), and are there any plans to include these in SMF, or release them as MODs?

My MODs          Please don't PM me for support, post in the appropriate topic.

ディン1031

#17
I've got a small question:

Would the Author be contacted that the Mod is rejected? With a reason why?

Will a mod be removed if it rejected or if it to unsave to relaesed or if the mod allready inculded in a diffrent way in the new version that come.



Some Personal Statment:

Sometime i wish that i at least know that the mod are currently been checked. It's frustrating not to know what currently happend, is the mod not allowed, or or or :(.
I've now 4 Mods waiting for approvment and i don't know which one is on which state... it's a little bit frustating... or is it because the first mod is not approved and is rejected and all new one automatic also rejectet... 

Okay i know it will take time until it released, and i find it's a very good idea that mods must be approved, because this make the forum more secure and at least fast :). But sometime more informations are wishable... at least for the mod authors...

Bye
DIN1031
Support only via MOD Thread! NO PM Support!
My Forum: ayu][kult Forum
My Mods: My Small Mod Collection
My Parser: DIN1031's ModParser
Current Info: More away the next days, because i've to much work to do :x

Sarke

#18
^ I agree.  That's why I think they should really consider my "place in line" code. 

I've had a MOD waiting approval for 3 weeks now and not a peep, yet there are tons of staff mods that all skip the queue.  It's that cold shoulder I was talking about earlier, it's quite discouraging.


- What do we want?!
- Ethical treatment of MOD makers!!
- When do we want it?!
- After a lengthy approval process!!  :-X

My MODs          Please don't PM me for support, post in the appropriate topic.

JayBachatero

Well the think about staff mods (Cus Team Staff) is that we approve our own mods when we write em.  At time we get other team members to look it over.  There is a mod by a team member that is waiting in queue just like the other mods.
Follow me on Twitter

"HELP!!! I've fallen and I can't get up"
This moment has been brought to you by LifeAlert

Advertisement: