Originally reported by DuncanInnes on SmartSessionPluginDev -- After installing SmartSessionPlugin apparently correctly, the plugin fails to load. All CPAN dependencies are installed, and all files are located in their correct places; however, the plugin fails to register in TWiki.
This topic has been moved from SmartSessionPluginDev to here.
I just know I'm going to end up looking dumb for asking this, but here goes . . .
SmartSessionPlugin vs NotSoSmartUser
I have installed this Plugin along with the GnuSkin and GnuSkinPlugin. However, despite going through every help file and piece of advice I can find, the Plugin does not show up in my Plugins list. The files are all installed in the right locations and have the same permissions as files aroudn them. /tmp is writeable by everyone on the server. I've checked CPAN to ensure CGI::Session is installed. I've removed all the files and replaced them one by one. I've done everything I can think of, but still get no changes to my list of Plugins.
The main deployment is on a Tru64 server with Apache 1.3. Everything else works fine and other plugins work perfectly. I'm tearing my hair out here, so I'm sorry if I haven't provided enough info. I'm positive it's just a simple thing that's causing this problem, but I need help because I'm at my wit's end here.
-- DuncanInnes - 20 Aug 2003
Duncan, note that SmartSessionPlugin will show up as SessionPlugin in your plugin list.
In BeijingRelease, the name "SessionPlugin" was hard-coded into the code for a number of reasons having to do with how BeijingRelease works. Because of this, any session-handling plugin MUST be called "SessionPlugin."
So in order to stress that this was a new plugin that implemented all of SessionPlugin's features plus a number of other features, I've called it "SmartSessionPlugin," but underneath it all TWiki still uses it as "SessionPlugin."
So double-check that you're looking for "SessionPlugin" and not "SmartSessionPlugin."
Also make sure that in your TWiki.TWikiPreferences file, nothing funny is going on in the Plugins section. Finally, make sure you don't have $disableAllPlugins turned on in your TWiki.cfg file.
And finally, just to double-check, be sure that these files exist in the right locations:
twiki/lib/TWiki/Plugins/SessionPlugin.pm
twiki/lib/data/SessionPlugin.txt (and perhaps the ,v file)
twiki/lib/data/SelectSkin.txt (and perhaps the ,v file)
twiki/bin/logon (with execute permission)
And if you want the logon stuff to work, make sure twiki/bin/.htaccess has been modified to require authentication with twiki/bin/logon (see Installation Instructions for details on that).
-- TedPavlic - 20 Aug 2003
Ted, thanks for a speedy reply.
I am indeed looking for the SessionPlugin rather than SmartSessionPlugin.
My TWiki.TWikiPreferences shows:
* Set INSTALLEDPLUGINS = TWiki.DefaultPlugin
* Set DISABLEDPLUGINS = EmptyPlugin
* Currently activated plugins: %ACTIVATEDPLUGINS%
The activated plugins are - DefaultPlugin, GnuSkinPlugin, InterwikiPlugin, TablePlugin
The TWiki.cfg file shows - $disableAllPlugins = "0";
The files installed are as follows:
(I even tried putting the .txt and .txt,v files in twiki/lib/data as I think you mistyped above)
The twiki/bin/.htaccess file has the following entry included:
<Files "logon">
require valid-user
</Files>
The Skin menu option shows at the top of the Gnu menu, but the page shows:
Skin
(in other words, the menu does not appear)
Before I installed the plugin, the WebMenu would always show:
Logged in as:
TWikiGuest
but now there is a blank there no matter whether I have logged in or not.
feedback from cpan shows:
cpan> install CGI::Session
CPAN: Storable loaded ok
Going to read /.cpan/Metadata
Database was generated on Tue, 19 Aug 2003 14:53:07 GMT
CGI::Session is up to date.
cpan>
I think I've done everyhting as prescribed, but something is obviously awry
-- DuncanInnes - 20 Aug 2003
Duncan, check your web server's error log. This is typically located in a place like:
/var/log/httpd/error_log
/etc/httpd/logs/error_log
or someplace similar to those. You can find the error log location in your httpd.conf file for Apache.
Make sure that SessionPlugin isn't complaining about not having something available to it on load. Perl might be reporting something wrong that isn't showing up anywhere on your TWiki web page (except for your WebMenu acting funny -- this could be another side effect of something wrong).
The other thing you can try is manually running mailnotify. You can find this in bin/mailnotify. This is the script that makes all the WebNotify stuff work. This script will include SessionPlugin on load, so if there is a problem with Perl loading it, it should show up there. You should see error messages pop up. (in fact, if there really is a problem, your mailnotify might not be sending out notifications anymore!)
Let me know what you find. Sorry to hear this has been such a hassle for you. I installed it from scratch on another TWiki webserver I play around with and didn't have trouble, and I didn't THINK I did anything special. Let me know if you find I've mislabeled, miscoded, or taken something for granted.
-- TedPavlic - 20 Aug 2003
Answer
The user had multiple versions of Perl installed on the system. Digest::MD5 and CGI::Session were accidentally installed to the wrong version of Perl. Installing these modules to the correct verison of Perl caused the plugin to start loading again.
This problem is fixed.
-- TedPavlic - 27 Aug 2003