关于此任务
定义窗口小部件时,其属性便是定制点。即,您可以使用这些属性为所有用户定制特定使用的窗口小部件,也可以为单个用户个性化窗口小部件。存在四个显示这些窗口小部件属性的层:
- 定义层为窗口小部件的所有实例设置缺省属性值。
- 管理层在运行时为窗口小部件的所有实例设置属性值。超级用户在窗口小部件处于 config 方式时设置这些属性。
- 实例层为窗口小部件的特定实例设置属性值。页面编辑者在窗口小部件处于 edit 方式时设置这些属性。
- 用户层为特定用户的窗口小部件特定实例设置属性值。页面编辑者在窗口小部件处于 personalize 方式时显式设置这些属性,或在窗口小部件处于 view 方式时隐式设置这些属性。
有关这些层以及它们如何交互设置属性值的信息,请参阅
不推荐:窗口小部件属性层。
当您对每个方式进行编码时,请考虑这些层。只显示对特定用户有意义的属性。例如,如果有一种只有超级用户应该可以更改的属性,请放入代码以支持在 config 方式下进行该更改。如果具有超级用户和编辑者可以进行的更改,请放入代码以支持在 config 方式和 edit 方式下进行该更改。
当允许用户个性化窗口小部件时,请决定是希望显式设置属性、隐式设置属性还是两者同时设置。
- 当用户有意决定希望查看的内容时,会发生显式个性化。例如,当用户从窗口小部件菜单中单击个性化时,其会有目的地选择设置并保存它。
- 当用户无意选择希望查看的内容时,会发生隐式个性化。例如,如果窗口小部件具有表和设置对表进行排序的列的属性,那么您可以对窗口小部件进行编码,以在用户选择列标题时更改属性。选择列标题的操作表明用户首选以此方式排序数据,并会自动保存设置。
将窗口小部件的个性化限制为对个别用户有意义的更改。例如,对于天气窗口小部件,个别用户可能需要个性化预测的位置。但是,个别用户可能不需要个性化预测的天数,因此您可以不支持在 personalize 方式或 view 方式下更改属性。如果您确实希望提供部分定制,更加适当的做法是允许管理员为所有用户定制预测天数,您可以将适当的代码包含在 config 方式中。