IntelliJ plugin topics:
Layers viewOpened from a tab on the right side of the Intellij window, the LayersView helps navigate, manage and understanding code dependencies. View layers in one of three primary categories:
Inactive: shows all layers in the project
Active: shows layers in current debug/run session
Current: inactive layers actually loaded in this IDE session.
Layers organized by process or runtimeSome layers are tied to one or more processes or runtimes by calling includeRuntime(), includeProcess(), excludeRuntime() or excludeProcess() in the init() method in the layer definition file. Framework layers further can define a new process or runtime. Most application layers inherit runtime restrictions from the layers they extend. From that information, StrataCode organizes layers using these process/runtime constraints into separate "layered systems", each of which defines a particular process. Layers view organizes layers by layered system for both the active and inactive views.
Here are the active layers in the server process running the doc.core layer running in compiled client/server mode:
Here are the active layers in the JS runtime for the same application:
Layers organized by typeThe layer definition file as a best practice can set the codeType property to identify the type of code in that particular layer: framework, model, ui, etc.
Here are the available framework layers that you can use with the Java server process:
Dynamic layersA dynamic layer has a green icon in the layers view. With doc.core as a dynamic layer, layers view shows:
Filter by nameShow only layers matching a pattern (use * for wildcards - e.g. *core or *model)
Layer selectionLayer selection is tied to file selection in both directions. When selecting EditorFrame.schtml, layers view selects it's layer: editor.js.core. Now editor.coreui is blue because it defines a super layer of EditorFrame.
After selecting editor.coreui in the layer's view, the editor opens to EditorFrame.sc in that layer. Now editor.js.core is blue because it is a sub layer of EditorFrame.
Enable layer optionsThe layer options menu is available by clicking on the 'gear' icon in the upper right corner of Layers view. These options add additional info after the layer name.
Show layer package - the package assigned to the layer. When a layer has a package, all files in that layer's directory start out in that package.
Show layer details - 'build' for buildLayers, 'annotation' for annotation layers, codeType = Framework, Model, etc.
Show sync annotations - Auto-sync as shown here turns on synchronization for layers that are used in more than one runtime.
Show layer's with runtime constraints - The jetty.lib layer is excluded from the js, gwt, and android runtimes and defines a process called "Server" in the java runtime.