followeveryone plugin

I have tried to enable the followeveryone plugin that ships with statusnet 1.1.0 This is the line I added to the config.php to enable it.

addPlugin('FollowEveryone', array('param1' => 'value1',
'param2' => 'value2'));

Is this all I need to do to have this feature enabled? I created a test user to see if it would automatically follow the other test users and it didn't appear to, at least it didn't show their avatars in the "following" dialogue in the side menu.

thanks,
FOD

Comments

  • Did you leave 'param1' and 'param2' as is? AFAIK they're example values and FollowEveryone doesn't need any. Try:

    addPlugin('FollowEveryone');

    Cheers!
  • mvdan, thanks for the suggestion.
    I have removed the param1 and param2 values. i've created another test user and in their profile the follow everyone button is checked. but in the subscriptions section, and in the 'following' menu at the right of the page it still only displays the admin user. none of the other human test users is automatically added to the new test user. I created yet another test user and still, only the original admin user is added automatically added to their 'following' profile.

    I have a potential base of around 100 users once this private instance goes live and would dearly like to have everyone following each other automatically.
    fod
  • @fod Do you have queueing enabled? If so, is queuedaemon.php running?
  • mvdan, thanks again for the reply.
    I do not have queueing enabled. I looked into it, but because I host the instance with Dreamhost I assumed i couldn't effectively enable queueing. I am happy to revisit this with a little help as I think it will improve the sites performance significantly. how will this help the follow everyone though?

    I am quite new to this and am still learning.

    thanks for the replies.

    fod
  • @fod Queueing is optional, but recommended; I was just asking because if you enable it but don't start the daemon itself, actions will be queued but won't be processed since there is no daemon running. Anyway, that doesn't seem to be the problem.

    Could you please paste your config.php?
  • @mvdan Thanks again for the reply. Here is my config.php

    <?php<br />if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }

    $config['site']['name'] = '*****';

    $config['site']['server'] = 'www.*****.ca';
    $config['site']['path'] = '*****';

    $config['site']['fancy'] = true;

    $config['db']['database'] = 'mysqli://yfbnet:*******@mysql.*********.ca/*******';

    $config['db']['type'] = 'mysql';

    $config['site']['profile'] = 'private';

    $config['site']['theme'] = 'neo-kafei';

    $config['group']['maxaliasses'] = '0';

    unset($config['plugins']['default']['Mapstraction']);
    unset($config['plugins']['default']['OpenID']);
    unset($config['plugins']['default']['RSSCloud']);
    unset($config['plugins']['default']['WikiHashtags']);
    unset($config['plugins']['default']['TightUrl']);
    unset($config['plugins']['default']['SimpleUrl']);
    unset($config['plugins']['default']['PtitUrl']);
    unset($config['plugins']['default']['Geonames']);

    addPlugin('FollowEveryone');

    I X'd out the sensitive stuff, i could pm you if you need those things.

    FOD
  • @fod No need for any kind of sensible info, but thanks.

    Try adding this right before your mysqli:// line:
    $config['db']['schemacheck'] = 'script';

    It's some kind of a tricky bit, but it has solved many rare issues in the past. There's no harm in trying it out.

    Try that and see if it helps. If it still won't work, please enable logging as explained in http://forum.status.net/discussion/552/sticky-how-to-debug-read-this-before-posting and please report back if your log file has any errors or warnings once a new user is created.

    Cheers!
  • @mvdan

    So tried the schemacheck, that didn't change anything. I enabled logging as per the link. I deleted my test user and then re-created the test user, still no follow everybody. the check mark is checked in the test profile, but the number of subscriptions is still just one, although we have 5 users testing at the moment. I checked the log and these are the entries from around the time of new user creation.

    2012-08-05 02:43:54 LOG_WARNING: [www.blackpoplar.ca:6279.59b767cb POST /yfbnet/main/register] User.php - Welcome user ************ does not exist.
    2012-08-05 02:43:54 LOG_WARNING: [www.blackpoplar.ca:6279.59b767cb POST /yfbnet/main/register] Already subscribed!
    2012-08-05 02:43:54 LOG_WARNING: [www.blackpoplar.ca:6279.59b767cb POST /yfbnet/main/register] Already subscribed!
    2012-08-05 02:43:54 LOG_WARNING: [www.blackpoplar.ca:6279.59b767cb POST /yfbnet/main/register] Already subscribed!
    2012-08-05 02:43:54 LOG_WARNING: [www.blackpoplar.ca:6279.59b767cb POST /yfbnet/main/register] Already subscribed!
    2012-08-05 02:43:54 LOG_WARNING: [www.blackpoplar.ca:6279.59b767cb POST /yfbnet/main/register] Already subscribed!

    i don't understand what is already subscribed.

    thanks again,

    FOD
  • @fod It seems like there's some database problem...

    Could you please do the following? It's a long shot, but it might solve it.

    1. Stop your web server.
    2. Restart mysql.
    3. cd to your SN dir
    4. run the following:
    - php scripts/checkschema.php
    - php scripts/fixup_status_network.php
    - php scripts/updateurls.php
    - php plugins/OStatus/scripts/rm_bad_feedsubs.php
    4.bis Please paste the output for these last commands.
    5. Start your web server
    6. Check your instance again and your logs with new tests.

    If that doesn't work, I'm out of ideas. I suppose you're not running/using memcached, right? Have you updated StatusNet in the last couple of days?
  • @mvdan,
    my instance is hosted on dreamhost, i don't think i have access to restarting mysql or restarting the webserver. I ssh via terminal to my sn directory for the following.

    i get this in terminal for fixup_status_network.php

    DB_DataObject Error: Unable to load schema for database and table (turn debugging up to 5 for full error message)

    i get this in the terminal for rm_bad_feedsubs.php:

    Fatal error: Class 'FeedSub' not found in /home/*********/blackpoplar.ca/yfbnet/plugins/OStatus/scripts/rm_bad_feedsubs.php on line 54

    thanks mvdan
  • @fod I take it the followeveryone plugin is still not working?

    Do you have access to your MySQL db? If so, we could create a new user and check if the profile is subscribed to the others, even though it doesn't show it in the web UI.
  • @mvdan
    the plugin is still not working. there were no log warnings or errors associated with the above scripts. I do have a log full of gwibber related api 0auth and token warnings. not sure what those are from. the only errors are the ones i posted above that were generated in the terminal after running the commands.

    yes, i can access the mysql database from command line. If it helps, invited a new test user late last night and they created a new profile. we may be able to use their profile.

    I know nothing of mysql, and have never tinkered in the database. I really appreciate you taking the time to look into this.

    Fod
  • @fod No problem at all, glad to be of help.

    So here's the deal; Profiles are saved in the table 'profile', and subscriptions in 'subscription' ('subscription_queue' for the ones queued). We'll check these out with the mysql command line interface.

    Log into mysql with 'mysql -u USER -p', it will prompt for your password.
    Once inside, enter 'use SN_DATABASE;', where SN_DATABASE is your DB.

    Now that we're inside, we first want to check who follows who, as recorded in your database. Enter this: 'SELECT * FROM `subscription`;' and have a look at the output.

    If you don't have too many registered users, i.e. less than fifty, the output for that shouldn't be too big. Looking at the lines it gave you, you'll see the fields 'subscriber' and 'subscribed'; you should now concentrate on a given user ID and check if the DB records are shown correctly in their profile page (you can find out who's who by either looking at the 'profile' table in your DB or entering www.blackpoplar.ca/yfbnet/user/NUMBER).

    We might end up with three different situations, as far as I can see:
    1. Subscriptions are not made. At all. You will find the same subscriptions in your DB than you'll find in the web UI.
    2. Subscriptions are queued, but not made; this would be strange, but can easily be checked by looking at 'subscription_queue'. It should return zero rows, i.e. empty.
    3. Subscriptions are made in the DB, but for some reason don't get reflected in the web UI. This is the most likely to happen IMHO, since the logs report subscriptions are already there.

    Cheers!
  • actually, i can access my database via web phpadmin as well
  • i poked around in the mysql database and found a entry called user_followeryone_prefs. it listed my users by id (including some of the ones i have deleted) in one column and then a list of followeryone with an id of only 1

    eg.

    user followeveryone
    1 1
    2 1
    3 1
    4 1
    5 1

    i imagine that the followeveryone should be a list of all the other user id's shouldn't it?

    hope this helps
  • @mvdan
    i checked out the subscriptions table of the database and it is exactly the same as the web. the subscription queue is empty.
  • @fod I've never used followeveryone, so I don't know.

    One thing I forgot to mention is that you should also run 'php scripts/fixup_deletions.php', because the problem might lie in the fact that some user ID's are missing or not being used.

    What I'd do is have a look at how does the plugin behave; how does the user_followeveryone_prefs table react to a new user being created? Also, the php files under plugins/FollowEveryone have comments on how everything works.

    My knowledge on both the plugin and PHP is scarce, so I hope you don't mind if I step away. With the logs and all the info you are supplied I bet you can narrow it down.

    Cheers!

    EDIT: Are you creating new test users with the same nicknames as other users who had been deleted? Because if so, that might give the plugin some trouble (although it shouldn't).
  • Thanks mvdan, I certainly appreciate the help. I have learned a great deal about command line, ssh, ftp and mysql in the last few days that I am sure will come in handy again.

    I have read the plugin .php files over and over and other than some mentions of of memcache and dataobject i can't really tell where the problem may lie.

    i do have one question, the configure help file says this:
    ini_yourdbname: if your database is not named 'statusnet', you'll need
    to set this to point to the location of the
    statusnet.ini file. Note that the real name of your database
    should go in there, not literally 'yourdbname'.

    my mysql database is not named statusnet. could this be part of the problem? i don't think so, as everything else seems to work fine.

    thanks again,

    fod
  • @fod where did you find such paragraph? You shouldn't need to worry about memcache, that's only if you have its plugin enabled.

    Anyhow, did you run the fixup_deletions script I told you about?

    Cheers!
  • @mvdan

    I found that paragraph in the db section of configure.txt file in the root directory of statusnet.
    i did run the fixup_deletions script and it cleaned up the users table, but the user_followeveryone table still has many users that i have created and deleted in it. I wonder if i deleting the entries in that table may help the plugin start fresh.

    Sorry to keep you with this problem, let me know if you've had enough and I will leave it be ;)

    Fod
  • @fod I have an idea, which might work. Since a base SN instance doesn't have such followeveryone tables on its DB, you could:

    1. Disable the plugin
    2. Remove the tables
    3. Run checkschema.php
    4. re-activate the plugin
    5. Run checkschema.php again

    and then test it again. Maybe followeveryone needs to be enabled before any user is created, but it should work this way.

    Cheers!
  • Well, I surrender.
    I did exactly as above. then added a new test user. still did not follow everyone. checked the database and still only user id 1 is followed by the new user. So I added another new test user to see if only users that register after the plugin is enabled follow each other. Still, that new user only follows user id 1, same is reflected in the database. I am confounded, and have a headache.

    Thanks for the help, but this seems hopeless. maybe I will file a bug report and see if the devs can look into this.

    Fod
  • @fod Hopefully someone who has used this plugin in the past can help out. Please feel free to start an issue ticket on status.net or send an email to Evan.

    Good luck!
  • @fod I'm not really sure that followeveryone means each user subscribes (follows) everyone else. I think it means each user subscribes (follows) one particular user.

    I think it is meant for things like an account that gives service announcements (that is, "this site will be going down in 5 minutes for some maintenance"). I believe that your admin user will have an area where he/she can pick which user (singular) everyone else subscribes to.
  • @lnxwalt That makes sense, but I believe we are talking about different things. On a fresh SN instance, you can set in "Admin" the account to be followed by default by all new users. AFAIK this does not depend on any plugin. If there is such a core feature, why have a plugin for it?

    In my opinion, FollowEveryone does something a bit different than that.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Google Sign In with OpenID