News:

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

Main Menu

List Of Compatible Mods with 2.1

Started by Shkic, June 27, 2017, 09:35:46 AM

Previous topic - Next topic

shawnb61

The two most important mods for my forum are already available & work OK:
   SAVE - Simple Audio Video Embedder
   Download System
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp


albertlast

Well I looked in some mods (not all),
but from PostgreSQL side not all mods works for smf 2.1.

Commen issues:
Not using smf db api for creating/changing table
Using IFNULL instead of COALESCE (which you should use because this function allow an unlimited amount of col)
    also notice that smf2.1 project didn't use ifnull any more
Using backticks `

Since the pg support is part of smf 2.1, i would see that "Compatible with smf 2.1" is a bit misleading.

Also a warning in the github version (called beta 4 actualy) we changed the sql_mode to strict mode
look at "Alignment of mysql sql mode..." @ http://wiki.simplemachines.org/smf/Differences_between_SMF_2.1_and_SMF_2.0#New.2Fimproved_features_for_mod_authors

shawnb61

I think mods should explicitly indicate pg and/or mysql support.

I'd be pretty upset if I went the pg route only to find that 75% of the mods don't work...  Especially if the only way to find out is by trial & error. 
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

vbgamer45

It's hard for a mod developer to test two different db systems twice the work. I know none of my mods support pg if they use database mainly do to the create tables i prefer the raw sql for porting purposes/debugging.
Community Suite for SMF - Take your forum to the next level built for SMF, Gallery,Store,Classifieds,Downloads,more!

SMFHacks.com -  Paid Modifications for SMF

Mods:
EzPortal - Portal System for SMF
SMF Gallery Pro
SMF Store SMF Classifieds Ad Seller Pro

shawnb61

In general, if you use smcFunc & keep the sql simple (i.e., ANSI... when in doubt, Google it...), you will automatically support both pg & mysql.  It's not hard at all. 

I'll be honest, I'm kinda shocked that SMF "supports" pg, yet doesn't have that as a check in mod approval. 
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Arantor

Yes, but if you have a mod that comes from SMF 1.1 days, before $smcFunc existed... that's a legitimate concern. Not to mention if you're like me and were writing mods during 2.0's RC phase where the behaviour of $smcFunc broke in very subtle but massively frustrating ways for mod authors.

Or if you're me and you do DB specific optimisations (ORDER BY NULL is a frequent offender because it's syntactically different in PG), or you need specific operating characteristics (e.g. forcing MyISAM tables so you can build specific indexes)

But in general PG support isn't that hard, it's just usually untested because so few people use it. It's mostly there because about ten years ago everyone thought PG would replace My as the dominant DB system.

shawnb61

In that case, a simple Postgresql Support:  Yes, No, or Unverified will work.   Just don't make folks experiment...
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Arantor

For the number of PG users, though, it's simply not worth the effort.

albertlast

What is the effort,
to notice on addon what the pg status is? (Yes, No, or Unverified)

the db specific optimisations harm your self because they can change between mysql version,
like you example about order by null: http://www.tocker.ca/2013/10/21/heads-up-implicit-sorting-by-group-by-is-deprecated-in-mysql-5-6.html

Arantor

This is something you have to track, which means modifying the mod site to support it.

For a feature that in the last 6 years since SMF2.0 went gold still has single digits' worth of current users. It might possibly have broken double digits, but I strongly doubt it. The 2.0 PG and SQLite board, on page one goes back to 2013, with no topics in 2017, 2 topics with posts from 2016, 4 topics from 2015... and it looks like a non trivial percentage of those are SQLite. It honestly feels like it isn't worth the effort except for the tiny handful of people who would benefit for which I'd argue there are better uses of peoples' time.

And assuming this was done, every single mod will be unverified until people do something about it, and historically people just don't bother.

Notice how many people signed up to test 2.1 on PG... it feels like there would be better time spent making SMF work correctly on modern MariaDB than on PG.

albertlast

maria db is on the same worst level as mysql ( i know this because my dev env use pg and mariadb),
the next release get better with window function and cte.

that the numbers are low for smf 2.0 for many reason,
- support tell the user to use mysql
- postgresql doesn't work so well on 2.0 (reason why support recommand to use mysql)
- mod support is bad

but with 2.1
- pg run faster as mysql (tested by benchmark)
- got a better integration (exp. use native fulltext search)

btw cte exists since 1999 and "modern db like mariadb" didn't support this...

Arantor

Yes, but the majority of 2.1 users are going to be coming from 2.0 and even if the team turned around and said tomorrow, unilaterally, 'we recommend Postgres for 2.1' (which won't happen), the majority of users still won't touch it because the vast majority of the userbase is on hosting that is MySQL-first and frequently MySQL-only (whether that's vanilla MySQL or MariaDB)

Yes, I know PostgreSQL is technically better. I'm aware of that. I do insane things with databases (currently in the middle of rewriting a reporting system that can easily push 2-3 MILLION queries at a single database server over the course of a few hours, though CTEs wouldn't help with that)

The reality is that you can push for it - and I could push for it, but from the code level it's still not a first class citizen even with all the work done in 2.1 thus far, and it's not going to be a first class citizen in 2.1. It's close, but it's still not there, and modders are wary of putting in any more than the basic work required - a lot of modders kept avoiding $smcFunc for a long time. Lots still do.

So encouraging PostgreSQL discourages the third party people. Sucks, but that's the way this community works.

dougiefresh

If you find a mod that doesn't work with Postgres, post in that mod's thread.  If the thread is mine, I will see what I can do about making it more compatible.  If it isn't, maybe the author will...

Ya never know until you ask...

albertlast

Well you use in some mods "IFNULL" that could be replace with "COALESCE".
For other stuff i had to look more deeper into this.

dougiefresh

Quote from: albertlast on July 11, 2017, 11:19:44 AM
Well you use in some mods "IFNULL" that could be replace with "COALESCE".
For other stuff i had to look more deeper into this.
I've replaced all occurances of "IFULL" with "COALESCE" in my mods.  Thank you!

simplengmakina


Antes

https://custom.simplemachines.org/mods/index.php?action=search;smf_versions=92 - this should give you the idea. There might be some more mods working fine with SMF 2.1 but best stick to the mods listed under link I posted.

Oldiesmann

For portals, there's also a 2.1-compatible fork of SimplePortal at https://web-develop.ca/
Michael Eshom
Christian Metal Fans


Advertisement: