Ignition Best Practices

In addition to everything @PGriffith just said which I endorse (especially avoiding the magic pushbutton which in my experience is the biggest obstacle to making a project easily maintainable/expandable) and covers scripting concerns, the other biggest item that can make a project nice and easy or a nightmare to maintain is database design.

Learn how to design normalized databases with proper foreign key/uniqueness constraints, with proper security roles, and putting all your data concerns as NamedQueries which will help you create single sources of truth for datasets. In addition, know how to interact with a database via scripting the right way especially regarding UNIQUNESS as I outline here - Insert into database only if the entry doesn't exist - #2 by bkarabinchak.psi

Unrelated but avoid using runScript in expressions if the script you are calling involves round trip communication to the gateway as it can cause problems.

6 Likes