1

我喜欢 CMS 的可扩展性。您可以上传一些代码(通常是 PHP),从 CMS 管理面板授权它并且它正在运行。

我想知道在 Google App Engine 中是否有可能。我还没有检查 Google App Engine 的现有 CMS 的可扩展性,但是如果它们中的任何一个支持插件,我想知道它们是如何做到的,以及它们是否只是 JS 插件,或者它们是否支持 Python/Java插件也是。

4

3 回答 3

2

来自 Google 的 Nick Johnson 写了一整篇关于如何为应用引擎编写博客系统的博文系列。如果它不符合您的要求,我相信您可以扩展它,但对于大多数人来说,通常一个博客系统对于 CMS 来说就足够了。

于 2009-12-15T13:13:42.810 回答
2

我没有公开的示例可以指向(抱歉),但我可以确认可以为 App Engine 项目创建 Python 插件。几个月前我完成了一个类似这样的项目。事情的关键在于一行 python:

exec plugincode in someDict

上面的 'plugincode' 是一个包含一些要执行的 python 代码的字符串,而 someDict 是一个全局字典来执行它。这可以说比使用 eval() 更干净。在我们的例子中,全局字典包含插件代码用来与系统通信的对象的实例。我想不出这种(或类似的)方法有任何重大限制。例如,plugincode 可以声明一个类,并将该类的实例注册为回调处理程序等。

在我们的例子中,我们将插件代码存储在数据存储中,并在适当的时间(例如,当应用程序的实例启动时)加载它。

于 2012-06-23T23:59:33.750 回答
1

实际上,我认为在 App Engine 应用程序中支持插件没有概念上的问题。例如,在 Java 上,您可以从数据存储或内存缓存(在应用程序初始化阶段)将插件 jar 提取到内存中,然后根据需要使用自定义类加载器来加载插件类)。实际上,您甚至可以从请求数据中加载类并在需要时动态评估它们(我们如何在AppWrench Java 控制台中执行此操作)。

问候,帕维尔。

于 2009-12-22T11:22:24.037 回答