Macros location

We want to put our macros in the Macros v2 folder next to the structure, but they are not showing up in client/server mode.
Trying to use option 2 below. What are we doing wrong?

Per the docs:
*4D loads the macros from a folder named “ Macros v2 .” Macros must be in the form of one or more XML files that are placed in this folder. *

The “Macros v2” folder can be located:

** In the active 4D folder of the machine. Macros are then shared for all the databases.*
Note: The location of the active 4D folder varies according to the operating system used. For more information, refer to the description of the Get 4D folder command in the 4D Language Reference manual.
** Next to the database structure file. Macros are only loaded for this structure.*
** For components: in the Components folder of the database. Macros are then only loaded if the component is installed.*

These three locations can be used simultaneously: it is possible to install a “Macros v2” folder in each location. The macros will be loaded in the following order: 4D folder, structure file, component 1… component X.

Until now, we have kept our macros inside a component, but we are getting rid of it. We don’t want to put them next to 4D itself, because then we need to restore them with each new version of 4D.



Create a “macros” database component.

That is, the component database includes the “Macros v2” folder next to its structure plus any methods that use these two 4D commands:

  1. GET MACRO PARAMETER ( selector ; textParam )
  2. SET MACRO PARAMETER ( selector ; textParam )

The built macro component will look something like this:

We’ve done just that for now - we put the macros folder inside the 4D_Info_Report Component.
We’re hoping we can keep it independent of that, since it will be updated with each 4D version.