////
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at
  http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
////
[[ProTips]]
:imagesdir: ../assets/images
:description: Hop is a large platform with a lot of options. These pro tips consist of useful variables, keyboard shortcuts and mouse actions etc

= Pro Tips

== Useful Variables

A lot of Hop's default behavior can be customized through global variables.
Check xref:variables.adoc[full list of variables] to check them all.
A couple of useful and often overlooked environment variables can be set (outside of Hop):

include::../snippets/variables/hop-audit-folder.adoc[]

include::../snippets/variables/hop-config-folder.adoc[]

include::../snippets/variables/hop-plugin-base-folders.adoc[]

include::../snippets/variables/hop-shared-jdbc-folder.adoc[]

include::../snippets/variables/hop-windows-shell-encoding.adoc[]

== Keyboard Shortcuts and Mouse actions

CTRL-K::
In any table view in a Hop dialog, select one or more lines and use `CTRL-K` to remove all lines but your selection

CTRL-SHIFT-Click::
Hover your mouse pointer over any pipeline action in a workflow, pipeline or workflow executor transform etc and use `CTRL-SHIFT-Click` to open that item in a new tab.
The same behavior can be triggered by hovering over an item and hitting the `Z` key.

Copy as pipeline action::
In any pipeline or workflow, click anywhere on the canvas and choose 'Copy as pipeline action' or 'Copy as workflow action'.
The selected pipeline or workflow can now be pasted (CTRL-V) as a fully configured workflow or pipeline action in any workflow.

Transform hover + SPACE::
In a pipeline, hover over any transform and hit `SPACE` to show the list of output fields for the selected transform.

Action or transform hover + `Z`::
Hover your mouse pointer over any pipeline action in a workflow, pipeline or workflow executor transform etc and hit the `Z` key to open that item in a new tab.
The same behavior can be triggered by hovering over an item and hitting the use `CTRL-SHIFT-Click` key combination.

== Projects and Environments

* Projects can inherit metadata items (e.g. database connections) from parent projects.
Use parent projects to reuse metadata items across multiple projects.
* a best practice rather than a pro tip: use project variables only for variables that are valid across all environments.
Variable that have different values in different environments should be created on the environment level.



