Jump to content

Mark

Clients
  • Posts

    36,220
  • Joined

  • Last visited

  • Days Won

    114

Reputation Activity

  1. Thanks
    Mark got a reaction from kir29 for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  2. Like
    Mark got a reaction from stefano_els for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  3. Like
    Mark got a reaction from scaz for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  4. Like
    Mark got a reaction from Shariq Ansari for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  5. Thanks
    Mark got a reaction from zbahadir for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  6. Thanks
    Mark got a reaction from kysil for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  7. Like
    Mark got a reaction from SeNioR- for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  8. Like
    Mark got a reaction from SeNioR- for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  9. Thanks
    Mark got a reaction from SeNioR- for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  10. Like
    Mark got a reaction from AtariAge for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  11. Like
    Mark got a reaction from Marc Stridgen for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  12. Like
    Mark got a reaction from Gowtham for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  13. Like
    Mark got a reaction from Koper74 for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  14. Like
    Mark got a reaction from motomac for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  15. Like
    Mark got a reaction from motomac for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  16. Like
    Mark got a reaction from shahed for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  17. Like
    Mark got a reaction from OverPlay for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  18. Like
    Mark got a reaction from jcdesign for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  19. Thanks
    Mark got a reaction from Markus Jung for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  20. Like
    Mark got a reaction from eskaiter for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  21. Like
    Mark got a reaction from Cyboman for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  22. Like
    Mark got a reaction from sobrenome for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  23. Like
    Mark got a reaction from GlenP for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  24. Like
    Mark got a reaction from LiquidFractal for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  25. Like
    Mark got a reaction from ASTRAPI for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  26. Like
    Mark got a reaction from Emanoel for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  27. Like
    Mark got a reaction from AlexWright for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  28. Like
    Mark got a reaction from crmarks for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  29. Like
    Mark got a reaction from Brian A. for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  30. Like
    Mark got a reaction from Silnei L Andrade for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  31. Like
    Mark got a reaction from Meddysong for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  32. Thanks
    Mark got a reaction from Firdavs Khaydarov for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  33. Like
    Mark got a reaction from A.Man.Br for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  34. Like
    Mark got a reaction from bfarber for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  35. Like
    Mark got a reaction from Lindy for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  36. Like
    Mark got a reaction from Lindy for a blog entry, 4.3: Scaleable search and interface improvements   
    Search. Let's be honest, it's not the most exciting feature in the world. You ask to find things, and it shows you what it found.
    Simple, right?
    It's a lot more complex than that. After numerous tests, a few surveys and many discussions with customers, we've decided that there is no "right" or "wrong" way to search. Invision Community is used on many diverse communities and each has its own needs.
    The bigger the community, the more of a headache search can be when you start hitting frustrating technical limitations of the database.
    Happily, we've addressed all of these issues with Invision Community 4.3 and added a few extra treats.
    Searchable Products and Pages
    Products in the Store and custom Pages will now show in search results.

    Store product in search results
    More Customisable Search Experience
    One of the most difficult challenges with search is anticipating the scope of the search. If, for example, you're looking for something you know you've seen before, you want the search to be narrow - matching only the exact terms you provide, probably only matching against the title, in the specific area you know where the content is located. If however, you're just doing a general search about a particular subject, you want the search to be wide - matching any of the terms you enter, anywhere in the community, in both titles and content.
    For a while, Invision Community has had the option to choose which areas to search, defaulting to the area of the community you're in (for example, if you're in a forum, only that forum will be searched by default). We also provide a number of suggestions on the search result form (in the form of "Didn't find what you were looking for? Try searching for..." followed by a number of options) which adjust the scope of the search.
    In Invision Community 4.3, we have a new interface for the quick search feature which makes some of these options more visible so you're more likely to find what you're looking for on the first search.

    New Search UI
    Along these lines we have also:
    Changed the default "Search In" selection to "Everywhere", regardless of where the user is. Added a new setting which controls whether the "Any words" or "All words" option is checked by default. Added a new setting which allows you to adjust how much of a boost results receive for a match in the title, versus the content body, when searching both content titles and body. You can set default and/or operator.

    New Search Settings
    Elasticsearch
    In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:
    Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL. Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers. Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai. Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results). Unlike with MySQL, there is no minimum query length and a very small list of stop words.
    Elasticsearch Settings
    When enabled, both searches and activity streams will be retrieved from Elasticsearch. The core_search_index database table in MySQL will no longer be populated, so you will not have to store the data twice.
    To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.
    REST API
    Developers and those looking to integrate Invision Community features into their own sites will be pleased to learn that we've extended the REST API to accommodate searching. 
  37. Like
    Mark got a reaction from Xiaodidi8 for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  38. Like
    Mark got a reaction from LukasGr. for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  39. Like
    Mark got a reaction from Emanoel for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  40. Like
    Mark got a reaction from OverPlay for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  41. Haha
    Mark got a reaction from sagevil for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  42. Thanks
    Mark got a reaction from The Old Man for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  43. Like
    Mark got a reaction from Yamamura for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  44. Thanks
    Mark got a reaction from shahed for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  45. Like
    Mark got a reaction from Silnei L Andrade for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  46. Like
    Mark got a reaction from BomAle for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  47. Like
    Mark got a reaction from sadel for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  48. Thanks
    Mark got a reaction from Cyboman for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  49. Like
    Mark got a reaction from Ramsesx for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  50. Like
    Mark got a reaction from Ehsan1111 for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  51. Thanks
    Mark got a reaction from 13. for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  52. Like
    Mark got a reaction from Meddysong for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  53. Thanks
    Mark got a reaction from ipbhero for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  54. Like
    Mark got a reaction from SoloInter for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  55. Like
    Mark got a reaction from Ioannis D for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  56. Thanks
    Mark got a reaction from DawPi for a blog entry, 4.3: Sign in from other sites using OAuth   
    The best way to convert guests into members is to make the onboarding process as simple as possible.
    Over the years, we've added special log in methods for Facebook, Google, LinkedIn and Microsoft. We've carefully hand coded these integrations to allow guests to sign up with just a few clicks using services they're already a member of.
    These services used to use proprietary methods to link with other websites, but a new standard has emerged.
    OAuth
    You may not know it, but you're probably familiar with OAuth already. If you have enabled the ability for users of your community to sign in with their Facebook, Twitter, Google, LinkedIn or Microsoft account, you may have noticed that the process for setting up each of these is quite similar. This is because they all use the OAuth protocol.
    In Invision Community 4.3, we are introducing several exciting new features:
    In addition to all of the existing social networks above, which retain their "easy setup" status, we have also added Wordpress. Users on your community can now sign in with any Wordpress site you control (you will need to install a Wordpress plugin to enable OAuth capabilities). As well as those "easy setup" options, we have also added the ability for you to allow users on your site to sign in with any OAuth 2.0 based provider. This means, for example, if your community is based in a location where other social networks are popular, if they use OAuth, you can set those up too. While the setup is a little bit more complicated, this doesn't require any custom programming - you'll just need to find out a few more pieces of information from the provider (an example is provided below). Invision Community itself can now also serve as an OAuth 2.0 server so you can set up other sites to be able to facilitate logins using credentials from your community. This works in conjunction with our REST API, allowing you to make API calls as an authenticated member, which will return just the information that user has access to. With the ability for Invision Community to serve as both an OAuth server and client, this now provides standard integration for multiple Invision Communities together, which will now replace the old IPS Connect feature. We have also taken this opportunity to make a few other minor tweaks to login, registration and account management features, especially for communities which rely heavily on non-standard login methods (more details below).  
    Setting Up a Custom OAuth Provider
    For this example, I'm going to use vk.com, which is a popular social network in Europe. While Invision Community doesn't provide this as one of the "easy setup" options, it is based on OAuth 2.0 so we can use the new functionality in Invision Community 4.3 to set it up.
    In older versions, the list of login handlers in the AdminCP had all of the providers listed with enable/disable toggles - because now you can add as many custom handlers as you like in 4.3, it's now a list where you can add/delete options:

    Login Handlers List
    When clicking the "Create New" button, you'll see all of the different handlers Invision Community supports. Since vk.com isn't in the list, but is still OAuth 2.0-based, I'll choose the "Other OAuth 2.0" option:
     
    Choosing a Login Handler
    You'll now need to use the documentation provided by the site you want to integrate with to fill out this form. While no custom programming is required, the documentation is usually quite technical in nature - but you only need a few key pieces of information. We anticipate that for some of the more popular options, guides will be provided to help you find the information you need.
    I have created an application in vk.com's developer center and so I will copy and paste my credentials into the form:

    Inputting vk.com credentials
    I then need to find the endpoints from vk.com's documentation and input those too.

    Inputting vk.com endpoints
    Next I need to find the endpoint where I can access the user's information within their API and the parameters they are returned by. The only required piece of information is an ID, but you can also provide the parameters for accessing the display name, email address and profile photo. If display name/email address isn't available/provided, the user will be asked for this the first time they sign in. vk.com's API doesn't provide access to the email, but I can use the screen name as the display name, and they do provide access to the photo:


    Inputting vk.com User Information Endpoint and response parameters
    Finally, provide a logo and a color for the sign in button and some final settings:

    Inputting vk.com Logo and Button Color
    And now vk.com login is set up. A button will now show up on the front end which I can use to sign in. I didn't provide a way to access the email address, so on the first sign in, the user will be prompted to provide that, but the screen name and profile photo from vk.com will be used:

    Signing in with vk.com
     
    Using Invision Community as an OAuth Server
    You can also set up Invision Community itself to be an OAuth Server. This may be useful for two main reasons:
    If you want to integrate two communities together, or integrate with something else which supports adding custom OAuth clients. If you are a developer and want to use the REST API using OAuth for authentication rather than an API Key. You can either make requests as an authenticated user (by obtaining an access token) or using Client Credentials. The screenshots below show the full capabilities which are quite technical and mostly aimed at developers. If you will just use this feature to link two communities, don't be concerned if it looks too complicated, an easy-to-follow guide will be available to achieve that.
    You will set up the clients from the AdminCP:


    Setting up an OAuth Client
    When creating the OAuth Client, you can control which scopes are available, and which endpoints of the REST API they provide access to:

    Defining OAuth Client Scopes
    The login process is then the standard OAuth flow, and users have the ability to view authorisations in the account settings:

    Authenticating an OAuth Client
    The REST API has new and updated endpoints to be aware of the authenticated user:

    A new REST API endpoint which returns details of the currently authenticated user

    An updated REST API endpoint which, when called using OAuth authentication, will only return data the authenticated user has access to
     
    Other Login System Tweaks
    Users can now choose if they want to change their local display name or email address if it is changed by an external login method (or the administrator can choose this behaviour). If there is an issue with this (for example, it wants to change the email to one that is already taken), or profile photo syncing, this is now better communicated to the user. You can now control per-login-handler if new registrations are allowed using it. This addresses some confusion from previous versions as to if the "Allow New Registrations" setting applies to accounts being created by social network logins. The Standard login handler can be disabled if you rely totally on an alternate login method. To allow this to happen:  All areas where a user is prompted to re-enter their password (some areas of the account settings) now allow reauthentication using any login handler. You can disable local registration but still allow accounts to be created by other login handlers, or redirect users to an external URL to register an account. You can also disable or redirect to an external URL for changing email address / password or the Forgot Password tool. You can now create multiple instances of the external MySQL database and LDAP login methods which have also had some other minor tweaks: The external MySQL database handler now has PHP's password_hash() function as an available option for password encryption type, and defining a custom encryption method is now much easier, done entirely in the AdminCP without needing to modify PHP files. You can now choose if changes to the local display name / email address / password is synced back to the external database / LDAP database. You can optionally show these handlers in the Account Settings pages like other login handlers to allow users with an existing account to link their accounts. You can define a Forgot Password URL for the external database which the user will be redirected to if they try to use the Forgot Password tool and that is how their account is authenticated. 
  57. Like
    Mark got a reaction from Tripp★ for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  58. Like
    Mark got a reaction from Markus Jung for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  59. Like
    Mark got a reaction from sobrenome for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  60. Like
    Mark got a reaction from Thomas. for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  61. Like
    Mark got a reaction from Leon@rdo for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  62. Like
    Mark got a reaction from Nick Marinov for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  63. Like
    Mark got a reaction from ABGenc for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  64. Thanks
    Mark got a reaction from ossipetz for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  65. Like
    Mark got a reaction from Silnei L Andrade for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  66. Thanks
    Mark got a reaction from The Old Man for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  67. Like
    Mark got a reaction from opentype for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  68. Like
    Mark got a reaction from BariatricPal for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  69. Like
    Mark got a reaction from Emanoel for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  70. Like
    Mark got a reaction from shahed for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  71. Like
    Mark got a reaction from Rhett for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  72. Like
    Mark got a reaction from LiquidFractal for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  73. Thanks
    Mark got a reaction from Cyboman for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  74. Like
    Mark got a reaction from Xiaodidi8 for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  75. Haha
    Mark got a reaction from BomAle for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  76. Like
    Mark got a reaction from crmarks for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  77. Like
    Mark got a reaction from Jujuwar for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  78. Like
    Mark got a reaction from boboss78 for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  79. Like
    Mark got a reaction from kysil for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  80. Like
    Mark got a reaction from TheSonic for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  81. Like
    Mark got a reaction from Qubabos for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  82. Like
    Mark got a reaction from Ramsesx for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  83. Like
    Mark got a reaction from nodle for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  84. Like
    Mark got a reaction from media for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  85. Like
    Mark got a reaction from Jim M for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  86. Like
    Mark got a reaction from Myr for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  87. Like
    Mark got a reaction from uA_Y_C_A for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  88. Like
    Mark got a reaction from AlexWebsites for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
  89. Like
    Mark got a reaction from Spanner for a blog entry, 4.3: Express yourself with Emoji   
    Emoji: built in to Invision Community 4.3! ?
    Invision Community has a long history. We remember the early days of forums, back when graphical "emoticons" or "smilies" were added.
    We have always shipped our products with a basic set of emoticons with the ability to add your own images and has supported emoji from mobile devices.
    Emoji has become a standard across mobile and desktop devices so it made sense to bring them to Invision Community fully.
    You can choose from 3 different styles of Emoji:
    The native style provided by the user's operating system (if you choose this option, users on different platforms will see different styles) Twitter style EmojiOne style
    Emoji Settings
    Once you have chosen one of these options, all of the available Emoji will show in the emoticons selector when making a post. Unlike in older versions, the entire list is scrollable (the categories drop down will jump you to the category rather than filter), you can search, and standard Emoji features like skin tone modifiers are fully supported, and of course, you can make them as big as you like.

    Navigating Emoji

    Skin Tone Modifier

    Make Emoji any size
     
    Autocompleting Short Codes
    In addition to using the selector, you can also use optionally enable standard :short_codes:. These will be autocompleted as you type.

    Autocompleting Short Codes
    You can also enable more conventional ASCII emoticons to be automatically replaced too:

    ASCII Short Codes
     
    Don't Worry: Custom Emoticons Aren't Going Anywhere!
    You can use custom emoticons either instead of, or even alongside Emoji. If you give your custom emoticons a text replacement starting and ending with : they will even show in the autocompletion alongside Emoji.

    Custom Emoticons
     
    Technical Details 
    Whichever style you choose, Emoji is stored in the database as the actual Unicode characters, so you can even change the setting and all Emoji, even those in existing posts, will immediately change.
    If you choose to use the native style (so the Emoji will match the style provided by the operating system), the system will automatically detect which Emojis are supported and the selector will only try to show the ones the platform can render.
×
×
  • Create New...