• Content count

  • Joined

  • Last visited

About Josh

  • Rank
    Meet Jay
  • Birthday 07/29/1981

Contact Methods

Profile Information

  • Gender Male
  • Location Lynchburg, VA

Recent Profile Visitors

116,536 profile views

Josh's Activity

  1. Josh added a blog entry in News and Announcements   

    iPhone App: Push Notifications
    We have a big update coming soon and we wanted to tell you about all the new features you can expect. In a previous blog post we talked about the new Directory feature, which will help people using the app discover your communities. We also talked about some interface improvements, such as the new forum quick list, which gives you fast access to common areas of your forum. We have one last big feature to tell you about in this new version and that's Push Notifications!

    Push Notifications

    Push notifications have been integrated into the existing notification system, so any event that can generate a notification can also generate a push notification. You can have notifications sent to your phone for subscribed forums and topics, new personal conversations, reported posts, and much more.

    You will find a new settings group in your ACP "iPhone App", from here you can enable or disable support for push notifications. You can also restrict which group has access to push notifications, making it possible to use the subscription service to sell this feature to your users.

    Once you have enabled notifications for your forum, your users will see a new 'mobile' column in their notification settings:

    These same settings can also be updated directly from the iPhone App:

    The Quick List feature that we showed in the previous blog post has been expanded to show your unread notifications. When you receive a notification on your phone, the Quick List for the forum that sent it will be automatically opened so that you can see the notifications:

    Tapping the notification will take you directly to that area of the forum.

    This feature will be available to everyone with a active support license, hosting account, or service addon package. If you would like to find out if your license qualifies, please visit the license key section of your ACP and refresh the license data, look for this message:

    iPad Support (beta)

    This version also includes preliminary support for the iPad, the application will now properly resize to use the entire screen. We'll be further enhancing this functionality in the future by providing a more customized interface and using the regular skin instead of the mobile skin.

    We will be submitting this new version to Apple very soon, so you won't have long to wait for all of these new features. Note that they do require IP.Board 3.1.1 to work. We hope you're excited for this update and we look forward to your comments, suggestions, and feedback!

    (Yes, there is an Android app coming in the future still!)

    We will post a full announcement when the iPhone app update is approved by Apple and available to download.
  2. Josh added a blog entry in News and Announcements   

    IP.Board Communities iPhone App Updates
    A week ago we launched the first version of our IP.Board Communities iPhone App and the response has been great so far with thousands of downloads! It's been really exciting for us to see the great feedback and start incorporating it into the newer versions of the app. We have a new version of the app awaiting approval that addresses many of the issues from the first release, we expect that it will be live on the app store within the next 48 hours. In addition to bug fixes, this version includes a few interface tweaks that improve the user experience.

    In addition to the version that is awaiting approval, we have an even newer version that we will be submitting to the app store soon. Apple's approval can take up to a week so expect it to be available for download around June 8. Here's a quick preview of what you can expect from this upcoming version:

    New Feature: Directory

    The directory feature takes the link directory from our site and incorporates it into the app, allowing users of the app to easily discover new communities. We think this will be a great way to drive traffic to your sites, so make sure that you have added your site to the directory!

    Clicking the "Add to My Communities" button will take you straight to the add forum page, with the title and url fields pre filled out for you. If you do not already have a username and password, you can leave those fields blank and you will be redirected to the register page the first time you visit the community. This is a great way to drive traffic to your community and for new members to join using their mobile device!

    Quick List

    This feature will allow you to quickly jump to several sections of a forum, instead of starting at the home page. You can access the quick list menu by tapping the blue arrow on the main forum listing:

    After tapping that button, you will see this screen:

    We have a lot of future plans for this area, such as including stats from the community.


    The settings area is where you can edit forum details, such as your login and password. In the future there will be a wider variety of settings included for each forum.

    Future Versions

    All of those features will be included in the next version we submit to the app store, but we have a lot more planned for later versions. We will be adding push support in the near future, so that any notifications that IP.Board generates will have the option of being sent to your phone. We also have numerous enhancements to the interface and user experience planned.

    We hope you're excited about these new features, we can't wait for you to try them out! As always, we welcome your feedback and suggestions, so let us know what you think!

    And, yes, we are still planning an Android platform app.
  3. Josh added a blog entry in News and Announcements   

    IPB 3.1.0: Centralized License Key
    Over the past year we have introduced new services that are available to our IP.Board Standard Licenses holders, such as the spam service and the chat service. We also have plans for more services that will be tied to your license. While this provides a lot of value to your license, managing these services is a cumbersome process, you need to create keys for each of these services and enter them in different areas of the ACP.

    We're always looking for ways to streamline and improve your experience, toward that end we will be introduce a new centralized license key that will work for all services. Starting with IP.Board 3.1, all licenses will be given a single key that will grant access to all services available to that license. When we introduce new services, you will automatically have access to that service without having to log in to your client area account to generate a new key and activate it.

    IP.Board 3.1 will include a new license manager in the ACP. When you first access the manager, you will see a screen that lets you enter your license key and your forum URL:

    After you activate your license, you will be able to see the status of your license and all the services that are attached to that license:

    Like all previous versions of IP.Board, your forum will function if you do not enter your license key, however you will not have access to any of the special extra services your license provides until you activate your license key. There will be a grace period where old spam and chat keys will continue to function, however we recommend that you activate your new license keys as soon as possible.

    We hope that this simplification of our license key system will be beneficial to everyone and that you enjoy all the services it provides! As always feedback and suggestions are welcome.
  4. Josh added a blog entry in News and Announcements   

    Spam Monitoring Service Update
    Last year we introduced a Spam Monitoring service to combat the increasing problem of registrations on communities from spam accounts and the response to this service has been great! The spam service has been a great success so far and we would like to take the time to share some stats about how effective the service has been.

    The service is only as effective as the number of communities that sign up and report data back to our system, so we are happy to report that thousands of communities have joined the service and are helping each other to reduce the amount of spam each receives. If you have not yet signed up, we would encourage you to take this opportunity to do so: the Spam Monitoring service is free to all active IP.Board license holders!* It is a great way to improve and protect your community while saving you time.

    Thanks to the network of communities that have joined this service, we have been able to block tens of thousands of spammers from registering on communities that participate in this service! The spam service itself receives thousands of requests per hour and continues to build its database from that data. As always, your registration data is kept safe and is not permanently stored as transmitted data is only used to detect spammers.

    We are continuing to monitor everything that is reported and look for trends to help the system better identify spammers that are registering on your communities. If you are signed up for the service and a spammer does register, please remember to use the Mark as Spam feature (both in the IP.Board AdminCP and the front-end for moderator use) so that we can receive that data and use it to improve the service for everyone.

    If you are signed up for the spam service, please take a moment to check your logs (in the IP.Board AdminCP) and make sure that the service is working for you. We have noticed that some sites do not have the correct URL for their site so their requests to the service are not working as a result. If you are having any issues, please open a ticket and let us know.

    New in IP.Board 3.1

    Most of the processing for the service is handled by IPS servers but we are adding two enhancements in IP.Board 3.1: reporting false-positives and statistics.

    Reporting False-Positives

    Just as your email client sometimes flags a legitimate email as a spam message, our service sometimes tries to be a bit over-protective and will flag a legitimate account as belonging to a known spammer. You can currently "un-flag" that account and restore it to normal but that information is not passed back to IPS so the service could learn that a particular account was actually legitimate. In IP.Board 3.1, removing a spam status on an account will be reported back to IPS to improve the service.


    IP.Board 3.1 will include reports and graphs on how the service is protecting your individual community.

    We hope you continue to enjoy the protection the service offers and if you have any suggestions, please post in our feedback forums . Thanks!

    *The following packages include the services option, which the spam service falls under, and qualify to use the service at no cost:

    [*] IPS Hosting clients [*] IP.Board Standard License [*] IP.Board Business license [*] IP.Board Community Suite license

  5. Josh added a blog entry in News and Announcements   

    IP.Board 3.1.0 Dev Update: Ad Code Integration Part 2
    Yesterday we showed IP.Board 3.1's ad code integration for the first time, today we'd like to give a quick update on the status of this new feature.

    First of all, we were excited to read all of the positive feedback and great suggestions. We like to write these blog entries before features are 'set in stone', so that we can more easily and quickly include suggestions from our customers.

    Group Setting

    In response to your feedback, we've included a new setting that will allow you to hide ads for specified groups.

    Ad Placement

    Another common concern was the placement of ads within topic view. While we are not going to add an additional setting that gives you the option of showing the ad inside the first post, we do want to show you how easy it is to accomplish this. The ad code is passed into the template bit along with the first post, so you can move it any place you like within in that first post. Here is the code to display the ad:

    Once again, thank you for the great feedback!
    <if test="adCodeCheck:|:$post['post']['_adCode']"> {$post['post']['_adCode']} </if> By default, we have this setup so that the ad is placed after the first post is completely printed. However, if you would like the ad displayed inside the first post, all you need to do is move that display code and place it after this code: <if test="postSignature:|:$post['post']['signature']"> {$post['post']['signature']} </if> The same is true of the other ad codes, it's very easy to move them to any place in the template that you would like. Modification Developers There are also a few functions that may be of interest to modification developers. If you want to give users the ability to show ads in your mods, you can easily check permissions before displaying the ad using this new function: IPSAdCode::userCanViewAds(). This will return true/false depending on if the user can view ads or not. Much like the board index, forum view, and topic view, you can have your modification set it it's own global header/footer ads by using a simple function: IPSAdCode::setGlobalCode( 'header', $yourHeaderAd ); IPSAdCode::setGlobalCode( 'footer', $yourFooterAd );
  6. Josh added a blog entry in News and Announcements   

    IP.Board 3.1.0 Dev Update: Ad Code Integration
    Advertising integration has been an often requested feature for a long time, so we're pleased to announce that IP.Board 3.1 will include this feature! We've create a simple system that will allow you to insert ad code at various locations throughout the forum. The integration is not specific to any ad platform, so you can use this for Google AdSense, or any other platform that you may use for your site. We did not want to choose any specific advertising platform to keep the system flexible plus IPS would never get between you and your advertising revenue.

    There are several predefined ad spots, all you need to do is paste the code for your ads into any of these locations.

    Header and Footer Ads

    The first two locations you can place ads are in the global header and footer, these ads will show on every page in the forum, except for redirect screens.

    As you can see in the screen shot, this system uses a simple settings page for adding ad code, you can paste anything you want into these boxes. In addition, there are several areas that can override the global header and footer code with page specific header and footer code. The Board Index, Forum View, and Topic View are able to use this override feature, so that you can either not show ads on one of those areas, or show different ads.

    Aside from the headers and footers, there are three other locations that you can place ads:

    Board Index Side Bar

    A simple hook will allow you to place ads in the sidebar of the forum index, you can use the existing hook ordering system to determine where on the sidebar the ad will be displayed.

    Forum View & Topic View

    You can also specify ad code that will be displayed inline with topics in forum view and posts in topic view, these ads will be displayed after the first topic or post. Here's a screenshot of each:

    As you can see, this is a basic and easy to use system for placing ads in IP.Board. We have ideas for future enhancements to this system and will be improving things as we go but, even with this basic implemenation, you can now easily disperse advertisements throughout your community.

    We hope that you find this helpful, and as always, we look forward to your feedback and suggestions!
  7. Josh added a blog entry in News and Announcements   

    IP.Board 3.1.0 Dev Update: Modification Development Enhancements
    There are a lot of enhancements being made to the application/hook system in IPB 3.1, many of which were discussed in a previous blog post . While that post focused on the hooks system, there have been many other changes made throughout IPB 3.1, and we'd like to highlight a few of those in this blog post. We hope that our modification community will find these changes helpful and can't wait to see what they do with this new version! As always, if there are any suggestions or comments, we would love to hear them.

    Template Hooks: Replace Output

    A new optional function has been added for template hooks called replaceOutput(), which receives the entire content of the page and replaces it with what is returned from your hook. This allows your hook to replace tags with whatever content you need, here's an example that adds the pid of a post next to the multiquote button:

    memberSync Changes

    We've made a few changes to memberSync, in order to make a few of the functions a little more useful.
    [*]onGroupChange: The old member group is now passed into this function [*]onLogin: The plain text password is now passed into this function [*]onCreateAccount: The plain text password is now passed into this function

    Extensible Forms

    One of the new features we introduced with IPB3 was the ability for applications to extend the member and group edit forms in the ACP. We've now expanded that functionality to include the forum edit form as well. This works in the same way as the group edit form, by allowing your application to add a tab to the edit forum form. We've also updated the member form extender to determine tab ids automatically, exactly as the group form extender does in the 3.0. So you'll no longer have to worry about your member form conflicting with another applications member_form.

    Attachment Plugins and Profile Tabs

    Our goal with applications is to make them as independent of each other as possible, toward that end we've moved the attachment and profile tab plugins into the application extension directory of each application. Profile tabs will now be placed in YOUR_APPLICATION/extensions/profileTabs and attachment plugins will now be placed in YOUR_APPLICATION/extensions/attachments. The file and class names have remained the same, the only difference is their location within the file structure.

    New Setting Type: Autocomplete Member Name

    This new setting type will allow you to create fields that will then be turned into member name autocomplete fields by IPB.
    public function replaceOutput( $output, $key ) { $tag = '<!--hook.'.$key.'-->'; $lastFound = 0; foreach( $this->registry->output->getTemplate('topic')->functionData['topicViewTemplate']['post_data'] as $pid => $post ) { $pos = strpos( $output, $tag, $lastFound ); $strToInsert = 'PID: ' . $pid; if( $pos ) { $output = substr_replace( $output, $strToInsert . $tag, $pos, strlen( $tag ) ); $lastFound = $pos + strlen( $tag . $strToInsert ); } } return $output; }

  8. Josh added a blog entry in News and Announcements   

    IP.Board 3.1.0 Dev Update: Hook System
    In IP.Board 3, we introduced the hook system, the goal of which was to cut down on file edits from modifications and make modifications easier to install. We designed the system to be as flexible as possible, primarily using the HTML logic feature to create hooks in virtually every portion of the output generated. However, we knew there were still cases where a file edit was needed, to access certain data or to reach any area of the board that was not a template or an action file.

    One of our primary goals with IP.Board 3.1, is to expand the hook system to further reduce the need for file edits, as well as to make installing them even easier. We've read all the feedback on hooks from modification authors and are incorporating as much of it as possible into 3.1. Here's a quick rundown of the changes that we have mode so far:

    New Hook Types

    Our first goal was to extend the hook system to cover areas of the forum that are not currently accessible to hooks. Toward that end, we are introducing two new hook file types to address this issue:

    Data Hooks

    Modifications often need access to add their own data to insert/update queries that are run by IPB, at the moment that data is not accessible and must be queried separately and then hook has to run another insert/update query. To address this issue, we have added a new hook file type called a Data Hook. This type of hook allows you to access certain data arrays before they are inserted into the database. For example, you can create a hook that will receive the $post array before it is inserted into the posts table, this will give your hook a chance to add any data it needs or modify any data being saved. Technically, a Data Hook does not even have to modify the actual data array, you can use them as a simple code execution point as well.

    Unlike Template Hooks, which are essentially generated automatically, Data hooks are manually specified in the code, so if you have suggestions on where you would like to see these placed, please reply to this blog post and let us know. At the moment, data hooks are used in the posting library, the messenger library, and some areas of the profile screen.

    Library Hooks

    There are many classes used within IPB that are inaccessible to hooks, as they are not actions or templates. However, it is often useful to be able to modify these classes with your own methods or to add on to existing methods. This leads to the second type of hook file that we are adding in 3.1, the Library Hook. This type of hook will allow you to extend the libraries that we use throughout IPB, a common example would be class_forums. This works in exactly the same way as an action overloader, your hook will extend the library you have selected and allow you to add to it or replace method calls with your own. Like the action overloaders, you will need to remember to call the parent method from your overloaded method.

    In order for a library hook to work, we have to update the require call that includes that library. We're going through the code to try and find as many of these require calls as possible, but during beta you should check any includes that you are interested in extending to make sure we haven't missed them.

    Other Changes

    Hooks in AJAX requests

    In the current release, any output returned via AJAX is not passed through the hook system. This has been changed in 3.1, now all returned output is properly run through the hooks system, allowing you to hook into any AJAX generated output.

    Export CSS Files

    There is a new option when exporting a hook that will allow you to specify CSS files that is used by that hook. The CSS files will be included in the hook xml and then imported along with the hook and cached to the file system.

    Access Function Data

    One of the most frequent requests we've seen is for a way to access template function data, with IP.Board 3.1 this will now be possible. Any active hooks within a template function will be able to access the function data through a special class property called functionData. To save resources, this data is not saved for any template function that does not contain active hooks. Here's an example of how to access function data inside of the topicViewTemplate function:

    Function Declaration:

    Wrapping up

    We've also made quite a few minor tweaks throughout the hook system, these changes include updates to the ACP interface, performance enhancements, a toggle to quickly disable/enable all hooks, changing hook positions without IN_DEV enabled, and more. If you have any suggestions regarding these changes or the existing hook system, please do not hesitate to reply to this entry and let us know about them. We're very excited to see what our community will do with these new features!
    function topicViewTemplate($forum, $topic, $post_data, $displayData) { All of this data will be accessible to your hook via $functionData: $this->registry->output->getTemplate('topic')->functionData['topicViewTemplate']['forum'] $this->registry->output->getTemplate('topic')->functionData['topicViewTemplate']['topic']
  9. Josh added a blog entry in News and Announcements   

    IP.Gallery 3.1.0 Wrap Up
    IP.Gallery 3.1.0 will be released soon, so we'd like to take a moment to summarize all the new features we've added in this new release.

    Friendly URLs

    We've integrated gallery into the global FURL system used by IP.Board 3, this will allow gallery to create friendly URLs for categories, albums, and images.

    Category/Album Covers

    When viewing an image, you will have a new option to set that image as the 'cover' for the category or album that contains the image. When a cover image is specified for a category or album, that image will always be displayed, in place of the last uploaded image thumbnail.

    Sub Albums

    Albums now support unlimited sub albums, which work exactly like gallery sub categories.

    Profile Picture Album

    You can now create a new kind of album, a 'Profile Picture' Album. After this album has been created, any images that you upload to it will be displayed on the change picture page in your User CP, making them easy to select as your profile image.

    Image notes
    Image owners are now able to add notes to sections of their images, positioning and resizing them to suit. Other members will be able to see the notes when hovering over the image. (An example)

    Image rotation
    Images can now be rotated in 90° increments, to compensate for those photos taken in landscape or portrait, but saved in the wrong orientation.

    New slideshow
    We have completely rewritten the slideshow feature! It is now a unified interface, loading images on demand as necessary. Users can play or pause the slideshow at will, or jump to specific photos using the thumbnail bar.

    Friends-only albums
    When creating an album, users can now choose to restrict viewing to only those users who are on their friends list.

    Reputation support in comments
    We have added support for IP.Board's reputation feature in comments posted within IP.Gallery.

    Interface tweaks
    We have updated the style of categories so that larger versions of the image are used, to give more impact. The image listing has also been updated, and will now show as many images on a row as the users browser can fit. This should improve the display of IP.Gallery for users who have higher screen resolutions. The image view screen has also been improved, including support for those features mentioned above.

    We hope you enjoy these updates and we look forward to hearing your feedback on this release!
  10. Josh added a blog entry in News and Announcements   

    IP.Gallery 3.1.0 Preview
    Development for the next version of IP.Gallery is well underway and we're excited to tell you about some of the new features you can expect. Please keep in mind that this is only a sample of the new features and not a complete list.

    Friendly URLs

    Categories, Albums, and images are now integrated into the global IP.Board 3 FURL system.

    Category/Album Covers

    It is now possible to specify one of the images in a category or album to be the cover of that category or album. If a cover image is specified, it will always be displayed for that category or album, instead of the last image thumbnail.

    Sub Albums

    Albums now support unlimited sub albums, which work exactly like gallery sub categories.

    Profile Picture Album

    You can now create a new kind of album, a 'Profile Picture' Album. After this album has been created, any images that you upload to it will be displayed on the change picture page in your User CP, making them easy to select as your profile image.

    New Slideshow

    The slideshow has been completely redesigned, you can see the new style in the screenshot below:

    More to come

    We'll have a lot more to show you in the coming weeks, from new features to an improved interface, we hope that you will enjoy this new version!
  11. Josh added a blog entry in News and Announcements   

    IP.Board 3: Reputation System
    One of the most requested features of the past few years has been for a reputation system and we've already announced that it will be included in IP.Board 3. We're very excited to finally be releasing the details of this new feature and hope that you will enjoy this new feature!

    A user's reputation will be displayed on their profile and is based on the number of points that user has. You can configure 'Reputation Levels' in the Admin CP, a level includes text and/or an image, as well as the point value needed for that level. The point value can be either positive or negative, so you could create a level system like this:

    -50 Negative Level 2 -25 Negative Level 1 0 Normal Level 25 Positive Level 1 50 Positive Level 2
    A user receives or loses points when other users vote up or down the content they have submitted to your community. Forum posts, gallery images, blog posts, etc will all have +/- buttons that your members can use to vote on the associated content. This system is entirely modular, which means that modification authors can also include the reputation vote buttons in their mods and your members can vote on that content as well.

    The forum includes filters to view or hide posts based on the number of points that post has received. So you can choose to hide all posts that fall below -25, or any other value that you set. This system works much like the ignore user feature, the post will be hidden with an option to view it anyway. It is also possible to set an upper threshold that will highlight posts that have more than X amount of points.

    The system has several configuration options as well. You can choose to allow your members to only give positive votes, or only negative votes, or both positive and negative votes. You can choose at what level content becomes 'highlighted', you can exclude specific groups from the reputation system, choose if the reputation is displayed on profiles, and choose if the total point value is displayed on a post or other type of content. You can also limit the number of positive and negative votes that a user group is allowed to give in a 24 hour period.

    We hope you enjoy this first look at the new reputation system, in the coming weeks we will be releasing more information on this system, including screenshots! As always, please let us know what you think of this feature, you're feedback is invaluable in finalizing all the new features in IP.Board 3.
  12. Josh added a blog entry in News and Announcements   

    IP.Board 3: Global Permissions
    When we began planning IP.Board 3, the global search system was one of the first features that we decided would be essential. We've already talked about the global search, now we're going to tell you about the permissions system that makes the global search and other features possible.

    In previous versions of IP.Board, every application had to maintain it's own permission tables and database information. This created many different permission systems that all had to be separately maintained. When you added a new permission set, you would have to go to the forums section, the gallery section, the calendar, and so on to set up permissions. This system has quickly grown cumbersome to use from a user standpoint, and difficult to integrate with from a developer stand point.

    IP.Board 3 will introduce a new global permission system that every application can use, including modifications. Rather than maintaining separate permissions, all permissions are now stored in a permission index table. This table is generic enough to be used by any application. Each application will include a simple configuration class that will tell IP.Board how to use the permission index for that particular application. The system currently supports a 'view' permission and 6 'custom' permissions, the custom permissions are defined by the configuration class for each application. The view permissions is what we use for permission checking during a global search, or any other feature that uses the search index.

    Currently the permission configuration looks something like this:

    In that example, if you were editing a forum, then the perm_type_id would be the id of that forum.

    We hope that this system is going to make integration much easier for mod authors, as well saving them from having to develop their own systems for managing permissions. We will be providing documentation and example code for this system via the resources site later in development.

    While developers will receive most of the benefits from this new system, it does allow for an important user level feature as well, the ability to manage all permissions from one screen. Now when you edit or add a permission set, you will see Forums, Gallery, Downloads, and any modification that uses the system all on one screen. This saves you from having to jump all over the system to edit permissions for any one set, which we think is going to be a great time saver.

    This new permission system is a very important step in one of our primary goals, integrating all applications as closely as possible. In our next blog post we're going to tell you about even more of the integration features you can expect from IP.Board 3!
        private $mapping = array(                                 'view'     => 'perm_view',                                 'read'     => 'perm_2',                                 'reply'    => 'perm_3',                                 'start'    => 'perm_4',                                 'upload'   => 'perm_5',                                 'download' => 'perm_6'                             );                                private $perm_names = array(                                 'view'     => 'Show Forum',                                 'read'     => 'Read Topics',                                 'reply'    => 'Reply Topics',                                 'start'    => 'Start Topics',                                 'upload'   => 'Upload',                                 'download' => 'Download',                             ); All your application will need to do is edit these values and IP.Board will know how to handle permissions for your application. If you wanted to check the reply permission, you would simply do this: $this->registry->class_permissions->check( 'reply', $perm_row ); In the Admin CP, if you want to show a permission editor, all you need is this: $permissions->adminPermMatrix( 'type_of_permission', $perm_row); This will return the full HTML for a permission editing matrix, to save that matrix you would do this: $permissions->savePermMatrix( $this->request['perms'], $perm_type_id, 'type_of_permission' );
  13. Josh added a blog entry in News and Announcements   

    IP.Board 3: Global Search
    During the initial design phase for IP.Board 3, one of the first areas that we identified for a major overhaul was the search system. In IP.Board 2, each application is required to have it's own search engine, which creates many silo's of data that can not be easily searched. IP.Board 3 will introduce a new global search system that will make all of the content of your community easily searchable, no matter where that content is located. You will have the option of showing the results from all applications within one listing, or filtering your results by application.

    One of our primary goals in IP.Board 3 is to dramatically increase the integration level between all of our community products, so that they feel more cohesive than in IP.Board 2. This new search system is just one example of how we are working to achieve this. However, we don't want this ease of integration to apply only to our own products, so modification authors will be able to utilize this same system for their own applications. Through the use of a simple plugin system, modification authors will be able to have content from their applications show up within the global search results.

    The new search system will also be more streamlined and easier to use. The new "Advanced Search" form is much friendlier than the form in IP.Board 2 is, making it much easier to determine how to formulate your search. Additionally, every page will include a quick search box in the header that you can always use to search, no matter where in the system you are. This quick search box will also include 'live search results' that will dynamically show you a preview of your results as you type the search term in the quick search box. The live search will be context-sensitive. That is to say, if you are in a forum, it will search that forum; if you are in a topic, it will search that topic; if you are in the gallery, it will search the gallery; and so on. It provides a link to view all search results (from all applications) should you require it. Additionally, there is a setting to disable the live search should you not wish to support it on your board.

    Performance has also been an issue with our current search system, our new system aims to overcome this in a variety of ways. The first is by creating a global search index, which is what powers all the features that I've mentioned previously. This global search index is much easier and quicker to search than searching the post table. Since searches will no longer be performed directly on the post table, there will no longer be any issues with locking that table during a search. To reduce the disk space overhead and make searches even quicker, the search index has a stripped down version of the content that contains no bbcode or markup of any kind.

    The second way we will be improving search performance is by supporting Sphinx out of the box. Though you will need to install Sphinx yourself, once you have done so, enabling it in IP.Board 3 will be as easy as changing a setting in the ACP. You will be able to remove the full text index on the post table using either the new search index or Sphinx, which will dramatically reduce the size of that table.

    The new search index will have the added benefit of enhancing other areas of the forum as well, such as the "View new posts" feature. View new posts will now include any kind of content that is searchable, so you will see forum posts, gallery images, blog posts, etc in the new post listing. There are some other enhancements as well, but we're going to save those for a future blog post.

    We're very excited about these changes and we hope that you will be too
  14. Josh added a blog entry in News and Announcements   

    Language Management in IP.Board 3
    Over the past few years our international user base has grown by leaps and bounds, and we want to do our best to support those users and make sure that IPB is a great solution for them. Toward that end, one of our goals for IP.Board 3 is to dramatically improved our language management system. So today I want to introduce you to a few of the upgrades that you can expect to see in that system.

    First off, we want to ensure that the entire system can be translated, this includes the Admin CP. You will be able to create and distribute combined language packs that will cover both the front end and the Admin CP. For administrators, your language of choice will of course carry over to both, without the need of selecting your language for both the Admin CP and the front end.

    You will also be able to assign a 'locale' to a language pack, which allows IP.Board to format all dates and number specifically for that language pack. Additionally, both the Admin CP and the front end will use UTF-8 as the default encoding type. There will also be no need to translate images for a language, as the new skin will not utilize any images with text.

    The language bits themselves are now stored in the database directly and cached to flat files. When you are editing a language pack, you will be able to see the default English string while you translate the string. You will also have the option of reverting language bits back to the default English string. Every string now includes a version number, which will let you know what version that string was last updated in. If you translate a string in IP.Board 3.0.0, and then that string is modified by us in IPB 3.0.1, the language manager will let you know that your translation is out of date and needs to be updated. It's possible to bring up a list of all out of date language entries, as well as a list of all entries that have not yet been translated.

    We've also added a search feature to the language system, that will make it easy to find specific text within the language packs. For example, if you wanted to replace all instances of the word 'forums' with 'boards', you can search for 'forums' and the system will show you everywhere that word is used.

    Each application can include an XML file that specifies all of the language strings for that application. This file will automatically be processed by the application installer, making it easy for modification authors to distribute language strings with their applications. They will also be able to make use of the string versioning and the application upgrade system will handle updating the strings and letting you know if any of them are now out of date.

    So those are some of the changes that you can expect to see in the new language system. We hope that these features will be useful to our international users. If you have any questions/comments about the new language system, please let us know!
  15. Josh added a blog entry in News and Announcements   

    IP.Blog 1.4 Preview
    We've upgraded our blog to the new 1.4 version for the first round of testing. We will have a beta version available for download next week, until then enjoy the new version here and let us know what you think. We're very excited to hear your feedback and suggestions on this blog preview!

    New Default Style

    IP.Blog has been overhauled with a fresh new style, one which feels more like a traditional blog. Additionally, it has been designed with themes (see below) in mind, so there is plenty of room for theme authors to experiment in their designs.

    Themes and Custom Headers

    You can now install 'theme packs' and allow your users to choose which of these themes will be applied to their blog. Using themes you can completely change the look and layout of an individual blog (to see a demonstration of a theme in use, check out Rikki's blog ). Users are also able to create their own unique theme, these user themes must be approved by an adminstrator before they are publically viewable by other users. The new custom header system allows you to create multiple header images for users to choose from.

    Content Block Plugin System

    It's now much easier to create your own content blocks, using a new plugin system. It's now possible to define settings for a plugin that apply to individual blogs, this means that you can integrate with 3rd party widgets that require a unique username for each blog. We've also included new content blocks in this release: Twitter, MyBlogLog, Google Reader, Friends Blogs, and Recent Visitors.

    Social Bookmarks

    A new bookmark manager allows you to define bookmark services for your blog system. These services will allow blog entries to be easily submitted to the bookmark services that you setup. There are several preconfigured services:, Digg, Facebook, Mixx, Reddit, and Stumbleupon. Please feel free to suggest any services that you would like to see included by default.

    Media Integration

    The new tag allows you to automatically convert various media types into a more useable format. FOr example, [ blogmedia ][/ blogmedia] would be converted into a mp3 player for the specified file. You can define any media type you like in the Media Tag manager, by default we include: Flickr Image Set, GameTrailers, Google Video, MP3 Player, MySpace Video, Veoh, and YouTube. Please suggest any additional media tags that you would like to see included by default.

    Akismet Integration

    It's now possible to use Akismet to filter spam for both the comment and trackback system.

    Feedburner Integration

    Users can now override the default rss syndication and use FeedBurner.

    Other Changes:

    Edit Entry Date Display article count for categories Blog Offline Mode Entry author replies in comments are now highlighted Admins can select a 'Featured Entry' to be displayed on the blog listing

About Me

Status Feed

  1. Josh

    I'd like to thank everyone for their encouraging messages, emails, PMs, DMs, posts, etc, it means a lot to me :)

    1. AndyF

      All the best for the future :)

    2. Stuart 4

      all the best

  2. JahLion » Josh

    Josh you are my favorite support tech @ IPS always getting the job done proper.Thank You!

  3. Iestyn » Josh

    How Josh how are you buddy?

  4. Josh

    Another screenshot of notifications in the next app update #ipb

  5. Josh

    What's this? Push! #ipb

    1. I am Freddy G


    2. stoo2000

      Very nice!

  6. Josh

    Just testing something :)

  7. Josh » Cryptovirus

    You are the most awesome hacker I know!

  8. Josh » Cryptovirus

    You are the most awesome hacker I know!

  9. Josh » Cryptovirus

    You are the most awesome hacker I know!

  10. Josh » Cryptovirus

    You are the most awesome hacker I know!

  11. Josh » Cryptovirus

    You are the most awesome hacker I know!

  12. Josh » Cryptovirus

    You are the most awesome hacker I know!

  13. Josh

    Status updates are really taking off in 3.1!

    1. Wolfie

      The constant notifications can get annoying.

    2. IBSkin

      Tell me about it! I love it. Now I just wish we could add our twitter in our profile. I just signed up finally. LOL

    3. Josh

      Look in the profile tab of your User CP, you'll see a twitter connect option :)

    4. AndyF

      You can always turn off some of the notifications Wolfie :)

  14. Josh

    IP.Board 3.1 is live on our company forums! #ipb

    1. Joshua T.

      nice ;)

  15. Josh

    It's IPB 3.1!

    1. Rikki


  16. vesperala » Josh

    happy birthday!

  17. Ran Yefet » Josh

    I'll be glad to be your RTL tester :P

  18. Mark H. » Josh

    Developers are the unsung hero's of all Software. Keep up the good work.

  19. Michael R » Josh

    Thanks for all your help! :D

  20. vesperala » Josh

    I came to bring the s t a r s for you..:)

  21. Dima_merged » Josh

    Thank you josh! :) You're really a nice support-person.

  22. Nonamer » Josh

    морда больно серьезная!

  23. Lazek » Josh

    Happy Birthday Josh :).

  24. Louis M. » Josh

    Been out to the barn on Route 666 recently? I hear that wonderful smelling place is moving there. See ya in a few weeks!

  25. elxwalie » Josh

    ######You xD