Jump to content

Josh

Friends
  • Posts

    22,375
  • Joined

  • Last visited

  • Days Won

    1

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Forums

Events

Store

Gallery

Everything posted by Josh

  1. 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. 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. Settings 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. View full blog entry
  3. 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. Settings 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.
  4. We've already added an 'onLogout' memberSync function to 3.1 :)
  5. 3.1 Allows you to move plugins via the ACP, so you'll be able to do that soon :)
  6. There is currently no option to exclude members from the Top Posters list. However, if you are importing these RSS feeds into a forum just for those feeds, then you can turn off post counting for that forum and they will not be counted when figuring out the top posters list.
  7. It's still coming, hopefully we'll have more screenshots in the near future :)
  8. Not yet, we'll have a blog post when there is more information, but that will be after 3.1 at least.
  9. 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. View full blog entry
  10. 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.
  11. 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. Statistics 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 View full blog entry
  12. 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. Statistics 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
  13. 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: <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 ); Once again, thank you for the great feedback!
  14. 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: <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 ); Once again, thank you for the great feedback! View full blog entry
  15. 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!
  16. 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! View full blog entry
  17. 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: 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; } 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.
  18. 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: 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; } 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. View full blog entry
  19. 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: 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'] 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!
  20. 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: 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'] 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! View full blog entry
  21. 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
  22. 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 View full blog entry
  23. Josh

    IP.Chat help!

    This is fixed now :)
  24. 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!
  25. 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! View full blog entry
×
×
  • Create New...