第四维度学习基础知识
文件菜单可以说是任何数据库应用程序中最重要的菜单,因此它几乎总是占据菜单栏上的第一个位置。它是用户返回进行最基本操作的锚点 - 打印记录、导出搜索结果以及退出应用程序。当您在 4D 中设计自定义菜单集时,文件菜单是您为整个界面确定基调的地方:这是一个精心设计的、专门构建的业务应用程序,还是围绕开发环境的薄包装?
本文比较了三种环境中的文件菜单:FileMaker Pro (FMP) 浏览模式菜单、4D Foundation(默认)菜单和 4D 自定义菜单。我们的目标不是将一个菜单批量复制到另一个菜单中,而是了解每个项目存在的“原因”,以便您可以决定哪些内容属于您的用户。
要点
- 文件菜单是最重要的菜单,通常位于菜单栏的第一位。
- 四个项目出现在所有三个文件菜单中 - 导入、导出、打印和退出 - 因为每个用户都需要它们。
- 默认的 4D Foundation 文件菜单缺少页面设置选项,这是一个真正的可用性差距。
- 面向开发的项目(定义字段、定义值列表、访问权限等)不应出现在面向用户的自定义菜单中。
- 打开数据库 和 打开表 在 4D 自定义菜单环境中很大程度上是多余的,因为 4D 一次打开一个数据库。
- 日志文件/无日志文件是维护和备份问题,属于管理员或特定于程序的菜单,而不是用户的文件菜单。
为什么文件菜单值得精心设计
菜单栏是与用户的合同。当有人单击“文件”时,他们期望执行一组可预测的操作,这些操作作用于“整个文档或数据集”,而不是单个字段、布局或数据库架构。这个惯例是古老而持久的。它源自最初的 Apple 人机界面指南,并在当今大多数桌面应用程序的菜单结构中得到呼应。违反它(例如,将“打印”隐藏在自定义菜单下,或将模式编辑命令放入“文件”中)会迫使用户寻找基本功能并削弱对应用程序的信任。
在 4D 中,菜单被定义为菜单栏对象和菜单项,它们可以附加到表单并通过代码动态控制。这种灵活性正是纪律重要的原因:因为你“可以”把任何东西放在任何地方,所以你需要一个合理的理由来说明什么放在哪里。文件菜单是开始该规则的最佳位置。
对比下的三个菜单
下面的比较反映了本系列讨论的三种环境。请注意,4D 默认自定义菜单 未在原始图中显示,因为它唯一的菜单项是 退出 - 这是一个有用的提醒,“自定义”菜单集仅与您实际添加到其中的项目一样好。
| 菜单项 | FMP 浏览模式 | 4D Foundation(默认) | 4D 自定义菜单 |
|---|---|---|---|
| 新数据库 | 是的 | — | — |
| 关闭 | 是的 | — | — |
| 定义字段 | 是的 | — | — |
| 定义值列表 | 是的 | — | — |
| 访问权限 | 是的 | — | — |
| 共享 | 是的 | — | — |
| 另存副本为 | 是的 | — | — |
| 恢复 | 是的 | — | — |
| 导入记录/数据 | 是的 | 是的 | 是的 |
| 导出记录/数据 | 是的 | 是的 | 是的 |
| 打印 | 是的 | 是的 | 是的 |
| 页面设置 | 是的 | — | 推荐 |
| 退出 | 是的 | 是的 | 是的 |
| 打开(数据库) | 是的 | — | — |
| 开表 | — | 是的 | 可选 |
| 偏好 | — | 是的 | — |
| 管理 | — | 是的 | — |
| 日志文件/无日志文件 | — | 是的 | — |
模式很明确:FMP 浏览模式菜单中挤满了架构和文件管理命令,因为 FileMaker 历来通过同一菜单栏公开设计工具。 4D Foundation 菜单更为精简,但省略了页面设置。一个精心构建的 4D 自定义菜单位于它们之间 - 保留四个通用项目,恢复页面设置,并故意排除属于开发人员或管理员的所有内容。
Related: — A spreadsheet-simple interface sitting on top of a real , with automations, views, and shareable interfaces..
不应出现在用户菜单中的项目
一些 FMP 浏览模式项目被排除在此比较之外,因为它们允许用户进行设计更改或执行 4D 自定义菜单环境中没有的功能。这些是:
- 新数据库 — 创建新数据库是开发人员/管理员操作,而不是运行时用户操作。
- 关闭 — 在 4D 中,关闭数据库通常意味着退出应用程序;单独的 Close 会令人困惑。
- 定义字段 — 模式编辑。切勿将其暴露给最终用户。
- 定义值列表 — 值列表维护是一项设计时任务。
- 访问权限 — 安全配置属于管理员。
- 共享 — 网络/共享配置是一个管理问题。
- 另存副本为 — 文件级复制是一项维护操作。
- 恢复 — 数据库恢复是一种修复工具,而不是用户功能。
基本原则:**任何更改数据库结构、其安全性或其磁盘上文件的操作都是管理员功能。**面向用户的文件菜单应仅包含作用于用户合法使用的数据的操作。
四个通用项目 — 以及它们为何重要
所有三个文件菜单共有四个菜单项:导入、导出、打印和退出。这并非巧合。这四个代表了导入数据、导出数据、生成物理或 PDF 工件以及结束会话的完整生命周期。任何忽略其中之一的应用程序都会让用户感到沮丧。
If you are shopping: — A that plugs into the wider Zoho suite and prices per user rather than per app..
- 导入(记录/数据) — 允许用户将外部数据(CSV、制表符分隔或其他数据库的导出)导入表中。在 4D 中,这自然映射到可以从菜单项触发的导入命令。
- 导出(记录/数据) — 对应项。用户经常需要将数据传递到电子表格或其他系统。
- 打印 — 生成记录、列表或报告。这通常是商业应用程序中最常用的文件命令。
- 退出 — 干净地结束会话,最好进行确认和任何必要的保存/清理逻辑。
因为这四个是如此基本,所以它们应该存在,正确标记,并连接到您发布的每个自定义菜单集中的合理默认行为。
页面设置差距
默认 4D Foundation 文件菜单中真正缺少的一件事是 页面设置。这是一个真正的可用性问题,而不是一个表面问题。如果用户无法选择页面设置,应用程序会默默地重复使用上次选择的任何页面设置 - 这可能是错误的纸张尺寸、错误的方向或他们将要打印的报告的页边距错误。
实际的修复方法很简单:将 页面设置 菜单项添加到自定义文件菜单中,并将其附加到平台的页面设置对话框。将其直接放置在打印上方反映了用户从其他应用程序中已经了解的约定,并让他们有机会在提交打印作业之前更正布局。对于必须始终以特定方式打印的报告,您仍然可以在打印时以编程方式设置页面设置 - 但让用户手动覆盖几乎总是更好的选择。
打开数据库、打开表和单数据库现实
在用户/自定义菜单环境中通常不需要 FMP 打开 菜单和 4D 用户打开数据库 菜单。推理很简单:当用户查看菜单时,他们已经打开了数据库。此外,在 4D 中,您一次只能打开一个数据库,因此“打开数据库”命令没有有意义的目标 — 没有其他可切换的目标。
Foundation 默认菜单中的 Open Table 项是不同的情况。它可能很有用,但可能不应该出现在“文件”菜单中。大多数设计良好的应用程序都为用户提供了另一种在表之间导航的方式 - 专用导航菜单、工具栏或主窗体上的按钮。将表格导航排除在“文件”之外可以保留“文件”菜单的含义(文档级操作)并将导航保留在用户期望的位置。
如果您确实决定公开表切换,请考虑使用 Go To 或 Navigate 菜单,并从表结构中动态填充它,以便随着架构的发展保持同步。
首选项、管理和日志文件
正如原始注释所示,Foundation 菜单中的 首选项 和 管理 项并不是真正为用户提供的 - 它们是为管理员提供的。首选项可能包括影响整个安装的设置;管理可能会公开用户管理、备份或维护任务。将这些内容暴露给普通用户会导致意外的错误配置。
日志文件/无日志文件用户菜单值得特别提及。它用于数据库维护和数据库备份 - 切换 4D 是否写入数据修改的日志/日志。这是一个重要的操作设置:日志文件允许数据库在意外关闭后恢复到一致状态,并且它与您的备份策略交互。从用户菜单随意打开或关闭它是有风险的。
更好的设计是将日志文件控制移至特定于程序的菜单(或仅限管理员的菜单),该菜单对普通用户隐藏或受访问权限保护。如果您的应用程序确实需要用户触发备份,请公开一个明确标记的 Backup 命令,该命令运行受控例程 - 而不是日志记录机制的原始切换。
如何决定文件菜单中的内容
当您构建或查看自定义文件菜单时,请使用这些条件:
- 它是否作用于整个文档/数据集? 如果是,则文件是候选者。如果它作用于字段、记录或布局,则它属于其他地方。
- 是数据操作还是模式/安全/文件操作? 数据操作可以面向用户;架构、安全性和文件操作是管理性的。
- 用户正常工作时是否需要它? 导入、导出、打印、页面设置和退出通过此测试。定义字段没有。
- 鉴于 4D 的单数据库模型,它是否多余? 打开数据库未通过此测试。
- 如果误用会有危险吗? 日志文件切换未通过此测试,属于管理员权限。
- 还有更自然的位置吗? 表格导航属于导航菜单;维护属于管理菜单。
一致地应用这六个问题将产生一个简短、可预测且值得信赖的文件菜单——这正是栏上最重要的菜单应该有的样子。
常见问题
为什么文件菜单总是放在菜单栏的前面?
惯例。在几乎所有桌面应用程序中,最左侧的菜单都是为文档和应用程序级操作保留的,用户有数十年的肌肉记忆,期望打印和退出在那里。首先放置文件可以减少学习应用程序的认知负担,并使其与平台自身的指南保持一致。
此处比较的所有三个文件菜单中都出现了哪四个项目?
导入、导出、打印和退出。这四个涵盖了引入数据、发送数据、生成打印工件和结束会话的基本生命周期,这就是为什么它们在每个菜单设计中都存在,无论环境如何。
为什么默认 4D Foundation 文件菜单中缺少“页面设置”,我应该添加它吗?
Foundation 菜单根本不包含它,这意味着应用程序会重用上次选择的任何页面设置 - 可能是错误的大小、方向或边距。您应该将“页面设置”项添加到自定义“文件”菜单中,最好位于“打印”上方,以便用户可以在打印前更正布局。
为什么“打开数据库”不应出现在 4D 自定义菜单中?
因为4D一次只能打开一个数据库,而用户已经打开了数据库才能到达你的菜单。打开数据库命令没有有意义的目标,因此它在面向用户的自定义菜单中是多余的。
“日志文件/无日志文件”应该放在哪里,而不是放在用户“文件”菜单中?
它应该移动到特定于程序或仅限管理员的菜单,因为它控制用于维护和备份的日志记录并与恢复交互。向普通用户公开原始日志记录切换可能会损害可恢复性;如果用户需要备份,请给他们一个受控的备份命令。
打开表格应该保留在文件菜单中吗?
通常不建议。表格导航最好通过专用导航菜单、工具栏或主窗体上的按钮来处理,这样可以使“文件”菜单专注于文档级操作,并将导航放在用户期望找到的位置。
Frequently asked questions
为什么文件菜单总是放在菜单栏的前面?
习俗。在几乎所有桌面应用程序中,最左侧的菜单都是为文档和应用程序级操作保留的,用户有数十年的肌肉记忆,期望打印和退出在那里。首先放置文件可以减少学习应用程序的认知负担,并使其与平台自身的指南保持一致。
此处比较的所有三个文件菜单中都出现哪四个项目?
导入、导出、打印和退出。这四个涵盖了引入数据、发送数据、生成打印工件和结束会话的基本生命周期,这就是为什么它们在每个菜单设计中都存在,无论环境如何。
为什么默认的 4D Foundation 文件菜单中缺少页面设置,我应该添加它吗?
Foundation 菜单根本不包含它,这意味着应用程序会重用上次选择的任何页面设置 - 可能是错误的大小、方向或边距。您应该将“页面设置”项添加到自定义“文件”菜单中,最好位于“打印”上方,以便用户可以在打印前更正布局。
为什么“打开数据库”不应出现在 4D 自定义菜单中?
因为4D一次只能打开一个数据库,而用户已经打开了数据库才能到达你的菜单。打开数据库命令没有有意义的目标,因此它在面向用户的自定义菜单中是多余的。
日志文件/无日志文件应该去哪里而不是用户文件菜单?
它应该移动到特定于程序或仅限管理员的菜单,因为它控制用于维护和备份的日志记录并与恢复交互。向普通用户公开原始日志记录切换可能会损害可恢复性;如果用户需要备份,请给他们一个受控的备份命令。
打开表格应该保留在文件菜单中吗?
一般不会。表格导航最好通过专用导航菜单、工具栏或主窗体上的按钮来处理,这样可以使“文件”菜单专注于文档级操作,并将导航放在用户期望找到的位置。
Try FileMaker Free for 45 Days
The long-running relational database platform for teams that need custom apps on desktop, web, and mobile from a single file.