Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Magnolia Shell作为应用容器

在Magnolia 5里,应用这种工具的界面焦点非常狭隘,只能让您进行一些紧密联系的任务或处理特定的一套数据。应用不一定需要工作在诸如网站的页面这样的单个物理数据集上,它还可以涵盖多个物理数据集,来完成应用包含的任务。应用中包含子应用。应用一旦被开启,它在Apps屏幕上的应用板块会改变颜色,来说明它正在运行。您可以在任何时候返回到Apps屏幕上,只要没有正在运行的对话即可。在Apps屏幕上,您可以切换到或开启另一个应用。从用户界面上来说,Magnolia 5里,应用这种工具的界面焦点非常狭隘,只能让您进行一些紧密联系的任务或处理特定的一套数据。应用不一定需要工作在诸如网站的页面这样的单个物理数据集上,它还可以涵盖多个物理数据集,来完成应用包含的任务。应用中包含子应用。应用一旦被开启,它在Apps屏幕上的应用板块会改变颜色,来说明它正在运行。您可以在任何时候返回到Apps屏幕上,只要没有正在运行的对话框即可。在Apps屏幕上,您可以切换到或开启另一个应用。从用户界面上来说,Magnolia Shell是应用所在的页面标头以下的区域,在显示正在运行的应用的浏览器上为浅绿色部分。

然而Shell不仅能为系统本身提供可视化界面,也使您自己的应用看起来像是属于Magnolia CMS的一部分。Shell为所有的应用添加一个共同的视觉同一性,让它们能够合适的装进用户界面的其他部分。做一个类推来帮助理解,可以把Magnolia Shell想象成电脑上的操作系统。在Mac OS X上,桌面和菜单是不可改变的。它们总是现时的,为打开应用程序和应用程序添加菜单提供位置。Windows 8样式的用户界面为Windows应用提供共同的视外观和感觉,在所有运行Microsoft系统的设备上创建一个熟悉的界面。这些就正是Magnolia Shell所做的。

从功能的角度说,Shell是一个为应用提供基本服务的容器,使您能够启动应用并显示对话。同时,Shell也负责您在不同的应用之间切换时的视觉效果。例如,当您回到Apps屏幕上准备去启动另一个应用时,之前运行的应用就会褪到背景里。这种透视的界面效果实际上是应用堆栈造成的,告诉您应用已经在运行,如果您回到那个应用,您会发现您的工作还停留在您离开时的状态。从功能的角度说,Shell是一个为应用提供基本服务的容器,使您能够启动应用并显示对话框。同时,Shell也负责您在不同的应用之间切换时的视觉效果。例如,当您回到Apps屏幕上准备去启动另一个应用时,之前运行的应用就会褪到背景里。这种透视的界面效果实际上是应用堆栈造成的,告诉您应用已经在运行,如果您回到那个应用,您会发现您的工作还停留在您离开时的状态。

AdminCentral

如果您对Magnolia 4熟悉的话,您现在可能已经认出Magnolia Shell差不多和旧版本的AdminCentral同义。AdminCentral这个术语在Magnolia 5里依然有效并适用。管理系统是在AdminCentral里完成的,Magnolia Shell被用作它的用户界面。

...

将Shell看作是一个工具箱。它定义您可以或不可以对系统做的事情,这些事情是在非常低的层面上的基本服务。这就意味着您通常不需要跟Shell直接进行交互。针对常用的应用开发任务,Magnolia有很多直观的捷径。

例如,Shell负责给Pulse信息中心发送消息。然后,您并不需要知道借助的具体Shell方法来发送那条消息。不如在您的应用代码里,创建一个到AppContext对象的引用。这个对象提供发送消息,显示确认对话,以及很多其它日常事务的捷径。与AppContext进行交互比用Shell本身更为直接。例如,Shell负责给Pulse信息中心发送消息。然后,您并不需要知道借助的具体Shell方法来发送那条消息。不如在您的应用代码里,创建一个到AppContext对象的引用。这个对象提供发送消息,显示确认对话框,以及很多其它日常事务的捷径。与AppContext进行交互比用Shell本身更为直接。

Magnolia Shell的任务

总之,Shell做以下事情:

  • 提供运行应用的环境。
  • 创建系统的用户界面。
  • 容纳应用启动器和Pulse信息中心,并为打开他们提供途径。
  • 在Shell里,可以用图标和信息面板显示系统和应用的通知。
  • 在Shell里,可以看到用户的档案,个人设置,以及消息。
  • 在运行的应用之间切换,使应用转变对用户可见。
  • 提供窗口管理。
  • 显示对话,处理对话模式。 显示对话框,处理对话模式。 
  • 接受应用发起长时间运行的任务,并监视它们一直运行到结束。
  • 为在应用和子应用之间移动和拷贝内容提供工具。
  • 为应用分组。
  • 可以做过滤器,为了只显示附属于某个特定的网站或工程的应用和控制板数据。

...