Jump to content

Matt

Management
  • Posts

    69,414
  • Joined

  • Last visited

  • Days Won

    553

 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 Matt

  1. It's been a while since the last video so I wanted to take a moment to run through the interface and explain a little more about the album types we have in IP.Gallery now. The video below takes you through the major screens and notes some of the important functionality available. I recommend you watch in HD and at full screen. Feel free to comment below or make a topic in the Gallery feedback forum.
  2. I blogged previously about updates to Gallery which include a brand new commenting system. This new commenting system is a core feature in IP.Board 3.1.3 and although we've not fully implemented it in the forums, it is in use by Blog, Gallery and Downloads. As it's a core feature, you can easily add it into your own application just by writing a plug-in class. A feature recap for the new commenting system: - Makes full use of "ajax" so that there are no page loads between adding a reply, editing a reply, etc - It makes full use of the new 'hovercard' system present in IP.Board 3.1.3 to allow mouseover pop-ups - Automatically sends "like" notifications if enabled When you mouse over a user link, it pops-up with the mini profile card. I have written up some basic documentation on how to implement this here: http://community.invisionpower.com/resources/documentation/index.html/_/developer-resources/custom-applications/comments-r523
  3. I blogged in a previous entry about the new "like" system that is coming to IP.Gallery, IP.Downloads and IP.Blog. This is a brand new feature in the core of IP.Board and even though we plan to make more use of it in the actual forums in 3.2, it is ready to be used by modification authors in 3.1.3. Before I get into the mechanics of the system, I wanted to give you a brief overview of how it works. This screen shot shows the "like" bar directly underneath the image. The pop-up overlay shows who has "liked" the image. This is opened when you click on the "1 other" link. When you like an image, you can elect to receive notification of 'updates'. Updates can be various things, in this example it is when a comment is added. You can also elect to 'like' the item anonymously so you can receive updates without showing on the "liked by" list. All content you "like" is added to your "like center". From here you can bulk remove or update the type of notification. We do plan to make this "like center" more extensive in 3.2.0 with a tabbed interface and more filters but it is ready to use in 3.1.3. You can quickly access the "like center" from your username drop down at the top of the page. Implementation You can add "like" to almost any object by adding a single PHP class into /extensions/like/. I'll take you through the "like" class for Gallery. This file is situated in /admin/applications_addon/ips/gallery/extensions/like/images.php The class name is as follows: class like_{app}_{type}_composite extends classes_like_composite So, for Gallery, this is: class like_gallery_images_composite extends classes_like_composite There are only three methods that need to be defined: The first two are very straight forward: * Return an array of acceptable frequencies * Possible: immediate, offline, daily, weekly * * @return array */ public function allowedFrequencies() { return array( 'immediate', 'offline' ); } /** * return type of notification available for this item * * @return array (key, readable name) */ public function getNotifyType() { return array( 'comments', 'comments' ); } /** Note: If this "like" will notify of new comments, then the only allowed frequencies are 'immediate' and 'offline'. The last is getMeta * Returns the type of item * * @param mixed Relationship ID or array of * @param array Array of meta to select (title, url, type, parentTitle, parentUrl, parentType) null fetches all * @return array Meta data */ public function getMeta( $relId, $selectType=null ) { $return = array(); $isNumeric = false; if ( is_numeric( $relId ) ) { $relId = array( intval($relId) ); $isNumeric = true; } $this->DB->build( array( 'select' => 'i.*', 'from' => array( 'gallery_images' => 'i' ), 'where' => 'i.id IN (' . implode( ',', $relId ) . ')', 'add_join' => array( array( 'select' => 'a.*', 'from' => array( 'gallery_albums_main' => 'a' ), 'where' => 'i.img_album_id=a.album_id', 'type' => 'left' ) ) ) ); $this->DB->execute(); while( $row = $this->DB->fetch() ) { /* Title */ if ( $selectType === null OR ( is_array( $selectType ) AND in_array( 'title', $selectType ) ) ) { $return[ $row['id'] ]['like.title'] = $row['caption']; } /* URL */ if ( $selectType === null OR ( is_array( $selectType ) AND in_array( 'url', $selectType ) ) ) { $return[ $row['id'] ]['like.url'] = $this->registry->output->buildSEOUrl( "app=gallery&amp;image=" . $row['id'], "public", $row['caption_seo'], "viewimage" ); } /* Type */ if ( $selectType === null OR ( is_array( $selectType ) AND in_array( 'type', $selectType ) ) ) { $return[ $row['id'] ]['like.type'] = 'Image'; } /* Parent title */ if ( $selectType === null OR ( is_array( $selectType ) AND in_array( 'parentTitle', $selectType ) ) ) { $return[ $row['id'] ]['like.parentTitle'] = $row['album_name']; } /* Parent url */ if ( $selectType === null OR ( is_array( $selectType ) AND in_array( 'parentTitle', $selectType ) ) ) { $return[ $row['id'] ]['like.parentUrl'] = $this->registry->output->buildSEOUrl( "app=gallery&amp;album=" . $row['album_id'], "public", $row['album_name_seo'], "viewalbum" ); } /* Parent Type */ if ( $selectType === null OR ( is_array( $selectType ) AND in_array( 'parentType', $selectType ) ) ) { $return[ $row['id'] ]['like.parentType'] = 'Album'; } } return ( $isNumeric === true ) ? array_pop( $return ) : $return; } /** This method returns meta data about either a single item or an array of items. This is used to generate the data in the "like center". To add the like bar in your own applications, all you need to do is add: require_once( IPS_ROOT_PATH . 'sources/classes/like/composite.php' ); $likeClass = classes_like::bootstrap( '{app}', '{type}' ); $like = $likeClass->render( 'summary', $itemId ); $like now contains the HTML which you can use in your templates like so: <div>{$like}</div> I will go into more detail on this in our documentation and please watch out for the "comments" class blog entry as it ties in with this class to auto-send comment notifications without any additional coding!
  4. Chrome will work on 3.1+ as we do not rely on the Facebook JS. It will not work with 3.0.x because we do use the Facebook JS.
  5. Arguably the most crucial part of the gallery system is the upload system. A cumbersome and slow upload system deters people from uploading new images. Certainly, the current Gallery doesn't make it very easy to upload multiple images and filling out the meta data such as caption, etc is a chore. We've had a lot of feedback over the years on the Gallery's upload system and I wanted to take the opportunity to write a fast and intuitive upload system. The following video takes you through a typical scenario: You've taken a bunch of pictures, labelled them and you're ready to share them with the community. I recommend that you click the full screen button or use a powerful magnifying glass.
  6. Late last week I left a teaser image of the 'view image'. I have taken a short video to explain some of the larger changes and features of this page for Gallery 4. I recommend clicking the full screen icon and ensuring the "HD" icon is blue to avoid excessive squinting. This video will also give an indication for the direction of future IP.Board releases as we'll integrate "ajax" replies into 3.2 along with the new favorites system which I'll go into in more depth in a future blog entry.
  7. Starting from next week I'll be going into more detail about the user interface changes for Gallery 4.0, but until then, enjoy... I'm sure you'll have a lot of questions, so to keep things ordered, please leave feedback for this blog entry in the Gallery feedback forum. See you next week!
  8. Following on from my manifesto blog entry, I wanted to discuss some of the changes to structure that Gallery 4.0 introduces and explain why we have made those changes. This blog entry does get a little technical, but even if you are not a technical person, please bear with me and feel free to skip over sections that are not relevant to you. I feel it is important to explain in detail the challenges faced when re-writing Gallery. Overview I want to completely re-focus Gallery and make the media the center of the application. I want users to view the images without being so concerned as to where they belong. I want to focus on organic discovery over being forced to browse pages of user albums or pages of categories. The Problem Although competent, it's no secret that the current Gallery has become a little confusing and over complicated. Over the years features and settings have been added too appease a small demand that has undermined the "flow" of the product. I have reviewed a lot of our customer's gallery installations and in most cases a lot of the more complex functionality in Gallery is not being utilised. For example, the current Gallery allows for very complex permission based hierarchical structures that mixes albums and categories. Programatically, this is incredibly hard to maintain and almost impossible to work with beyond a superficial level. Consider the following: - Category A (Global viewing permission) -- Category B (Restricted viewing permission) ----User Album A (Public) ------ User Album B (Private) This allows for great flexibility but a severe cost to code maintenance and efficiency. The only way to fetch images that the current user has permission to view is by loading all the categories and albums into memory and iterating over each; testing view permissions and finally constructing a large list of permissible IDs which is passed into an SQL query. This is an "expensive" operation and once you get past 10,000 albums you quickly run into issues with MySQL not being able to parse the query as it is too large. This is a wall and the current model allows for no way around it. The Solution Categories and albums are almost alike. They are both containers that can accept uploads. For this reason, I have merged them into a more pragmatic "albums" model. Administrators can set up "Global Albums". These behave much like categories used to in that you can set them to be containers only or allow uploads. You can restrict access permission based on member permissions much like you do with forums. Users can create "Albums". These are almost identical to the current user albums in that they can be set to "Public", "Private" or "Friend Only". These are no longer restricted to the 'Members' category or being children of categories. They are created at "root" level and are not included in the hierarchy unless attached to a category. This creates two different spaces. The Admin defined strict hierarchy and a more social public space. There are hard rules on user created album use and the software deliberately restricts the freedom of use so that order is maintained and a simple flowing permission model is employed. In practical use, you shouldn't notice these limits but the code is much simpler if you box in their usage. When creating a user album, you can elect to attach it to a category. When you do attach it to a category, it automatically inherits the permission of the parent category. You will be unable to set it to friend only or private. You cannot attach a sub-album to an album attached to a category. - Category A ---- Category B ------ User Album X (Inherits permission from Category B) This small change makes selecting images much simpler as you do not have to consider a dozen different possible permutations. We can now cache permissions with the image which makes selecting them outside of an album a quick and efficient task. This allows us to quickly query "streams" of images without having to learn about their album which frees up what we can do with the interface. I will begin to reveal more specific interface implementation over the coming weeks. Please let me know if you have any questions!
  9. Evolution Six years ago, before Twitter existed and before Facebook became popular we launched "Invision Gallery". It was a simpler time. Not everyone 'surfed' the web with javascript enabled and in general interfaces were fairly basic. The Gallery mimicked a forum structure. It had categories which the administrator set up and allowed members to upload images. Other members could comment on those images and it worked great. A little further down the road we added albums so members could create their own albums. These went inside a special category called "Members". This worked great. A few years back when we upgraded Gallery to be IP.Board 3 compatible we added a newer front-end that did away with the normal category view and added the "boxes" that we're used to seeing now. This was great. Although Gallery was starting to show its age. The web has moved on. Interfaces are more fluid and dynamic. People don't want to click through a dozen links to upload a picture. The additional functionality added over the years started to cripple the interface so that many found it confusing. Even setting up the basic permissions and categories caused a few to reach for technical support in frustration. Clearly it's time to take Gallery apart and start again. Revolution The "truth" of the application is very simple: Upload some media into an album View, discuss and share that media. Our aim is to streamline those processes so that they are intuitive and modern. We're not content with basic static pages anymore. We want to interact with the site like we would a desktop application and the new Gallery delivers that experience. IP.Gallery 4.0 is a huge upgrade; the single biggest upgrade it has ever seen. We're blasting out the cobwebs and introducing a slick new interface that never loses sight of what a Gallery should be. We're simplifying permissions and accessibility to remove the clutter and confusion. We want you to fall in love with Gallery again. Over the coming weeks I'll be discussing the new functionality in more depth, but until then, I'll leave you with a few teaser images: For this one blog entry, I'm going to close comments and ask that you post your feedback in the Gallery forum. We'd love to hear what you think.
  10. In IP.Board 3.1.0 we added a 'step through' form that users registering via Twitter and Facebook were prompted to complete before being fully registered. This was so that the user could choose their own display name and complete an email address when it wasn't available from the service (such as Twitter). If a member chose not to complete this form then their registration would not be complete and their account would be missing some data such as a display name and valid email address. This led to some confusion when viewing the member list in the Admin CP. Was this a bug? Was IP.Board mysteriously deleting member information? To prevent this confusion, we've removed these 'incomplete' members from the member list and added a new section to manage them. This new section clearly lists those members that are still in the process of completing their registration. It also identifies which service they used to start the account creation process. If you choose to delete these partial accounts, the member can always re-sign in to repeat the process. We hope this little feature cuts down on confusion and removes 'clutter' from the Admin CP member list.
  11. One of the most commonly used features in the Admin control panel is the live search feature. This is a great way to quickly locate settings and even Admin CP pages. In IP.Board 3.1.0, we did have quick search boxes for forums and members on the dashboard but these were not always to hand. Often you need to search for a member or forum and have to navigate through to the correct section. In IP.Board 3.1.2 we have extended the live search to include matches from forum names, group titles, group settings and members (display name and email address). Simply tapping in a phrase will return all the relevant matches. In this example, we can see that "admin" has matched a member's email address, a forum name and group settings as well as an Admin CP page and some settings. Simply clicking on the link will take you to the relevant page. In the case of a member, this is the edit page for them; likewise you are taken to the edit page when clicking on a group's name. By moving these search features into the global search bar, we've created a much cleaner ACP Dashboard. We've also made the dashboard warnings and new version notifications much more prominent, so you can clearly see when there is an issue requiring your attention. In addition, in an effort to ensure there are no dashboard warnings on a fresh install, the installer will automatically lock itself (thus not prompting you to delete admin/install/index.php) and new users will be able to (optionally) enter the license key into the installer. Little usability tweaks such as these really make daily tasks more efficient which makes administrating your IP.Board even more pleasant!
  12. Moved topic redirect links A common request from our customers over the years is the ability to have those redirect links that are added when moving a topic to automatically 'expire' and be removed. This is one of those features that was on our lists for years but never made it into the feature set due to time constraints and other factors. Happily, we found time to implement this for IP.Board 3.1.2. The administrator can specify a number of days before the redirect links expire in the Admin CP settings page. The daily clean out task now checks for any deletable redirect links and removes them automatically. Archive Personal Conversations Another common request we've seen since we introduced the new 'personal conversation' feature was the ability to somehow archive off conversations. Now that these conversations are much like personal topics that can have many replies from many different participants the old system of simply allowing a downloadable text file isn't an option. In 3.1.2 you'll be able to email yourself a copy of the conversation. This will be sent as a HTML file attached to the email which you can download and store on your computer. When you're viewing a personal conversation, you'll see a new box: "Archive Conversation" Clicking this will send the email via 'ajax' meaning the screen doesn't refresh and you don't lose your place on the page. The email is shown with the attachment Which is a lo-fi copy of the conversation suitable for printing Open ID: Email no longer required We have removed the "email" requirement for OpenID logins, which should allow for many more OpenID services to work (including Google, TypePad and Wordpress). While this change is in effect immediately for new users, for existing users you will need to edit the login method to enact the change. In the ACP, visit System -> Log In Management. Next to OpenID click the button and choose "Configure Details". Clear "email" from the "Required args to pull", and then add it to the "Optional args to pull" (which should appear as "nickname,dob,email" once you are finished). Save the configuration and you're all done!
  13. It's an unfortunate fact that something may go wrong with your hosting environment at some point. MySQL is sensitive to many things and often this results in an error being thrown. This can be confusing for you and your members and getting support for this can take time as our technicians often have to request FTP details so they can log in and check the error logs written to disk. A lot of the time, our technicians discover that there isn't an issue with IP.Board but rather something has happened with your MySQL database or server. This can delay you getting your board back up. With this in mind, IP.Board 3.1.2 separates out "server level" errors such as a crashed table, 'out of memory' issues and more into its own error page which is displayed. This instantly informs you of the problem and directs you to contact your host or troubleshoot the issue further if you run a dedicated server. In the Admin CP, we have written a log viewer which lists all the generated SQL error logs. It also keeps a record of the latest error of the day which is displayed above the list of logs. Of course, these logs can get quite large, so when you view a log, it is "tailed" and only shows the most recent 300 lines. We hope these features help speed up getting the correct support for when you need it most.
  14. With the release of 3.1.1 scheduled for next week, I thought I'd take a moment and outline some of the bigger changes. We're very pleased with how well IP.Board 3.1.0 has been received and how stable it has been. We've been working hard to iron out some common issues and we've been reading a lot of your feedback. Based on that, we've made the following changes for IP.Board 3.1.1: Facebook The new Facebook APIs have been very successful in allowing registered Facebook users to log into your own forums and start contributing right away. The "like" button has also been very popular and great for driving traffic to your board. There's been a lot of feedback on these features so we've improved upon this functionality. First of all, you can now set your own 'locale' for the Facebook social widgets. We prefer to use Facebook's javascript rather than the iFrame methods directly as the javascript methods are easier to maintain. You can now also choose how you want to handle importing the user's 'real name' You can automatically generate a display name based on the user's Facebook real name and suggest this as the display name: Alternatively, you can enforce the user's real name if you have a trusted community: This provides a more seamless experience when logging in via Facebook You can also now choose to disable new accounts from being created via Facebook and Twitter when you disable registrations globally: This is the error screen shown when trying to create a new account via Facebook or Twitter when new accounts have been disabled: Merge Center The merge center has been a great starting point for updating your custom skins but many people found it confusing. We've taken that feedback on board and made the following changes. First up, we've reworked the feature labelling, improved the work flow and added text box prompts. The first screen you see after the processing has finished is this one. Note, all the items that do not need your attention are hidden by default which makes it very clear what you need to do to finish the process. The box at the top briefly explains the next step you should take. We've removed the "Select all checkboxes" from the drop down menu and placed it as a global checkbox which should be very familiar as IP.Board uses this method elsewhere: We've redesigned the view options box to allow you to filter out what you don't want to see rather than it be 'all or nothing'. This is the default filter: We've also update the labelling in the drop down box to make it clearer what each option does: Once you have merged and resolved your templates, you'll see this screen which again prompts you what the next step is: Finally, when you have saved all your changes, you'll see this screen: SEO Updates In Dan's previous blog entry he wrote about correcting our board index "canonical" meta tag, to ensure that search engine spiders correctly recognised "http://www.myforums.com/" as your board index and not "http://www.myforums.com/index". This was an important step, but users could still view and link to that page. More importantly, it also served a "200 OK" HTTP header, meaning search engines would also still index it as a page in its own right - causing potential duplicate content issues. The same problem applied to accessing /index.php and the IPB 2.x style: /index.php?act=idx. We've now made a change that will automatically redirect you back to just "/" if you (or a search engine) try to access any of those URLs. The search engines should quickly drop any duplicate pages they have in their index and your "real" board index page will begin to carry the weight it should. We've also gone through IP.Board and all of the applications and standardized the page title format. All page titles now use the format "{Content Title} - {Board Name}", meaning that your most relevant keywords are at the beginning of your title tag, whilst still carrying your board name for easy user recognition in the search results. These updates are an example of just how much we value your feedback. Please keep it coming!
  15. With the release of 3.1.1 scheduled for next week, I thought I'd take a moment and outline some of the bigger changes. We're very pleased with how well IP.Board 3.1.0 has been received and how stable it has been. We've been working hard to iron out some common issues and we've been reading a lot of your feedback. Based on that, we've made the following changes for IP.Board 3.1.1: Facebook The new Facebook APIs have been very successful in allowing registered Facebook users to log into your own forums and start contributing right away. The "like" button has also been very popular and great for driving traffic to your board. There's been a lot of feedback on these features so we've improved upon this functionality. First of all, you can now set your own 'locale' for the Facebook social widgets. We prefer to use Facebook's javascript rather than the iFrame methods directly as the javascript methods are easier to maintain. You can now also choose how you want to handle importing the user's 'real name' You can automatically generate a display name based on the user's Facebook real name and suggest this as the display name: Alternatively, you can enforce the user's real name if you have a trusted community: This provides a more seamless experience when logging in via Facebook You can also now choose to disable new accounts from being created via Facebook and Twitter when you disable registrations globally: This is the error screen shown when trying to create a new account via Facebook or Twitter when new accounts have been disabled: Merge Center The merge center has been a great starting point for updating your custom skins but many people found it confusing. We've taken that feedback on board and made the following changes. First up, we've reworked the feature labelling, improved the work flow and added text box prompts. The first screen you see after the processing has finished is this one. Note, all the items that do not need your attention are hidden by default which makes it very clear what you need to do to finish the process. The box at the top briefly explains the next step you should take. We've removed the "Select all checkboxes" from the drop down menu and placed it as a global checkbox which should be very familiar as IP.Board uses this method elsewhere: We've redesigned the view options box to allow you to filter out what you don't want to see rather than it be 'all or nothing'. This is the default filter: We've also update the labelling in the drop down box to make it clearer what each option does: Once you have merged and resolved your templates, you'll see this screen which again prompts you what the next step is: Finally, when you have saved all your changes, you'll see this screen: SEO Updates In Dan's previous blog entry he wrote about correcting our board index "canonical" meta tag, to ensure that search engine spiders correctly recognised "http://www.myforums.com/" as your board index and not "http://www.myforums.com/index". This was an important step, but users could still view and link to that page. More importantly, it also served a "200 OK" HTTP header, meaning search engines would also still index it as a page in its own right - causing potential duplicate content issues. The same problem applied to accessing /index.php and the IPB 2.x style: /index.php?act=idx. We've now made a change that will automatically redirect you back to just "/" if you (or a search engine) try to access any of those URLs. The search engines should quickly drop any duplicate pages they have in their index and your "real" board index page will begin to carry the weight it should. We've also gone through IP.Board and all of the applications and standardized the page title format. All page titles now use the format "{Content Title} - {Board Name}", meaning that your most relevant keywords are at the beginning of your title tag, whilst still carrying your board name for easy user recognition in the search results. These updates are an example of just how much we value your feedback. Please keep it coming! View full blog entry
  16. We're very pleased to announce that beta 3 of IP.Board 3.1.0 and its applications are now available! Please read through this announcement for information on where to download and what is available. What's Available? The following releases are available: IP.Board 3.1.0 Beta 3 IP.Gallery 3.2.0 Beta 3 IP.Blog 2.2.0 Beta 3 IP.Downloads 2.2.0 Beta 3 IP.Content 2.0.0 Beta 3 IP.Chat 1.1.0 Beta 3 Where can I download these? Please log in to your client center. Click on 'Downloads'. The beta releases will be in the 'Development Releases' category. Please note that you must have an active license for IP.Board before you can download. Likewise, you must have an active license for the application (Blog, Gallery, etc) you wish to test. What is a beta? A "beta" release is a version that is considered ready for extended testing. This is a feature complete release that needs as much testing as possible so that we find and fix any bugs that are found. It is possible that we will further refine some features based on feedback. We do not expect to add any features to these releases. Can I upgrade from a previous 3.1.0 beta? Yes, simply upload the files as normal and run /admin/upgrade/ Can I use it on my live site? We strongly recommend that you do NOT use this version on your live site. Although it has been internally tested and used on this forum, we cannot recommend that you use it on a live site as there may be undiscovered bugs which may impact stability. Furthermore, while we will assist on the forums where possible, beta releases are not supported officially. This means that you cannot receive technical support on these releases and we will not offer any installation or upgrades on these beta releases. Can I install it as a test board? You may install a test version of 3.1.0 beta. You do not need to purchase another license to do this. Please ensure that you take every effort to keep your test board private. It is acceptable to allow select members register to help in testing, but you may not use it as a second community. I've found a bug! Please report all bugs to the relevant section in our bug tracker. We will investigate all reports made. Please try and give as much detail as possible when making a report. Browser versions and operating system versions are especially relevant when reporting skin/interface bugs. What's new in 3.1.0? For a complete list of what's new for IP.Board and its applications, please see this topic. We've also been maintaining a regular blog of all new features. Please see this category for a list of recent blogs detailing recent feature additions. I have feedback Great! We always love to hear from you. Please use the special beta releases forum for feedback and other discussion on the beta releases.
  17. We're very pleased to announce that beta 2 of IP.Board 3.1.0 and its applications are now available ! Please read through this announcement for information on where to download and what is available. What's Available? The following releases are available: IP.Board 3.1.0 Beta 2 IP.Gallery 3.2.0 Beta 2 IP.Blog 2.2.0 Beta 2 IP.Downloads 2.2.0 Beta 2 IP.Content 2.0.0 Beta 2 IP.Chat 1.1.0 Beta 2 The CleanCut skin will be updated early next week for beta 2. (You're welcome, Ian). Where can I download these? Please log in to your client center. Click on 'Downloads'. The beta releases will be in the 'Development Releases' category. Please note that you must have an active license for IP.Board before you can download. Likewise, you must have an active license for the application (Blog, Gallery, etc) you wish to test. What is a beta? A "beta" release is a version that is considered ready for extended testing. This is a feature complete release that needs as much testing as possible so that we find and fix any bugs that are found. It is possible that we will further refine some features based on feedback. We do not expect to add any features to these releases. Can I upgrade from a previous 3.1.0 beta? Yes, simply upload the files as normal and run /admin/upgrade/ Can I use it on my live site? We strongly recommend that you do NOT use this version on your live site. Although it has been internally tested and used on this forum, we cannot recommend that you use it on a live site as there may be undiscovered bugs which may impact stability. Furthermore, while we will assist on the forums where possible, beta releases are not supported officially. This means that you cannot receive technical support on these releases and we will not offer any installation or upgrades on these beta releases. Can I install it as a test board? You may install a test version of 3.1.0 beta. You do not need to purchase another license to do this. Please ensure that you take every effort to keep your test board private. It is acceptable to allow select members register to help in testing, but you may not use it as a second community. I've found a bug! Please report all bugs to the relevant section in our bug tracker. We will investigate all reports made. Please try and give as much detail as possible when making a report. Browser versions and operating system versions are especially relevant when reporting skin/interface bugs. What's new in 3.1.0? For a complete list of what's new for IP.Board and its applications, please see this topic. We've also been maintaining a regular blog of all new features. Please see this category for a list of recent blogs detailing recent feature additions. I have feedback Great! We always love to hear from you. Please use the special beta releases forum for feedback and other discussion on the beta releases.
  18. We're very pleased to announce that IP.Board 3.1.0 and its applications are now available for beta testing! Please read through this announcement for information on where to download and what is available. What's Available? The following releases are available: IP.Board 3.1.0 Beta 1 IP.Gallery 3.2.0 Beta 1 IP.Blog 2.2.0 Beta 1 IP.Downloads 2.2.0 Beta 1 IP.Content 2.0.0 Beta 1 IP.Chat 1.1.0 Beta 1 MySQL: New installation and upgrades from previous versions (1.3+) are available for testing MSSQL: New installations are available for testing. The upgrade system will be available in beta 2. Where can I download these? Please log in to your client center. Click on 'Downloads'. The beta releases will be in the 'Development Releases' category. Please note that you must have an active license for IP.Board before you can download. Likewise, you must have an active license for the application (Blog, Gallery, etc) you wish to test. What is a beta? A "beta" release is a version that is considered ready for extended testing. This is a feature complete release that needs as much testing as possible so that we find and fix any bugs that are found. It is possible that we will further refine some features based on feedback. We do not expect to add any features to these releases. Can I use it on my live site? We strongly recommend that you do NOT use this version on your live site. Although it has been internally tested and used on this forum, we cannot recommend that you use it on a live site as there may be undiscovered bugs which may impact stability. Furthermore, while we will assist on the forums where possible, beta releases are not supported officially. This means that you cannot receive technical support on these releases and we will not offer any installation or upgrades on these beta releases. Can I install it as a test board? You may install a test version of 3.1.0 beta. You do not need to purchase another license to do this. Please ensure that you take every effort to keep your test board private. It is acceptable to allow select members register to help in testing, but you may not use it as a second community. I've found a bug! Please report all bugs to the relevant section in our bug tracker. We will investigate all reports made. Please try and give as much detail as possible when making a report. Browser versions and operating system versions are especially relevant when reporting skin/interface bugs. What's new in 3.1.0? For a complete list of what's new for IP.Board and its applications, please see this topic. We've also been maintaining a regular blog of all new features. Please see this category for a list of recent blogs detailing recent feature additions. I have feedback Great! We always love to hear from you. Please use the special beta releases forum for feedback and other discussion on the beta releases.
  19. A common problem for all administrators that have skin customisations is having to apply them after each upgrade. This is often time consuming and laborious. One has to pour over a difference report and manually copy and paste the new code into existing templates. A major upgrade such as 3.1 can mean dozens of changed templates. I'm pleased to say that we've added a new tool to greatly assist in this process. Indeed, skins with just a few minor customisations such as colours can almost automate the upgrade process. Introducing the Template Merge Center This new tool will check for differences and attempt to perform a merge on your templates and CSS files. For those interested in the technical details, a three way merge works like this: A diff(erence) off the old default and new default is performed, and a difference of the custom skin and the new default is performed. The differences are examined and merged into one text. if a change is detected in both the old > new and the custom > new, this is flagged as a conflict. Anyone who has worked with version control systems will be familiar with the concepts. If you'd like to see a practical demonstration, please see this video: Apologies for the quiet audio. A typical work flow would be as follows: Run the merge report on a skin set Automatically or manually resolve the conflicts Commit the merged items Tweak the final result by hand if required Let's run through that: This screen shot shows a 3.0.5 skin from a customer running on a 3.1 board. As you can see, there are several problems such as missing items and incorrectly styled items. When we run the tool, it checks all the templates for differences: This produces a list of all templates that have differences and we can filter the result set further: We can preview the conflicts: And we can edit the conflicted text manually: Once we have resolved the conflicts, we can commit these changes: The end result is pretty good. We'd need to tweak the CSS to change the border colour of the notifications box but we've done a lot of the hard work with a few mouse clicks: Of course, this tool isn't a magic wand, but it will greatly assist in the manual upgrading of a skin an as we've seen here, skins with simple customisations may require little manual intervention. We hope that you find this tool useful when upgrading to IP.Board 3.1.
  20. A common problem for all administrators that have skin customisations is having to apply them after each upgrade. This is often time consuming and laborious. One has to pour over a difference report and manually copy and paste the new code into existing templates. A major upgrade such as 3.1 can mean dozens of changed templates. I'm pleased to say that we've added a new tool to greatly assist in this process. Indeed, skins with just a few minor customisations such as colours can almost automate the upgrade process. Introducing the Template Merge Center This new tool will check for differences and attempt to perform a merge on your templates and CSS files. For those interested in the technical details, a three way merge works like this: A diff(erence) off the old default and new default is performed, and a difference of the custom skin and the new default is performed. The differences are examined and merged into one text. if a change is detected in both the old > new and the custom > new, this is flagged as a conflict. Anyone who has worked with version control systems will be familiar with the concepts. If you'd like to see a practical demonstration, please see this video: Apologies for the quiet audio. A typical work flow would be as follows: Run the merge report on a skin set Automatically or manually resolve the conflicts Commit the merged items Tweak the final result by hand if required Let's run through that: This screen shot shows a 3.0.5 skin from a customer running on a 3.1 board. As you can see, there are several problems such as missing items and incorrectly styled items. When we run the tool, it checks all the templates for differences: This produces a list of all templates that have differences and we can filter the result set further: We can preview the conflicts: And we can edit the conflicted text manually: Once we have resolved the conflicts, we can commit these changes: The end result is pretty good. We'd need to tweak the CSS to change the border colour of the notifications box but we've done a lot of the hard work with a few mouse clicks: Of course, this tool isn't a magic wand, but it will greatly assist in the manual upgrading of a skin an as we've seen here, skins with simple customisations may require little manual intervention. We hope that you find this tool useful when upgrading to IP.Board 3.1. View full blog entry
  21. On Wednesday at the F8 conference, Facebook unveiled their new "Graph" API. This is brand new set of APIs including a new oAuth based log in system. There is much speculation in the media about the current (now old) APIs like Facebook Connect, which IP.Board currently uses. Some sites are reporting that Facebook will simply kill it off while other more optimistic journalists envision a long grace period to allow developers update and migrate their applications. We didn't want to hang around and find out, so today I recoded our Facebook integration using the new oAuth 2.0 methods using FQL as much as possible which is more likely resistant to change. What does that mean for you? First off, apart from adding your Facebook application ID (this is listed on your "Edit my application page") into your Admin CP after upgrading, you don't have to do much else. Your currently 'connected' members will just have to re-log in once to accept a new token which is saved in the database. All the new permissions 3.1 needs will be asked for in a single page at the first Facebook log in from an IP.Board page. All of the features we added have been updated for the new API including: logging in, synchronizing profile data, publishing links to your wall and importing/exporting status updates. An example of a permission request actioned when you log in for the first time The Facebook 'Connect' Page using the new APIs. Some test status updates and links published to my test Facebook account. Any improvements? Actually yes. The new APIs are much more streamlined which have allowed a lot of the inline JS and mark-up to be removed. Better yet, as we're no longer using Facebook Connect, we are not shackled by Facebook's Connect TOS which mean that now when you log in using Facebook and you don't have a current forum account, you are asked to enter a display name rather than having your real name used automatically. We've even added a few default hooks (that are disabled by default) to show off some of the new Facebook API features. Facebook has an activity feed widget which lists all Facebook related activity on your forum You can now like any publicly viewable topic Of course we understand that not everyone requires these new Facebook features which is why they are disabled by default. To re-cap: - 3.1 now uses Facebook's new oAuth / Graph APIs (and FQL) - You only need to add your application ID to your Facebook settings in the ACP to use this once you upgrade - Your current Facebook members will not have to do anything other than log in once via Facebook from the log in form or from the Facebook settings page in their UserCP - Your members can now set their own display name when they log in with Facebook and they don't have a local account We felt it pertinent to move quickly on this so that IP.Board 3.1 was released with the very latest APIs possible.
  22. On Wednesday at the F8 conference, Facebook unveiled their new "Graph" API. This is brand new set of APIs including a new oAuth based log in system. There is much speculation in the media about the current (now old) APIs like Facebook Connect, which IP.Board currently uses. Some sites are reporting that Facebook will simply kill it off while other more optimistic journalists envision a long grace period to allow developers update and migrate their applications. We didn't want to hang around and find out, so today I recoded our Facebook integration using the new oAuth 2.0 methods using FQL as much as possible which is more likely resistant to change. What does that mean for you? First off, apart from adding your Facebook application ID (this is listed on your "Edit my application page") into your Admin CP after upgrading, you don't have to do much else. Your currently 'connected' members will just have to re-log in once to accept a new token which is saved in the database. All the new permissions 3.1 needs will be asked for in a single page at the first Facebook log in from an IP.Board page. All of the features we added have been updated for the new API including: logging in, synchronizing profile data, publishing links to your wall and importing/exporting status updates. An example of a permission request actioned when you log in for the first time The Facebook 'Connect' Page using the new APIs. Some test status updates and links published to my test Facebook account. Any improvements? Actually yes. The new APIs are much more streamlined which have allowed a lot of the inline JS and mark-up to be removed. Better yet, as we're no longer using Facebook Connect, we are not shackled by Facebook's Connect TOS which mean that now when you log in using Facebook and you don't have a current forum account, you are asked to enter a display name rather than having your real name used automatically. We've even added a few default hooks (that are disabled by default) to show off some of the new Facebook API features. Facebook has an activity feed widget which lists all Facebook related activity on your forum You can now like any publicly viewable topic Of course we understand that not everyone requires these new Facebook features which is why they are disabled by default. To re-cap: - 3.1 now uses Facebook's new oAuth / Graph APIs (and FQL) - You only need to add your application ID to your Facebook settings in the ACP to use this once you upgrade - Your current Facebook members will not have to do anything other than log in once via Facebook from the log in form or from the Facebook settings page in their UserCP - Your members can now set their own display name when they log in with Facebook and they don't have a local account We felt it pertinent to move quickly on this so that IP.Board 3.1 was released with the very latest APIs possible. View full blog entry
  23. When we developed IP.Board 3, one of the main goals was to centralize searching and simplify it to provide results cleanly and concisely. Since then we have had a lot of emphatic feedback on how to develop the search further and to improve the interface. We've have taken all that feedback on board and completely overhauled search making it more flexible and more useful. This blog entry lists the major improvements. There's a lot to get through, so lets get started. Search Form The search form has been redesigned with separate applications in mind. Right away you'll notice that there are radio buttons to select which app you want to search in which then presents its own filtering options. As the filter and sort options are unique to the application, you can request to sort by very specific fields such as topic title, views, etc. Full boolean searching is supported with the ability to choose the search mode between "match all words" and "match any words". Phrase searching is also available, for example searching for "roses are red" will find topics or posts that match that phrase precisely. Search Results This screen shot shows the search results as a topic list. You'll notice immediately two things; first it now shows hidden or soft deleted topics in the result stream (assuming you have permission to see them) and also a multi-moderation checkbox to the right. As when viewing a normal forum, you can select multiple topics and perform moderation on them in a few clicks. This makes it much easier to moderate the board especially as the same functionality is applied to both "View New Content" and "Active Content" and User's Content. We've also implemented the topic preview when you mouse over the topic row. This screen shot shows the same search but listed as posts. You'll note it uses the familiar post template and also has multi-moderation available. Multiple Content Types Now that applications have more control over the search itself, you can specify multiple content types that can be searched. The 'members' tab allows you to search through members or profile comments. This screen shot shows the result of searching in profile comments. Finding User Content As of IP.Board 3.1, "Find my posts" and "Find my topics" have been merged into a more useful view "User's Content". This works across all applications so you can quickly view all of the content the user has created. Remember that hidden and soft deleted items are also shown where permission allows making moderation even easier. The new button on the user's profile. The forum application's "Users Content" view. Note that this first view shows all topics the user has started and all topics the user has posted in, much like a "My Activity" feed. This works across all applications, like IP.Gallery Sphinx Integration We added Sphinx integration into IP.Board 3 to provide a way to offset the resources used when members search. However, it was a very simple implementation and many filtering options were removed. I'm happy to say that I've completely overhauled Sphinx integration so that it is identical to the regular search. Indeed, Sphinx is running on my local test board and all these screen shots are taken with Sphinx activated. I'm also pleased to say that Sphinx is now used for searching, active content, new content and user's content views so you can take full advantage of the fast and efficient searching it provides. That concludes our search updates. I hope that you enjoy these updates and that you find searching less of a chore in IP.Board 3.1.0 We genuinely appreciate all the feedback that we get and we've really listened with your search feedback. Oh, one last thing... If you'll excuse the Jobzian finale, there is one other improvement to the search system: The global search box is now context sensitive so that when you are viewing a forum or topic, you have the choice to restrict your search.
  24. When we developed IP.Board 3, one of the main goals was to centralize searching and simplify it to provide results cleanly and concisely. Since then we have had a lot of emphatic feedback on how to develop the search further and to improve the interface. We've have taken all that feedback on board and completely overhauled search making it more flexible and more useful. This blog entry lists the major improvements. There's a lot to get through, so lets get started. Search Form The search form has been redesigned with separate applications in mind. Right away you'll notice that there are radio buttons to select which app you want to search in which then presents its own filtering options. As the filter and sort options are unique to the application, you can request to sort by very specific fields such as topic title, views, etc. Full boolean searching is supported with the ability to choose the search mode between "match all words" and "match any words". Phrase searching is also available, for example searching for "roses are red" will find topics or posts that match that phrase precisely. Search Results This screen shot shows the search results as a topic list. You'll notice immediately two things; first it now shows hidden or soft deleted topics in the result stream (assuming you have permission to see them) and also a multi-moderation checkbox to the right. As when viewing a normal forum, you can select multiple topics and perform moderation on them in a few clicks. This makes it much easier to moderate the board especially as the same functionality is applied to both "View New Content" and "Active Content" and User's Content. We've also implemented the topic preview when you mouse over the topic row. This screen shot shows the same search but listed as posts. You'll note it uses the familiar post template and also has multi-moderation available. Multiple Content Types Now that applications have more control over the search itself, you can specify multiple content types that can be searched. The 'members' tab allows you to search through members or profile comments. This screen shot shows the result of searching in profile comments. Finding User Content As of IP.Board 3.1, "Find my posts" and "Find my topics" have been merged into a more useful view "User's Content". This works across all applications so you can quickly view all of the content the user has created. Remember that hidden and soft deleted items are also shown where permission allows making moderation even easier. The new button on the user's profile. The forum application's "Users Content" view. Note that this first view shows all topics the user has started and all topics the user has posted in, much like a "My Activity" feed. This works across all applications, like IP.Gallery Sphinx Integration We added Sphinx integration into IP.Board 3 to provide a way to offset the resources used when members search. However, it was a very simple implementation and many filtering options were removed. I'm happy to say that I've completely overhauled Sphinx integration so that it is identical to the regular search. Indeed, Sphinx is running on my local test board and all these screen shots are taken with Sphinx activated. I'm also pleased to say that Sphinx is now used for searching, active content, new content and user's content views so you can take full advantage of the fast and efficient searching it provides. That concludes our search updates. I hope that you enjoy these updates and that you find searching less of a chore in IP.Board 3.1.0 We genuinely appreciate all the feedback that we get and we've really listened with your search feedback. Oh, one last thing... If you'll excuse the Jobzian finale, there is one other improvement to the search system: The global search box is now context sensitive so that when you are viewing a forum or topic, you have the choice to restrict your search. View full blog entry
  25. We recently blogged about our new profile customization options. I've made a few updates since and wanted to update you on them. As you may already be aware, we have added Twitter integration into IP.Board 3.1. This enables you to 'connect' your Twitter account to your forum account to share links, status updates and to allow you to use your Twitter photo on the board. I've taken this a step further and added an option to allow you to import your Twitter background preferences to your profile: My test Twitter account with using a different Twitter theme The background preferences (img and color) imported into IP.Board The preferences control panel I've also added a few handy links to the Profile Customization control panel. These links allow you to revert all customizations, remove just the background image and load your profile to see the changes: I've also included a quick way to remove your own customizations while viewing your profile: And if you are a "Super Moderator", then you remove and remove and disable customizations on any profile you view: We hope that you enjoy this feature and allowing Twitter to set your background further personalizes your board profile and re-enforces your own personal brand.
×
×
  • Create New...