由于 Oracle Content Management 代表定制组件存储属性,因此对这些属性的更改会自动成为页的撤消和重做行为的一部分。
为了确保当用户单击撤消或重做时所发生的事情是清楚的,这些“撤消事件”只应在用户实际对页执行了某些操作时发生。例如,在用户实际更改属性之前,打开定制组件的“设置”面板不应更新页内的属性。单纯地初始化“设置”面板中的属性不应导致更新事件。
如果不注意确保此行为,则可能发生意外行为。页仍将运行,但会损害用户体验。例如,可能会发生以下行为:
只要打开“设置”面板,保存按钮就会变为活动状态。
用户必须多次单击撤消才能看到任何效果。
Redo 堆栈被删除,因为组件回写了意外的更改并使用新值更新了 Redo 堆栈。
本教程中提供的“设置”面板示例代码演示了如何确保只在准备实际调用 saveData 时而不是在初始化时进行回写。除非组件本身涉及用户交互,否则在组件本身内也应同样引起注意,以免更新 customSettingsData,尽管通常不那么令人担心。
继续执行步骤 16:资产管理。