<?xml version="1.0"?>
<rss version="2.0"><channel><title>Getting Started Latest Topics</title><link>https://ips.valacoding.com/forums/forum/9-getting-started/</link><description>Getting Started Latest Topics</description><language/><item><title>How to Build an IPS 5 Application &#x2014; Getting Started</title><link>https://ips.valacoding.com/forums/topic/36-how-to-build-an-ips-5-application-getting-started/</link><description><![CDATA[<h1>How to Build an IPS 5 Application — Getting Started</h1><p>If you're new to Invision Community development, one of the first things you'll probably want to learn is how to build your own application.<br>In this guide, we'll create the initial structure of an IPS 5 application and prepare it for development.<br>We won't cover controllers, models, templates, database structure, or other development concepts yet. Those topics will be covered separately in the following guides.<br></p><h2>What Is an IPS Application?</h2><p>An IPS application is a self-contained extension for Invision Community that adds new functionality to the platform.</p><p>An application can add things such as:</p><ul><li><p>New frontend pages</p></li><li><p>Admin Control Panel pages</p></li><li><p>Database tables and models</p></li><li><p>New content types</p></li><li><p>Custom settings</p></li><li><p>Permissions</p></li><li><p>JavaScript functionality</p></li><li><p>Integrations with external services</p></li><li><p>Custom functionality that isn't available in the core platform</p></li></ul><p>For example, an application could provide a live search system, a review system, a custom directory, an API integration, or an entirely new feature for your community.<br></p><h2>Do You Need to Build an Application?</h2><p>Not necessarily.</p><p>Small visual changes, such as CSS styling adjustments, can usually be done directly through the Theme Management section.</p><p>However, any functional change — from adding a hook, template modification, JavaScript customization, or a small extension to building a large standalone feature — should be implemented as an application.</p><p>An application is the correct approach when you want to add custom functionality with its own logic, settings, database tables, permissions, language strings, or administration interface.</p><p>A simple rule of thumb:</p><blockquote class="ipsQuote" cite="" data-ipsquote=""><div class="ipsQuote_contents" data-ipstruncate=""><p><strong>Visual changes → Theme Editor and Page Editor</strong><br><strong>Functional changes → Application</strong></p></div></blockquote><p></p><h2>Enable Developer Tools</h2><p>Before creating an application, make sure IPS developer tools are enabled.</p><p>Open your IPS installation and create a file named <strong>constants.php</strong> if it does not already exist. This file is not included by default in a fresh IPS installation.</p><pre spellcheck="" class="ipsCode" data-language="text"><code>constants.php
</code></pre><p>Add the developer tools constant:</p><pre spellcheck="" class="ipsCode language-php" data-language="PHP"><code>&lt;?php
define( 'IN_DEV', TRUE );
</code></pre><p>Save the file and reload your Admin Control Panel.</p><p>With developer tools enabled, additional development options become available in the ACP.</p><blockquote class="ipsQuote" cite="" data-ipsquote=""><div class="ipsQuote_contents" data-ipstruncate=""><p><strong>Note:</strong> Keep developer tools enabled while developing locally or on a development installation. Avoid enabling development mode on a production site unless you understand the consequences.</p></div></blockquote><p></p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block ipsRichText__align--width-custom" data-fileid="16" src="https://ips.valacoding.com/uploads/monthly_2026_09/constant-php-content.thumb.jpg.5c259a5c8d56838105522d85ac1b9289.jpg" alt="constant-php-content.jpg" title="" width="984" height="750" data-full-image="https://ips.valacoding.com/uploads/monthly_2026_09/constant-php-content.jpg.598419ae79010738510e23efad07ee0c.jpg" style="--i-media-width: 692px;" loading="lazy"></p><p></p><h2>Create a New Application</h2><p>Now open the <strong>Admin Control Panel</strong>.</p><p>Go to: <strong>Applications </strong>Then click: <strong>Create New</strong></p><p><br><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="17" src="https://ips.valacoding.com/uploads/monthly_2026_09/create-a-new-app-ips.thumb.webp.d6f9a0a8989e7d324e4333451b244f64.webp" alt="create-a-new-app-ips.webp" title="" width="1000" height="566" data-full-image="https://ips.valacoding.com/uploads/monthly_2026_09/create-a-new-app-ips.webp.621084dc2d46a0ebcdf3b1f69aabf3e7.webp" loading="lazy"></p><p></p><p>IPS will ask for some basic information about your application.<br></p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="18" src="https://ips.valacoding.com/uploads/monthly_2026_09/application-new-form.thumb.webp.29553aa7e4ff38910c1ced4ac0d3e5ea.webp" alt="application-new-form.webp" title="" width="1000" height="566" data-full-image="https://ips.valacoding.com/uploads/monthly_2026_09/application-new-form.webp.a6ba633f7b6d5aed193a05e31d78e349.webp" loading="lazy"></p><p></p><h3>Application Title</h3><p>Enter the title that users will see.</p><p>For example:</p><pre spellcheck="" class="ipsCode" data-language="text"><code>Live Search
</code></pre><p>This is the human-readable name of your application and can contain spaces and normal capitalization.</p><h3>Description</h3><p>The application description is used to explain the purpose of your application. Write a clear and concise summary of what your application does and what functionality it provides.<br></p><h3>Application Directory</h3><p>Next, choose the folder/application key used by the application.</p><p>For example:</p><pre spellcheck="" class="ipsCode" data-language="text"><code>livesearch
</code></pre><p>Keep this value simple.</p><p>A good application folder name should generally:</p><ul><li><p>Use lowercase characters</p></li><li><p>Avoid spaces</p></li><li><p>Avoid unnecessary special characters</p></li><li><p>Be short and descriptive</p></li><li><p>Be unique within your installation</p></li></ul><p>For example:</p><pre spellcheck="" class="ipsCode" data-language="text"><code>livesearch
forumcollection
story
valalms
</code></pre><p>Avoid names such as:</p><pre spellcheck="" class="ipsCode" data-language="text"><code>Live Search
Live_Search
My Awesome Application
</code></pre><p>The folder name is an internal identifier, so keeping it clean from the beginning will save you trouble later.</p><p></p><h2>Author Information</h2><p>Enter your developer information, including:</p><ul><li><p><strong>Author Name</strong></p></li><li><p><strong>Author Website</strong></p></li><li><p>Any other information requested by the application creation form</p></li></ul><p>Use the information you want to associate with the application.</p><p>For a public application, your author information becomes part of the application's identity and is useful when distributing the application to other communities.</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="19" src="https://ips.valacoding.com/uploads/monthly_2026_09/create-a-new-app-ips-fill-form.thumb.webp.3cc27f21b621a5117b32d0c667d5e882.webp" alt="create-a-new-app-ips-fill-form.webp" title="" width="1000" height="582" data-full-image="https://ips.valacoding.com/uploads/monthly_2026_09/create-a-new-app-ips-fill-form.webp.93a5237cdfc6606981234fd2e3cc1740.webp" loading="lazy"></p><h2>Create the Application</h2><p>After filling in the required information, submit the form.</p><p>IPS will create the initial application for you.</p><p>At this point, you have successfully created the basic IPS 5 application.</p><p>You haven't built any functionality yet — you've only created the application's foundation.</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="20" src="https://ips.valacoding.com/uploads/monthly_2026_09/applications-list.thumb.webp.591180cce26c49498d4ab7f539d1ca49.webp" alt="applications-list.webp" title="" width="1000" height="582" data-full-image="https://ips.valacoding.com/uploads/monthly_2026_09/applications-list.webp.b86bf4c49844440e78398c96cb93e9d4.webp" loading="lazy"><br><br></p><h2>What's Next?</h2><p>Now that the application exists, the next step is understanding what IPS created for us.</p><p>We'll look at the application's directories and files and explain what each part is responsible for.</p>]]></description><guid isPermaLink="false">36</guid><pubDate>Tue, 01 Sep 2026 20:35:01 +0000</pubDate></item></channel></rss>
