In our hook that created a custom login action, we modified the login.events.pre portal property. This property accepts multiple values, so our value was appended to the existing login.events.pre values. We can repeatedly modify the property from additional hooks because it accepts multiple values. Some portal properties only accept a single value, such as the terms.of.use.required property, which is either true or false. Only modify single value properties from a single hook plugin; otherwise Liferay won’t know which value to use.
Note: Hooks support customizing a specific list of predefined properties. For a list of portal properties that can be overridden via hook, see the liferay-hook_6_2_0.dtd. In addition to defining custom actions, hooks can override portal properties to define model listeners, validators, generators, and content sanitizers. If you want to customize a property that’s not found in this list, you must use an Ext plugin (see Advanced Customization with Ext Plugins). For more information about the properties themselves, you can view an online version of Liferay’s portal properties file.
Next, let’s learn how to override and add Struts actions from a hook plugin.