我是CMSes的可扩展性的粉丝。你可以上传一些代码(通常是PHP),从CMS管理面板授权它,然后它就可以运行了。
我想知道这在Google App Engine中是否可行。我还没有检查Google App Engine的现有CMSes的可扩展性,但是如果它们中有支持插件的,我想知道它们是如何做到的,它们是否只是JS插件,或者它们是否也支持Python/Java插件。
发布于 2009-12-22 19:22:24
实际上,我认为在App Engine应用程序中支持插件没有概念上的问题。例如,在Java上,您可以从数据存储或memcache中获取插件jar到内存(在应用程序初始化阶段),然后根据需要使用自定义类加载器加载插件类)。实际上,您甚至可以从请求数据加载类,并在需要时动态评估它们(我们在AppWrench Java console中是如何做到这一点的)。
你好,帕维尔。
发布于 2009-12-15 21:13:43
来自谷歌的Nick Johnson写了一整篇关于如何编写blog system for app engine的博客文章。如果它不能做你想要的,我相信你可以扩展它,但通常一个博客系统对大多数人的CMS是足够的。
发布于 2012-06-24 07:59:34
我没有一个公开的例子(对不起),但我可以确认为App Engine项目创建Python插件是可能的。我在几个月前完成了一个项目,它做了这样的事情。问题的症结在于一行python:
exec plugincode in someDict上面的'plugincode‘是一个包含要执行的python代码的字符串,而someDict是一个全局变量字典来执行它。这可以说比使用eval()更干净。在我们的例子中,全局字典包含一个对象的实例,插件代码使用该对象与系统进行通信。我想不出这种(或类似的)方法有什么主要的限制。例如,plugincode可以声明一个类,并将该类的实例注册为回调处理程序等。
在我们的例子中,我们将插件代码存储在数据存储中,并在适当的时间加载它(例如,当应用程序的实例启动时)。
https://stackoverflow.com/questions/1907338
复制相似问题