Atlantis CMS 框架
发布时间 作者: Evgeni Dimitrov
构建 CMS 就像构建汽车。两者都是由工程师设计,但最终由非技术人员使用。在易用性和工艺之间总存在平衡。这样的系统必须同时满足程序员和内容编辑的要求,并且还要以一种吸引商业用户的方式执行任务。有趣吧?
为什么世界需要另一个 CMS?
大多数你所能找到的系统都倾向于解决一组相当广泛的问题,而 Atlantis 则力求在 CMS 应该做的事情方面做到非常出色——内容创建和维护。
我们还认为,系统应该相当易于理解,不需要很长的学习曲线才能完成基本任务。我们的主要目标之一是创建一个环境,让开发人员拥有创建可供内容编辑人员使用的产品所需的所有工具。
也就是说,如果你熟悉 Laravel,那么使用 Atlantis 应该会很顺利。
首先,让我们稍微改变一下模式。Atlantis 不是一个独立的产品,而是一个针对 Laravel 的模块,它通过依赖一个已经非常优秀的框架来提供全面的 CMS 功能。但是,用户无需分别安装两者,因为安装程序已经捆绑了一切。
人们可以使用所有与 Laravel 兼容的现有包,也可以构建或下载特定于 Atlantis 的模块。我们试图将两者分开,这使得通过 Composer 可以轻松独立地更新 Laravel 和 Atlantis。
Atlantis 中有很多功能,在一篇文章中无法全部介绍,但我将停下来谈谈几个能让你的生活更轻松的简洁功能。
- 页面和模式克隆:在当今的任何 CMS 中构建页面通常都与从大量菜单中选择许多选项有关,而且你往往需要创建一些“类似”但并不完全相同的东西。这就是克隆的用武之地——只需点击一个按钮,系统就会在新的 URL 下创建一个现有页面的副本。想要为你的用户创建一个输入内容的结构,但又想让他们免于编写 HTML 代码?模式就派上用场了。你可以使用管理 UI 定义附加到模式的自定义字段,并将它们匹配到特定预先制作的 Blade 模板。
- URL 掩码:通过使用页面 URL(或通配符掩码)作为参考,将模式附加到页面。
- 事件:Atlantis 在页面生命周期中发出了一组事件,你可以绑定监听器并在这些事件发生时执行其他任务。
- 机制通过当前活动的主题“皮肤化”你安装的每个模块。本质上,你可以覆盖当前主题中的任何模块视图,并根据你的需要重新排列它,而不会干扰原始模块代码。
- 功能强大的可视化表单构建器:可以为你节省大量时间,让你的生活变得更轻松。你只需使用 Atlantis 管理界面就可以创建、验证和皮肤化表单。
- 内置支持Amazon S3 和 Amazon CloudFront。
- 多用户环境,当多个用户编辑相同的内容时,会自动锁定页面。
- 页面/模式版本控制:你可以随时回滚到以前版本。
- 媒体管理器用于上传文件,这些文件可以设置为自动调整大小以符合你的自定义规格。此外,还有一个 TinyPNG 模块可以自动压缩文件,以提高性能。
- 提交你的 Atlantis3 模块,只需使用一个简单的 Artisan 命令。
- 可以告诉系统,如果页面提供给移动客户端,则省略某些 DOM 元素。
- 你可以构建和组织任何一组图像,并通过标签提取它们。
- 用户可以选择他们自己的编辑工具(可以在帐户首选项中切换,并基于可用的模块)。
我们还确保任何进入 CMS 的人都能够轻松识别特定页面上使用的资源;在管理 UI 中,我们一目了然地显示了附加到页面的每个模块或模式的列表。最终,一切都是为了提高生产力!
好了,这就是它的概况。请随意下载、体验、使用等。我们期待收到你的反馈,以便我们让 Atlantis 变得更好!