Jump to content


  • Posts

  • Joined

  • Days Won


 Content Type 


Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory





Everything posted by bfarber

  1. We have put together a login module which fully supports OpenID 1.x and 2.x protocol specifications. This module is a beta release which we hope to expand upon. It is available freely to all customers with access to our official resource site in the IPS Releases category. Click here to view this file For those not familiar with OpenID, it is a protocol specification that allows a user to select a trust root (a site they can trust) and register. Then, on any site that supports OpenID, the user actually logs in through their trust root, instead of your site. Behind the scenes, your site and the trust root verify that the user is who they say they are, and if authenticated your site will allow access. More information on OpenID can be found at openid.net (official site) and on Wikipedia. This module only adds OpenID Consumer support - it does not add OpenID Provider support. Please remember - this is a beta release of the login module, and as such there may be bugs or other issues with the module. If you are interested in using this login functionality you should test it out on a test site before applying it to your live site, to be certain there are no issues. As with any modifications, IPS does not support this modification directly. If you have issues with the module and require assistance, you should leave a comment on the file's download page.
  2. key_buffer should be right around 25% of the memory since it's not a dedicated. I would increase it to 256M to start with though. Add to mysql config read_rnd_buffer_size = 1M Save the my.cnf and restart mysql. Make sure your ibf_sessions table is type HEAP. You can change it in phpmyadmin.
  3. In part due to the awesome success surrounding our first community-supported project, we are in initial stages of preparing our next Community project. As many of you may already know, Stewart had been working for some time on a Gallery uploader tool - an application a user could install on their computer to easily manipulate and upload multiple images to an IP.Gallery web installation. Stewart made great progress on the tool before he left, and while we do have employees here capable of programming in the C# language the tool is written in, we felt this would be another great opportunity to launch a community-supported project, similar to IP.Tracker. We would like to gather up a handful of members who are familiar and able to code with C#, and who are interested in working on this project for IP.Gallery, so that we can put the necessary final touches on the project and release it freely to the community at IPS Beyond. The applicants will need to work closely with me, as a heavy part of the project will involve php code necessary to interact with IP.Gallery. Additionally, any users who are also versatile in perl (or a similar CGI language) could be of use in overcoming many of the php limitations we commonly face (maximum file upload sizes, maximum execution times, and so on). If anyone is interested, please send bfarber a PM with some background and how you think you will be able to help. I cannot guarantee immediate responses to everyone, and almost certainly not everyone will be chosen, but we look forward to hearing from anyone interested.
  4. I'll throw these out there for you start with. apc.shm_segments = (experiment); 1 apc.shm_size = (experiment); 30 apc.optimization = 1 apc.num_files_hint = 1000 apc.user_entries_hint = 20 apc.ttl = 300 apc.user_ttl = 180 apc.gc_ttl = 60 apc.cache_by_default = 1 ;apc.filters = '' ;apc.mmap_file_mask = '' apc.slam_defense = 50 apc.file_update_protection = 2 apc.enable_cli = 0 apc.max_file_size = 1M apc.stat = 1 ; You may want to set this to 0 if you don't update your files often and are willing to restart webserver when you do apc.write_lock = 1 apc.report_autofilter = 0 apc.include_once_override = 1 apc.rfc1867 = 0 ;apc.rfc1867_prefix = 'upload_' ;apc.rfc1867_name = 'APC_UPLOAD_PROGRESS' apc.rfc1867_freq = 0 apc.localcache = 1 apc.localcache.size = (experiment); 512 apc.enabled = 1 The ones that say (experiment) I can't really define for you. Firstly, I don't know your setup - how many servers you have, whether it's shared/vpn/dedicated, how much memory you have, and so on. I put the default values after the comments basically so you can get an idea. Some of these things you should also try out different settings, besides what I marked "(experiment)". i.e. apc.localcache you may get better performance with it off, or you may get better performance with it on. If you run other scripts on the server it can change your "optimal" configuration as well.
  5. A very frequent topic discussion that I see come up involves resource usage. Questions like "My server isn't responding well" and "What can I do to improve performance" are very specific, but often times there are general guidelines you can follow that can help a lot. We've decided to open a forum dedicated to optimizing your site, your server, the software on your server, and the like. Use this forum to ask specific questions about how to optimize Apache, why your processlist seems to be showing some active processes that shouldn't be, and so on. To start the discussion off, note that there are already some articles available here that can help you tune your site. These are general guidelines ... i.e. places to start, not the end-all be-all of server optimization. Each site is different, so feel free to post for specific help with YOUR situation. Articles: Getting max from your hardware Articles: Server-level optimizations Articles: Using UDG for MySQL connections Articles: Optimizing the database Articles: Invision Board Optimization Articles: IPB Settings that make a performance difference Articles: Server Information Articles Category Client Area KB: Changing sessions table to HEAP Documentation: Using IPB's Caching Methods Feel free to point out any other articles you think should be added to this list.
  6. While IP.Gallery 2.2 has not yet been released at this time, I wanted to take a moment to outline a few of the new features and touchups in Gallery that may not be as evident. A strong focus for this release of Gallery was strengthening the backend - many Gallery users know that some core functionality was just missing and it was time to bring Gallery in line with the rest of our offerings. For example, users could not control the ordering of their albums, nor could moderators move images from/to albums. This has all been fixed. Additionally, Gallery has been updated to use IP.Board's caching methods to help reduce the number of SQL queries run on each page, and it has been moved over to a component for forward compatibility reasons. Arguably, it's the little things that make or break Gallery software. You have to strike the right balance between the image (which is of course the main focus in a Gallery) and the rest of the content. We streamlined the image view page considerably to help make the image viewing more pleasant and less distractive. The exif/iptc data that can be extracted from images was moved into a popup/movable div so it doesn't display directly on the page. The edit/delete/etc. links were put into a single dropdown to reduce the number of buttons below the rest of the data. Here is a screenshot showing the drop down and the popup together Another frequently requested feature was easier ability to hotlink images. And of course the "Set as Avatar" has finally made it's appearance via an "Avatar" button next to the Options button. Other small but important changes involve navigating the Gallery, which many users requested be simplified. We've added some things to make this easier for users. Firstly, at the top right we've added "First, Previous, Next, and Last" links which will take you to the respective images inside the container you are viewing. Additionally, in the photostrip at the bottom of the page, there are << and >> buttons added (as appropriate) to allow you to cycle through the photostrip using AJAX. This can help you get a quick overview of the images in the container, and be able to jump to an image in the container easily. Go ahead, visit an image inside the IPB Community Personal Photos and try the AJAX navigation. And of course, one of the more noticable changes is support for lightbox in the Gallery. For an example of how this works, view this page and then click on the image. This of course can be disabled if the administrator wishes. There are many other important updates naturally, with some more notable changes being Drag-n-drop support for reordering post form fields and categories Custom post form fields now automatically insert into the image view page and submission form Ability for admins to deny ability to members to create private albums Zip import support for members ACP language abstraction Slimmer templates for easier skinning Forum-style listing for albums Improved search capabilities Email notification options for comments and image submissions Image dimensions display on the image view page And many other smaller things you will have to find out when you install or upgrade your very own Gallery!
  7. One of the driving focuses for IP.Board 2.3 was resource usage. We wanted to spend some time on improving the underlying operation of IP.Board, even if this meant not adding a lot of new features on the surface. As with most applications that develop beyond a few releases, over time so many features have been stacked into IP.Board that, while not necessarily ineffecient, we felt we could revamp some of the underlying code to make IP.Board run even better. We wanted to highlight a few of these changes for those who are interested. The parse_member method of topics.php has been moved to ipsclass.php to make it more centralized, as it's used by many various classes in IP.Board.Similarly the member_set_information method out of profile.phpand into ipsclass.php as well.We've added a new feature that allows skin template bits to be shared across different skin files. With 2.3 you can now simply edit the some template bits and automatically update all skin files where those bits are used. There are several template bits making use of this functionality to help reduce the number of skin files loaded on any given page view. If you would like to make use of this functionality (for example, with a custom modification), you can select to share a template bit to another skin file by going to Look & Feel -> Edit Template HTML for the skin -> (Select a skin group) -> (Select a template bit). Click the drop down button where you would normally edit the template's incoming data variables, and hit "Edit Cache Settings". You can select (or review) secondary skin cache files that will share the template bit you are viewing.We've added a few more database indexes based on our analysis of some common database queries that IP.Board runs.With 2.2, we introduced the new profile portal functionality in IP.Board. This uses an iframe to load center content, which requires a second call back to the server to load the center column content. In 2.3 we've pre-loaded the first tab's content to prevent this second request (on the initial profile page load) from being required.For 2.3 we've added a setting in the Admin CP under CPU Saving and Optimization labeled "Use multi-byte safe wordwrap". International users can continue using the word wrap function more suited to matching 2 and 3 byte character sets, while users with only English text on their forum can use a much more effecient word wrapping function that doesn't need to take multi-byte characters into account.We've also added a setting in the Admin CP under CPU Saving and Optimization labeled "Disable Topic Summary". Setting this to Yes will turn off the topic summary displayed at the bottom of the Add Reply page. This setting is Off by default (the summary will still display unless you turn it off).We've disabled the custom error handler by default in IP.Board 2.3, which prevents our custom error handling function from being called with every PHP Notice (which are not displayed). If you'd like to revert this functionality, just edit init.php and change define( 'CUSTOM_ERROR', 0 ); to define( 'CUSTOM_ERROR', 1 ); We've optimized our post parsing routine by preventing two expensive usort calls from being required, as they are already run when the associated data is saved in the admin CP.We've enhanced our MySQL database driver when doing field_exists and table_exists method calls byUsing a 'SHOW FIELDS' query rather than a 'SELECT COUNT(col)' query to determine if a database field existsWe cache the fields in a table, and the tables in a database, the first time a field_exists or table_exists query is run to prevent having to query the database for the same data later during script executionAnnouncements, Private Messages, Calendar Events, and Topic Posts are now parsed entirely on save, rather than when displaying the data (or in the case of topic posts, half on save and half on display). This prevents the parsing from running on display, and prevents having to load several parsing libraries and associated caches when displaying the data.We've enhanced the rebuild posts tool to also support private messages, calendar events, and announcements for users who will upgrade and need to rebuild the content (to parse html and custom bbcode appropriately). Rebuilding posts will be necessary after upgrading in order to ensure all custom bbcode is parsed, however upon doing so we will be saving many resources at run time, which is by and far a more important consideration. I hope this helps detail and clarify some of the resource improvements made for 2.3. The good news is that if you didn't notice any of these things already here on the company forums, then our changes are working exactly as we had hoped - same surface functionality, a much stronger backend to handle it.
  8. Zend, the company that makes the PHP engine, offers certification for users who are interested in measuring their PHP expertise and qualifying their PHP skill level. From Zend's FAQ: http://www.zend.com/education/zend_php_cer...tion/faq#root_4 You are tested on your fundamental knowledge of the PHP language, as well as various classes used in PHP and design patterns PHP developers should be aware of. I took the certification test this past Monday and passed the examination. I am now officially a "Zend Certified Engineer".
  9. bfarber


    Updating status to: Confirmed - General
  10. This is actually working as designed - chr 0xCA is removed from input, and 0xCA and 0xAD are removed during registration. The ACP setting warns this may cause problems in non-western character sets. As this feature is working as designed, I'll mark the report as such. Note, however, we do have a feature suggestion open related to this issue that I think would be a somewhat good feature for admins. http://forums.invisionpower.com/index.php?showtopic=208013
  11. Updating status to: Cannot Reproduce
  12. Yes, a screenshot would be nice. I can't reproduce this (specific) issue.
  • Create New...