How to integrate SMF with Wiki?

Started by Jochus, November 12, 2005, 10:59:29 AM

Previous topic - Next topic

Jochus

My users want to integrate SMF with Wiki so they can easily add math formules and stuff like that ...

I have been trying to get Wiki running on my webspace, but I had a lot of difficulties.

Any suggestions about which kind of Wiki I should use? And a help page for integrating SMF?

--edit--

I'm using the 1.0.5 version

DreamWearl

yes i'm intrested in this too...
anybody?  8)

TarantinoArchives

also planning to have my MediaWiki share my SMF user db, so that my forum users can use the wiki.

http://www.simplemachines.org/community/index.php?topic=64643.0

TarantinoArchives

i found this:

http://meta.wikimedia.org/wiki/PHPBB/Users_Integration

maybe someone can copy the principle to make an auth_smf.php extension for mediawiki?

dtm.exe

I don't think it would be very hard.  Just have it share smf_members and the SMF cookie, no?

TLM

#5
Quote from: dtm.exe on January 28, 2006, 11:44:19 AM
I don't think it would be very hard.  Just have it share smf_members and the SMF cookie, no?
Not with mediawiki...  Its evil, it likes to make its own user databse....

Quote from: TarantinoArchives on January 28, 2006, 11:23:19 AM
maybe someone can copy the principle to make an auth_smf.php extension for mediawiki?
What the heck, ask and you shall recive, I garuntee that it may or may not work.  Otherwise setup is same to the PHPBB plugin to the point where all variables are $wgSMF... instead of $wgPHPBB...  Also you can forget this one while setting it up, $wgPHPBB_User_GroupTB. I will not support this file due to the fact I have no need for a wiki right now but I just wanted a small challenge that was presented, not to mention it seems to create users in the wiki user db and auth from that instead of SMF(sorta).

*edit*
Removed a few debug lines, and tested changing passwords.  Well if password is changed in SMF, then you cant get into the wiki for it does not update the password there, and I dunno from there.
*/edit*

*edit2*
This has been only tested against SMF 1.1 RC2.  I do not expect the 1.0 series to work at all due to how the password is stored changed since then from what I uderstand.
*/edit2*

TarantinoArchives

wow man, that's great work! thank you.

but i am a bit scared to try it out. so it doesn't touch the SMF database, since it's basically just copying it into the MW db, right? and once there, it doesn't reflect any changes afterwards (like password changes)?

and what about users that already exist in MW?

TLM

Quote from: TarantinoArchives on January 28, 2006, 05:25:03 PM
wow man, that's great work! thank you.

but i am a bit scared to try it out. so it doesn't touch the SMF database, since it's basically just copying it into the MW db, right? and once there, it doesn't reflect any changes afterwards (like password changes)?

and what about users that already exist in MW?
Dunno, as I said, no garuentees to work.  I would say to find out, make a test setup of SMF and MW and find out.  But I think it will lockout anyone in the existing MW database, but thats speculation only...

TarantinoArchives

as long it's not locking out the sysop (i.e.... ME !) then it won't be much of a problem....

but really all i could screw up would be the MW, not the SMF db?

TLM

Quote from: TarantinoArchives on January 28, 2006, 05:35:19 PM
as long it's not locking out the sysop (i.e.... ME !) then it won't be much of a problem....

but really all i could screw up would be the MW, not the SMF db?
As far as I know thats all that would happen.  Again I would stress, test it first in a test environment.

TLM

Quote
Hello TLM.

I read your post on the SMF website.

There are a few things about how MediaWiki uses the external user database that I can help clear up for you. This is based on how I use the MW framework for my plugin.

With the plugin installed. When a user logs into MW the first thing is does is check if the user is found in the MW user database. If the user is found it then checks the external database to see if the user is found there. Once the username is found in both places it then asks the external database for the users password and checks if it is the same as the one submited from the login form. It never checks the password stored in its own user database. So when a user changes their PHPBB password, the new password will be required to login into the wiki.

I do not allow users to change the PHPBB password from with in MW.

When a new user logs into MW and the username is not found in the MW database. MW checks if it is a valid user in the PHPBB user database. If it is then MW auto adds the user to the MW database and the default password is some made up garbage that is never checked in the future.

When a user logs into MW and the username is found in the MW database but the user is not found in the PHPBB database. The user fails login.

Settings up the sysops account:
Install MW. Make a new username that matches the Admin username on the forums. Make it the sysops. Install the plugin. After the plugin working adding new sysops is done the normal way.

As far as making a SMF version of the plugin. Just leave a reference to myself as the original author, a reference to http://uber.leetphp.com and follow the GPL rules and I'm ok with it.
From the guy that did the PHPBB version...

TarantinoArchives

haven't yet had the time to set up testing envirnments. probably after exams. I'll post here if I have some feedback on that.

sirwoogie

Works like a charm so far. I'll report back more when I have some experience with it running.

Omniverse

Sooo, how well is it working for ya? I would be interested in trying this... but was waiting for some more reports back  :P

sirwoogie

No issues thus far. Been running for a few weeks with SMF 1.1RC2 and Mediawiki 1.5

TarantinoArchives

Quote from: sirwoogie on March 04, 2006, 11:24:24 AM
No issues thus far. Been running for a few weeks with SMF 1.1RC2 and Mediawiki 1.5

how many members/editors ? how much business/traffic? how much people signing up etc? can you post a link?

sirwoogie

Forum: http://forum.arcadecontrols.com/
Wiki: http://wiki.arcadecontrols.com/

The database has 38 people in the user table. I noticed the Special:Statistics page doesn't show the registration correctly to what is in the database. I wonder what's up with that.

We're just starting out on the wiki (few weeks), so traffic is low at the moment. We have plenty contributed already however.

TarantinoArchives

Quote from: TLM on January 29, 2006, 11:28:30 PM
Quote
When a user logs into MW and the username is found in the MW database but the user is not found in the PHPBB database. The user fails login.

so if i delete a user in SMF he cant use the wiki anymore. that is a way more efficient way to solve my spamming problems! yay!

TarantinoArchives

when i go to manage user rights management and enter a username i get this:


Notice: Undefined index: wgSMF_MySQL_Host in /var/www/web2/html/wiki/extensions/Auth_smf.php on line 179

Notice: Undefined index: wgSMF_MySQL_Username in /var/www/web2/html/wiki/extensions/Auth_smf.php on line 180

Notice: Undefined index: wgSMF_MySQL_Password in /var/www/web2/html/wiki/extensions/Auth_smf.php on line 181

Notice: Undefined index: wgSMF_MySQL_Database in /var/www/web2/html/wiki/extensions/Auth_smf.php on line 185

Notice: Undefined index: wgSMF_MySQL_Database in /var/www/web2/html/wiki/extensions/Auth_smf.php on line 187
Unable to open external database () No database selected

TarantinoArchives

oh that was my mistake. typos.

but the problem i have now is, when i want to log in, i get:


Error in numRows(): Table 'usr_web2_1.qtw_watchlist' doesn't exist

Backtrace:

    * GlobalFunctions.php line 450 calls wfbacktrace()
    * Database.php line 543 calls wfdebugdiebacktrace()
    * User.php line 763 calls databasemysql::numrows()
    * User.php line 797 calls user::getnewtalk()
    * SkinTemplate.php line 268 calls user::getnewmessagelinks()
    * OutputPage.php line 467 calls skinmonobook::outputpage()
    * OutputPage.php line 680 calls outputpage::output()
    * Database.php line 400 calls outputpage::databaseerror()
    * Database.php line 347 calls databasemysql::reportqueryerror()
    * Database.php line 723 calls databasemysql::query()
    * Database.php line 645 calls databasemysql::select()
    * LinkCache.php line 162 calls databasemysql::selectfield()
    * Title.php line 1150 calls linkcache::addlinkobj()
    * Skin.php line 1289 calls title::getarticleid()
    * SkinTemplate.php line 182 calls skinmonobook::makeurldetails()
    * OutputPage.php line 467 calls skinmonobook::outputpage()
    * index.php line 270 calls outputpage::output()



usr_web2_1   is my database for SMF
qtw_ is my table prefix in the Wiki database

so of course, qtw_watchlist doesn't esist in usr_web2_1


help, anyone?

Advertisement: