I am looking for how you layout your perspective views in the designer, what standards or best practice do you use?
Do you put everything in folders, do you just put your header and footer in folders? maybe you have a sub folder for embedded views and popups?
Give me some tips! thanks!
Everyone's use-case is going to be different, but I've followed a pattern (somewhat) like this:
Views (top-level)
L_ Docked Views
L_ Bottom
L_ Left
L_ Right
L_ Top
L_ Instances (for Flex Repeaters, Carousels, Embedded Views)
L_ Popups
All other Views exist in sibling directories which essentially mirror their URL. These results in a structure where anyone can easily locate a View from a project just by knowing hot it was used in their session. This pattern won't work for everyone, and even this pattern is not strict; some Views are used in Embedded Views and Popups. I recommend at least some sort of folder/directory structure as dozens of Views at a given level can potentially be information overload.
4 Likes
I've tried to follow something like this:
Views
components
navigation
popups
windows
Where components are things like motor shapes, numeric entries etc...
Navigation is headers / footers / docked views related to navigation.
Popups are, well, popups. With subfolders for categorising by device or function.
Windows are the main "landing views" where we would define what would show on a page.
For windows I like to have a subfolder for each "page" if they are complex with many nested containers. That way if you have a page where there is a graph component specicifc to that page, it might look something like this:
Views
windows
production
silo5
silo5
silo5-mimic
silo5-chart
silo5-recipes
1 Like
I do something similar, where the views hierarchy follows how they're displayed.
If I have a menu Foo with pages FooA and FooB, I'll have a folder named Foo that either contains views FooA and FooB, or another set of folders that in turn contain the views (depending on the complexity of each views)
I have "components" folder at each level of the hierarchy (if there are components there), that contain the components used in that scope. The one on the root contains things that are reused through the project, ones that are on the same level as a view contains things specific for that view (ie. a view for a flex repeater). This makes finding things super easy, while not cluttering the main components folder. It also allows me to reuse the same name for different components.
I try not to embed too many things and prefer to nest containers, so that as many things as possible are IN the view I'm editing, so in a lot of cases there are NO external components. They're really mostly things that are heavily reused, or are used in repeaters, tables and the likes.
TL;DR: The general idea is to isolate things in the smallest scope possible, where a "scope" is a hierarchy level.
3 Likes
Thanks for the information, would it be possible to share a template project so I could see how it works? Thanks again!
@cmallonee do you have a sample project I could look at for an example?
Unfortunately, no. I can't share the QA projects we use internally.
1 Like
I think the Demo project we make available for download follows a similar structure.
1 Like
@cmallonee thanks, it didn't need to be a real project. just a layout example. its tough for me to visualize without seeing it.
I checked out the demo template you get when you install ignition and it was outdated. I'll poke around and see what else I can find, thanks!
That's why I included a picture in the post.
3 Likes
thanks, i see the pic but I'm still not understanding the link of folders to views.