Jump to content

BomAle

Members
  • Posts

    821
  • Joined

  • Last visited

  • Days Won

    2

Reputation Activity

  1. Like
    BomAle reacted to Charles for a blog entry, New: Content Message   
    This entry is about our IPS Community Suite 4.2 release.
    Following on from our previous entry about the new Recommended Replies feature, we also have one more small feature change that will be very useful.
    Content Message is a small feature available in all IPS Community Suite content areas (forums, blogs, gallery, etc.) and allows a moderator to put a message at the top of any item.

    Topic with a moderator message
    This is useful if you have a special use for the area people are posting in, need to encourage conversation to stay on topic, or perhaps the conversation is becoming heated and you need to remind people to behave.
    Sometimes the smallest features can prove the most useful and already I have found myself reaching for this feature out of habit from using it on our test 4.2 installs and missing it on our production site. I cannot wait to have it available and I am sure you will enjoy the ability to add custom notes to any area of the Suite.
     
    Development Note
    For our power users: this feature and the Recommended Replies feature use a new content meta data capability. This allows you to store miscellaneous data that is attached to a content item which does not need to be otherwise searched or exposed unless you are viewing that item. We will provide technical details on this later but it is a really easy way to store data about content without having to create additional tables or methods.
  2. Like
    BomAle reacted to Charles for a blog entry, New: Two Factor Authentication   
    We have had a question and answer feature in IPS Community Suite for some time and we are now happy to add Google Authenticator as another option. We have also combined the various options it a new Two Factor Authentication (2FA) section in the AdminCP with many more options.

    Two Factor Authentication Settings
    There are also new settings to control when a user is required (or not) to setup 2FA:

    2FA Setup
    You can control what areas will prompt for 2FA authentication:

    2FA Area Control
    And how the system should recover if a user cannot login via 2FA on their account:

    2FA Recovery Settings
    An administrator can configure these settings to tailor the security needs of their community. For example, you might want to require 2FA your admins and moderators but keep it optional for your members. 
    On the front end your members will see a new Account Security section under their settings area.

    Account Security Settings
    Once authenticated, a user will then be able to enable various security options. For example, the Google Authenticator setup shows an easy to follow setup.

    Google Authenticator Setup
    We hope you enjoy this new level of system security. IPS has plans to add additional 2FA providers beyond Question and Answers and Google Authenticator. We will keep you updated!
     
    This change will be in version 4.1.18 which is scheduled to be released in late January 2017.
  3. Like
    BomAle reacted to Charles for a blog entry, Cloud and Self-Hosted License Sale   
    Next week, IPS will be implementing the pricing changes to our product lineup that we published in 2015. In the spirit of Black Friday and Cyber Monday, we are extending an opportunity to purchase a new license or add new applications to your existing suite at 15% off our current pricing.
    To take advantage of this offer, please use coupon code IPSPROMO16 at checkout. This promotion is active starting now and valid until 1 December 2016 (EST) and applies to new purchases only. We are unable to retroactively apply the discount.
    This promotion also applies to Community in the Cloud for your first month of service!
    If you’ve been waiting to purchase a new license or add products to your suite, this is the last opportunity to obtain this level of pricing! Happy shopping!
  4. Like
    BomAle reacted to Charles for a blog entry, New: Custom RSS Feeds   
    There are now two ways to get outbound RSS feeds in IPS Community Suite: Activity Streams and a new Custom RSS Feeds feature we are introducing.
    Every Activity Stream you create also creates a related RSS feed. However, Activity Streams take into account recent activity and unread status per-user which you may not want if you want a simple, raw feed of content by date. The new RSS Feeds feature uses similar filter settings to Activity Streams but does a traditional by-date approach to the feed. It also only reports on the initial creation of a content item and does not update based on replies.

    Configure RSS Feeds
    You can finely select various content settings including selecting just certain categories within an application. So you might create an RSS feed that includes only content from an announcements forum and your blog section which would then be a total feed of all the news on your site.
    RSS feeds are useful in the traditional sense for people to subscribe to a feed on your site but they are also useful for integration. Many clients use RSS feeds to pull content into external sources to embed content on a different site, mobile app, or other systems. For those of you looking for even tighter integration with external systems, be sure to check out our REST API.
     
    This change will be in version 4.1.17 which is scheduled to be released in early December 2016.
  5. Like
    BomAle reacted to Charles for a blog entry, New: Word and Link Filters   
    We are changing the existing Profanity Filters feature to become the new Word Filters feature. This change will allow you to define words that will initiate a moderator review before content is posted. With creative use of this new feature you can actually have the Suite self-moderate certain posts.
    Right now the Profanity Filters are pretty basic. If you enter "stopword" you can have it change to *****. That's fine for basic profanity but sometimes you want to do other actions with a word. Perhaps someone might mention a competitor, you see common spam words, or you run a site targeted to children and want fine control over what is posted. There are a lot of reasons a simple replace word with *** might not be what you want.
    Word Filters introduce an option to let you say "stopword" places a post in moderation queue.

    Word Filters
    So now you can define a list of words that are not necessarily profanity but are words you want to review if they are posted.
    We have also extended this logic to the URL Filters which are now just called Links in the AdminCP configuration. You can now disallow all links and have a post go to approval if someone does post a link. This is also useful for sites where you need really tight control on content either for security or privacy reasons.

    Link Options
    With the new Links feature you can also set allow/disallow list of allows links and if someone posts a link outside those lists (depending on your mode) the post will go into review.
    We hope these features allow you to introduce a bit of automatic moderation to your community and you can come up with creative ways to capture posts that need review either for security, privacy, or just keeping things in order.
     
     This change will be in version 4.1.17 which is scheduled to be released in early December 2016.
  6. Like
    BomAle reacted to Charles for a blog entry, New: Tag Quick Edit   
    Tags are a powerful feature in IPS Community Suite 4 and we have seen clients using them in many ways to enhance content discovery on their site. Adding tags to an item is quite easy but modifying them after the fact requires you to edit the root content item. Not only is this tedious but it also then shows an edited-by line for that item even if all you did was change a tag.
    To make this process more user friendly we now have the ability to quickly edit tags when viewing any content item. When you view an item that has tags enabled and you have permission to edit then you will see a link to edit tags.

    Tag Quick Edit
    That brings up an input box where you can manage your item tags without leaving the page to a full edit screen.

    Tag Quick Edit Input
    We have been testing the feature for a few weeks internally and it has already saved us time as we tag our discussions. But beyond that, and I think more important, is the fact that we find we are using tags more often. More use means more organization and filter possibilities of your content which is a great thing for busy, data-drive communities.
    So we hope that not only will controlling your tags be faster an easier but you too find you use the tagging feature more often with this small but useful change.
     
    This change will be in version 4.1.17 which is scheduled to be released in early December 2016.
  7. Like
    BomAle reacted to Rikki for a blog entry, Introducing our new Developers area   
    I'm pleased to announce we're finally ready to open our new Developers area. The aim of this project has been to improve our existing developer documentation by building a central place to contain it, as well as update and expand the content available.
    As of today, we have the regular documentation and REST API documentation ready to use. Over the coming weeks and months, we'll be expanding what's available further, going into more detail about the tools available within the framework. We've also started work on comprehensive Getting Started guides, that will walk you through simple developer projects from start to finish - these will be available soon, once they're complete.
    If there's a particular aspect of IPS4 development that you don't feel is adequately catered for right now, please let us know! This will help us direct our efforts to the most useful places.
    Enjoy!
  8. Like
    BomAle reacted to Charles for a blog entry, New: Better Analytics Integration   
    We are improving our integration options with analytics tracking services to better track and credit all page views. Our focus here was to add the ability for IPS Community Suite to communicate with your analytics tracking provider of choice when it does page change events that do not otherwise get tracked.
    Some tracking providers do not understand that an inline AJAX page load (one that loads new content without a full page refresh) should still count as a new page. Even though your browser did not do a full reload, all your content is different so it should count in your metrics.
    To solve this issue, IPS Community Suite can now automatically put in custom code to execute on pagination. We include Google Analytics and Piwik code by default and there is also an option to include your own custom pagination event code for other services.

    Analytics in AdminCP
    If you already have your Google Analytics code in our existing (basic) analytics system then the Suite will detect this on upgrade and automatically enable the new pagination tracking. The screenshot above shows the "Other" option if you do not use Google Analytics or Piwik. If you have other providers you want us to consider just post a feedback topic.
    Note: be sure that you embed Google Analytics into your Suite using the built-in analytics system. If you simply pasted the code into your theme templates then we cannot automatically enable the new tracking.
    We hope this new feature allows for easier integration with analytics tracking providers and also gives you much better insight into your traffic by properly counting all the page views you may currently be missing out on!
     
    This change will be in version 4.1.17 which is scheduled to be released in early December 2016.
  9. Like
    BomAle reacted to Charles for a blog entry, Coming Soon in 4.1.16   
    IPS Community Suite 4.1.16 is nearing the end of development so I wanted to go over some of the new features in this upcoming release. Some are big and some are small but we always enjoy making any sort of enhancements to the Suite.
    We expect 4.1.16 to go to public beta next week. If you are interested in using a public beta please check out our beta forum (clients only) with more info. We welcome as much testing as possible and our betas are considered safe to use on a live site. We do offer support for betas so, if you are technically minded, consider giving them a try.
    Commerce: New Ticket Listing
    We have redesigned the ticket listing view in Commerce to be much more user friendly and better use screen space. You can also now group by department which is great for organization.

     
    Much like Activity Streams on the front end you can create custom views for tickets based on how you work.

    The new My History view allows staff to quickly see their latest replies and actions along with some basic stats.

    There are many other smaller improvement in Commerce in 4.1.16 as well. We think you will enjoy all the updates.
    Security Questions
    To enhance the security of your member accounts we now have a new security questions feature where you can allow your members to put in their own, personal security questions. The member will then be prompted to answer those questions for account actions you define.

    Account Change Emails
    Members will now receive confirmation emails when they change their email address...

    and their password...

    Topics per Page
    You can now define the number of topics per page in forum view.

    Remove all Followers
    Moderators can now remove all followers from any item that allows follows. This is useful if you are archiving an old item or otherwise do not want people getting notified of new activity on an item.

    Automatic Following
    Your members can already choose to automatically follow content they start or reply to but now you can define this as the default behavior for all members. Your members can of course override this to their own preference.

    Embed Failure Message
    To answer the constant question "why didn't my media embed?" we now show you why. Regular members will just see a message indicating the Suite tried to embed but was not able to. Admins will get more information on what failed.

    Suspended Member Page
    When you banned/suspended a member previously they simply saw a generic permission denied message. We now show a more friendly page saying they were suspended and why.

    The member can click to get the full information from the Warning System as well.

    Contact Us
    The contact us page now has configuration options to control where messages are sent. You can do email and even Commerce support departments now.

    Announcements
    Global announcements can now be restricted by member group.

    And some technical stuff...
    In addition to the new feature additions we have also fixed dozens of issues reported by clients. There was a particular focus on Commerce, Pages, and IPS Connect. Some other items of note:
    Performance improvements in: profile view, sitemap generator, posting replies, and Activity Streams We now try to more reliably detect the AWS S3 endpoint for those using S3 file storage Tasks view will now show the last time a task ran More efficient license key checking to keep the keys from being checked too often which can slow your site down If group promotion based on date is enable the system will now auto-promote even if a member does not login If you move your site to a new URL you no longer have to update a constant if using the image proxy You can now press ctrl/cmd+enter in any editor window to submit the reply (yay!) In Commerce ticket view there are keyboard shortcuts to perform common actions (such as press 'r' to open reply box or 'n' for note) There is now logic to prevent double-posting when the initial post encounters an error on submit If your datastore (cache system) is not working properly the AdminCP will now show you a warning telling you that it needs attention.    
  10. Like
    BomAle reacted to Rikki for a blog entry, New in 4.1.13: Personal Messenger Improvements   
    In line with our aim to make incremental improvements in each release, I wanted to go over a few of the small but useful changes to the personal messenger that you'll find in our next release, 4.1.13.
     
    Read/unread filtering
    The first improvement is that you can now filter the message list by read and unread, making it a little easier to browse through just the messages you're interested in.
     
    Search improvements
    Next up, the messenger search has been improved in a couple of ways; first, you can now also search the names of both the recipients and the senders, and second, we've added a menu so you can specify which fields in particular you want to search by.
     
    Easier moving
    Finally, we've added a popular request - the ability to use the mass-move tool inside the messenger. You can now check multiple messages, and the usual mass-action toolbar will appear that will allow you either move them to another folder, or, has been the case in the past, delete them.
     
    While these are each small improvements by themselves, we hope the incremental changes in each release add up to a more pleasant experience for users. 
  11. Like
    BomAle reacted to Rikki for a blog entry, New in 4.1.12: Round up   
    Last week we introduced you to a couple of key new improvements in IPS Community Suite 4.1.12, the new post preview and enhanced activity streams and search. However, this is a packed release, so I wanted to quickly review what else you can expect to find when it is released this week.
    Mentions
    4.0 introduced mentions, and since then a frequently-requested feature is the ability to ignore notifications triggered by particular members. In 4.1.12, we enhanced the Ignore Users functionality to also allow you to block mention notifications. They will still be able to mention you in posts, but you will no longer be notified about it.

    Ratings
    As of 4.1.12, ratings will now display half-stars in order to be more accurate. Users will still rate whole stars out of 5 (or 10 if configured so), but the aggregated ratings displayed alongside content will be more fine-grained.
    Custom date formatting
    We have used built-in, automatic locale formats for dates since 4.0, but it became increasingly clear that this did not offer the flexibility that some community administrators desired. As a result, 4.1.12 re-introduces the ability to provide custom formats for dates.
    Bug fixes
    Amongst the handful of new features, there's over 400 other bug fixes and improvements that contribute towards the overall stability of the IPS Community Suite, as we start working towards the next major release, IPS Community Suite 4.2 which will be available later this year. Further fixes for stability in the 4.1 line will come before 4.2 is available.
     
    Please check our release notes to read more about other smaller changes and fixes in 4.1.12.
  12. Like
    BomAle reacted to Rikki for a blog entry, New in 4.1.12: Post preview   
    We are currently beta testing our next release, 4.1.12, which contains hundreds of bug fixes, dozens of improvements, as well as a handful of new features. I wanted to introduce one of those new features: post preview.
    Long-time users of our software will know that a post preview function was a standard feature, but we took the decision to not include it in the initial IPS4 release. It had a couple of drawbacks:
    it only applied to certain pages, such as topic view - other WYSIWYG editors simply didn't get a preview the workflow wasn't very good for modern web apps, requiring a round-trip to the server and a full page refresh When IPS4 was released, we felt that the built-in rendering of the editor was a sufficient preview of how the end result would appear. However, while analyzing ongoing customer and user feedback for IPS4 in its first year of release, we have seen that a preview still has a use. There are some circumstances when a true WYSIWYG experience is just not possible such as using more advanced formatting (like LaTeX) or when admins create certain custom editor plugins.
    As a result, we rethought post preview. We wanted to ensure that all editors could be previewed, and that it didn't have a clunky workflow. In addition, since IPS4 uses a responsive theme, we wanted to give users the opportunity to preview how their post would look on different devices.
    Here's the result, and what will be available in 4.1.12:

    Post preview in IPS Community Suite 4.1.12
    The preview is shown by clicking a new button on the toolbar (meaning it can be moved, removed, etc. just like the other default buttons). When the preview loads, the toolbar allows the user to resize it to different device sizes. If they are on desktop, they can also view it at tablet at phone sizes; on a tablet, it can also be viewed at phone size.
    So now we not only show a true preview of what content will look like when posted, but we also allow you to preview how it will look on other devices. Of course that preview is just a best-guess since different devices have different window sizes but it does give you an idea.
    We hope this reimagining of an old feature for a more modern web will please end-users and make posting content a more accurate process. Stay tuned for more updates on what's included in 4.1.12!
    Version 4.1.12 is currently in beta testing and should be released in the next two weeks.
  13. Like
    BomAle reacted to Rikki for a blog entry, 4.0 - Extending JS controllers using Mixins   
    Reminder: this blog covers the technical details of 4.0's programming. For details on 4.0's features, follow our main blog.

    Reviewing controllers

    Some time ago, I blogged about the javascript framework we've built for IPS4. In it, I covered the most important component: controllers. To recap, a controller is a special object within the framework, and is applied on specific elements. That element is the controller's scope, and the controller works on it to provide its functionality. For example, a simple controller might look like this:

    ips.controller.register('core.global.core.example', { initialize: function () { this.on( 'click', this.showAlert ); }, showAlert: function (e) { alert( "This button's text is: " + this.scope.html() ); } });
    It would be used on an element like so:

    <button data-controller='core.global.core.example'>Click me</button>
    Here we're registering core.global.core.example as a controller. This represents the controller path - it's in the format app.module.group.controllerName. Though it seems longwinded, this allows IPS4 to dynamically load controllers on-demand, rather than loading them all when the page is loaded. In the initialize method (called automatically), we set up an event handler for a click. When the element is clicked, you'd see an alert saying "This button's text is: Click me".

    So, that's how controllers work. Almost all page behavior in IPS4 is handled through controllers. But how would you change a method in an existing controller, say if you were writing an addon, or if you had two controllers that were fairly similar, and wanted to provide a base controller they both shared?

    Mixins

    To enable that, we have mixins. Mixins allow you to specify functions which are inherited by objects - in this case, our controller objects. This means, using mixins we can add new functions to a controller without needing to edit the controller itself.

    A mixin is defined like so:

    ips.controller.mixin('addAnotherMethod', 'core.global.core.example', true, function () { this.anotherMethod = function () { alert('Inside anotherMethod'); }; });
    The ips.controller.mixin method takes up to 4 parameters:

    ips.controller.mixin( name, controller, automaticallyExtend, fnDefinition )
    name: Name to identify this mixin
    controller: The controller this mixin extends
    automaticallyExtend: [optional, default false] Does this mixin automatically extend the controller (more on that below)
    fnDetinition: The function definition applied to the controller

    In this example, our mixin adds a method named anotherMethod to our core.global.core.example controller shown earlier.

    Let's talk more about the automaticallyExtend parameter. Mixins can be applied to controllers in one of two ways - either automatically on a global basis, or manually on a case-by-case basis. Mixins are manually specified like so:

    <button data-controller='core.global.core.example( addAnotherMethod )'>Click me</button>
    This means the mixin is used on this element - but another element using core.global.core.example wouldn't get it. This is useful when you're building your own apps or addons; you can write simple controllers that implement base functionality, then extend them with functionality for specific cases by specifying the mixin name in your HTML. We use this ourselves - for example, we have a base table controller that handles sorting, filtering and so forth. We then have a mixin for AdminCP tables, and a mixin for front-end tables, which add functionality specific to those areas, reducing code duplication.

    If you're extending an IPS controller in an IPS app, though, modifying the HTML isn't typically an option. Instead, you can specify the mixin as global, and it will be applied to all elements where that controller is used. This means you can write your own mixins that work with our default controllers without having to touch our controller code (and that's a good thing).

    Advice

    So that shows how to add new methods to a controller. But what if you want to work with the methods that already exist in the controller? In the above example you'd only be able to overwrite an existing method - certainly not ideal, because 1) you would break any other mixins using the default method, 2) if we made an update to a method in a later release, your mixin would break it.

    To facilitate working with existing controller methods, we're using a model called advice. This adds three special methods to a mixin: before, after and around. These let you 'hook into' existing methods and provide additional code for them. Let's rewrite our example mixin from above to take advantage of it:

    ips.controller.mixin('changeBackground', 'core.global.core.example', function () { this.before('showAlert', function () { this.scope.css({ background: 'red' }); }; });
    Here, I'm using the before method. I'm hooking into showAlert method (from the controller), and changing the background color of the scope element. So what happens when the link is clicked? First the background changes to red, and then an alert box is shown. We've added the background changing functionality without needing to edit the controller at all. Here's two other ways of doing the same thing, using the other two special methods:

    ips.controller.mixin('changeBackground', 'core.global.core.example', function () { this.after('showAlert', function () { this.scope.css({ background: 'red' }); }; this.around('showAlert', function (origFn) { this.scope.css({ background: 'red' }); origFn(); }; });
    The after method is fairly self-evident. With the around method, the original function is passed in as an argument, allowing you to determine when it is executed by your mixin.

    All three of these methods will stack, so multiple mixins can hook into the same method, and they'll be executed in order, each receiving the previous.

    Conclusion

    I hope this introduction to mixins proves useful to developers; it shows how our core app controllers can be extended in a non-destructive way, but also how your own apps can use the mixin functionality to create an inheritance model to make your life easier.

    Javascript in IPS4 makes extensive use of custom events, so the preferred way of adding new functionality is to listen for appropriate events and act on them - but the mixin support described above provides a mechanism by which you can adapt existing event handlers.
  14. Like
    BomAle reacted to Charles for a blog entry, Coming soon in 4.1.10   
    We are wrapping up testing in preparation of version 4.1.10 release. This is a follow up to 4.1.9 which introduced a lot of great enhancements.
    Changes in 4.1.10 include:
    Instant notifications are now dismissible. The sidebar has been added back to the Activity Stream pages. You can now sort by most downloaded in Downloads app.  The ModeratorCP and AdminCP IP Address Tools now allow you to track the IP addresses used to vote in polls. A new setting has been added to disable the RSS feed for activity streams. A new setting has been added to specify the minimum display name length. Adds a new "can unban" moderator permission separate to the "can edit profiles" permission being used previously. IP addresses now show in reports. There is now a constant-level setting to disable the ACP IP address check in case of being locked out of the ACP. Several improvements to Commerce to make some features clearer: the Shipping Rates configuration pages now indicate to the admin if a potential mistake has been made, the front-end indicates to admins if no support departments have been set up, and the renewal settings wording has been clarified. And of course countless bugs fixed and performance enhancements. View our full release notes for more details.
    If you are an existing IPS client and enjoy testing pre-release software, a beta release of 4.1.10 is available. We always appreciate help testing upcoming releases.
    We are already well into development on 4.1.11 which include some larger feature changes and additions.
×
×
  • Create New...