# How to build a testing version for my project?

**URL:** <https://forum.inductiveautomation.com/t/how-to-build-a-testing-version-for-my-project/31898>\
**Category:** Ignition\
**Tags:** ignition79\
**Created:** [February 4, 2020, 10:00am UTC](https://forum.inductiveautomation.com/t/how-to-build-a-testing-version-for-my-project/31898 "2020-02-04T10:00:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![valet81](https://avatars.discourse-cdn.com/v4/letter/v/c77e96/32.png) [@valet81](https://forum.inductiveautomation.com/u/valet81)\
**Post date:** [February 4, 2020, 10:00am UTC](https://forum.inductiveautomation.com/t/how-to-build-a-testing-version-for-my-project/31898/1 "2020-02-04T10:00:42Z")

</div>

Hi all,

I’ve tried to search for this in the forum but I couldn’t get a proper answer.

I’m using version 7.9 for a big project where I don’t have much time for downtimes or upgrades.

I would like to use/build a testing version where I can develop sw modifications and then send them to the live version (mainly pages and transaction groups, even tags ideally).

What kind of configuration do you suggest to use?  
I was thinking of a server replica, with some different SQL tables, I wonder if there is a better solution or a cleaner one.

Thank you

Valerio

---

<div class="post-metadata">

**Author:** ![tordvd](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tordvd/32/11525_2.png) [@tordvd](https://forum.inductiveautomation.com/u/tordvd)\
**Post date:** [February 4, 2020, 10:31am UTC](https://forum.inductiveautomation.com/t/how-to-build-a-testing-version-for-my-project/31898/2 "2020-02-04T10:31:36Z")

</div>

If you have all Ignition modules in one server. Then maybe a server replica is good enough. Just do a backup/restore gateway/projectResources every time you would like start developling some SW modications.

I guess it depends if you would like to bother the PLC’s or the SQL servers from your development system. You can also make a script for your main SQL server to backup restore the current tables to/from your test-SQL server.

---

<div class="post-metadata">

**Author:** ![Sanderd17](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/sanderd17/32/8735_2.png) [@Sanderd17](https://forum.inductiveautomation.com/u/Sanderd17)\
**Post date:** [February 4, 2020, 10:50am UTC](https://forum.inductiveautomation.com/t/how-to-build-a-testing-version-for-my-project/31898/3 "2020-02-04T10:50:38Z")

</div>

We have also tried this a few times, but failed to do so.

Generally, what we do now:

- When we are about to make a breaking change, we first copy the window/template/udt, and edit the copy until it works
- We make sure we have regular backups, with ‘`10 8-18/2 * * 1-5`’ as a cron schedule, it makes backups every two hours during the work day (not overnight and not in the weekend), and with a retention count of 30, we have a week worth of backups
- We have a backup server we can use to restore a backup to, in case something goes wrong (we can use it to copy older windows back over to the live server)

In 7.9, you can also use the staging option: [https://docs.inductiveautomation.com/display/DOC79/Saving+and+Publishing+Projects](https://docs.inductiveautomation.com/display/DOC79/Saving+and+Publishing+Projects)  
It fits what you’re looking for, though I haven’t seen it as a big help so far. It’s better to just always have a backup you can easily access.

The problem with Ignition is that often it connects a lot of different parties. If you need to have a dev version of Ignition, you need also a dev version of all other parties (PLCs, databases, …) those all cost a lot of work to maintain.
