Skip to:
Content
Pages
Categories
Search
Top
Bottom

Invite Anyone – invite by email too – please help test

  • Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    Hi everyone. I have updated my Invite Anyone plugin to allow invitation by email address. It seems pretty solid, but I would really like to have some other people test it before I make it the stable version.

    If you have a non-production site and you wouldn’t mind testing it out, please download the development trunk version at http://wordpress.org/extend/plugins/invite-anyone/download/. If you’re already running a version of Invite Anyone on your site, please make sure to deactivate it before downloading and activating this one. (Note too that you must deactivate and reactivate – if you just replace the files, the necessary db table won’t be created.)

    A brief rundown of the new functionality:

    - A new subnav item has been added to profile pages, called Send Invites

    - Under that item are two pages. The first, Invite New Members, allows you to enter up to five email addresses, a custom message, and select some of the groups you’re a member of.

    - The second page is Sent Invites, a list of invitations you’ve already sent.

    - When you send the invitation, an email goes to the invitee(s) with the custom message and a link to [your bp install]/register/accept-invitation/[email-address]

    - When the user clicks that link, he or she should see the normal register page, with a message above that says “You’ve been invited by [the name(s) of the user(s) who sent invitations]…”

    - When the user activates the new account, he or she will receive invitations to all invited groups, as well as friendship requests from all members who sent invitations.

    - There is also a new (and ugly!) link on the Group Send Invites page, which takes you to the Send Invites profile page and pre-selects the group you just came from.

    - There’s a pretty fair amount of email validation that happens. Try punching in some bad emails (banned on your WPMU install, poorly formed, etc) and see what happens. I should note that right now I’m using WPMU’s native email validation – I haven’t even tried loading it on a single-blog install of WP. I did use if ( function_exists ) so nothing should crash, but it’ll probably allow any old email on single WP.

    Phew – I think that’s it.

    In the future, things like number of allowed email addresses, the default message, etc will be under the control of the site admin. I’m also going to write some Javascript that does inline validation of form data. But for now I think the key functionality is in place.

    Please hammer away at it and leave any bugs/suggestions here.

Viewing 25 replies - 101 through 125 (of 174 total)
  • Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    I just checked in version 0.5.2. One of the changes I made was to address the in_array error that some of you are seeing. I’m still not sure why the problem is arising for some people but not for others – as hnla says, it has to do with loading order, but I’m not sure where the problem is coming from. But I’m pretty sure that the problem shouldn’t arise anymore with this latest fix. Please let me know how your experience goes :)

    Avatar of roydeanjr
    roydeanjr
    Participant

    @roydeanjr

    Question relating to upgrading in general: why do some plugins come back activated to one site when they were activated site-wide prior to clicking Upgrade automatically?

    Avatar of roydeanjr
    roydeanjr
    Participant

    @roydeanjr

    Question relating to upgrading in general: why do some plugins come back activated to one site when they were activated site-wide prior to clicking Upgrade automatically?

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    There was a thread which touched on the subject of plugin activation, I hadn’t really clearly understood the difference between ‘Site Wide’ and basic activation, or why sometimes activating a plugin using the plain link on left side actually activated the plugin sitewide placing the plugin into the list at the top of the page reserved for sitewided plugins that users cannot deactivate .

    There is a configuration option in the plugin primary file hat should ensure that the plugin is activated sitewide regardless, it doesn’t always work and must be only half the issue, but I raised that on the other thread.

    My approach to BP plugins is NOT to upgarde them automatically but manually deactivate, remove old folder to safe area outside doc root; upload new plugin reactivate using sitewide link, even though most BP plugins should or even ought to activate sitewide; there’s no reason for any general member to have access to BP or any of it’s plugins, and I don’t want to chance to having people access and deactivate a BP plugin

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    There was a thread which touched on the subject of plugin activation, I hadn’t really clearly understood the difference between ‘Site Wide’ and basic activation, or why sometimes activating a plugin using the plain link on left side actually activated the plugin sitewide placing the plugin into the list at the top of the page reserved for sitewided plugins that users cannot deactivate .

    There is a configuration option in the plugin primary file hat should ensure that the plugin is activated sitewide regardless, it doesn’t always work and must be only half the issue, but I raised that on the other thread.

    My approach to BP plugins is NOT to upgarde them automatically but manually deactivate, remove old folder to safe area outside doc root; upload new plugin reactivate using sitewide link, even though most BP plugins should or even ought to activate sitewide; there’s no reason for any general member to have access to BP or any of it’s plugins, and I don’t want to chance to having people access and deactivate a BP plugin

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    In_array error: I have it occurring on a user blog (subdomain) it strikes me that line 8 in cssjs.php is in_array second parameter $bp->action_variables. I’m not really up to speed with how BP is involved when one is viewing an MU blog (apart from the obvious admin bar) but is that actually available as such?

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    In_array error: I have it occurring on a user blog (subdomain) it strikes me that line 8 in cssjs.php is in_array second parameter $bp->action_variables. I’m not really up to speed with how BP is involved when one is viewing an MU blog (apart from the obvious admin bar) but is that actually available as such?

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    0.5.2 fixes the issue I was seeing on the user blog.

    And just noticed your comment at top of file regarding $bp->action_variables so ignore my rambling comments above.

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    0.5.2 fixes the issue I was seeing on the user blog.

    And just noticed your comment at top of file regarding $bp->action_variables so ignore my rambling comments above.

    Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    Glad it’s fixed! Please continue to ramble as you see fit :)

    Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    Glad it’s fixed! Please continue to ramble as you see fit :)

    Avatar of abcde666
    abcde666
    Participant

    @erich73

    Hi Boone,

    regarding your comment “Good call on the group creation issue. I think the answer is just to turn off the message for the group creation process…..”:

    Not sure I understand what you are saying, but you want to switch off your plug-in-features during the Group-Creation-process ? I am not sure this is a good idea.

    Probably this can be made as option.

    Generally I would suggest you include the 5 e-mail-fields directly into the Standard BP “invite” screen.

    Why do you actually create a separate (new) page for your 5 e-mail-fields ?

    The whole thing of inviting friends should be as simple as possible. Having any additional pages just to fill in 5 forms is overkill for the average user.

    I would rather prefer having the BP-Standard-stuff in one table, like “Invite Friends who are already registered at this website”.

    And then just below another table showing the 5 fields from your plugin, labeled like “Invite Friends by e-mail”.

    Avatar of kriskl
    kriskl
    Participant

    @kriskl

    Hi

    sorry I confused this plugin with group management,

    thanks for that plugin,

    in my case though, check boxes wont work well :( with many 1,000s active members going through the list .. :(

    even though i have 50 member to display per page..

    the best would be to be able to paste username one per line or

    upload csv

    I know it is time consuming, I guess i just have to wait for users to do it themselves

    kind regards

    Kris

    Avatar of abcde666
    abcde666
    Participant

    @erich73

    @Boone,

    ….Not sure about your email problem – has your friend checked the spam folder?…….

    I am very sure this issue is related to bug within your Plugin:

    During the Step “Send Invites”, I clicked on the link “Send invitations by e-mail”. Then I entered the e-mail of my friend into the first e-mail-field. Then clicked send. Then I received the message “Invitation successfully sent”.

    Then I hit the back-button of my browser to go back to the Tab “Send Invites” as there is the button which says “Finish” (for finishing the Group-Set-up).

    The e-mail never reached my friend.

    Avatar of abcde666
    abcde666
    Participant

    @erich73

    @Boone

    your “Invite anyone by e-mail” is needed at the Group-creation-process as well.

    At BP-Standard-installation, we do have the Tab “Send Invites” during the Group-Creation-process, but the feature of inviting people who are not yet members of the respective website has been missed.

    At BP-Standard, the user who is creating a new Group will get confused, because he does not have any friends yet, so he will be stuck at the Tab “Send Invites”.

    Therefore your plugin is so essential during the Group-creation-process.

    Thank you again for all your efforts and good work on that plugin !!! You very well understand what is required for running a Community-website !

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    Sorry not Boone but your comments made me think about another logic issue for users.

    Your point about standard default BP and send invites is why the original plugin was created to provide access to all members.

    With the plugin activated, now when creating groups one reaches stage 4? and the send invites is the complete member base, Boone having removed link to send email invites on this screen.

    Ignore step 4 and complete creation of group and you are presented with the new group main page with invite screen now having the link to send email invites taking you to profile.

    The only slight issue here is that having created the group and now having the option to send email invites the user might well assume that the invite is being sent to Invite their friend to THE group they just created and from which they just navigated – however if you have the invite to group option disabled in admin config then the user can’t send an invite that explicitly invites to that group?

    What would help users a lot would be a little more by way of general instruction as they perform various tasks, in this instance at stage 4 ‘invite friends’ it states simply “Select people to invite from your friends list.” there is a tonne of space to add something like :

    “If you don’t wish to invite friends at this stage click ‘finish’ At a later time you can select the group tab ‘send invites’ and either select from site member list or click link to send email invites from your profile page. “

    In fact the creation screens should display a step by step guide that simply details the process and options. It can easily sit there to the right (if we’re talking about default theme) This is something that I will be adding myself anyway in general terms where it might aid the user to have more detailed info.

    It’s possible that simply expanding the textual guidance and instructions would at times help overcome basic newbie confusion when performing functions across BP?

    Avatar of roydeanjr
    roydeanjr
    Participant

    @roydeanjr

    Another option:

    Stage 3 – Simply complete the group creatoin process. Make sure everything is completed on the back end so that step does not get overlooked.

    Then write some code that will check how many members there are: if there is only one then display some text every time the group is viewed by the one member that says: “No one has joined this group. Invite your friends or check here to no longer see this prompt.” Then add a checkbox that turns this simple prompt on or off.

    If the prompt is on then include a link to the Invite Anyone or Send Invites page.

    By doing this you would somewhat separate the function of creating groups from the Sending invites. Granted, sending invites is probably something many people would like to do when they create a group but with the current flow this is causing some backend inconsistencies and groups are not actually getting created in the database. My suggestion might eliminate the disconnect?

    Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    @Erich73 – I can understand your point of view, but my feeling is that the Send Invites feature is essentially independent of groups. The way I’ve built it, it’s really an extension of an individual’s profile. Because of the way that a user’s sent invites are tracked, it makes more sense to organize things that way. At some point in the future it might be possible to include email fields directly on the group creation invite screen, but for now my plan is to leave it as it is, because it will complicate things quite a bit to handle both regular group invitations and email invitations in the same form submit.

    @hnla – I think you’re right that a large part of the issue has to do with the language around the group creation process. If you examine the underlying mechanisms, you’ll see that a group is actually fully created after step 2 (the settings page), and the avatar and send invites screens are really just setup screens after the group is created. That speaks to @roydeanjr ‘s point, which is that it is possible in theory to deactivate the Send Invites page altogether during group setup, and to find another way to encourage group admins to invite people to groups.

    @roydeanjr – I don’t think that the current method is causing groups not to be created in the db (because of the point I mention in the previous paragraph) but it certainly does sometimes cause some confusion with people using back buttons during the process, etc. What’d be nice is a message on each page to the effect of “Forget a step? Once you’ve finished the initial setup, you can reconfigure the group on the Group Admin tab” or something like that.

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    A couple of minor? issues:

    default message text has %whatever% instead of %%whatever%%

    Slightly more of an issue?

    enabling ‘Allow group Invites’ unfortunately drops ALL groups into screen this includes ‘Hidden Groups’ as such on production I have had to disable feature although I think I can probably get a fix in place to not show hidden groups for the interim.

    Of course it might be a case that this ‘user’ has actually created the hidden group and is the owner/admin and so does want to invite to this group so simply preventing hidden groups from showing might not be the answer and things become trickier – I guess hidden groups would need to be tested to see whether the user was the owner /admin of that group and only then would that group be displayed otherwise it would be removed from the list.

    Our situation is slightly different as we don’t allow users to create groups and we would never want or need to send email invites to join hidden ones so I’ll either try and run a check to see if a group is marked as hidden or failing being able to achieve that I’ll have to run with the option disabled.

    Off Tangent: one further link on the account tabs is one too many, even with a generous min-width tabs now wrap which is very unfortunate as there is no real way round that short of increasing page min-width,. Now have to spend time finding an alternative approach to those tabs which I hadn’t factored into things *sigh* The tab approach laid out as is in the default layout is a flawed approach given that plugins can add their links to these tabs, as with any layout there has to be a limit if working a horizontal tab style set of nav links otherwise one has to run them vertical really.

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    Where is the tabs nav string to be found? I’m going to have to truncate it to ‘Invites’ rather than ‘Send Invites’ – not really feeling the love for the WP/BP api at the moment simple things are too awkward to do

    Avatar of roydeanjr
    roydeanjr
    Participant

    @roydeanjr

    @boone – unfortunately I do have trouble on my installs. When I am creating a group – if I check to have a Group Blog while in the create group steps I get an error at the end and the group is not created. If, however, I do not check the Group Blog option during create, but then go to admin settings and Group Blog and check the box after the group is created, the app always creates the Group Blog successfully.

    I don’t know if my issue is related to my subdomain choice or something else, I have just found a work around that gets what I want, except for the tabs not working, when I create a new group.

    Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    @roydeanjr – Can you be more specific about the error that you get? This plugin doesn’t really affect group creation at all, since groups are essentially created by the end of step 2 (the screen where you check “Create Group Blog”) and the invitations don’t come until the end of the process. Do you have the same problem with group blogs even with Invite Anyone turned off? Exactly what does the error say?

    @hnla – The tab nav string is in in the file invite-anyone/by-email.php, function invite_anyone_setup_nav(), around line 199 where it says ‘name’ => __( ‘Send Invites’, ‘buddypress’ ). I’m noticing that I’m inheriting the BP string translation, since the phrase occurs in BuddyPress core. If it would help, I can change that to the bp-invite-anyone domain, so that you could use a language file to apply the change just in that place.

    As for hidden groups: I am using bp_has_groups with the user_id of the logged in user to populate that group list. Thus the Invite New Members screen should only show the groups that the user is a member of. It’s possible that you’re seeing all groups because you’re testing with an admin account. Have you verified your hidden group problem with a non-admin account?

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    Have you verified your hidden group problem with a non-admin account?

    erm… um… damn, far too early in the morning to have been thinking clearly, had only had the first cup of coffee, tying to do half a dozen things at once, lack of focus , rushing and a heap of other excuses. So you you had covered the hidden group issue then :-)

    Not sure if language files are easier? personally not really used to working with them so instinctively feel they are something that make things harder? but that might just be fear and the fact that the codex instructions rambled on about having to create .mo files from command line, which is fine can do but seems a hassle, wanted to change ‘Favorite’ site wide to the more arcane version but gave up when I saw the steps I would have to take to simply change one word!

    Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    @hnla – I have made so many silly oversights due to lack of caffeine that I would be ashamed to count them.

    Language files are a bit of a pain to set up, but I think you’ll find that they are really nice to have once they’re in place. The command line method works fine, but I use Poedit on my machine, which allows for easy editing and does the .po/.mo conversion automatically. It really is the best way to make your customizations future-proof – even (especially) if you’re changing just one word!

    Avatar of Hugo
    Hugo
    Moderator

    @hnla

    I’ll look into poedit then but still not 100% sure of the process/procedures behind .po/.mo files but will have to try and read up them.

Viewing 25 replies - 101 through 125 (of 174 total)

You must be logged in to reply to this topic.