News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

SMF Mod Idea

Started by JOSHSKORN, July 08, 2008, 10:32:49 PM

Previous topic - Next topic

JOSHSKORN

Forgive me, I've been out of the loop for a while.  I use to use SMF extensively when trying to make a website.  It never got finished.  Anyhow...

One of the reasons it never got finished, is because of all of the work I had to put into the forum to make it a decent forum for my purpose.  After a while, I just got burned out trying to install mods that were constantly causing conflicts with one another, and asking for support on PHP articles for TP (TinyPortal).  The support IS there, but my patience is thin.  I'd rather spend a couple days doing a website, not an entire month.


While there are other CMS's out there that better suit me, they have huge security issues.  One in particular, is PNC, which is PHP Nuke based, from what I understand.  It includes phpBB.  We all know how that shapes up against SMF in terms of features and security (or lack of both).

Having that said, my proposal, which I started on a thread last night at TinyPortal.net, includes the following idea.  Basically, I'd like to make an all-in-one feature mod, which allows the administrator to decide which features to install and which to ignore.  The reason I'd pitched it at TinyPortal's website first, is because some of the features are more appropriate for portals.  So effectively, this would be a modification for both TP AND SMF.

Here's a list of just some of the features I've thought of already having:

  • A chat system
  • Gallery
  • Arcade
  • Store
  • Paypal Donation System (like the one used at the resourcez.biz site)
  • Customizable Member list
  • Rich Text Editing for Member Agreements
  • Fully customizable registration (adding questions, etc.)
  • Server Query and Administration
  • TeamSpeak Query and Administration
  • Ability to add blocks to your profile
  • Ability to control information showed next to post information (i.e. IM pictures, titles, display names, etc.)
Here's what I know I need to conquer, first:

  • I've taken some programming classes in the past, but have never done scripting, thus would have to learn PHP.  I realize the general idea of programming is pretty much the same (using variables, arrays, constants, functions, referencing, etc.)
  • I would need to learn how SMF works
  • I need to learn about SMF licensing.  This is a big issue.
The reason I want to do this, is not only to easily build a good website.  A couple years ago, I took a PHP class but don't remember anything.  I never really used it.  Having that said, I added 'PHP' to my resume, and the next thing I know, I get calls from only those wanting PHP programming, not VB .NET, C++ .NET, C+ .NET or Java.  For obvious reasons, I removed it from my resume, shortly thereafter.

Can anyone point me in the right direction where to go? What level of PHP should I be learning?  Maybe even a textbook reference that would be good.  Then, how to learn the SMF system and its licensing.  Thanks!

Nathaniel

I am not so sure that there is much point in creating a mod which tries to install so many mods in one go, my opinion is that mods are best kept relatively small so that they remain manageable for the people creating them, otherwise they turn into huge unmanageable beasts which have millions of bugs. In a way, the package manager performs the task that you want (modular-like installation of packages), the only issue is that sometimes you have compatibility issues. The best solution would probably be to get modders to try to fix those issues or to post solutions to them yourself.

Anyway in terms of learning about SMF's system, here are some good references:
http://www.simplemachines.org/community/index.php?topic=214513.0
http://docs.simplemachines.org/index.php?board=95.0;sort=subject
http://support.simplemachines.org/function_db/index.php
http://www.simplemachines.org/community/index.php?topic=214513.0

I find that the best place to learn about the SMF system's code is the code itself, while this can sometimes be more difficult and time consuming; its more rewarding because you learn how the actual codes works and the coding style/humour of the developers.

I would also recommend downloading some Mods and having a look at how they interact with SMF's system, and how they make changes.

Here is a good php tutorial that I know of.

Basically for the license, you only need to remember that you shouldn't release any SMF code without permission from SMF, you can do whatever you like to your own forum.
SMF Friend (Former Support Specialist) | SimplePortal Developer
My SMF Mods | SimplePortal

"Quis custodiet ipsos custodes?" - Who will Guard the Guards?

Please don't send me ANY support related PMs. I will just delete them.

Eliana Tamerin

Wow. You seem to have actually put some good thought into this, and good for you. I do have some concerns and some comments and some suggestions for you.

My first big thing is that this doesn't get seen as an effort to a) pull together several existing mods into one large package (especially without the original author's permission), or b) create a "SMF Fully Modded" version. Those two things would scare me. The first being using existing mods without permission, which would be a violation of the license, our mod standards and just basic morality and respect. I trust this isn't the case, but I just wanted to express that concern nonetheless. The second being that a "SMF Fully Modded" or heavily modded version like this would be difficult to support for you and for us. This really shouldn't turn into a mod that does "everything" that needs modding, you understand? Sometimes it's more important to have smaller mods and install a large combination of those mods rather than creating one huge mod to do the same as the combination of mods.

Some of what you listed are features of SMF 2. As you may or may not be aware, a beta version has been released to the public, with a second public version on the way (should be out shortly, there are just some crucial bug fixes that need to happen first).  Some of the included features are the Fully customizable registration (adding questions, etc.) and Paypal Donation System (like the one used at the resourcez.biz site) (in a way, there is a paid subscriptions mod, and this could be used similarly) and Ability to add blocks to your profile (SMF 2 has custom profile fields as a default feature).

With the amount of learning you'd have to do, my first suggestion is to start planning this for SMF 2. By the time it's released, you won't be scrambling to adjust to the new code, since you would have been following it all along.

My suggestions are:
  • There are current versions of several mods you have ideas for. The Arcade mod, Gallery mod (also a 'pro' version on smfhacks.com with more features), Shop mod and a SMF Store (real money) mod, a myriad of chat and shoutbox mods, two donation mods plus the Paid Subscription mod, and several bridges in similar softwares, like a Gallery2 bridge, Coppermine Gallery bridge, several chat bridges/integrations and a ton of other (perhaps) useful mods you can browse to your heart's delight over at the Mod site.
  • Reach out to current authors of mods like the arcade, shop, gallery, etc. You don't necessarily have to use their code, but maybe some of them would be willing to help you or give you any advice that they encountered while writing their mods. It's a good place to start, at least. Remember, the absolute worst they can do is ignore your message. It can only get better from there.
  • Try writing one mod out of your intended compilation. See how that goes for you and if you have the effort to keep up the coding momentum for other mods. This is a big project, and you don't want to get burned out quickly. If you do write one of these mods, try releasing it, and see how you can do with supporting a mod. It's a fair load of work, especially for some of the bigger mods like the arcade and shop and gallery, and it can get difficult for a mod creator to support, code, bugfix and so on.
  • While I understand the idea of having a modular mod, you may be a bit overreaching here. Why include two types of chat systems? Teamspeak supports both voice and text, and TP already has a miniature chat system, if you are indeed writing this as a mod of TP (it'll likely support SMF 2 in the future, if you're worried about that). I'd suggest choosing one and sticking with it. Remember, too, that not everybody will have a favorable server connection or money to handle these kinds of features. Perhaps it'd be better to create some of these as mods that you can install on top of your giant mod, which will integrate into them, be coded friendly with them, but not included.
  • Start out small. You can never start too small, because guaranteed somebody will try your method just to test it. You may not have a lot of feedback or posts in your support topic (if you release your mod on Simplemachines.org), but check your downloads and sometimes, no news is good news (means everything is working properly).

    Good luck to you in this, and I look forward to seeing what you develop.
Do NOT PM me for support.

SimplePortal 2.3.6 is OUT!
SimplePortal Project Manager
Download | Docs
SimplePortal: Power of Simplicity!

JOSHSKORN

All I can say is, WOW...thank you for you comments and your time.  Seems like you've put more effort into replying to me than I've put into thinking about the whole scope of the project.  That says A LOT about the SMF community!    8)

Hopefully some of those that have submitted mods already will see this thread and offer their 2 cents as well.  It would be nice to get everything together into one neat package, rather than having someone tear their hair out and debug code, trying to decide who has which mods installed in them already.  I've tried to do a lot of manual edits.  It's way too time consuming.  Thanks to me, I think the local Wal-mart is constantly running low on Rogaine. lol

I'd forgotten to to mention that I wasn't even going to bother doing this for SMF 1.1.x.  I know SMF 2.0 has some great features in it, but it's what I wanted to do this for, anyhow.  I haven't looked at them closely, though.  I'm actually leaving for a week on vacation next week and when I return, I plan on getting into the PHP.  I figure by time I learn enough PHP and enough of the SMF system, SMF 2.0 will be much closer to final production.  Just as a random guess, maybe that'll be much closer to the year.  I figure that the versions produced closer to the final version will be more feature robust, anyway, as what Eliana Tamerin eluded to.

Considering I'm doing this in hopes of developing a more complete website, not only would I be waiting to see what SMF 2.0 ends up with, but I would also need to wait for the TP development team to release a version of TP that is compatible with SMF 2.0.  I don't know where they are on that.  I know there is at least one individual I've talked to that wants to turn SMF into a full blown CMS but I guess can't due to permissions/licensing.  This ideal super mod that I'm proposing, in conjunction with themes made by tinyportalmedia would do just fine.

Yes I know to start small.  I remember doing my very first VB6 Application, inputting 3 test scores into text boxes and getting a total (and actually before that, I did the same thing with QuickBASIC that just allow for character prompts, no text boxes).  Eventually, I learned how to make database applications.  Knowing what I found out about it, I might've just plain shot myself if I just tried to make a DB app first. lol

karlbenson

Without wishing to speak for SMF.

Based on the past history with Yabbse and a mod such as that you are requesting (I forget what it was called).
I doubt that such a mod will be made, and smf are unlikely to want the smf project to be forked with different versions.

Anyway, in my experience (apart from tinyportal) ALL of those mods WILL probably automatically install without conflict.
I have well over 100 mods installed on my forum, and only had to install about 10-15.

And I wouldn't expect all of them to be put into the smf core either because alot of it is bloat which will slow everything down.
Just having the code present (even if not active).

青山 素子

Quote from: karlbenson on July 09, 2008, 04:53:00 PM
Based on the past history with Yabbse and a mod such as that you are requesting (I forget what it was called).
I doubt that such a mod will be made, and smf are unlikely to want the smf project to be forked with different versions.

It was "SuperMod", but it was a pre-modified version of YaBB SE. The SMF license would prevent that situation from happening agian. The most that could be done is a huge patch file or mod package.


Quote from: karlbenson on July 09, 2008, 04:53:00 PM
And I wouldn't expect all of them to be put into the smf core either because alot of it is bloat which will slow everything down.
Just having the code present (even if not active).

SMF is getting more modular (the feature enable/disable section is testament to that), so the load of additional features on the core should be much less than earlier.


I do agree with Eliana's points, especially the support side. You'll come across people that know absolutely nothing. They had SMF installed for them by someone, or used the friendly one-click method provided by their host. When they go to install a mod, they expect it to automatically set itself up and have no issues. Even the smallest issue will result in a post asking you for support. This even counts for very simple mods. Now, this doesn't apply to most people, but will to enough to make it frustrating at times. Keep this in mind as you write and make sure to dummy-proof your stuff as much as possible. It will help all users if you make things very clear, and cut down on a few support items hopefully.

Also, look at the new Features and Options area in 2.0. Check how those are enabled and disabled in the core, and think about doing the same for your stuff. It will help to ease the load brought on by so many things if someone doesn't want one or two of those.
Motoko-chan
Director, Simple Machines

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


Advertisement: