# \[bug?\] importing perspective projects in 8.1

**URL:** <https://forum.inductiveautomation.com/t/bug-importing-perspective-projects-in-8-1/107497>\
**Category:** Ignition\
**Tags:** ignition81, perspective\
**Created:** [June 17, 2025, 10:46pm UTC](https://forum.inductiveautomation.com/t/bug-importing-perspective-projects-in-8-1/107497 "2025-06-17T22:46:37Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Leor\_Fishman](https://avatars.discourse-cdn.com/v4/letter/l/e19adc/32.png) [@Leor\_Fishman](https://forum.inductiveautomation.com/u/Leor_Fishman)\
**Post date:** [June 17, 2025, 10:46pm UTC](https://forum.inductiveautomation.com/t/bug-importing-perspective-projects-in-8-1/107497/1 "2025-06-17T22:46:37Z")

</div>

Attempting to import a project ZIP that's a subset of a valid gateway backup gives me

```python
java.lang.IllegalArgumentException: Unable to create folder path, found non-folder in the way at 'com.inductiveautomation.perspective/views/Views'
	at com.inductiveautomation.ignition.designer.project.DesignerProjectTreeImpl.insertFolders(DesignerProjectTreeImpl.java:263)
	at com.inductiveautomation.ignition.designer.project.DesignerProjectTreeImpl.insertAllLocalParentFolders(DesignerProjectTreeImpl.java:224)
	at com.inductiveautomation.ignition.designer.project.DesignerProjectTreeImpl.createResourceInternal(DesignerProjectTreeImpl.java:204)
	at com.inductiveautomation.ignition.designer.project.DesignerProjectTreeImpl.createResource(DesignerProjectTreeImpl.java:192)
	at com.inductiveautomation.ignition.designer.project.DesignableProject.createOrModify(DesignableProject.java:145)
	at com.inductiveautomation.ignition.designer.gui.import_export.ProjectImporter.lambda$doImport$2(ProjectImporter.java:311)
	at java.base/java.util.ArrayList.forEach(Unknown Source)
	at com.inductiveautomation.ignition.designer.gui.import_export.ProjectImporter.doImport(ProjectImporter.java:311)
	at com.inductiveautomation.ignition.designer.gui.import_export.ProjectImporter.lambda$new$0(ProjectImporter.java:109)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
	at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Ignition v8.1.48 (b2025042910)
Java: Azul Systems, Inc. 17.0.14

```

the project itself is valid (if i put it into a gwbk it loads fine)

Here's the filestructure:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/d/0d9dd10e6b20775e08fbc992ecff301be2f61c97.png)  
(Views is separate from Components which is e.g. where embedded views go)

I know the project is valid bc if i put it in the right projects folder of a gateway backup, it deserializes with no issue/error. (Which is weird, since it suggests that project serdes for import project and the spawned project serdes for gateway restores are different codepaths)

ok when i save the project _after_ that error, i do end up somehow with a perspective window loaded (Boilersystem) but it's not accessible from the sidebar:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/3/b3a1b6cdcee844945b6be06037125caba474e135.png)  
Boilersystem is there, but Views doesn't click into anything???

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 17, 2025, 11:01pm UTC](https://forum.inductiveautomation.com/t/bug-importing-perspective-projects-in-8-1/107497/2 "2025-06-17T23:01:15Z")

</div>

Can you provide a project export that can be used to demonstrate/reproduce?

---

<div class="post-metadata">

**Author:** ![Leor\_Fishman](https://avatars.discourse-cdn.com/v4/letter/l/e19adc/32.png) [@Leor\_Fishman](https://forum.inductiveautomation.com/u/Leor_Fishman)\
**Post date:** [June 17, 2025, 11:01pm UTC](https://forum.inductiveautomation.com/t/bug-importing-perspective-projects-in-8-1/107497/3 "2025-06-17T23:01:54Z")

</div>

[newperspwindow.zip](https://forum.inductiveautomation.com/uploads/short-url/ig6uYoSbw7Yi0RGp8G9Q9APFELZ.zip) (19.3 KB)  
here you go!

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [June 17, 2025, 11:06pm UTC](https://forum.inductiveautomation.com/t/bug-importing-perspective-projects-in-8-1/107497/4 "2025-06-17T23:06:41Z")

</div>

Seems to work for me? 🤷

With or without an existing Views folder with existing views in it.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/a/ba542cb326f5b60586a39a94d0479bdbe2f8e8c5.png)

---

<div class="post-metadata">

**Author:** ![Leor\_Fishman](https://avatars.discourse-cdn.com/v4/letter/l/e19adc/32.png) [@Leor\_Fishman](https://forum.inductiveautomation.com/u/Leor_Fishman)\
**Post date:** [June 17, 2025, 11:13pm UTC](https://forum.inductiveautomation.com/t/bug-importing-perspective-projects-in-8-1/107497/5 "2025-06-17T23:13:59Z")

</div>

...huh. I'll restart my designer and see if it reproes.

---

<div class="post-metadata">

**Author:** ![Leor\_Fishman](https://avatars.discourse-cdn.com/v4/letter/l/e19adc/32.png) [@Leor\_Fishman](https://forum.inductiveautomation.com/u/Leor_Fishman)\
**Post date:** [June 17, 2025, 11:15pm UTC](https://forum.inductiveautomation.com/t/bug-importing-perspective-projects-in-8-1/107497/6 "2025-06-17T23:15:42Z")

</div>

Ok, it didn't repro this time, which suggests the issue is actually earlier in some bad state change and the above is just a symptom?

I'll keep an eye out.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [June 17, 2025, 11:22pm UTC](https://forum.inductiveautomation.com/t/bug-importing-perspective-projects-in-8-1/107497/7 "2025-06-17T23:22:05Z")

</div>

> [@Leor\_Fishman](#):
>
> ```python
> java.lang.IllegalArgumentException: Unable to create folder path, found non-folder in the way at 'com.inductiveautomation.perspective/views/Views'
> at com.inductiveautomation.ignition.designer.project.DesignerProjectTreeImpl.insertFolders(DesignerProjectTreeImpl.java:263)
> at com.inductiveautomation.ignition.designer.project.DesignerProjectTreeImpl.insertAllLocalParentFolders(DesignerProjectTreeImpl.java:224)
> at com.inductiveautomation.ignition.designer.project.DesignerProjectTreeImpl.createResourceInternal(DesignerProjectTreeImpl.java:204)
> at com.inductiveautomation.ignition.designer.project.DesignerProjectTreeImpl.createResource(DesignerProjectTreeImpl.java:192)
> at com.inductiveautomation.ignition.designer.project.DesignableProject.createOrModify(DesignableProject.java:145)
> 
> ```

I've seen stuff like this happen before; the designer itself has a fairly tricky bit of internal state management for the project browser tree and it sometimes gets out of wack. Wouldn't surprise me if something you did that was apparently innocuous ended up with weird stuff like this happening (much) later down the line.

---

<div class="post-metadata">

**Author:** ![Leor\_Fishman](https://avatars.discourse-cdn.com/v4/letter/l/e19adc/32.png) [@Leor\_Fishman](https://forum.inductiveautomation.com/u/Leor_Fishman)\
**Post date:** [June 17, 2025, 11:23pm UTC](https://forum.inductiveautomation.com/t/bug-importing-perspective-projects-in-8-1/107497/8 "2025-06-17T23:23:51Z")

</div>

yeah that's my bet as to what happened
