IPS is seeking a knowledgeable and experienced individual to join its support team in an advanced support capacity.
Successful applicants will be responsible for answering general support tickets, including providing customers with information, troubleshooting issues not resolved as part of the general product support process and performing maintenance. You would be expected where appropriate t…
IP.Board 3.4.4 is now available for beta testing!
We have been hard at work on IP.Board 3.4.4, and following a good week of testing here on our company forums, we have built a downloadable IP.Board 3.4.4 package for you to test on your own servers. We appreciate any testing you can perform.
Please report any bugs you find with the beta to our bug tracker.
Please pay particular attention to …
The eagle eyed among you may have spotted that we've just upgraded our company forums to IP.Board 3.4.4.
We routinely do this during a development cycle so that we can get some extended testing prior to a beta release. When we write new features and fix bugs we do test ourselves but of course we can't replicate the testing hundreds of active users with all the different browser and operating sys…
There's a table in the Admin CP of the IPS Social Suite that I really like - the members table. It has some really cool options - you can reorder the data just by clicking on a column head; you can quickly search for a member by typing a name into a search box at the top; there's some filter options to quickly show banned, locked, spam and validating members; and there's an advanced search form to…
One question I have seen surface in the past (and present), revolves around how we decide when to use a third party library or framework, and how we decide when to develop something in-house entirely. For instance, in the 4.0 Suite we will utilize jQuery (a third party javascript framework), however we will build our underlying PHP framework in-house. How did we decide to go that route? There a…
When developing, modifying the database schema (such as adding a column to a table) can be surprisingly time consuming. Currently, we have to:
Make the change locally
Change the installer
Add the query to make the change to the upgrader for whatever version we're working on
Let the other developers know so they can run the query to make the change in their installs.
This can cause issu…
Forms are an ubiquitous aspect of any web application. In the IPS Social Suite, particularly in the Admin CP, I often find myself copying and pasting code in various places to create a form. We've had the ipsRegistry::getClass('output')->formInput() and similar methods since 3.0, but you still have to copy all the HTML to display the rows, and write all the code to validate it yourself.
Copying …
Development is much more than just opening a text editor and writing some code. This is how most developers start, of course, and may be what an individual developer's day to day duties entail at a large corporation, however when viewing the "big picture" there are many other decisions that must be made in the course of building a software package for release that clients often don't realize were…
In 4.0, we have made changes to the database class to make use of prepared statements.
For insert and update queries, the syntax is the same as it always has been:
IPSDb::i()->insert( 'table', array( 'foo' => 'bar' ) );
However, where previously the database class would try to work out the type of variable passed to it - it now binds these to a prepared statement.
The real usefulness of …
We have built public beta releases of our entire product line up for testing. Please be aware that beta releases are not supported by IPS technical support. We do not recommend running them on a live site, you may be unable to upgrade from a beta release to the final version, and our only course of support is to recommend you restore a backup of your site if you face any issues.
We appreciate …
This is just a quick update to let everyone know of a small enhancement you can expect to see in the next IP.Gallery release.
We recently noticed that you could not create IP.Content feed blocks to pull featured images from IP.Gallery. We felt that this was a small and easily correctable oversight, so we added a filter option when creating IP.Gallery feed blocks in IP.Content to allow you to ch…
A while back, we casually mentioned in a blog entry that 4.0 would be next major version after 3.4. Development of 4.0 is underway and we're going to be using this new blog to talk about development as we go.
As Brandon mentioned a couple of days ago - the format of these entries is going to be developer-specific. If what we're saying doesn't make much sense right now, we will still be putting a…